@soei/flyweight 0.2.13 → 0.3.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 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,E={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t,s)=>parseFloat(e)/100*s},N=(e,t)=>{let s;if(s=o.runer("match",e,I)){let n=s.length,l,h=0,r,c=[];for(;n--;)h=s.shift(),h in E?(l&&c.push(l),h==="%"&&(c.length=2),r=h):+h&&c.push(+h),c.length==2&&(c.push(t),l=E[r].apply(null,c),c.length=0);+l||(l=+c.pop()),e=l>>0}return e},B=e=>(e+"").replace(/\w+\((.*)\)/g,"$1").replace(/(?=\s+|^)(\d+(\.\d+)*)(?!(?:\.)*\d|%|\w)/g,"$1px");const L=(e,t)=>{const s=e.__vccOpts||e;for(const[n,l]of t)s[n]=l;return s};let C=e=>e==null||e==null,V=(...e)=>{console.info("::::FLYWEIGHT",...e)};const W={name:"Flyweight",props:{flys:{type:Array,default:()=>[]},width:{type:Number,default:0},height:{type:Number,default:100},offset:{type:Array,default:()=>[0,0]},lazy:{type:Number,default:100},view:{type:Object,default:()=>({id:0})},index:{type:Number,default:0},top:{type:Number,default:!1},left:{type:Number,default:!1},auto:{type:[Boolean,String],default:!1},space:{type:Object,default:()=>null},padding:{type:Boolean,default:!1}},computed:{flyweight(){return this.$refs.flyweight||""}},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){V(e)}this.scrollx=o.runer("hasAttribute",this.flyweight,"scroll-x"),this.BoxRule="clientHeight=>height,clientWidth=>width",this.direction=this.scrollx?"scrollLeft":"scrollTop"},methods:{exec:B,trigger(e,t){this.lazyrun(()=>{o.isArray(e)||(e=[[e,t]]),o.each(e,(s,n)=>{this.$emit(n[0],C(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 s=t.index||o.each(this.flys,(n,l,h,r)=>{if(l[h]==r)return n},t.picker,t.id);C(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,n=this.expand;(this.flyweight[this.direction]/n>>0)+this.row-s-1>0||(this.flyweight[this.direction]=s*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=[],s=o.runer(this.direction,e.target),n={offset:s,top:s,width:this.realW,height:this.realH,index:s/this.expand>>0};o.merge(n,this.space),e.from||t.push(["onscroll",n]);let l=!1;o.each(this.flyweights,(h,r,c,d,f,u,p,g,a)=>{if(c=h/f>>0,g=c+d*(+(c<u%d)+(u/d>>0)),a=g*f+h%f,a>=this.count){l||(t.push(["onend"]),l=!0);return}r.index=g,r.i=a,r.data=this.flys[a];let y=[g*this.expand+r.x,r.space];p&&y.reverse(),r.top=y[0],r.left=y[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 s=this.scrollx,n=this.flyweight,l=o.picker(n,this.BoxRule);this.$nextTick(()=>{let h=/true/.test(this.auto),[r,c]=this.offset,d=l.width,f=l.height,u=(N(this.width,d)||d)+r,p=N(this.height,f)+c,g=[d/u>>0||1,f/p>>0||1];s&&g.reverse();let[a,y]=g,_=this.padding,S,k=0,m,b;s?(m=u,u-=r,b=w=>w*(p-c)+(w+1)*c):(h?(u=(d-r*(a+2*_-1))/a,S=!_*r,k=_*r):(S=0,k=(d%u+r*a)/(a+1)>>0,u-=r),b=w=>w*(u+S)+(w+1)*k,m=p),this.row=y+2,this.column=a,this.realH=p-c,this.realW=u,this.expand=m,this.Size=Math.ceil(e/a)*m;let T=Math.min(e,a*this.row),x=T-1,z;for(;T-- >0;)z=x-T,this.$set(t,z,{x:r,y:c,width:u,height:p-c,space:b(z%a),data:{}});t.length=x+1;let v=[];f/m>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)})}}},j={class:"flyweight-all"};function M(e,t,s,n,l,h){return i.openBlock(),i.createElementBlock("div",{ref:"flyweight",class:i.normalizeClass(["flyweight",{"flyweight-active":l.actice}]),style:i.normalizeStyle({"--width":h.exec(l.realW),"--height":h.exec(l.realH),"--flyweight-content":h.exec(l.Size)}),onScroll:t[0]||(t[0]=(...r)=>h.scroll&&h.scroll(...r))},[i.createElementVNode("div",j,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(l.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))]),l.flyweights.length?i.renderSlot(e.$slots,"end",{key:0},void 0,!0):i.createCommentVNode("",!0)],38)}const H=L(W,[["render",M],["__scopeId","data-v-8f29f044"]]);function $(e,t){return t&&(e=e.replace(/[a-z]/g,"")),e.toLowerCase()}let O={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"],A={};o.each(q,(e,t,s)=>{e=$(t),A["--"+$(t,!0)]=e,s[e]=function(){this.trigger++}},O);const G={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:{},style:{},trigger:0,default:{top:"0px",right:"0px",bottom:"0px",left:"0px",height:"100%",width:"100%",background:"",border:"1px"}}},computed:{style(){return this.tr()}},watch:O,methods:{exec:B,isEmpty:o.isEmpty,isSimplyType:o.isSimplyType,tr(){let e={};return this.margin(this.offset),o.each(A,(t,s)=>{this.css(e,t,s)}),e},tolower:$,css(e,t,s){let n=this[s]||this.default[s];!n||this.default[s]==n||(e[t]=B(n))},change(e){o.isSimplyType(e)||(this.closecss=o.picker(e,"color=>--s-card-close-color,*"))},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)}},P={class:"card-title"},D={class:"card-content"};function U(e,t,s,n,l,h){return i.openBlock(),i.createElementBlock("div",{class:"card",key:l.trigger,style:i.normalizeStyle(h.isEmpty(h.style)?h.tr():h.style)},[i.renderSlot(e.$slots,"default",{},()=>[i.renderSlot(e.$slots,"title",{},()=>[i.createElementVNode("div",P,[i.createTextVNode(i.toDisplayString(s.show||s.title)+" ",1),i.createElementVNode("div",{class:i.normalizeClass(["card-close",{hide:h.isSimplyType(s.close)?!s.close:!1}]),style:i.normalizeStyle(l.closecss),onClick:t[0]||(t[0]=r=>e.$emit("close"))},null,6)])],!0),i.renderSlot(e.$slots,"content",{},()=>[i.createElementVNode("div",D,[i.renderSlot(e.$slots,"inner",{},void 0,!0)])],!0)],!0)],4)}const F=L(G,[["render",U],["__scopeId","data-v-23ece4cb"]]),R={name:"Stream",props:{type:{type:String,default:"div"},data:{type:Array,default:()=>[]},T:{type:Array,default:()=>[]}},render(e){return e(this.type,{props:{data:this.data}},this._l(this.T,(t,s)=>{let n=o.picker(t,"slot|name|type=>name").name,l=o.picker(this,o.format("$scopedSlots.?|$slots.?|$scopedSlots.default=>?",n));return o.merge(t,{index:s}),o.runer(n,l,t)}))}},X=[H,F,R],Y={install(e){X.forEach(t=>{e.component("S"+t.name,t),e.component(t.name+"S",t)})}};exports.Card=F;exports.Flyweight=H;exports.Stream=R;exports.default=Y;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("@soei/util"),l=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=c.runer("match",e,I)){let h=s.length,i,n=0,r,o=[];for(;h--;)n=s.shift(),n in N?(i&&o.push(i),n==="%"&&(o.length=2),r=n):+n&&o.push(+n),o.length==2&&(o.push(t),i=N[r].apply(null,o),o.length=0);+i||(i=+o.pop()),e=i>>0}return e},B=e=>(e+"").replace(/\w+\((.*)\)/g,"$1").replace(/(?=\s+|^)(\d+(\.\d+)*)(?!(?:\.)*\d|%|\w)/g,"$1px");const E=(e,t)=>{const s=e.__vccOpts||e;for(const[h,i]of t)s[h]=i;return s};let L=e=>e==null||e==null,V=(...e)=>{console.info("::::FLYWEIGHT",...e)};const W={name:"Flyweight",props:{flys:{type:Array,default:()=>[]},width:{type:Number,default:0},height:{type:Number,default:100},offset:{type:Array,default:()=>[0,0]},lazy:{type:Number,default:100},view:{type:Object,default:()=>({id:0})},index:{type:Number,default:0},top:{type:Number,default:!1},left:{type:Number,default:!1},auto:{type:[Boolean,String],default:!1},space:{type:Object,default:()=>null},padding:{type:Boolean,default:!1}},computed:{flyweight(){return this.$refs.flyweight||""}},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){V(e)}this.scrollx=c.runer("hasAttribute",this.flyweight,"scroll-x"),this.BoxRule="clientHeight=>height,clientWidth=>width",this.direction=this.scrollx?"scrollLeft":"scrollTop"},methods:{exec:B,trigger(e,t){this.lazyrun(()=>{c.isArray(e)||(e=[[e,t]]),c.each(e,(s,h)=>{this.$emit(h[0],L(h[1])?!0:h[1])})})},cheackflys(e){if(!this.flys.length)return e&&this.task.push(e),!0},setview(e){c.runer([this.cheackflys,t=>{t=t||{};let s=t.index||c.each(this.flys,(h,i,n,r)=>{if(i[n]==r)return h},t.picker,t.id);L(s)||this.setindex(s)}],this,e)},setindex(e){c.runer([this.cheackflys,({index:t})=>{this.selectIndex=t,this.$nextTick(()=>{let s=t/this.column>>0,h=this.expand;(this.flyweight[this.direction]/h>>0)+this.row-s-1>0||(this.flyweight[this.direction]=s*h,this.scroll())})}],this,{index:e})},lazyrun(e,t){clearTimeout(this.time),this.time=setTimeout(()=>{c.runer(e)},t||this.lazy)},run(e){let t=[],s=c.runer(this.direction,e.target),h={offset:s,top:s,width:this.realW,height:this.realH,index:s/this.expand>>0};c.merge(h,this.space),e.from||t.push(["onscroll",h]);let i=!1;c.each(this.flyweights,(n,r,o,d,f,u,g,p,a)=>{if(o=n/f>>0,p=o+d*(+(o<u%d)+(u/d>>0)),a=p*f+n%f,a>=this.count){i||(t.push(["onend"]),i=!0);return}r.index=p,r.i=a,r.data=this.flys[a];let y=[p*this.expand+r.x,r.space];g&&y.reverse(),r.top=y[0],r.left=y[1]},null,this.row,this.column,h.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,h=this.flyweight,i=c.picker(h,this.BoxRule);this.$nextTick(()=>{let n=/true/.test(this.auto),[r,o]=this.offset,d=i.width,f=i.height,u=(C(this.width,d)||d)+r,g=C(this.height,f)+o,p=[d/u>>0||1,f/g>>0||1];s&&p.reverse();let[a,y]=p,_=this.padding,S,k=0,m,b;s?(m=u,u-=r,b=w=>w*(g-o)+(w+1)*o):(n?(u=(d-r*(a+2*_-1))/a,S=!_*r,k=_*r):(S=0,k=(d%u+r*a)/(a+1)>>0,u-=r),b=w=>w*(u+S)+(w+1)*k,m=g),this.row=y+2,this.column=a,this.realH=g-o,this.realW=u,this.expand=m,this.Size=Math.ceil(e/a)*m;let T=Math.min(e,a*this.row),x=T-1,z;for(;T-- >0;)z=x-T,this.$set(t,z,{x:r,y:o,width:u,height:g-o,space:b(z%a),data:{}});t.length=x+1;let v=[];f/m>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)})}}},j={class:"flyweight-all"};function M(e,t,s,h,i,n){return l.openBlock(),l.createElementBlock("div",{ref:"flyweight",class:l.normalizeClass(["flyweight",{"flyweight-active":i.actice}]),style:l.normalizeStyle({"--width":n.exec(i.realW),"--height":n.exec(i.realH),"--flyweight-content":n.exec(i.Size)}),onScroll:t[0]||(t[0]=(...r)=>n.scroll&&n.scroll(...r))},[l.createElementVNode("div",j,[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(i.flyweights,(r,o)=>(l.openBlock(),l.createElementBlock("div",{key:o,style:l.normalizeStyle({top:r.top+"px",left:r.left+"px"})},[l.renderSlot(e.$slots,"default",l.mergeProps({ref_for:!0},r),void 0,!0)],4))),128))]),i.flyweights.length?l.renderSlot(e.$slots,"end",{key:0},void 0,!0):l.createCommentVNode("",!0)],38)}const F=E(W,[["render",M],["__scopeId","data-v-8f29f044"]]);function $(e,t){return t&&(e=e.replace(/[a-z]/g,"")),e.toLowerCase()}let H={close:{handler(e){this.change(e)},deep:!0},offset:{handler(e){this.margin(e)},deep:!0}},P=["BackGround","BordeR","Height","Width","Top","Right","Bottom","Left"],O={};c.each(P,(e,t,s)=>{e=$(t),O["--"+$(t,!0)]=e,s[e]=function(){this.trigger++}},H);const q={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:H,methods:{exec:B,isEmpty:c.isEmpty,isSimplyType:c.isSimplyType,tr(){let e={};return this.margin(this.offset),c.each(O,(t,s)=>{this.css(e,t,s)}),e},tolower:$,css(e,t,s){let h=this[s]||this.default[s];!h||this.default[s]==h||(e[t]=B(h))},change(e){c.isSimplyType(e)||(this.closecss=c.picker(e,"color=>--s-card-close-color,*"))},margin(e){c.merge(this,c.picker(c.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)}},D={class:"card-title"},G={class:"card-content"};function U(e,t,s,h,i,n){return l.openBlock(),l.createElementBlock("div",{class:"card",key:i.trigger,style:l.normalizeStyle(n.isEmpty(n.style)?n.tr():n.style)},[l.renderSlot(e.$slots,"default",{},()=>[l.renderSlot(e.$slots,"title",{},()=>[l.createElementVNode("div",D,[l.createTextVNode(l.toDisplayString(s.show||s.title)+" ",1),l.createElementVNode("div",{class:l.normalizeClass(["card-close",{hide:n.isSimplyType(s.close)?!s.close:!1}]),style:l.normalizeStyle(i.closecss),onClick:t[0]||(t[0]=r=>e.$emit("close"))},null,6)])],!0),l.renderSlot(e.$slots,"content",{},()=>[l.createElementVNode("div",G,[l.renderSlot(e.$slots,"inner",{},void 0,!0)])],!0)],!0)],4)}const A=E(q,[["render",U],["__scopeId","data-v-fcd6014d"]]),X={name:"Stream",props:{type:{type:String,default:"div"},data:{type:Array,default:()=>[]},T:{type:Array,default:()=>[]}},methods:{trigger(e){let t=e.slot||e.type;return(this.$scopedSlots||this.$slots)[t]?t:"default"}}};function Y(e,t,s,h,i,n){return l.openBlock(),l.createBlock(l.resolveDynamicComponent(s.type),l.mergeProps(e.$attrs,{data:s.data}),{default:l.withCtx(()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(s.T,r=>l.renderSlot(e.$slots,n.trigger(r),l.mergeProps({key:r.type,ref_for:!0},r))),128))]),_:3},16,["data"])}const R=E(X,[["render",Y]]),J=[F,A,R],K={install(e){J.forEach(t=>{e.component("S"+t.name,t),e.component(t.name+"S",t)})}};exports.Card=A;exports.Flyweight=F;exports.Stream=R;exports.default=K;
package/Flyweight.js CHANGED
@@ -1,31 +1,31 @@
1
- import { runer as p, isArray as D, each as x, merge as R, picker as _, isEmpty as P, isSimplyType as E, isString as U, format as X } from "@soei/util";
2
- import { openBlock as S, createElementBlock as T, normalizeClass as j, normalizeStyle as z, createElementVNode as k, Fragment as Y, renderList as q, renderSlot as g, mergeProps as J, createCommentVNode as K, createTextVNode as Q, toDisplayString as Z } from "vue";
3
- let ee = /(\d+|[+\-\*/]|%)/g, F = {
4
- "+": (e, t) => e + t,
5
- "-": (e, t) => e - t,
6
- "*": (e, t) => e * t,
7
- "/": (e, t) => e / t,
8
- "%": (e, t, s) => parseFloat(e) / 100 * s
9
- }, I = (e, t) => {
1
+ import { runer as p, isArray as X, each as _, merge as V, picker as H, isEmpty as Y, isSimplyType as F, isString as q } from "@soei/util";
2
+ import { openBlock as y, createElementBlock as S, normalizeClass as D, normalizeStyle as T, createElementVNode as k, Fragment as G, renderList as M, renderSlot as g, mergeProps as A, createCommentVNode as J, createTextVNode as K, toDisplayString as Q, createBlock as Z, resolveDynamicComponent as tt, withCtx as et } from "vue";
3
+ let st = /(\d+|[+\-\*/]|%)/g, I = {
4
+ "+": (t, e) => t + e,
5
+ "-": (t, e) => t - e,
6
+ "*": (t, e) => t * e,
7
+ "/": (t, e) => t / e,
8
+ "%": (t, e, s) => parseFloat(t) / 100 * s
9
+ }, W = (t, e) => {
10
10
  let s;
11
- if (s = p("match", e, ee)) {
12
- let r = s.length, i, h = 0, l, n = [];
13
- for (; r--; )
14
- h = s.shift(), h in F ? (i && n.push(i), h === "%" && (n.length = 2), l = h) : +h && n.push(+h), n.length == 2 && (n.push(t), i = F[l].apply(null, n), n.length = 0);
15
- +i || (i = +n.pop()), e = i >> 0;
11
+ if (s = p("match", t, st)) {
12
+ let h = s.length, l, r = 0, i, n = [];
13
+ for (; h--; )
14
+ r = s.shift(), r in I ? (l && n.push(l), r === "%" && (n.length = 2), i = r) : +r && n.push(+r), n.length == 2 && (n.push(e), l = I[i].apply(null, n), n.length = 0);
15
+ +l || (l = +n.pop()), t = l >> 0;
16
16
  }
17
- return e;
18
- }, C = (e) => (e + "").replace(/\w+\((.*)\)/g, "$1").replace(/(?=\s+|^)(\d+(\.\d+)*)(?!(?:\.)*\d|%|\w)/g, "$1px");
19
- const V = (e, t) => {
20
- const s = e.__vccOpts || e;
21
- for (const [r, i] of t)
22
- s[r] = i;
17
+ return t;
18
+ }, O = (t) => (t + "").replace(/\w+\((.*)\)/g, "$1").replace(/(?=\s+|^)(\d+(\.\d+)*)(?!(?:\.)*\d|%|\w)/g, "$1px");
19
+ const E = (t, e) => {
20
+ const s = t.__vccOpts || t;
21
+ for (const [h, l] of e)
22
+ s[h] = l;
23
23
  return s;
24
24
  };
25
- let W = (e) => e == null || e == null, te = (...e) => {
26
- console.info("::::FLYWEIGHT", ...e);
25
+ let j = (t) => t == null || t == null, it = (...t) => {
26
+ console.info("::::FLYWEIGHT", ...t);
27
27
  };
28
- const se = {
28
+ const lt = {
29
29
  name: "Flyweight",
30
30
  props: {
31
31
  flys: {
@@ -97,82 +97,82 @@ const se = {
97
97
  };
98
98
  },
99
99
  watch: {
100
- flys(e) {
101
- this.count = e.length, this.rebuild();
102
- let t = this.task.shift();
103
- t && this.$nextTick(() => {
104
- this.setview(t);
100
+ flys(t) {
101
+ this.count = t.length, this.rebuild();
102
+ let e = this.task.shift();
103
+ e && this.$nextTick(() => {
104
+ this.setview(e);
105
105
  });
106
106
  },
107
107
  view: {
108
- handler(e) {
109
- this.setview(e);
108
+ handler(t) {
109
+ this.setview(t);
110
110
  },
111
111
  immediate: !0,
112
112
  deep: !0
113
113
  },
114
- index(e) {
115
- this.setindex(e);
114
+ index(t) {
115
+ this.setindex(t);
116
116
  },
117
- top(e) {
118
- this.flyweight.scrollTop = e;
117
+ top(t) {
118
+ this.flyweight.scrollTop = t;
119
119
  },
120
- left(e) {
121
- this.flyweight.scrollLeft = e;
120
+ left(t) {
121
+ this.flyweight.scrollLeft = t;
122
122
  }
123
123
  },
124
124
  mounted() {
125
- this.flyweights = [], this.$set || (this.$set = (e, t, s) => {
126
- e[t] = s;
125
+ this.flyweights = [], this.$set || (this.$set = (t, e, s) => {
126
+ t[e] = s;
127
127
  }), this.setindex(this.index);
128
128
  try {
129
129
  new ResizeObserver(() => {
130
130
  this.rebuild(), this.$emit("resize");
131
131
  }).observe(this.flyweight);
132
- } catch (e) {
133
- te(e);
132
+ } catch (t) {
133
+ it(t);
134
134
  }
135
135
  this.scrollx = p("hasAttribute", this.flyweight, "scroll-x"), this.BoxRule = /* this.scrollx ? 'clientHeight=>width,clientWidth=>height' : */
136
136
  "clientHeight=>height,clientWidth=>width", this.direction = this.scrollx ? "scrollLeft" : "scrollTop";
137
137
  },
138
138
  methods: {
139
- exec: C,
140
- trigger(e, t) {
139
+ exec: O,
140
+ trigger(t, e) {
141
141
  this.lazyrun(() => {
142
- D(e) || (e = [[e, t]]), x(e, (s, r) => {
143
- this.$emit(r[0], W(r[1]) ? !0 : r[1]);
142
+ X(t) || (t = [[t, e]]), _(t, (s, h) => {
143
+ this.$emit(h[0], j(h[1]) ? !0 : h[1]);
144
144
  });
145
145
  });
146
146
  },
147
- cheackflys(e) {
147
+ cheackflys(t) {
148
148
  if (!this.flys.length)
149
- return e && this.task.push(e), !0;
150
- },
151
- setview(e) {
152
- p([this.cheackflys, (t) => {
153
- t = t || {};
154
- let s = t.index || x(this.flys, (r, i, h, l) => {
155
- if (i[h] == l)
156
- return r;
157
- }, t.picker, t.id);
158
- W(s) || this.setindex(s);
159
- }], this, e);
160
- },
161
- setindex(e) {
162
- p([this.cheackflys, ({ index: t }) => {
163
- this.selectIndex = t, this.$nextTick(() => {
164
- let s = t / this.column >> 0, r = this.expand;
165
- (this.flyweight[this.direction] / r >> 0) + this.row - s - 1 > 0 || (this.flyweight[this.direction] = s * r, this.scroll());
149
+ return t && this.task.push(t), !0;
150
+ },
151
+ setview(t) {
152
+ p([this.cheackflys, (e) => {
153
+ e = e || {};
154
+ let s = e.index || _(this.flys, (h, l, r, i) => {
155
+ if (l[r] == i)
156
+ return h;
157
+ }, e.picker, e.id);
158
+ j(s) || this.setindex(s);
159
+ }], this, t);
160
+ },
161
+ setindex(t) {
162
+ p([this.cheackflys, ({ index: e }) => {
163
+ this.selectIndex = e, this.$nextTick(() => {
164
+ let s = e / this.column >> 0, h = this.expand;
165
+ (this.flyweight[this.direction] / h >> 0) + this.row - s - 1 > 0 || (this.flyweight[this.direction] = s * h, this.scroll());
166
166
  });
167
- }], this, { index: e });
167
+ }], this, { index: t });
168
168
  },
169
- lazyrun(e, t) {
169
+ lazyrun(t, e) {
170
170
  clearTimeout(this.time), this.time = setTimeout(() => {
171
- p(e);
172
- }, t || this.lazy);
171
+ p(t);
172
+ }, e || this.lazy);
173
173
  },
174
- run(e) {
175
- let t = [], s = p(this.direction, e.target), r = {
174
+ run(t) {
175
+ let e = [], s = p(this.direction, t.target), h = {
176
176
  // ...this
177
177
  offset: s,
178
178
  top: s,
@@ -181,125 +181,125 @@ const se = {
181
181
  /* 显示区域第一行的索引 */
182
182
  index: s / this.expand >> 0
183
183
  };
184
- R(r, this.space), e.from || t.push(["onscroll", r]);
185
- let i = !1;
186
- x(
184
+ V(h, this.space), t.from || e.push(["onscroll", h]);
185
+ let l = !1;
186
+ _(
187
187
  this.flyweights,
188
- (h, l, n, c, u, a, d, f, o) => {
189
- if (n = h / u >> 0, f = n + c * /* 偏移量, 如果超出顶部 + 1轮,排列到列队后, 否则保持在当前*/
190
- (+(n < a % c) + (a / c >> 0)), o = f * u + h % u, o >= this.count) {
191
- i || (t.push(["onend"]), i = !0);
188
+ (r, i, n, c, u, a, d, f, o) => {
189
+ if (n = r / u >> 0, f = n + c * /* 偏移量, 如果超出顶部 + 1轮,排列到列队后, 否则保持在当前*/
190
+ (+(n < a % c) + (a / c >> 0)), o = f * u + r % u, o >= this.count) {
191
+ l || (e.push(["onend"]), l = !0);
192
192
  return;
193
193
  }
194
- l.index = f, l.i = o, l.data = this.flys[o];
195
- let y = [
194
+ i.index = f, i.i = o, i.data = this.flys[o];
195
+ let m = [
196
196
  /* top */
197
- f * this.expand + l.x,
197
+ f * this.expand + i.x,
198
198
  /* left */
199
- l.space
199
+ i.space
200
200
  ];
201
- d && y.reverse(), l.top = y[0], l.left = y[1];
201
+ d && m.reverse(), i.top = m[0], i.left = m[1];
202
202
  },
203
203
  null,
204
204
  this.row,
205
205
  this.column,
206
206
  /* 显示区域第一行的索引 */
207
- r.index,
207
+ h.index,
208
208
  this.scrollx
209
- ), this.trigger(t), t = null;
209
+ ), this.trigger(e), e = null;
210
210
  },
211
- scroll(e) {
212
- this.run(e || { target: this.flyweight, from: "space" });
211
+ scroll(t) {
212
+ this.run(t || { target: this.flyweight, from: "space" });
213
213
  },
214
214
  rebuild() {
215
- let e = this.count || this.flys.length, t = this.flyweights;
216
- if (!e)
217
- return t.length = e;
218
- this.count = e;
219
- let s = this.scrollx, r = this.flyweight, i = _(r, this.BoxRule);
215
+ let t = this.count || this.flys.length, e = this.flyweights;
216
+ if (!t)
217
+ return e.length = t;
218
+ this.count = t;
219
+ let s = this.scrollx, h = this.flyweight, l = H(h, this.BoxRule);
220
220
  this.$nextTick(() => {
221
- let h = /true/.test(this.auto), [l, n] = this.offset, c = i.width, u = i.height, a = (I(this.width, c) || c) + l, d = I(this.height, u) + n, f = [c / a >> 0 || 1, u / d >> 0 || 1];
221
+ let r = /true/.test(this.auto), [i, n] = this.offset, c = l.width, u = l.height, a = (W(this.width, c) || c) + i, d = W(this.height, u) + n, f = [c / a >> 0 || 1, u / d >> 0 || 1];
222
222
  s && f.reverse();
223
- let [o, y] = f, v = this.padding, $, N = 0, m, B;
224
- s ? (m = a, a -= l, B = (w) => (
223
+ let [o, m] = f, $ = this.padding, v, z = 0, w, B;
224
+ s ? (w = a, a -= i, B = (x) => (
225
225
  /* 计算top偏移量 */
226
- w * (d - n) + (w + 1) * n
227
- )) : (h ? (a = (c - l * (o + 2 * v - 1)) / o, $ = !v * l, N = v * l) : ($ = 0, N = (c % a + l * o) / (o + 1) >> 0, a -= l), B = (w) => w * (a + $) + (w + 1) * N, m = d), this.row = y + 2, this.column = o, this.realH = d - n, this.realW = a, this.expand = m, this.Size = Math.ceil(e / o) * m;
228
- let L = Math.min(e, o * this.row), b = L - 1, H;
229
- for (; L-- > 0; )
230
- H = b - L, this.$set(t, H, {
231
- x: l,
226
+ x * (d - n) + (x + 1) * n
227
+ )) : (r ? (a = (c - i * (o + 2 * $ - 1)) / o, v = !$ * i, z = $ * i) : (v = 0, z = (c % a + i * o) / (o + 1) >> 0, a -= i), B = (x) => x * (a + v) + (x + 1) * z, w = d), this.row = m + 2, this.column = o, this.realH = d - n, this.realW = a, this.expand = w, this.Size = Math.ceil(t / o) * w;
228
+ let N = Math.min(t, o * this.row), b = N - 1, C;
229
+ for (; N-- > 0; )
230
+ C = b - N, this.$set(e, C, {
231
+ x: i,
232
232
  y: n,
233
233
  width: a,
234
234
  height: d - n,
235
- space: B(H % o),
235
+ space: B(C % o),
236
236
  data: {}
237
237
  });
238
- t.length = b + 1;
239
- let A = [];
240
- u / m > b / o && A.push(["onend"]), this.flyweight && (this.flyweight[this.direction] = 0), this.$nextTick(() => {
238
+ e.length = b + 1;
239
+ let L = [];
240
+ u / w > b / o && L.push(["onend"]), this.flyweight && (this.flyweight[this.direction] = 0), this.$nextTick(() => {
241
241
  this.setindex(this.selectIndex || 0), this.scroll();
242
- }), A.push(["update:space", {
242
+ }), L.push(["update:space", {
243
243
  row: (b / o >> 0) + 1,
244
244
  column: o,
245
245
  showrow: this.row,
246
246
  showcolumn: this.column
247
- }]), this.trigger(A);
247
+ }]), this.trigger(L);
248
248
  });
249
249
  }
250
250
  }
251
- }, ie = { class: "flyweight-all" };
252
- function le(e, t, s, r, i, h) {
253
- return S(), T("div", {
251
+ }, rt = { class: "flyweight-all" };
252
+ function ht(t, e, s, h, l, r) {
253
+ return y(), S("div", {
254
254
  ref: "flyweight",
255
- class: j(["flyweight", {
256
- "flyweight-active": i.actice
255
+ class: D(["flyweight", {
256
+ "flyweight-active": l.actice
257
257
  }]),
258
- style: z({
259
- "--width": h.exec(i.realW),
260
- "--height": h.exec(i.realH),
261
- "--flyweight-content": h.exec(i.Size)
258
+ style: T({
259
+ "--width": r.exec(l.realW),
260
+ "--height": r.exec(l.realH),
261
+ "--flyweight-content": r.exec(l.Size)
262
262
  }),
263
- onScroll: t[0] || (t[0] = (...l) => h.scroll && h.scroll(...l))
263
+ onScroll: e[0] || (e[0] = (...i) => r.scroll && r.scroll(...i))
264
264
  }, [
265
- k("div", ie, [
266
- (S(!0), T(Y, null, q(i.flyweights, (l, n) => (S(), T("div", {
265
+ k("div", rt, [
266
+ (y(!0), S(G, null, M(l.flyweights, (i, n) => (y(), S("div", {
267
267
  key: n,
268
- style: z({
269
- top: l.top + "px",
270
- left: l.left + "px"
268
+ style: T({
269
+ top: i.top + "px",
270
+ left: i.left + "px"
271
271
  })
272
272
  }, [
273
- g(e.$slots, "default", J({ ref_for: !0 }, l), void 0, !0)
273
+ g(t.$slots, "default", A({ ref_for: !0 }, i), void 0, !0)
274
274
  ], 4))), 128))
275
275
  ]),
276
- i.flyweights.length ? g(e.$slots, "end", { key: 0 }, void 0, !0) : K("", !0)
276
+ l.flyweights.length ? g(t.$slots, "end", { key: 0 }, void 0, !0) : J("", !0)
277
277
  ], 38);
278
278
  }
279
- const re = /* @__PURE__ */ V(se, [["render", le], ["__scopeId", "data-v-8f29f044"]]);
280
- function O(e, t) {
281
- return t && (e = e.replace(/[a-z]/g, "")), e.toLowerCase();
279
+ const nt = /* @__PURE__ */ E(lt, [["render", ht], ["__scopeId", "data-v-8f29f044"]]);
280
+ function R(t, e) {
281
+ return e && (t = t.replace(/[a-z]/g, "")), t.toLowerCase();
282
282
  }
283
- let G = {
283
+ let P = {
284
284
  close: {
285
- handler(e) {
286
- this.change(e);
285
+ handler(t) {
286
+ this.change(t);
287
287
  },
288
288
  deep: !0
289
289
  },
290
290
  offset: {
291
- handler(e) {
292
- this.margin(e);
291
+ handler(t) {
292
+ this.margin(t);
293
293
  },
294
294
  deep: !0
295
295
  }
296
- }, he = ["BackGround", "BordeR", "Height", "Width", "Top", "Right", "Bottom", "Left"], M = {};
297
- x(he, (e, t, s) => {
298
- e = O(t), M["--" + O(t, !0)] = e, s[e] = function() {
296
+ }, ot = ["BackGround", "BordeR", "Height", "Width", "Top", "Right", "Bottom", "Left"], U = {};
297
+ _(ot, (t, e, s) => {
298
+ t = R(e), U["--" + R(e, !0)] = t, s[t] = function() {
299
299
  this.trigger++;
300
300
  };
301
- }, G);
302
- const ne = {
301
+ }, P);
302
+ const at = {
303
303
  name: "Card",
304
304
  // inheritAttrs: false,
305
305
  props: {
@@ -339,7 +339,7 @@ const ne = {
339
339
  data() {
340
340
  return {
341
341
  closecss: {},
342
- style: {},
342
+ // style: {},
343
343
  trigger: 0,
344
344
  default: {
345
345
  top: "0px",
@@ -358,28 +358,28 @@ const ne = {
358
358
  return this.tr();
359
359
  }
360
360
  },
361
- watch: G,
361
+ watch: P,
362
362
  methods: {
363
- exec: C,
364
- isEmpty: P,
365
- isSimplyType: E,
363
+ exec: O,
364
+ isEmpty: Y,
365
+ isSimplyType: F,
366
366
  tr() {
367
- let e = {};
368
- return this.margin(this.offset), x(M, (t, s) => {
369
- this.css(e, t, s);
370
- }), e;
371
- },
372
- tolower: O,
373
- css(e, t, s) {
374
- let r = this[s] || this.default[s];
375
- !r || this.default[s] == r || (e[t] = C(r));
376
- },
377
- change(e) {
378
- E(e) || (this.closecss = _(e, "color=>--s-card-close-color,*"));
379
- },
380
- margin(e) {
381
- R(this, _(
382
- U(e) ? e.split(/\s*(?:,|\s+)\s*/) : e,
367
+ let t = {};
368
+ return this.margin(this.offset), _(U, (e, s) => {
369
+ this.css(t, e, s);
370
+ }), t;
371
+ },
372
+ tolower: R,
373
+ css(t, e, s) {
374
+ let h = this[s] || this.default[s];
375
+ !h || this.default[s] == h || (t[e] = O(h));
376
+ },
377
+ change(t) {
378
+ F(t) || (this.closecss = H(t, "color=>--s-card-close-color,*"));
379
+ },
380
+ margin(t) {
381
+ V(this, H(
382
+ q(t) ? t.split(/\s*(?:,|\s+)\s*/) : t,
383
383
  "0=>top,1|0=>right,2|0=>bottom,3|1|0=>left",
384
384
  !0
385
385
  ), !0);
@@ -388,33 +388,33 @@ const ne = {
388
388
  mounted() {
389
389
  this.change(this.close);
390
390
  }
391
- }, oe = { class: "card-title" }, ae = { class: "card-content" };
392
- function ce(e, t, s, r, i, h) {
393
- return S(), T("div", {
391
+ }, ct = { class: "card-title" }, ut = { class: "card-content" };
392
+ function dt(t, e, s, h, l, r) {
393
+ return y(), S("div", {
394
394
  class: "card",
395
- key: i.trigger,
396
- style: z(h.isEmpty(h.style) ? h.tr() : h.style)
395
+ key: l.trigger,
396
+ style: T(r.isEmpty(r.style) ? r.tr() : r.style)
397
397
  }, [
398
- g(e.$slots, "default", {}, () => [
399
- g(e.$slots, "title", {}, () => [
400
- k("div", oe, [
401
- Q(Z(s.show || s.title) + " ", 1),
398
+ g(t.$slots, "default", {}, () => [
399
+ g(t.$slots, "title", {}, () => [
400
+ k("div", ct, [
401
+ K(Q(s.show || s.title) + " ", 1),
402
402
  k("div", {
403
- class: j(["card-close", { hide: h.isSimplyType(s.close) ? !s.close : !1 }]),
404
- style: z(i.closecss),
405
- onClick: t[0] || (t[0] = (l) => e.$emit("close"))
403
+ class: D(["card-close", { hide: r.isSimplyType(s.close) ? !s.close : !1 }]),
404
+ style: T(l.closecss),
405
+ onClick: e[0] || (e[0] = (i) => t.$emit("close"))
406
406
  }, null, 6)
407
407
  ])
408
408
  ], !0),
409
- g(e.$slots, "content", {}, () => [
410
- k("div", ae, [
411
- g(e.$slots, "inner", {}, void 0, !0)
409
+ g(t.$slots, "content", {}, () => [
410
+ k("div", ut, [
411
+ g(t.$slots, "inner", {}, void 0, !0)
412
412
  ])
413
413
  ], !0)
414
414
  ], !0)
415
415
  ], 4);
416
416
  }
417
- const ue = /* @__PURE__ */ V(ne, [["render", ce], ["__scopeId", "data-v-23ece4cb"]]), de = {
417
+ const ft = /* @__PURE__ */ E(at, [["render", dt], ["__scopeId", "data-v-fcd6014d"]]), gt = {
418
418
  name: "Stream",
419
419
  props: {
420
420
  type: {
@@ -430,31 +430,34 @@ const ue = /* @__PURE__ */ V(ne, [["render", ce], ["__scopeId", "data-v-23ece4cb
430
430
  default: () => []
431
431
  }
432
432
  },
433
- render(e) {
434
- return e(
435
- this.type,
436
- {
437
- // ...item,
438
- props: {
439
- data: this.data
440
- }
441
- },
442
- this._l(this.T, (t, s) => {
443
- let r = _(t, "slot|name|type=>name").name, i = _(this, X("$scopedSlots.?|$slots.?|$scopedSlots.default=>?", r));
444
- return R(t, { index: s }), p(r, i, t);
445
- })
446
- );
433
+ methods: {
434
+ trigger(t) {
435
+ let e = t.slot || t.type;
436
+ return (this.$scopedSlots || this.$slots)[e] ? e : "default";
437
+ }
447
438
  }
448
- }, fe = [re, ue, de], ye = {
449
- install(e) {
450
- fe.forEach((t) => {
451
- e.component("S" + t.name, t), e.component(t.name + "S", t);
439
+ };
440
+ function pt(t, e, s, h, l, r) {
441
+ return y(), Z(tt(s.type), A(t.$attrs, { data: s.data }), {
442
+ default: et(() => [
443
+ (y(!0), S(G, null, M(s.T, (i) => g(t.$slots, r.trigger(i), A({
444
+ key: i.type,
445
+ ref_for: !0
446
+ }, i))), 128))
447
+ ]),
448
+ _: 3
449
+ }, 16, ["data"]);
450
+ }
451
+ const yt = /* @__PURE__ */ E(gt, [["render", pt]]), mt = [nt, ft, yt], _t = {
452
+ install(t) {
453
+ mt.forEach((e) => {
454
+ t.component("S" + e.name, e), t.component(e.name + "S", e);
452
455
  });
453
456
  }
454
457
  };
455
458
  export {
456
- ue as Card,
457
- re as Flyweight,
458
- de as Stream,
459
- ye as default
459
+ ft as Card,
460
+ nt as Flyweight,
461
+ yt as Stream,
462
+ _t as default
460
463
  };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@soei/flyweight",
3
3
  "private": false,
4
4
  "description": "Vue组件, 列表de享元模式~减少DOM节点 flyweight, Card, Stream组件",
5
- "version": "0.2.13",
5
+ "version": "0.3.1",
6
6
  "type": "module",
7
7
  "main": "Flyweight.cjs",
8
8
  "module": "Flyweight.js",
package/style.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.flyweight[data-v-8f29f044]{height:100%;width:100%;overflow:auto;position:relative}.flyweight[hover-scroll][data-v-8f29f044]::-webkit-scrollbar-track,.flyweight[auto-scroll][data-v-8f29f044]::-webkit-scrollbar-track{border-radius:10px}.flyweight[hover-scroll][data-v-8f29f044]::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-8f29f044]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.flyweight[hover-scroll][data-v-8f29f044]::-webkit-scrollbar,.flyweight[auto-scroll][data-v-8f29f044]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.flyweight[hover-scroll][data-v-8f29f044]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-8f29f044]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.flyweight[hover-scroll][data-v-8f29f044]:hover::-webkit-scrollbar-thumb:hover,.flyweight[auto-scroll][data-v-8f29f044]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.flyweight[hover-scroll][data-v-8f29f044]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-8f29f044]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.flyweight[scroll-x] .flyweight-all[data-v-8f29f044]{width:var(--flyweight-content);height:auto;min-height:100%}.flyweight[scroll-x] .flyweight-all[data-v-8f29f044]+*{left:var(--flyweight-content);position:absolute;top:0;height:100%}.flyweight .flyweight-all[data-v-8f29f044]{height:var(--flyweight-content)}.flyweight .flyweight-all[data-v-8f29f044]>*{width:calc(var(--width));height:var(--height);position:absolute}@media screen and (-apple-system: Macintosh){.flyweight .flyweight-all[data-v-8f29f044]{background-color:red!important}}.card[data-v-23ece4cb]{--t: 0px;--r: 0px;--b: 0px;--l: 0px;--h: 100%;--w: 100%;--br: 1px;position:relative;background-color:var(--bg, var(--card-background-color, #fff));padding:10px;border-radius:10px;box-sizing:border-box;border-style:solid;border-color:var(--card-border-color, #555);border-width:var(--br);justify-content:flex-start;margin:var(--t) var(--r) var(--b) var(--l);height:calc(var(--h) - var(--t) - var(--b));width:calc(var(--w) - var(--l) - var(--r));overflow:auto}.card[hover-scroll][data-v-23ece4cb]::-webkit-scrollbar-track,.card[auto-scroll][data-v-23ece4cb]::-webkit-scrollbar-track{border-radius:10px}.card[hover-scroll][data-v-23ece4cb]::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-23ece4cb]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.card[hover-scroll][data-v-23ece4cb]::-webkit-scrollbar,.card[auto-scroll][data-v-23ece4cb]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.card[hover-scroll][data-v-23ece4cb]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-23ece4cb]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.card[hover-scroll][data-v-23ece4cb]:hover::-webkit-scrollbar-thumb:hover,.card[auto-scroll][data-v-23ece4cb]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.card[hover-scroll][data-v-23ece4cb]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-23ece4cb]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.card[simply][data-v-23ece4cb],.card [simply][data-v-23ece4cb]{background-color:inherit;border:0!important}.card[flex][data-v-23ece4cb],.card [flex][data-v-23ece4cb]{display:flex}.card[column][data-v-23ece4cb],.card [column][data-v-23ece4cb]{flex-direction:column}.card[row][data-v-23ece4cb],.card [row][data-v-23ece4cb]{flex-direction:row}.card[center][data-v-23ece4cb],.card [center][data-v-23ece4cb]{justify-content:center}.card[vcenter][data-v-23ece4cb],.card [vcenter][data-v-23ece4cb]{align-items:center}.card .card-title[data-v-23ece4cb]{max-height:40px}.card .card-close[data-v-23ece4cb]{position:absolute;width:20px;height:20px;right:10px;top:10px;border-radius:10px;z-index:1;--s-transform: 45deg;--s-hover-transform: 35deg;--s-close-width: 11px;--s-close-height: 2px;cursor:pointer;background-color:var(--s-card-close-background-color, transparent);transition:all .3s ease}.card .card-close.hide[data-v-23ece4cb]{display:none}.card .card-close[data-v-23ece4cb]:before,.card .card-close[data-v-23ece4cb]:after{content:"";width:var(--s-close-width, 11px);height:var(--s-close-height, 2px);background-color:var(--s-card-close-color, #555);transform-origin:center;position:inherit;border-radius:10px;top:calc(50% - var(--s-close-height, 2px) / 2);left:calc(50% - var(--s-close-width, 11px) / 2)}.card .card-close[data-v-23ece4cb]:before{transform:rotate(var(--s-transform, 45deg))}.card .card-close[data-v-23ece4cb]:after{transform:rotate(calc(0deg - var(--s-transform, 45deg)))}.card .card-close[data-v-23ece4cb]:hover:before{transform:rotate(var(--s-hover-transform, 45deg))}.card .card-close[data-v-23ece4cb]:hover:after{transform:rotate(calc(0deg - var(--s-hover-transform, 45deg)))}.card .card-content[data-v-23ece4cb]{overflow:auto;height:100%}
1
+ @charset "UTF-8";.flyweight[data-v-8f29f044]{height:100%;width:100%;overflow:auto;position:relative}.flyweight[hover-scroll][data-v-8f29f044]::-webkit-scrollbar-track,.flyweight[auto-scroll][data-v-8f29f044]::-webkit-scrollbar-track{border-radius:10px}.flyweight[hover-scroll][data-v-8f29f044]::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-8f29f044]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.flyweight[hover-scroll][data-v-8f29f044]::-webkit-scrollbar,.flyweight[auto-scroll][data-v-8f29f044]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.flyweight[hover-scroll][data-v-8f29f044]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-8f29f044]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.flyweight[hover-scroll][data-v-8f29f044]:hover::-webkit-scrollbar-thumb:hover,.flyweight[auto-scroll][data-v-8f29f044]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.flyweight[hover-scroll][data-v-8f29f044]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-8f29f044]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.flyweight[scroll-x] .flyweight-all[data-v-8f29f044]{width:var(--flyweight-content);height:auto;min-height:100%}.flyweight[scroll-x] .flyweight-all[data-v-8f29f044]+*{left:var(--flyweight-content);position:absolute;top:0;height:100%}.flyweight .flyweight-all[data-v-8f29f044]{height:var(--flyweight-content)}.flyweight .flyweight-all[data-v-8f29f044]>*{width:calc(var(--width));height:var(--height);position:absolute}@media screen and (-apple-system: Macintosh){.flyweight .flyweight-all[data-v-8f29f044]{background-color:red!important}}.card[data-v-fcd6014d]{--t: 0px;--r: 0px;--b: 0px;--l: 0px;--h: 100%;--w: 100%;--br: 1px;position:relative;background-color:var(--bg, var(--card-background-color, #fff));padding:10px;border-radius:10px;box-sizing:border-box;border-style:solid;border-color:var(--card-border-color, #555);border-width:var(--br);justify-content:flex-start;margin:var(--t) var(--r) var(--b) var(--l);height:calc(var(--h) - var(--t) - var(--b));width:calc(var(--w) - var(--l) - var(--r));overflow:auto}.card[hover-scroll][data-v-fcd6014d]::-webkit-scrollbar-track,.card[auto-scroll][data-v-fcd6014d]::-webkit-scrollbar-track{border-radius:10px}.card[hover-scroll][data-v-fcd6014d]::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-fcd6014d]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.card[hover-scroll][data-v-fcd6014d]::-webkit-scrollbar,.card[auto-scroll][data-v-fcd6014d]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.card[hover-scroll][data-v-fcd6014d]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-fcd6014d]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.card[hover-scroll][data-v-fcd6014d]:hover::-webkit-scrollbar-thumb:hover,.card[auto-scroll][data-v-fcd6014d]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.card[hover-scroll][data-v-fcd6014d]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-fcd6014d]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.card[simply][data-v-fcd6014d],.card [simply][data-v-fcd6014d]{background-color:inherit;border:0!important}.card[flex][data-v-fcd6014d],.card [flex][data-v-fcd6014d]{display:flex}.card[column][data-v-fcd6014d],.card [column][data-v-fcd6014d]{flex-direction:column}.card[row][data-v-fcd6014d],.card [row][data-v-fcd6014d]{flex-direction:row}.card[center][data-v-fcd6014d],.card [center][data-v-fcd6014d]{justify-content:center}.card[vcenter][data-v-fcd6014d],.card [vcenter][data-v-fcd6014d]{align-items:center}.card .card-title[data-v-fcd6014d]{max-height:40px}.card .card-close[data-v-fcd6014d]{position:absolute;width:20px;height:20px;right:10px;top:10px;border-radius:10px;z-index:1;--s-transform: 45deg;--s-hover-transform: 35deg;--s-close-width: 11px;--s-close-height: 2px;cursor:pointer;background-color:var(--s-card-close-background-color, transparent);transition:all .3s ease}.card .card-close.hide[data-v-fcd6014d]{display:none}.card .card-close[data-v-fcd6014d]:before,.card .card-close[data-v-fcd6014d]:after{content:"";width:var(--s-close-width, 11px);height:var(--s-close-height, 2px);background-color:var(--s-card-close-color, #555);transform-origin:center;position:inherit;border-radius:10px;top:calc(50% - var(--s-close-height, 2px) / 2);left:calc(50% - var(--s-close-width, 11px) / 2)}.card .card-close[data-v-fcd6014d]:before{transform:rotate(var(--s-transform, 45deg))}.card .card-close[data-v-fcd6014d]:after{transform:rotate(calc(0deg - var(--s-transform, 45deg)))}.card .card-close[data-v-fcd6014d]:hover:before{transform:rotate(var(--s-hover-transform, 45deg))}.card .card-close[data-v-fcd6014d]:hover:after{transform:rotate(calc(0deg - var(--s-hover-transform, 45deg)))}.card .card-content[data-v-fcd6014d]{overflow:auto;height:100%}
package/vue2/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("@soei/util");let W=/(\d+|[+\-\*/]|%)/g,R={"+":(t,e)=>t+e,"-":(t,e)=>t-e,"*":(t,e)=>t*e,"/":(t,e)=>t/e,"%":(t,e,s)=>parseFloat(t)/100*s},F=(t,e)=>{let s;if(s=l.runer("match",t,W)){let i=s.length,r,c=0,n,o=[];for(;i--;)c=s.shift(),c in R?(r&&o.push(r),c==="%"&&(o.length=2),n=c):+c&&o.push(+c),o.length==2&&(o.push(e),r=R[n].apply(null,o),o.length=0);+r||(r=+o.pop()),t=r>>0}return t},k=t=>(t+"").replace(/\w+\((.*)\)/g,"$1").replace(/(?=\s+|^)(\d+(\.\d+)*)(?!(?:\.)*\d|%|\w)/g,"$1px");function z(t,e,s,i,r,c,n,o){var h=typeof t=="function"?t.options:t;e&&(h.render=e,h.staticRenderFns=s,h._compiled=!0),i&&(h.functional=!0),c&&(h._scopeId="data-v-"+c);var f;if(n?(f=function(u){u=u||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!u&&typeof __VUE_SSR_CONTEXT__<"u"&&(u=__VUE_SSR_CONTEXT__),r&&r.call(this,u),u&&u._registeredComponents&&u._registeredComponents.add(n)},h._ssrRegister=f):r&&(f=o?function(){r.call(this,(h.functional?this.parent:this).$root.$options.shadowRoot)}:r),f)if(h.functional){h._injectStyles=f;var d=h.render;h.render=function(a,g){return f.call(g),d(a,g)}}else{var p=h.beforeCreate;h.beforeCreate=p?[].concat(p,f):[f]}return{exports:t,options:h}}let N=t=>t==null||t==null,E=(...t)=>{console.info("::::FLYWEIGHT",...t)};const I={name:"Flyweight",props:{flys:{type:Array,default:()=>[]},width:{type:Number,default:0},height:{type:Number,default:100},offset:{type:Array,default:()=>[0,0]},lazy:{type:Number,default:100},view:{type:Object,default:()=>({id:0})},index:{type:Number,default:0},top:{type:Number,default:!1},left:{type:Number,default:!1},auto:{type:[Boolean,String],default:!1},space:{type:Object,default:()=>null},padding:{type:Boolean,default:!1}},computed:{flyweight(){return this.$refs.flyweight||""}},data(){return{flyweights:[],actice:!1,Size:null,column:1,row:1,expand:10,count:0,task:[],realW:0,realH:0}},watch:{flys(t){this.count=t.length,this.rebuild();let e=this.task.shift();e&&this.$nextTick(()=>{this.setview(e)})},view:{handler(t){this.setview(t)},immediate:!0,deep:!0},index(t){this.setindex(t)},top(t){this.flyweight.scrollTop=t},left(t){this.flyweight.scrollLeft=t}},mounted(){this.flyweights=[],this.$set||(this.$set=(t,e,s)=>{t[e]=s}),this.setindex(this.index);try{new ResizeObserver(()=>{this.rebuild(),this.$emit("resize")}).observe(this.flyweight)}catch(t){E(t)}this.scrollx=l.runer("hasAttribute",this.flyweight,"scroll-x"),this.BoxRule="clientHeight=>height,clientWidth=>width",this.direction=this.scrollx?"scrollLeft":"scrollTop"},methods:{exec:k,trigger(t,e){this.lazyrun(()=>{l.isArray(t)||(t=[[t,e]]),l.each(t,(s,i)=>{this.$emit(i[0],N(i[1])?!0:i[1])})})},cheackflys(t){if(!this.flys.length)return t&&this.task.push(t),!0},setview(t){l.runer([this.cheackflys,e=>{e=e||{};let s=e.index||l.each(this.flys,(i,r,c,n)=>{if(r[c]==n)return i},e.picker,e.id);N(s)||this.setindex(s)}],this,t)},setindex(t){l.runer([this.cheackflys,({index:e})=>{this.selectIndex=e,this.$nextTick(()=>{let s=e/this.column>>0,i=this.expand;(this.flyweight[this.direction]/i>>0)+this.row-s-1>0||(this.flyweight[this.direction]=s*i,this.scroll())})}],this,{index:t})},lazyrun(t,e){clearTimeout(this.time),this.time=setTimeout(()=>{l.runer(t)},e||this.lazy)},run(t){let e=[],s=l.runer(this.direction,t.target),i={offset:s,top:s,width:this.realW,height:this.realH,index:s/this.expand>>0};l.merge(i,this.space),t.from||e.push(["onscroll",i]);let r=!1;l.each(this.flyweights,(c,n,o,h,f,d,p,u,a)=>{if(o=c/f>>0,u=o+h*(+(o<d%h)+(d/h>>0)),a=u*f+c%f,a>=this.count){r||(e.push(["onend"]),r=!0);return}n.index=u,n.i=a,n.data=this.flys[a];let g=[u*this.expand+n.x,n.space];p&&g.reverse(),n.top=g[0],n.left=g[1]},null,this.row,this.column,i.index,this.scrollx),this.trigger(e),e=null},scroll(t){this.run(t||{target:this.flyweight,from:"space"})},rebuild(){let t=this.count||this.flys.length,e=this.flyweights;if(!t)return e.length=t;this.count=t;let s=this.scrollx,i=this.flyweight,r=l.picker(i,this.BoxRule);this.$nextTick(()=>{let c=/true/.test(this.auto),[n,o]=this.offset,h=r.width,f=r.height,d=(F(this.width,h)||h)+n,p=F(this.height,f)+o,u=[h/d>>0||1,f/p>>0||1];s&&u.reverse();let[a,g]=u,w=this.padding,x,v=0,y,$;s?(y=d,d-=n,$=_=>_*(p-o)+(_+1)*o):(c?(d=(h-n*(a+2*w-1))/a,x=!w*n,v=w*n):(x=0,v=(h%d+n*a)/(a+1)>>0,d-=n),$=_=>_*(d+x)+(_+1)*v,y=p),this.row=g+2,this.column=a,this.realH=p-o,this.realW=d,this.expand=y,this.Size=Math.ceil(t/a)*y;let b=Math.min(t,a*this.row),m=b-1,S;for(;b-- >0;)S=m-b,this.$set(e,S,{x:n,y:o,width:d,height:p-o,space:$(S%a),data:{}});e.length=m+1;let T=[];f/y>m/a&&T.push(["onend"]),this.flyweight&&(this.flyweight[this.direction]=0),this.$nextTick(()=>{this.setindex(this.selectIndex||0),this.scroll()}),T.push(["update:space",{row:(m/a>>0)+1,column:a,showrow:this.row,showcolumn:this.column}]),this.trigger(T)})}}};var M=function(){var e=this,s=e._self._c;return s("div",{ref:"flyweight",staticClass:"flyweight",class:{"flyweight-active":e.actice},style:{"--width":e.exec(e.realW),"--height":e.exec(e.realH),"--flyweight-content":e.exec(e.Size)},on:{scroll:e.scroll}},[s("div",{staticClass:"flyweight-all"},e._l(e.flyweights,function(i,r){return s("div",{key:r,style:{top:i.top+"px",left:i.left+"px"}},[e._t("default",null,null,i)],2)}),0),e.flyweights.length?e._t("end"):e._e()],2)},U=[],X=z(I,M,U,!1,null,"05373fe1",null,null);const O=X.exports;function C(t,e){return e&&(t=t.replace(/[a-z]/g,"")),t.toLowerCase()}let H={close:{handler(t){this.change(t)},deep:!0},offset:{handler(t){this.margin(t)},deep:!0}},j=["BackGround","BordeR","Height","Width","Top","Right","Bottom","Left"],L={};l.each(j,(t,e,s)=>{t=C(e),L["--"+C(e,!0)]=t,s[t]=function(){this.trigger++}},H);const G={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:{},style:{},trigger:0,default:{top:"0px",right:"0px",bottom:"0px",left:"0px",height:"100%",width:"100%",background:"",border:"1px"}}},computed:{style(){return this.tr()}},watch:H,methods:{exec:k,isEmpty:l.isEmpty,isSimplyType:l.isSimplyType,tr(){let t={};return this.margin(this.offset),l.each(L,(e,s)=>{this.css(t,e,s)}),t},tolower:C,css(t,e,s){let i=this[s]||this.default[s];!i||this.default[s]==i||(t[e]=k(i))},change(t){l.isSimplyType(t)||(this.closecss=l.picker(t,"color=>--s-card-close-color,*"))},margin(t){l.merge(this,l.picker(l.isString(t)?t.split(/\s*(?:,|\s+)\s*/):t,"0=>top,1|0=>right,2|0=>bottom,3|1|0=>left",!0),!0)}},mounted(){this.change(this.close)}};var V=function(){var e=this,s=e._self._c;return s("div",{key:e.trigger,staticClass:"card",style:e.isEmpty(e.style)?e.tr():e.style},[e._t("default",function(){return[e._t("title",function(){return[s("div",{staticClass:"card-title"},[e._v(" "+e._s(e.show||e.title)+" "),s("div",{staticClass:"card-close",class:{hide:e.isSimplyType(e.close)?!e.close:!1},style:e.closecss,on:{click:function(i){return e.$emit("close")}}})])]}),e._t("content",function(){return[s("div",{staticClass:"card-content"},[e._t("inner")],2)]})]})],2)},q=[],P=z(G,V,q,!1,null,"b6ea8a12",null,null);const A=P.exports,Y={name:"Stream",props:{type:{type:String,default:"div"},data:{type:Array,default:()=>[]},T:{type:Array,default:()=>[]}},render(t){return t(this.type,{props:{data:this.data}},this._l(this.T,(e,s)=>{let i=l.picker(e,"slot|name|type=>name").name,r=l.picker(this,l.format("$scopedSlots.?|$slots.?|$scopedSlots.default=>?",i));return l.merge(e,{index:s}),l.runer(i,r,e)}))}},D=null,J=null;var K=z(Y,D,J,!1,null,null,null,null);const B=K.exports,Q=[O,A,B],Z={install(t){Q.forEach(e=>{t.component("S"+e.name,e),t.component(e.name+"S",e)})}};exports.Card=A;exports.Flyweight=O;exports.Stream=B;exports.default=Z;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("@soei/util");let W=/(\d+|[+\-\*/]|%)/g,R={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t,s)=>parseFloat(e)/100*s},F=(e,t)=>{let s;if(s=o.runer("match",e,W)){let i=s.length,n,c=0,r,h=[];for(;i--;)c=s.shift(),c in R?(n&&h.push(n),c==="%"&&(h.length=2),r=c):+c&&h.push(+c),h.length==2&&(h.push(t),n=R[r].apply(null,h),h.length=0);+n||(n=+h.pop()),e=n>>0}return e},C=e=>(e+"").replace(/\w+\((.*)\)/g,"$1").replace(/(?=\s+|^)(\d+(\.\d+)*)(?!(?:\.)*\d|%|\w)/g,"$1px");function z(e,t,s,i,n,c,r,h){var l=typeof e=="function"?e.options:e;t&&(l.render=t,l.staticRenderFns=s,l._compiled=!0),i&&(l.functional=!0),c&&(l._scopeId="data-v-"+c);var f;if(r?(f=function(u){u=u||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!u&&typeof __VUE_SSR_CONTEXT__<"u"&&(u=__VUE_SSR_CONTEXT__),n&&n.call(this,u),u&&u._registeredComponents&&u._registeredComponents.add(r)},l._ssrRegister=f):n&&(f=h?function(){n.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:n),f)if(l.functional){l._injectStyles=f;var d=l.render;l.render=function(a,g){return f.call(g),d(a,g)}}else{var p=l.beforeCreate;l.beforeCreate=p?[].concat(p,f):[f]}return{exports:e,options:l}}let N=e=>e==null||e==null,E=(...e)=>{console.info("::::FLYWEIGHT",...e)};const I={name:"Flyweight",props:{flys:{type:Array,default:()=>[]},width:{type:Number,default:0},height:{type:Number,default:100},offset:{type:Array,default:()=>[0,0]},lazy:{type:Number,default:100},view:{type:Object,default:()=>({id:0})},index:{type:Number,default:0},top:{type:Number,default:!1},left:{type:Number,default:!1},auto:{type:[Boolean,String],default:!1},space:{type:Object,default:()=>null},padding:{type:Boolean,default:!1}},computed:{flyweight(){return this.$refs.flyweight||""}},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){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:C,trigger(e,t){this.lazyrun(()=>{o.isArray(e)||(e=[[e,t]]),o.each(e,(s,i)=>{this.$emit(i[0],N(i[1])?!0:i[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,(i,n,c,r)=>{if(n[c]==r)return i},t.picker,t.id);N(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,i=this.expand;(this.flyweight[this.direction]/i>>0)+this.row-s-1>0||(this.flyweight[this.direction]=s*i,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),i={offset:s,top:s,width:this.realW,height:this.realH,index:s/this.expand>>0};o.merge(i,this.space),e.from||t.push(["onscroll",i]);let n=!1;o.each(this.flyweights,(c,r,h,l,f,d,p,u,a)=>{if(h=c/f>>0,u=h+l*(+(h<d%l)+(d/l>>0)),a=u*f+c%f,a>=this.count){n||(t.push(["onend"]),n=!0);return}r.index=u,r.i=a,r.data=this.flys[a];let g=[u*this.expand+r.x,r.space];p&&g.reverse(),r.top=g[0],r.left=g[1]},null,this.row,this.column,i.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,i=this.flyweight,n=o.picker(i,this.BoxRule);this.$nextTick(()=>{let c=/true/.test(this.auto),[r,h]=this.offset,l=n.width,f=n.height,d=(F(this.width,l)||l)+r,p=F(this.height,f)+h,u=[l/d>>0||1,f/p>>0||1];s&&u.reverse();let[a,g]=u,w=this.padding,x,v=0,y,$;s?(y=d,d-=r,$=_=>_*(p-h)+(_+1)*h):(c?(d=(l-r*(a+2*w-1))/a,x=!w*r,v=w*r):(x=0,v=(l%d+r*a)/(a+1)>>0,d-=r),$=_=>_*(d+x)+(_+1)*v,y=p),this.row=g+2,this.column=a,this.realH=p-h,this.realW=d,this.expand=y,this.Size=Math.ceil(e/a)*y;let b=Math.min(e,a*this.row),m=b-1,S;for(;b-- >0;)S=m-b,this.$set(t,S,{x:r,y:h,width:d,height:p-h,space:$(S%a),data:{}});t.length=m+1;let T=[];f/y>m/a&&T.push(["onend"]),this.flyweight&&(this.flyweight[this.direction]=0),this.$nextTick(()=>{this.setindex(this.selectIndex||0),this.scroll()}),T.push(["update:space",{row:(m/a>>0)+1,column:a,showrow:this.row,showcolumn:this.column}]),this.trigger(T)})}}};var M=function(){var t=this,s=t._self._c;return s("div",{ref:"flyweight",staticClass:"flyweight",class:{"flyweight-active":t.actice},style:{"--width":t.exec(t.realW),"--height":t.exec(t.realH),"--flyweight-content":t.exec(t.Size)},on:{scroll:t.scroll}},[s("div",{staticClass:"flyweight-all"},t._l(t.flyweights,function(i,n){return s("div",{key:n,style:{top:i.top+"px",left:i.left+"px"}},[t._t("default",null,null,i)],2)}),0),t.flyweights.length?t._t("end"):t._e()],2)},U=[],X=z(I,M,U,!1,null,"05373fe1",null,null);const O=X.exports;function k(e,t){return t&&(e=e.replace(/[a-z]/g,"")),e.toLowerCase()}let H={close:{handler(e){this.change(e)},deep:!0},offset:{handler(e){this.margin(e)},deep:!0}},j=["BackGround","BordeR","Height","Width","Top","Right","Bottom","Left"],L={};o.each(j,(e,t,s)=>{e=k(t),L["--"+k(t,!0)]=e,s[e]=function(){this.trigger++}},H);const G={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:H,methods:{exec:C,isEmpty:o.isEmpty,isSimplyType:o.isSimplyType,tr(){let e={};return this.margin(this.offset),o.each(L,(t,s)=>{this.css(e,t,s)}),e},tolower:k,css(e,t,s){let i=this[s]||this.default[s];!i||this.default[s]==i||(e[t]=C(i))},change(e){o.isSimplyType(e)||(this.closecss=o.picker(e,"color=>--s-card-close-color,*"))},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)}};var V=function(){var t=this,s=t._self._c;return s("div",{key:t.trigger,staticClass:"card",style:t.isEmpty(t.style)?t.tr():t.style},[t._t("default",function(){return[t._t("title",function(){return[s("div",{staticClass:"card-title"},[t._v(" "+t._s(t.show||t.title)+" "),s("div",{staticClass:"card-close",class:{hide:t.isSimplyType(t.close)?!t.close:!1},style:t.closecss,on:{click:function(i){return t.$emit("close")}}})])]}),t._t("content",function(){return[s("div",{staticClass:"card-content"},[t._t("inner")],2)]})]})],2)},q=[],P=z(G,V,q,!1,null,"19340aef",null,null);const A=P.exports,Y={name:"Stream",props:{type:{type:String,default:"div"},data:{type:Array,default:()=>[]},T:{type:Array,default:()=>[]}},methods:{trigger(e){let t=e.slot||e.type;return(this.$scopedSlots||this.$slots)[t]?t:"default"}}};var D=function(){var t=this,s=t._self._c;return s(t.type,t._b({tag:"component",attrs:{data:t.data}},"component",t.$attrs,!1),[t._l(t.T,function(i){return[t._t(t.trigger(i),null,null,i)]})],2)},J=[],K=z(Y,D,J,!1,null,null,null,null);const B=K.exports,Q=[O,A,B],Z={install(e){Q.forEach(t=>{e.component("S"+t.name,t),e.component(t.name+"S",t)})}};exports.Card=A;exports.Flyweight=O;exports.Stream=B;exports.default=Z;
package/vue2/index.js CHANGED
@@ -1,53 +1,53 @@
1
- import { runer as g, isArray as E, each as m, merge as F, picker as w, isEmpty as I, isSimplyType as H, isString as U, format as X } from "@soei/util";
2
- let G = /(\d+|[+\-\*/]|%)/g, L = {
3
- "+": (t, e) => t + e,
4
- "-": (t, e) => t - e,
5
- "*": (t, e) => t * e,
6
- "/": (t, e) => t / e,
7
- "%": (t, e, s) => parseFloat(t) / 100 * s
8
- }, O = (t, e) => {
1
+ import { runer as g, isArray as E, each as m, merge as A, picker as k, isEmpty as I, isSimplyType as N, isString as U } from "@soei/util";
2
+ let X = /(\d+|[+\-\*/]|%)/g, H = {
3
+ "+": (e, t) => e + t,
4
+ "-": (e, t) => e - t,
5
+ "*": (e, t) => e * t,
6
+ "/": (e, t) => e / t,
7
+ "%": (e, t, s) => parseFloat(e) / 100 * s
8
+ }, L = (e, t) => {
9
9
  let s;
10
- if (s = g("match", t, G)) {
11
- let i = s.length, l, a = 0, r, h = [];
10
+ if (s = g("match", e, X)) {
11
+ let i = s.length, n, a = 0, l, h = [];
12
12
  for (; i--; )
13
- a = s.shift(), a in L ? (l && h.push(l), a === "%" && (h.length = 2), r = a) : +a && h.push(+a), h.length == 2 && (h.push(e), l = L[r].apply(null, h), h.length = 0);
14
- +l || (l = +h.pop()), t = l >> 0;
13
+ a = s.shift(), a in H ? (n && h.push(n), a === "%" && (h.length = 2), l = a) : +a && h.push(+a), h.length == 2 && (h.push(t), n = H[l].apply(null, h), h.length = 0);
14
+ +n || (n = +h.pop()), e = n >> 0;
15
15
  }
16
- return t;
17
- }, z = (t) => (t + "").replace(/\w+\((.*)\)/g, "$1").replace(/(?=\s+|^)(\d+(\.\d+)*)(?!(?:\.)*\d|%|\w)/g, "$1px");
18
- function N(t, e, s, i, l, a, r, h) {
19
- var n = typeof t == "function" ? t.options : t;
20
- e && (n.render = e, n.staticRenderFns = s, n._compiled = !0), i && (n.functional = !0), a && (n._scopeId = "data-v-" + a);
16
+ return e;
17
+ }, z = (e) => (e + "").replace(/\w+\((.*)\)/g, "$1").replace(/(?=\s+|^)(\d+(\.\d+)*)(?!(?:\.)*\d|%|\w)/g, "$1px");
18
+ function F(e, t, s, i, n, a, l, h) {
19
+ var r = typeof e == "function" ? e.options : e;
20
+ t && (r.render = t, r.staticRenderFns = s, r._compiled = !0), i && (r.functional = !0), a && (r._scopeId = "data-v-" + a);
21
21
  var f;
22
- if (r ? (f = function(c) {
22
+ if (l ? (f = function(c) {
23
23
  c = c || // cached call
24
24
  this.$vnode && this.$vnode.ssrContext || // stateful
25
- this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !c && typeof __VUE_SSR_CONTEXT__ < "u" && (c = __VUE_SSR_CONTEXT__), l && l.call(this, c), c && c._registeredComponents && c._registeredComponents.add(r);
26
- }, n._ssrRegister = f) : l && (f = h ? function() {
27
- l.call(
25
+ this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !c && typeof __VUE_SSR_CONTEXT__ < "u" && (c = __VUE_SSR_CONTEXT__), n && n.call(this, c), c && c._registeredComponents && c._registeredComponents.add(l);
26
+ }, r._ssrRegister = f) : n && (f = h ? function() {
27
+ n.call(
28
28
  this,
29
- (n.functional ? this.parent : this).$root.$options.shadowRoot
29
+ (r.functional ? this.parent : this).$root.$options.shadowRoot
30
30
  );
31
- } : l), f)
32
- if (n.functional) {
33
- n._injectStyles = f;
34
- var u = n.render;
35
- n.render = function(o, p) {
31
+ } : n), f)
32
+ if (r.functional) {
33
+ r._injectStyles = f;
34
+ var u = r.render;
35
+ r.render = function(o, p) {
36
36
  return f.call(p), u(o, p);
37
37
  };
38
38
  } else {
39
- var d = n.beforeCreate;
40
- n.beforeCreate = d ? [].concat(d, f) : [f];
39
+ var d = r.beforeCreate;
40
+ r.beforeCreate = d ? [].concat(d, f) : [f];
41
41
  }
42
42
  return {
43
- exports: t,
44
- options: n
43
+ exports: e,
44
+ options: r
45
45
  };
46
46
  }
47
- let A = (t) => t == null || t == null, M = (...t) => {
48
- console.info("::::FLYWEIGHT", ...t);
47
+ let O = (e) => e == null || e == null, G = (...e) => {
48
+ console.info("::::FLYWEIGHT", ...e);
49
49
  };
50
- const V = {
50
+ const M = {
51
51
  name: "Flyweight",
52
52
  props: {
53
53
  flys: {
@@ -119,82 +119,82 @@ const V = {
119
119
  };
120
120
  },
121
121
  watch: {
122
- flys(t) {
123
- this.count = t.length, this.rebuild();
124
- let e = this.task.shift();
125
- e && this.$nextTick(() => {
126
- this.setview(e);
122
+ flys(e) {
123
+ this.count = e.length, this.rebuild();
124
+ let t = this.task.shift();
125
+ t && this.$nextTick(() => {
126
+ this.setview(t);
127
127
  });
128
128
  },
129
129
  view: {
130
- handler(t) {
131
- this.setview(t);
130
+ handler(e) {
131
+ this.setview(e);
132
132
  },
133
133
  immediate: !0,
134
134
  deep: !0
135
135
  },
136
- index(t) {
137
- this.setindex(t);
136
+ index(e) {
137
+ this.setindex(e);
138
138
  },
139
- top(t) {
140
- this.flyweight.scrollTop = t;
139
+ top(e) {
140
+ this.flyweight.scrollTop = e;
141
141
  },
142
- left(t) {
143
- this.flyweight.scrollLeft = t;
142
+ left(e) {
143
+ this.flyweight.scrollLeft = e;
144
144
  }
145
145
  },
146
146
  mounted() {
147
- this.flyweights = [], this.$set || (this.$set = (t, e, s) => {
148
- t[e] = s;
147
+ this.flyweights = [], this.$set || (this.$set = (e, t, s) => {
148
+ e[t] = s;
149
149
  }), this.setindex(this.index);
150
150
  try {
151
151
  new ResizeObserver(() => {
152
152
  this.rebuild(), this.$emit("resize");
153
153
  }).observe(this.flyweight);
154
- } catch (t) {
155
- M(t);
154
+ } catch (e) {
155
+ G(e);
156
156
  }
157
157
  this.scrollx = g("hasAttribute", this.flyweight, "scroll-x"), this.BoxRule = /* this.scrollx ? 'clientHeight=>width,clientWidth=>height' : */
158
158
  "clientHeight=>height,clientWidth=>width", this.direction = this.scrollx ? "scrollLeft" : "scrollTop";
159
159
  },
160
160
  methods: {
161
161
  exec: z,
162
- trigger(t, e) {
162
+ trigger(e, t) {
163
163
  this.lazyrun(() => {
164
- E(t) || (t = [[t, e]]), m(t, (s, i) => {
165
- this.$emit(i[0], A(i[1]) ? !0 : i[1]);
164
+ E(e) || (e = [[e, t]]), m(e, (s, i) => {
165
+ this.$emit(i[0], O(i[1]) ? !0 : i[1]);
166
166
  });
167
167
  });
168
168
  },
169
- cheackflys(t) {
169
+ cheackflys(e) {
170
170
  if (!this.flys.length)
171
- return t && this.task.push(t), !0;
171
+ return e && this.task.push(e), !0;
172
172
  },
173
- setview(t) {
174
- g([this.cheackflys, (e) => {
175
- e = e || {};
176
- let s = e.index || m(this.flys, (i, l, a, r) => {
177
- if (l[a] == r)
173
+ setview(e) {
174
+ g([this.cheackflys, (t) => {
175
+ t = t || {};
176
+ let s = t.index || m(this.flys, (i, n, a, l) => {
177
+ if (n[a] == l)
178
178
  return i;
179
- }, e.picker, e.id);
180
- A(s) || this.setindex(s);
181
- }], this, t);
182
- },
183
- setindex(t) {
184
- g([this.cheackflys, ({ index: e }) => {
185
- this.selectIndex = e, this.$nextTick(() => {
186
- let s = e / this.column >> 0, i = this.expand;
179
+ }, t.picker, t.id);
180
+ O(s) || this.setindex(s);
181
+ }], this, e);
182
+ },
183
+ setindex(e) {
184
+ g([this.cheackflys, ({ index: t }) => {
185
+ this.selectIndex = t, this.$nextTick(() => {
186
+ let s = t / this.column >> 0, i = this.expand;
187
187
  (this.flyweight[this.direction] / i >> 0) + this.row - s - 1 > 0 || (this.flyweight[this.direction] = s * i, this.scroll());
188
188
  });
189
- }], this, { index: t });
189
+ }], this, { index: e });
190
190
  },
191
- lazyrun(t, e) {
191
+ lazyrun(e, t) {
192
192
  clearTimeout(this.time), this.time = setTimeout(() => {
193
- g(t);
194
- }, e || this.lazy);
193
+ g(e);
194
+ }, t || this.lazy);
195
195
  },
196
- run(t) {
197
- let e = [], s = g(this.direction, t.target), i = {
196
+ run(e) {
197
+ let t = [], s = g(this.direction, e.target), i = {
198
198
  // ...this
199
199
  offset: s,
200
200
  top: s,
@@ -203,24 +203,24 @@ const V = {
203
203
  /* 显示区域第一行的索引 */
204
204
  index: s / this.expand >> 0
205
205
  };
206
- F(i, this.space), t.from || e.push(["onscroll", i]);
207
- let l = !1;
206
+ A(i, this.space), e.from || t.push(["onscroll", i]);
207
+ let n = !1;
208
208
  m(
209
209
  this.flyweights,
210
- (a, r, h, n, f, u, d, c, o) => {
211
- if (h = a / f >> 0, c = h + n * /* 偏移量, 如果超出顶部 + 1轮,排列到列队后, 否则保持在当前*/
212
- (+(h < u % n) + (u / n >> 0)), o = c * f + a % f, o >= this.count) {
213
- l || (e.push(["onend"]), l = !0);
210
+ (a, l, h, r, f, u, d, c, o) => {
211
+ if (h = a / f >> 0, c = h + r * /* 偏移量, 如果超出顶部 + 1轮,排列到列队后, 否则保持在当前*/
212
+ (+(h < u % r) + (u / r >> 0)), o = c * f + a % f, o >= this.count) {
213
+ n || (t.push(["onend"]), n = !0);
214
214
  return;
215
215
  }
216
- r.index = c, r.i = o, r.data = this.flys[o];
216
+ l.index = c, l.i = o, l.data = this.flys[o];
217
217
  let p = [
218
218
  /* top */
219
- c * this.expand + r.x,
219
+ c * this.expand + l.x,
220
220
  /* left */
221
- r.space
221
+ l.space
222
222
  ];
223
- d && p.reverse(), r.top = p[0], r.left = p[1];
223
+ d && p.reverse(), l.top = p[0], l.left = p[1];
224
224
  },
225
225
  null,
226
226
  this.row,
@@ -228,97 +228,97 @@ const V = {
228
228
  /* 显示区域第一行的索引 */
229
229
  i.index,
230
230
  this.scrollx
231
- ), this.trigger(e), e = null;
231
+ ), this.trigger(t), t = null;
232
232
  },
233
- scroll(t) {
234
- this.run(t || { target: this.flyweight, from: "space" });
233
+ scroll(e) {
234
+ this.run(e || { target: this.flyweight, from: "space" });
235
235
  },
236
236
  rebuild() {
237
- let t = this.count || this.flys.length, e = this.flyweights;
238
- if (!t)
239
- return e.length = t;
240
- this.count = t;
241
- let s = this.scrollx, i = this.flyweight, l = w(i, this.BoxRule);
237
+ let e = this.count || this.flys.length, t = this.flyweights;
238
+ if (!e)
239
+ return t.length = e;
240
+ this.count = e;
241
+ let s = this.scrollx, i = this.flyweight, n = k(i, this.BoxRule);
242
242
  this.$nextTick(() => {
243
- let a = /true/.test(this.auto), [r, h] = this.offset, n = l.width, f = l.height, u = (O(this.width, n) || n) + r, d = O(this.height, f) + h, c = [n / u >> 0 || 1, f / d >> 0 || 1];
243
+ let a = /true/.test(this.auto), [l, h] = this.offset, r = n.width, f = n.height, u = (L(this.width, r) || r) + l, d = L(this.height, f) + h, c = [r / u >> 0 || 1, f / d >> 0 || 1];
244
244
  s && c.reverse();
245
- let [o, p] = c, $ = this.padding, v, b = 0, y, S;
246
- s ? (y = u, u -= r, S = (_) => (
245
+ let [o, p] = c, x = this.padding, v, $ = 0, y, b;
246
+ s ? (y = u, u -= l, b = (_) => (
247
247
  /* 计算top偏移量 */
248
248
  _ * (d - h) + (_ + 1) * h
249
- )) : (a ? (u = (n - r * (o + 2 * $ - 1)) / o, v = !$ * r, b = $ * r) : (v = 0, b = (n % u + r * o) / (o + 1) >> 0, u -= r), S = (_) => _ * (u + v) + (_ + 1) * b, y = d), this.row = p + 2, this.column = o, this.realH = d - h, this.realW = u, this.expand = y, this.Size = Math.ceil(t / o) * y;
250
- let T = Math.min(t, o * this.row), x = T - 1, C;
251
- for (; T-- > 0; )
252
- C = x - T, this.$set(e, C, {
253
- x: r,
249
+ )) : (a ? (u = (r - l * (o + 2 * x - 1)) / o, v = !x * l, $ = x * l) : (v = 0, $ = (r % u + l * o) / (o + 1) >> 0, u -= l), b = (_) => _ * (u + v) + (_ + 1) * $, y = d), this.row = p + 2, this.column = o, this.realH = d - h, this.realW = u, this.expand = y, this.Size = Math.ceil(e / o) * y;
250
+ let S = Math.min(e, o * this.row), w = S - 1, T;
251
+ for (; S-- > 0; )
252
+ T = w - S, this.$set(t, T, {
253
+ x: l,
254
254
  y: h,
255
255
  width: u,
256
256
  height: d - h,
257
- space: S(C % o),
257
+ space: b(T % o),
258
258
  data: {}
259
259
  });
260
- e.length = x + 1;
261
- let k = [];
262
- f / y > x / o && k.push(["onend"]), this.flyweight && (this.flyweight[this.direction] = 0), this.$nextTick(() => {
260
+ t.length = w + 1;
261
+ let C = [];
262
+ f / y > w / o && C.push(["onend"]), this.flyweight && (this.flyweight[this.direction] = 0), this.$nextTick(() => {
263
263
  this.setindex(this.selectIndex || 0), this.scroll();
264
- }), k.push(["update:space", {
265
- row: (x / o >> 0) + 1,
264
+ }), C.push(["update:space", {
265
+ row: (w / o >> 0) + 1,
266
266
  column: o,
267
267
  showrow: this.row,
268
268
  showcolumn: this.column
269
- }]), this.trigger(k);
269
+ }]), this.trigger(C);
270
270
  });
271
271
  }
272
272
  }
273
273
  };
274
- var j = function() {
275
- var e = this, s = e._self._c;
274
+ var V = function() {
275
+ var t = this, s = t._self._c;
276
276
  return s("div", { ref: "flyweight", staticClass: "flyweight", class: {
277
- "flyweight-active": e.actice
277
+ "flyweight-active": t.actice
278
278
  }, style: {
279
- "--width": e.exec(e.realW),
280
- "--height": e.exec(e.realH),
281
- "--flyweight-content": e.exec(e.Size)
282
- }, on: { scroll: e.scroll } }, [s("div", { staticClass: "flyweight-all" }, e._l(e.flyweights, function(i, l) {
283
- return s("div", { key: l, style: {
279
+ "--width": t.exec(t.realW),
280
+ "--height": t.exec(t.realH),
281
+ "--flyweight-content": t.exec(t.Size)
282
+ }, on: { scroll: t.scroll } }, [s("div", { staticClass: "flyweight-all" }, t._l(t.flyweights, function(i, n) {
283
+ return s("div", { key: n, style: {
284
284
  top: i.top + "px",
285
285
  left: i.left + "px"
286
- } }, [e._t("default", null, null, i)], 2);
287
- }), 0), e.flyweights.length ? e._t("end") : e._e()], 2);
288
- }, Y = [], q = /* @__PURE__ */ N(
286
+ } }, [t._t("default", null, null, i)], 2);
287
+ }), 0), t.flyweights.length ? t._t("end") : t._e()], 2);
288
+ }, j = [], Y = /* @__PURE__ */ F(
289
+ M,
289
290
  V,
290
291
  j,
291
- Y,
292
292
  !1,
293
293
  null,
294
294
  "05373fe1",
295
295
  null,
296
296
  null
297
297
  );
298
- const D = q.exports;
299
- function R(t, e) {
300
- return e && (t = t.replace(/[a-z]/g, "")), t.toLowerCase();
298
+ const q = Y.exports;
299
+ function R(e, t) {
300
+ return t && (e = e.replace(/[a-z]/g, "")), e.toLowerCase();
301
301
  }
302
302
  let B = {
303
303
  close: {
304
- handler(t) {
305
- this.change(t);
304
+ handler(e) {
305
+ this.change(e);
306
306
  },
307
307
  deep: !0
308
308
  },
309
309
  offset: {
310
- handler(t) {
311
- this.margin(t);
310
+ handler(e) {
311
+ this.margin(e);
312
312
  },
313
313
  deep: !0
314
314
  }
315
- }, J = ["BackGround", "BordeR", "Height", "Width", "Top", "Right", "Bottom", "Left"], W = {};
316
- m(J, (t, e, s) => {
317
- t = R(e), W["--" + R(e, !0)] = t, s[t] = function() {
315
+ }, D = ["BackGround", "BordeR", "Height", "Width", "Top", "Right", "Bottom", "Left"], W = {};
316
+ m(D, (e, t, s) => {
317
+ e = R(t), W["--" + R(t, !0)] = e, s[e] = function() {
318
318
  this.trigger++;
319
319
  };
320
320
  }, B);
321
- const K = {
321
+ const J = {
322
322
  name: "Card",
323
323
  // inheritAttrs: false,
324
324
  props: {
@@ -358,7 +358,7 @@ const K = {
358
358
  data() {
359
359
  return {
360
360
  closecss: {},
361
- style: {},
361
+ // style: {},
362
362
  trigger: 0,
363
363
  default: {
364
364
  top: "0px",
@@ -381,24 +381,24 @@ const K = {
381
381
  methods: {
382
382
  exec: z,
383
383
  isEmpty: I,
384
- isSimplyType: H,
384
+ isSimplyType: N,
385
385
  tr() {
386
- let t = {};
387
- return this.margin(this.offset), m(W, (e, s) => {
388
- this.css(t, e, s);
389
- }), t;
386
+ let e = {};
387
+ return this.margin(this.offset), m(W, (t, s) => {
388
+ this.css(e, t, s);
389
+ }), e;
390
390
  },
391
391
  tolower: R,
392
- css(t, e, s) {
392
+ css(e, t, s) {
393
393
  let i = this[s] || this.default[s];
394
- !i || this.default[s] == i || (t[e] = z(i));
394
+ !i || this.default[s] == i || (e[t] = z(i));
395
395
  },
396
- change(t) {
397
- H(t) || (this.closecss = w(t, "color=>--s-card-close-color,*"));
396
+ change(e) {
397
+ N(e) || (this.closecss = k(e, "color=>--s-card-close-color,*"));
398
398
  },
399
- margin(t) {
400
- F(this, w(
401
- U(t) ? t.split(/\s*(?:,|\s+)\s*/) : t,
399
+ margin(e) {
400
+ A(this, k(
401
+ U(e) ? e.split(/\s*(?:,|\s+)\s*/) : e,
402
402
  "0=>top,1|0=>right,2|0=>bottom,3|1|0=>left",
403
403
  !0
404
404
  ), !0);
@@ -408,28 +408,28 @@ const K = {
408
408
  this.change(this.close);
409
409
  }
410
410
  };
411
- var P = function() {
412
- var e = this, s = e._self._c;
413
- return s("div", { key: e.trigger, staticClass: "card", style: e.isEmpty(e.style) ? e.tr() : e.style }, [e._t("default", function() {
414
- return [e._t("title", function() {
415
- return [s("div", { staticClass: "card-title" }, [e._v(" " + e._s(e.show || e.title) + " "), s("div", { staticClass: "card-close", class: { hide: e.isSimplyType(e.close) ? !e.close : !1 }, style: e.closecss, on: { click: function(i) {
416
- return e.$emit("close");
411
+ var K = function() {
412
+ var t = this, s = t._self._c;
413
+ return s("div", { key: t.trigger, staticClass: "card", style: t.isEmpty(t.style) ? t.tr() : t.style }, [t._t("default", function() {
414
+ return [t._t("title", function() {
415
+ return [s("div", { staticClass: "card-title" }, [t._v(" " + t._s(t.show || t.title) + " "), s("div", { staticClass: "card-close", class: { hide: t.isSimplyType(t.close) ? !t.close : !1 }, style: t.closecss, on: { click: function(i) {
416
+ return t.$emit("close");
417
417
  } } })])];
418
- }), e._t("content", function() {
419
- return [s("div", { staticClass: "card-content" }, [e._t("inner")], 2)];
418
+ }), t._t("content", function() {
419
+ return [s("div", { staticClass: "card-content" }, [t._t("inner")], 2)];
420
420
  })];
421
421
  })], 2);
422
- }, Q = [], Z = /* @__PURE__ */ N(
422
+ }, P = [], Q = /* @__PURE__ */ F(
423
+ J,
423
424
  K,
424
425
  P,
425
- Q,
426
426
  !1,
427
427
  null,
428
- "b6ea8a12",
428
+ "19340aef",
429
429
  null,
430
430
  null
431
431
  );
432
- const tt = Z.exports, et = {
432
+ const Z = Q.exports, tt = {
433
433
  name: "Stream",
434
434
  props: {
435
435
  type: {
@@ -445,42 +445,38 @@ const tt = Z.exports, et = {
445
445
  default: () => []
446
446
  }
447
447
  },
448
- render(t) {
449
- return t(
450
- this.type,
451
- {
452
- // ...item,
453
- props: {
454
- data: this.data
455
- }
456
- },
457
- this._l(this.T, (e, s) => {
458
- let i = w(e, "slot|name|type=>name").name, l = w(this, X("$scopedSlots.?|$slots.?|$scopedSlots.default=>?", i));
459
- return F(e, { index: s }), g(i, l, e);
460
- })
461
- );
448
+ methods: {
449
+ trigger(e) {
450
+ let t = e.slot || e.type;
451
+ return (this.$scopedSlots || this.$slots)[t] ? t : "default";
452
+ }
462
453
  }
463
- }, st = null, it = null;
464
- var lt = /* @__PURE__ */ N(
454
+ };
455
+ var et = function() {
456
+ var t = this, s = t._self._c;
457
+ return s(t.type, t._b({ tag: "component", attrs: { data: t.data } }, "component", t.$attrs, !1), [t._l(t.T, function(i) {
458
+ return [t._t(t.trigger(i), null, null, i)];
459
+ })], 2);
460
+ }, st = [], it = /* @__PURE__ */ F(
461
+ tt,
465
462
  et,
466
463
  st,
467
- it,
468
464
  !1,
469
465
  null,
470
466
  null,
471
467
  null,
472
468
  null
473
469
  );
474
- const rt = lt.exports, nt = [D, tt, rt], ot = {
475
- install(t) {
476
- nt.forEach((e) => {
477
- t.component("S" + e.name, e), t.component(e.name + "S", e);
470
+ const lt = it.exports, rt = [q, Z, lt], ht = {
471
+ install(e) {
472
+ rt.forEach((t) => {
473
+ e.component("S" + t.name, t), e.component(t.name + "S", t);
478
474
  });
479
475
  }
480
476
  };
481
477
  export {
482
- tt as Card,
483
- D as Flyweight,
484
- rt as Stream,
485
- ot as default
478
+ Z as Card,
479
+ q as Flyweight,
480
+ lt as Stream,
481
+ ht as default
486
482
  };
package/vue2/style.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.flyweight[data-v-05373fe1]{height:100%;width:100%;overflow:auto;position:relative}.flyweight[hover-scroll][data-v-05373fe1]::-webkit-scrollbar-track,.flyweight[auto-scroll][data-v-05373fe1]::-webkit-scrollbar-track{border-radius:10px}.flyweight[hover-scroll][data-v-05373fe1]::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-05373fe1]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.flyweight[hover-scroll][data-v-05373fe1]::-webkit-scrollbar,.flyweight[auto-scroll][data-v-05373fe1]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.flyweight[hover-scroll][data-v-05373fe1]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-05373fe1]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.flyweight[hover-scroll][data-v-05373fe1]:hover::-webkit-scrollbar-thumb:hover,.flyweight[auto-scroll][data-v-05373fe1]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.flyweight[hover-scroll][data-v-05373fe1]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-05373fe1]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.flyweight[scroll-x] .flyweight-all[data-v-05373fe1]{width:var(--flyweight-content);height:auto;min-height:100%}.flyweight[scroll-x] .flyweight-all+*[data-v-05373fe1]{left:var(--flyweight-content);position:absolute;top:0;height:100%}.flyweight .flyweight-all[data-v-05373fe1]{height:var(--flyweight-content)}.flyweight .flyweight-all>*[data-v-05373fe1]{width:calc(var(--width));height:var(--height);position:absolute}@media screen and (-apple-system: Macintosh){.flyweight .flyweight-all[data-v-05373fe1]{background-color:red!important}}.card[data-v-b6ea8a12]{--t: 0px;--r: 0px;--b: 0px;--l: 0px;--h: 100%;--w: 100%;--br: 1px;position:relative;background-color:var(--bg, var(--card-background-color, #fff));padding:10px;border-radius:10px;box-sizing:border-box;border-style:solid;border-color:var(--card-border-color, #555);border-width:var(--br);justify-content:flex-start;margin:var(--t) var(--r) var(--b) var(--l);height:calc(var(--h) - var(--t) - var(--b));width:calc(var(--w) - var(--l) - var(--r));overflow:auto}.card[hover-scroll][data-v-b6ea8a12]::-webkit-scrollbar-track,.card[auto-scroll][data-v-b6ea8a12]::-webkit-scrollbar-track{border-radius:10px}.card[hover-scroll][data-v-b6ea8a12]::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-b6ea8a12]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.card[hover-scroll][data-v-b6ea8a12]::-webkit-scrollbar,.card[auto-scroll][data-v-b6ea8a12]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.card[hover-scroll][data-v-b6ea8a12]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-b6ea8a12]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.card[hover-scroll][data-v-b6ea8a12]:hover::-webkit-scrollbar-thumb:hover,.card[auto-scroll][data-v-b6ea8a12]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.card[hover-scroll][data-v-b6ea8a12]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-b6ea8a12]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.card[simply][data-v-b6ea8a12],.card [simply][data-v-b6ea8a12]{background-color:inherit;border:0!important}.card[flex][data-v-b6ea8a12],.card [flex][data-v-b6ea8a12]{display:flex}.card[column][data-v-b6ea8a12],.card [column][data-v-b6ea8a12]{flex-direction:column}.card[row][data-v-b6ea8a12],.card [row][data-v-b6ea8a12]{flex-direction:row}.card[center][data-v-b6ea8a12],.card [center][data-v-b6ea8a12]{justify-content:center}.card[vcenter][data-v-b6ea8a12],.card [vcenter][data-v-b6ea8a12]{align-items:center}.card .card-title[data-v-b6ea8a12]{max-height:40px}.card .card-close[data-v-b6ea8a12]{position:absolute;width:20px;height:20px;right:10px;top:10px;border-radius:10px;z-index:1;--s-transform: 45deg;--s-hover-transform: 35deg;--s-close-width: 11px;--s-close-height: 2px;cursor:pointer;background-color:var(--s-card-close-background-color, transparent);transition:all .3s ease}.card .card-close.hide[data-v-b6ea8a12]{display:none}.card .card-close[data-v-b6ea8a12]:before,.card .card-close[data-v-b6ea8a12]:after{content:"";width:var(--s-close-width, 11px);height:var(--s-close-height, 2px);background-color:var(--s-card-close-color, #555);transform-origin:center;position:inherit;border-radius:10px;top:calc(50% - var(--s-close-height, 2px) / 2);left:calc(50% - var(--s-close-width, 11px) / 2)}.card .card-close[data-v-b6ea8a12]:before{transform:rotate(var(--s-transform, 45deg))}.card .card-close[data-v-b6ea8a12]:after{transform:rotate(calc(0deg - var(--s-transform, 45deg)))}.card .card-close[data-v-b6ea8a12]:hover:before{transform:rotate(var(--s-hover-transform, 45deg))}.card .card-close[data-v-b6ea8a12]:hover:after{transform:rotate(calc(0deg - var(--s-hover-transform, 45deg)))}.card .card-content[data-v-b6ea8a12]{overflow:auto;height:100%}
1
+ @charset "UTF-8";.flyweight[data-v-05373fe1]{height:100%;width:100%;overflow:auto;position:relative}.flyweight[hover-scroll][data-v-05373fe1]::-webkit-scrollbar-track,.flyweight[auto-scroll][data-v-05373fe1]::-webkit-scrollbar-track{border-radius:10px}.flyweight[hover-scroll][data-v-05373fe1]::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-05373fe1]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.flyweight[hover-scroll][data-v-05373fe1]::-webkit-scrollbar,.flyweight[auto-scroll][data-v-05373fe1]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.flyweight[hover-scroll][data-v-05373fe1]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-05373fe1]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.flyweight[hover-scroll][data-v-05373fe1]:hover::-webkit-scrollbar-thumb:hover,.flyweight[auto-scroll][data-v-05373fe1]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.flyweight[hover-scroll][data-v-05373fe1]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-05373fe1]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.flyweight[scroll-x] .flyweight-all[data-v-05373fe1]{width:var(--flyweight-content);height:auto;min-height:100%}.flyweight[scroll-x] .flyweight-all+*[data-v-05373fe1]{left:var(--flyweight-content);position:absolute;top:0;height:100%}.flyweight .flyweight-all[data-v-05373fe1]{height:var(--flyweight-content)}.flyweight .flyweight-all>*[data-v-05373fe1]{width:calc(var(--width));height:var(--height);position:absolute}@media screen and (-apple-system: Macintosh){.flyweight .flyweight-all[data-v-05373fe1]{background-color:red!important}}.card[data-v-19340aef]{--t: 0px;--r: 0px;--b: 0px;--l: 0px;--h: 100%;--w: 100%;--br: 1px;position:relative;background-color:var(--bg, var(--card-background-color, #fff));padding:10px;border-radius:10px;box-sizing:border-box;border-style:solid;border-color:var(--card-border-color, #555);border-width:var(--br);justify-content:flex-start;margin:var(--t) var(--r) var(--b) var(--l);height:calc(var(--h) - var(--t) - var(--b));width:calc(var(--w) - var(--l) - var(--r));overflow:auto}.card[hover-scroll][data-v-19340aef]::-webkit-scrollbar-track,.card[auto-scroll][data-v-19340aef]::-webkit-scrollbar-track{border-radius:10px}.card[hover-scroll][data-v-19340aef]::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-19340aef]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.card[hover-scroll][data-v-19340aef]::-webkit-scrollbar,.card[auto-scroll][data-v-19340aef]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.card[hover-scroll][data-v-19340aef]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-19340aef]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.card[hover-scroll][data-v-19340aef]:hover::-webkit-scrollbar-thumb:hover,.card[auto-scroll][data-v-19340aef]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.card[hover-scroll][data-v-19340aef]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-19340aef]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.card[simply][data-v-19340aef],.card [simply][data-v-19340aef]{background-color:inherit;border:0!important}.card[flex][data-v-19340aef],.card [flex][data-v-19340aef]{display:flex}.card[column][data-v-19340aef],.card [column][data-v-19340aef]{flex-direction:column}.card[row][data-v-19340aef],.card [row][data-v-19340aef]{flex-direction:row}.card[center][data-v-19340aef],.card [center][data-v-19340aef]{justify-content:center}.card[vcenter][data-v-19340aef],.card [vcenter][data-v-19340aef]{align-items:center}.card .card-title[data-v-19340aef]{max-height:40px}.card .card-close[data-v-19340aef]{position:absolute;width:20px;height:20px;right:10px;top:10px;border-radius:10px;z-index:1;--s-transform: 45deg;--s-hover-transform: 35deg;--s-close-width: 11px;--s-close-height: 2px;cursor:pointer;background-color:var(--s-card-close-background-color, transparent);transition:all .3s ease}.card .card-close.hide[data-v-19340aef]{display:none}.card .card-close[data-v-19340aef]:before,.card .card-close[data-v-19340aef]:after{content:"";width:var(--s-close-width, 11px);height:var(--s-close-height, 2px);background-color:var(--s-card-close-color, #555);transform-origin:center;position:inherit;border-radius:10px;top:calc(50% - var(--s-close-height, 2px) / 2);left:calc(50% - var(--s-close-width, 11px) / 2)}.card .card-close[data-v-19340aef]:before{transform:rotate(var(--s-transform, 45deg))}.card .card-close[data-v-19340aef]:after{transform:rotate(calc(0deg - var(--s-transform, 45deg)))}.card .card-close[data-v-19340aef]:hover:before{transform:rotate(var(--s-hover-transform, 45deg))}.card .card-close[data-v-19340aef]:hover:after{transform:rotate(calc(0deg - var(--s-hover-transform, 45deg)))}.card .card-content[data-v-19340aef]{overflow:auto;height:100%}