@soei/flyweight 0.3.2 → 0.3.5

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/style.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.flyweight[data-v-5ecef76b]{height:100%;width:100%;overflow:auto;position:relative}.flyweight[hover-scroll][data-v-5ecef76b]::-webkit-scrollbar-track,.flyweight[auto-scroll][data-v-5ecef76b]::-webkit-scrollbar-track{border-radius:10px}.flyweight[hover-scroll][data-v-5ecef76b]::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-5ecef76b]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.flyweight[hover-scroll][data-v-5ecef76b]::-webkit-scrollbar,.flyweight[auto-scroll][data-v-5ecef76b]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.flyweight[hover-scroll][data-v-5ecef76b]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-5ecef76b]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.flyweight[hover-scroll][data-v-5ecef76b]:hover::-webkit-scrollbar-thumb:hover,.flyweight[auto-scroll][data-v-5ecef76b]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.flyweight[hover-scroll][data-v-5ecef76b]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-5ecef76b]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.flyweight[scroll-x] .flyweight-all[data-v-5ecef76b]{width:var(--flyweight-content);height:auto;min-height:100%}.flyweight[scroll-x] .flyweight-all[data-v-5ecef76b]+*{left:var(--flyweight-content);position:absolute;top:0;height:100%}.flyweight .flyweight-all[data-v-5ecef76b]{height:var(--flyweight-content)}.flyweight .flyweight-all[data-v-5ecef76b]>*{width:calc(var(--width));height:var(--height);position:absolute}@media screen and (-apple-system: Macintosh){.flyweight .flyweight-all[data-v-5ecef76b]{background-color:red!important}}.card[data-v-4c41de24]{--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-4c41de24]::-webkit-scrollbar-track,.card[auto-scroll][data-v-4c41de24]::-webkit-scrollbar-track{border-radius:10px}.card[hover-scroll][data-v-4c41de24]::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-4c41de24]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.card[hover-scroll][data-v-4c41de24]::-webkit-scrollbar,.card[auto-scroll][data-v-4c41de24]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.card[hover-scroll][data-v-4c41de24]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-4c41de24]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.card[hover-scroll][data-v-4c41de24]:hover::-webkit-scrollbar-thumb:hover,.card[auto-scroll][data-v-4c41de24]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.card[hover-scroll][data-v-4c41de24]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-4c41de24]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.card[simply][data-v-4c41de24],.card [simply][data-v-4c41de24]{background-color:inherit;border:0!important}.card[flex][data-v-4c41de24],.card [flex][data-v-4c41de24]{display:flex}.card[column][data-v-4c41de24],.card [column][data-v-4c41de24]{flex-direction:column}.card[row][data-v-4c41de24],.card [row][data-v-4c41de24]{flex-direction:row}.card[center][data-v-4c41de24],.card [center][data-v-4c41de24]{justify-content:center}.card[vcenter][data-v-4c41de24],.card [vcenter][data-v-4c41de24]{align-items:center}.card .card-title[data-v-4c41de24]{max-height:40px}.card .card-close[data-v-4c41de24]{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-4c41de24]{display:none}.card .card-close[data-v-4c41de24]:before,.card .card-close[data-v-4c41de24]: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-4c41de24]:before{transform:rotate(var(--s-transform, 45deg))}.card .card-close[data-v-4c41de24]:after{transform:rotate(calc(0deg - var(--s-transform, 45deg)))}.card .card-close[data-v-4c41de24]:hover:before{transform:rotate(var(--s-hover-transform, 45deg))}.card .card-close[data-v-4c41de24]:hover:after{transform:rotate(calc(0deg - var(--s-hover-transform, 45deg)))}.card .card-content[data-v-4c41de24]{overflow:auto;height:100%}
1
+ @charset "UTF-8";.flyweight[data-v-ae52e0f1]{height:var(--flyweight-h, 100%);width:var(--flyweight-w, 100%);overflow:auto;position:relative}.flyweight[hover-scroll][data-v-ae52e0f1]::-webkit-scrollbar-track,.flyweight[auto-scroll][data-v-ae52e0f1]::-webkit-scrollbar-track{border-radius:10px}.flyweight[hover-scroll][data-v-ae52e0f1]::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-ae52e0f1]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.flyweight[hover-scroll][data-v-ae52e0f1]::-webkit-scrollbar,.flyweight[auto-scroll][data-v-ae52e0f1]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.flyweight[hover-scroll][data-v-ae52e0f1]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-ae52e0f1]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.flyweight[hover-scroll][data-v-ae52e0f1]:hover::-webkit-scrollbar-thumb:hover,.flyweight[auto-scroll][data-v-ae52e0f1]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.flyweight[hover-scroll][data-v-ae52e0f1]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-ae52e0f1]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.flyweight[scroll-x] .flyweight-all[data-v-ae52e0f1]{width:var(--flyweight-content);height:auto;min-height:100%}.flyweight[scroll-x] .flyweight-all[data-v-ae52e0f1]+*{left:var(--flyweight-content);position:absolute;top:0;height:100%}.flyweight .flyweight-all[data-v-ae52e0f1]{height:var(--flyweight-content)}.flyweight .flyweight-all[data-v-ae52e0f1]>*{width:calc(var(--width));height:var(--height);position:absolute}@media screen and (-apple-system: Macintosh){.flyweight .flyweight-all[data-v-ae52e0f1]{background-color:red!important}}.card[data-v-c1ad1d74]{--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-c1ad1d74]::-webkit-scrollbar-track,.card[auto-scroll][data-v-c1ad1d74]::-webkit-scrollbar-track{border-radius:10px}.card[hover-scroll][data-v-c1ad1d74]::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-c1ad1d74]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.card[hover-scroll][data-v-c1ad1d74]::-webkit-scrollbar,.card[auto-scroll][data-v-c1ad1d74]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.card[hover-scroll][data-v-c1ad1d74]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-c1ad1d74]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.card[hover-scroll][data-v-c1ad1d74]:hover::-webkit-scrollbar-thumb:hover,.card[auto-scroll][data-v-c1ad1d74]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.card[hover-scroll][data-v-c1ad1d74]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-c1ad1d74]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.card[simply][data-v-c1ad1d74],.card [simply][data-v-c1ad1d74]{background-color:inherit;border:0!important}.card[flex][data-v-c1ad1d74],.card [flex][data-v-c1ad1d74]{display:flex}.card[column][data-v-c1ad1d74],.card [column][data-v-c1ad1d74]{flex-direction:column}.card[row][data-v-c1ad1d74],.card [row][data-v-c1ad1d74]{flex-direction:row}.card[center][data-v-c1ad1d74],.card [center][data-v-c1ad1d74]{justify-content:center}.card[vcenter][data-v-c1ad1d74],.card [vcenter][data-v-c1ad1d74]{align-items:center}.card .card-title[data-v-c1ad1d74]{max-height:40px}.card .card-close[data-v-c1ad1d74]{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-c1ad1d74]{display:none}.card .card-close[data-v-c1ad1d74]:before,.card .card-close[data-v-c1ad1d74]: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-c1ad1d74]:before{transform:rotate(var(--s-transform, 45deg))}.card .card-close[data-v-c1ad1d74]:after{transform:rotate(calc(0deg - var(--s-transform, 45deg)))}.card .card-close[data-v-c1ad1d74]:hover:before{transform:rotate(var(--s-hover-transform, 45deg))}.card .card-close[data-v-c1ad1d74]:hover:after{transform:rotate(calc(0deg - var(--s-hover-transform, 45deg)))}.card .card-content[data-v-c1ad1d74]{overflow:auto;height:100%}.card .card-content[data-v-c1ad1d74]:before{background:linear-gradient(90deg,transparent,var(--card-line-color, transparent),var(--card-line-color, transparent),transparent);content:"";display:block;position:sticky;top:0;width:100%;height:1px;z-index:10;transition:opacity .5s ease-in-out}
package/vue2/index.cjs CHANGED
@@ -1 +1 @@
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,l,h=[];for(;i--;)c=s.shift(),c in R?(n&&h.push(n),c==="%"&&(h.length=2),l=c):+c&&h.push(+c),h.length==2&&(h.push(t),n=R[l].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,l,h){var r=typeof e=="function"?e.options:e;t&&(r.render=t,r.staticRenderFns=s,r._compiled=!0),i&&(r.functional=!0),c&&(r._scopeId="data-v-"+c);var f;if(l?(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(l)},r._ssrRegister=f):n&&(f=h?function(){n.call(this,(r.functional?this.parent:this).$root.$options.shadowRoot)}:n),f)if(r.functional){r._injectStyles=f;var d=r.render;r.render=function(a,g){return f.call(g),d(a,g)}}else{var p=r.beforeCreate;r.beforeCreate=p?[].concat(p,f):[f]}return{exports:e,options:r}}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){o.isArray(e)||(e=e&&t?[[e,t]]:[]),e.length&&this.lazyrun(()=>{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,l)=>{if(n[c]==l)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,l,h,r,f,d,p,u,a)=>{if(h=c/f>>0,u=h+r*(+(h<d%r)+(d/r>>0)),a=u*f+c%f,a>=this.count){n||(t.push(["onend"]),n=!0);return}l.index=u,l.i=a,l.data=this.flys[a];let g=[u*this.expand+l.x,l.space];p&&g.reverse(),l.top=g[0],l.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),[l,h]=this.offset,r=n.width,f=n.height,d=(F(this.width,r)||r)+l,p=F(this.height,f)+h,u=[r/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-=l,$=_=>_*(p-h)+(_+1)*h):(c?(d=(r-l*(a+2*w-1))/a,x=!w*l,v=w*l):(x=0,v=(r%d+l*a)/(a+1)>>0,d-=l),$=_=>_*(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:l,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,"95f71719",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,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)}};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,"6065b432",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;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const h=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,i)=>parseFloat(e)/100*i},N=(e,t)=>{let i;if(i=h.runer("match",e,W)){let s=i.length,l,u=0,r,o=[];for(;s--;)u=i.shift(),u in R?(l&&o.push(l),u==="%"&&(o.length=2),r=u):+u&&o.push(+u),o.length==2&&(o.push(t),l=R[r].apply(null,o),o.length=0);+l||(l=+o.pop()),e=l>>0}return e},F={},y=(e,t)=>(e+"").replace(/\w+\((.*)\)/g,"$1").replace(F[t]||(F[t]=new RegExp("(?=\\s+|^)(\\d+)(?:\\.\\d{1,})?(?!(?:\\.)*\\d|%|\\w)","g")),"$1px");function k(e,t,i,s,l,u,r,o){var n=typeof e=="function"?e.options:e;t&&(n.render=t,n.staticRenderFns=i,n._compiled=!0),s&&(n.functional=!0),u&&(n._scopeId="data-v-"+u);var f;if(r?(f=function(c){c=c||this.$vnode&&this.$vnode.ssrContext||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)},n._ssrRegister=f):l&&(f=o?function(){l.call(this,(n.functional?this.parent:this).$root.$options.shadowRoot)}:l),f)if(n.functional){n._injectStyles=f;var d=n.render;n.render=function(a,g){return f.call(g),d(a,g)}}else{var p=n.beforeCreate;n.beforeCreate=p?[].concat(p,f):[f]}return{exports:e,options:n}}let A=e=>e==null||e==null,M=(...e)=>{console.info("::::FLYWEIGHT",...e)};const I={name:"Flyweight",props:{flys:{type:Array,default:()=>[]},width:{type:Number,default:0},height:{type: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: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||""},style(){var e=this.w,t=this.h,i=this.Size,s={};return h.merge(s,{"--width":y(this.realW),"--height":y(this.realH),"--flyweight-content":y(i)},t&&{"--flyweight-h":y(t)},e&&s,{"--flyweight-w":y(e)},"mix"),s}},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){M(e)}this.scrollx=h.runer("hasAttribute",this.flyweight,"scroll-x"),this.BoxRule="clientHeight=>height,clientWidth=>width",this.direction=this.scrollx?"scrollLeft":"scrollTop"},methods:{exec:y,trigger(e,t){h.isArray(e)||(e=e&&t?[[e,t]]:[]),e.length&&this.lazyrun(()=>{h.each(e,(i,s)=>{this.$emit(s[0],A(s[1])?!0:s[1])})})},cheackflys(e){if(!this.flys.length)return e&&this.task.push(e),!0},setview(e){h.runer([this.cheackflys,t=>{t=t||{};let i=t.index||h.each(this.flys,(s,l,u,r)=>{if(l[u]==r)return s},t.picker,t.id);A(i)||this.setindex(i)}],this,e)},setindex(e){h.runer([this.cheackflys,({index:t})=>{this.selectIndex=t,this.$nextTick(()=>{let i=t/this.column>>0,s=this.expand;(this.flyweight[this.direction]/s>>0)+this.row-i-1>0||(this.flyweight[this.direction]=i*s,this.scroll())})}],this,{index:e})},lazyrun(e,t){clearTimeout(this.time),this.time=setTimeout(()=>{h.runer(e)},t||this.lazy)},run(e){let t=[],i=h.runer(this.direction,e.target),s={offset:i,top:i,width:this.realW,height:this.realH,index:i/this.expand>>0};h.merge(s,this.space),e.from||t.push(["onscroll",s]);let l=!1;h.each(this.flyweights,(u,r,o,n,f,d,p,c,a)=>{if(o=u/f>>0,c=o+n*(+(o<d%n)+(d/n>>0)),a=c*f+u%f,a>=this.count){l||(t.push(["onend"]),l=!0);return}r.index=c,r.i=a,r.data=this.flys[a];let g=[c*this.expand+r.x,r.space];p&&g.reverse(),r.top=g[0],r.left=g[1]},null,this.row,this.column,s.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,s=this.flyweight,l=h.picker(s,this.BoxRule);this.$nextTick(()=>{let u=/true/.test(this.auto),[r,o]=this.offset,n=l.width,f=l.height,d=(N(this.width,n)||n)+r,p=N(this.height,f)+o,c=[n/d>>0||1,f/p>>0||1];i&&c.reverse();let[a,g]=c,x=this.padding,v,b=0,_,$;i?(_=d,d-=r,$=m=>m*(p-o)+(m+1)*o):(u?(d=(n-r*(a+2*x-1))/a,v=!x*r,b=x*r):(v=0,b=(n%d+r*a)/(a+1)>>0,d-=r),$=m=>m*(d+v)+(m+1)*b,_=p),this.row=g+2,this.column=a,this.realH=p-o,this.realW=d,this.expand=_,this.Size=Math.ceil(e/a)*_;let S=Math.min(e,a*this.row),w=S-1,T;for(;S-- >0;)T=w-S,this.$set(t,T,{x:r,y:o,width:d,height:p-o,space:$(T%a),data:{}});t.length=w+1;let C=[];f/_>w/a&&C.push(["onend"]),this.flyweight&&(this.flyweight[this.direction]=0),this.$nextTick(()=>{this.setindex(this.selectIndex||0),this.scroll()}),C.push(["update:space",{row:(w/a>>0)+1,column:a,showrow:this.row,showcolumn:this.column}]),this.trigger(C)})}}};var U=function(){var t=this,i=t._self._c;return i("div",{ref:"flyweight",staticClass:"flyweight",class:{"flyweight-active":t.actice},style:t.style,on:{scroll:t.scroll}},[i("div",{staticClass:"flyweight-all"},t._l(t.flyweights,function(s,l){return i("div",{key:l,style:{top:s.top+"px",left:s.left+"px"}},[t._t("default",null,null,s)],2)}),0),t.flyweights.length?t._t("end"):t._e()],2)},X=[],j=k(I,U,X,!1,null,"3416ac53",null,null);const O=j.exports;function z(e,t){return t&&(e=e.replace(/[a-z]/g,"")),e.toLowerCase()}let E={close:{handler(e){this.change(e)},deep:!0},offset:{handler(e){this.margin(e)},deep:!0}},G=["BackGround","BordeR","Height","Width","Top","Right","Bottom","Left"],H={};h.each(G,(e,t,i)=>{e=z(t),H["--"+z(t,!0)]=e,i[e]=function(){this.trigger++}},E);const V={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:E,methods:{exec:y,isEmpty:h.isEmpty,isSimplyType:h.isSimplyType,tr(){let e={};return this.margin(this.offset),h.each(H,(t,i)=>{this.css(e,t,i)}),e},tolower:z,css(e,t,i){let s=this[i]||this.default[i];!s||this.default[i]==s||(e[t]=y(s))},change(e){h.isSimplyType(e)||(this.closecss=h.picker(e,"color=>--s-card-close-color,size=>--s-close-width,bold=>--s-close-height,*"))},margin(e){h.merge(this,h.picker(h.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 q=function(){var t=this,i=t._self._c;return i("div",{key:t.trigger,staticClass:"card",style:t.isEmpty(t.style)?t.tr():t.style},[t._t("default",function(){return[t._t("title",function(){var s;return[i("div",{staticClass:"card-title"},[t._v(" "+t._s(t.show||t.title)+" "),i("div",{staticClass:"card-close",class:{hide:t.isSimplyType(t.close)?!t.close:!1},style:t.closecss,attrs:{title:(s=t.close)==null?void 0:s.tips},on:{click:function(l){return t.$emit("close")}}})])]}),t._t("content",function(){return[i("div",{staticClass:"card-content"},[t._t("inner")],2)]})]})],2)},P=[],Y=k(V,q,P,!1,null,"16139b86",null,null);const L=Y.exports,D={name:"Stream",computed:{column(){let{columns:e,T:t}=this,i=e||t;return h.isEmpty(i)?[]:h.isArray(i)?i:[i]}},props:{bridge:{type:String,default:"slot"},type:{type:String,default:"div"},data:{type:Array,default:()=>[]},columns:{type:Array,default:()=>null},T:{type:Array,default:()=>null}},methods:{trigger(e){let t=e[this.bridge]||e.type;return(this.$scopedSlots||this.$slots)[t]?t:"default"}}};var J=function(){var t=this,i=t._self._c;return i(t.type,t._b({tag:"component",attrs:{data:t.data}},"component",t.$attrs,!1),[t._l(t.column,function(s){return[t._t(t.trigger(s),null,null,s)]})],2)},K=[],Q=k(D,J,K,!1,null,null,null,null);const B=Q.exports,Z=[O,L,B],tt={install(e){Z.forEach(t=>{e.component("S"+t.name,t),e.component(t.name+"S",t)})}};exports.Card=L;exports.Flyweight=O;exports.Stream=B;exports.default=tt;
package/vue2/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { runer as g, isArray as E, each as m, merge as A, picker as z, isEmpty as I, isSimplyType as N, isString as U } from "@soei/util";
1
+ import { runer as y, merge as R, isArray as W, each as w, picker as k, isEmpty as E, isSimplyType as A, isString as U } from "@soei/util";
2
2
  let X = /(\d+|[+\-\*/]|%)/g, H = {
3
3
  "+": (e, t) => e + t,
4
4
  "-": (e, t) => e - t,
@@ -7,47 +7,53 @@ let X = /(\d+|[+\-\*/]|%)/g, H = {
7
7
  "%": (e, t, s) => parseFloat(e) / 100 * s
8
8
  }, L = (e, t) => {
9
9
  let s;
10
- if (s = g("match", e, X)) {
11
- let i = s.length, n, a = 0, l, h = [];
10
+ if (s = y("match", e, X)) {
11
+ let i = s.length, l, a = 0, r, h = [];
12
12
  for (; i--; )
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;
13
+ a = s.shift(), a in H ? (l && h.push(l), a === "%" && (h.length = 2), r = a) : +a && h.push(+a), h.length == 2 && (h.push(t), l = H[r].apply(null, h), h.length = 0);
14
+ +l || (l = +h.pop()), e = l >> 0;
15
15
  }
16
16
  return e;
17
- }, R = (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
- var f;
22
- if (l ? (f = function(c) {
17
+ }, O = {}, g = (e, t) => (e + "").replace(
18
+ /\w+\((.*)\)/g,
19
+ "$1"
20
+ ).replace(
21
+ O[t] || (O[t] = new RegExp("(?=\\s+|^)(\\d+)(?:\\.\\d{1,})?(?!(?:\\.)*\\d|%|\\w)", "g")),
22
+ "$1px"
23
+ );
24
+ function F(e, t, s, i, l, a, r, h) {
25
+ var n = typeof e == "function" ? e.options : e;
26
+ t && (n.render = t, n.staticRenderFns = s, n._compiled = !0), i && (n.functional = !0), a && (n._scopeId = "data-v-" + a);
27
+ var u;
28
+ if (r ? (u = function(c) {
23
29
  c = c || // cached call
24
30
  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__), n && n.call(this, c), c && c._registeredComponents && c._registeredComponents.add(l);
26
- }, r._ssrRegister = f) : n && (f = h ? function() {
27
- n.call(
31
+ 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);
32
+ }, n._ssrRegister = u) : l && (u = h ? function() {
33
+ l.call(
28
34
  this,
29
- (r.functional ? this.parent : this).$root.$options.shadowRoot
35
+ (n.functional ? this.parent : this).$root.$options.shadowRoot
30
36
  );
31
- } : n), f)
32
- if (r.functional) {
33
- r._injectStyles = f;
34
- var u = r.render;
35
- r.render = function(o, p) {
36
- return f.call(p), u(o, p);
37
+ } : l), u)
38
+ if (n.functional) {
39
+ n._injectStyles = u;
40
+ var f = n.render;
41
+ n.render = function(o, p) {
42
+ return u.call(p), f(o, p);
37
43
  };
38
44
  } else {
39
- var d = r.beforeCreate;
40
- r.beforeCreate = d ? [].concat(d, f) : [f];
45
+ var d = n.beforeCreate;
46
+ n.beforeCreate = d ? [].concat(d, u) : [u];
41
47
  }
42
48
  return {
43
49
  exports: e,
44
- options: r
50
+ options: n
45
51
  };
46
52
  }
47
- let O = (e) => e == null || e == null, G = (...e) => {
53
+ let B = (e) => e == null || e == null, G = (...e) => {
48
54
  console.info("::::FLYWEIGHT", ...e);
49
55
  };
50
- const M = {
56
+ const V = {
51
57
  name: "Flyweight",
52
58
  props: {
53
59
  flys: {
@@ -62,6 +68,12 @@ const M = {
62
68
  type: Number,
63
69
  default: 100
64
70
  },
71
+ w: {
72
+ type: [Number, String]
73
+ },
74
+ h: {
75
+ type: [Number, String]
76
+ },
65
77
  offset: {
66
78
  type: Array,
67
79
  default: () => [0, 0]
@@ -102,6 +114,18 @@ const M = {
102
114
  computed: {
103
115
  flyweight() {
104
116
  return this.$refs.flyweight || "";
117
+ },
118
+ style() {
119
+ var e = this.w, t = this.h, s = this.Size, i = {};
120
+ return R(i, {
121
+ "--width": g(this.realW),
122
+ "--height": g(this.realH),
123
+ "--flyweight-content": g(s)
124
+ }, t && {
125
+ "--flyweight-h": g(t)
126
+ }, e && i, {
127
+ "--flyweight-w": g(e)
128
+ }, "mix"), i;
105
129
  }
106
130
  },
107
131
  data() {
@@ -154,15 +178,15 @@ const M = {
154
178
  } catch (e) {
155
179
  G(e);
156
180
  }
157
- this.scrollx = g("hasAttribute", this.flyweight, "scroll-x"), this.BoxRule = /* this.scrollx ? 'clientHeight=>width,clientWidth=>height' : */
181
+ this.scrollx = y("hasAttribute", this.flyweight, "scroll-x"), this.BoxRule = /* this.scrollx ? 'clientHeight=>width,clientWidth=>height' : */
158
182
  "clientHeight=>height,clientWidth=>width", this.direction = this.scrollx ? "scrollLeft" : "scrollTop";
159
183
  },
160
184
  methods: {
161
- exec: R,
185
+ exec: g,
162
186
  trigger(e, t) {
163
- E(e) || (e = e && t ? [[e, t]] : []), e.length && this.lazyrun(() => {
164
- m(e, (s, i) => {
165
- this.$emit(i[0], O(i[1]) ? !0 : i[1]);
187
+ W(e) || (e = e && t ? [[e, t]] : []), e.length && this.lazyrun(() => {
188
+ w(e, (s, i) => {
189
+ this.$emit(i[0], B(i[1]) ? !0 : i[1]);
166
190
  });
167
191
  });
168
192
  },
@@ -171,17 +195,17 @@ const M = {
171
195
  return e && this.task.push(e), !0;
172
196
  },
173
197
  setview(e) {
174
- g([this.cheackflys, (t) => {
198
+ y([this.cheackflys, (t) => {
175
199
  t = t || {};
176
- let s = t.index || m(this.flys, (i, n, a, l) => {
177
- if (n[a] == l)
200
+ let s = t.index || w(this.flys, (i, l, a, r) => {
201
+ if (l[a] == r)
178
202
  return i;
179
203
  }, t.picker, t.id);
180
- O(s) || this.setindex(s);
204
+ B(s) || this.setindex(s);
181
205
  }], this, e);
182
206
  },
183
207
  setindex(e) {
184
- g([this.cheackflys, ({ index: t }) => {
208
+ y([this.cheackflys, ({ index: t }) => {
185
209
  this.selectIndex = t, this.$nextTick(() => {
186
210
  let s = t / this.column >> 0, i = this.expand;
187
211
  (this.flyweight[this.direction] / i >> 0) + this.row - s - 1 > 0 || (this.flyweight[this.direction] = s * i, this.scroll());
@@ -190,11 +214,11 @@ const M = {
190
214
  },
191
215
  lazyrun(e, t) {
192
216
  clearTimeout(this.time), this.time = setTimeout(() => {
193
- g(e);
217
+ y(e);
194
218
  }, t || this.lazy);
195
219
  },
196
220
  run(e) {
197
- let t = [], s = g(this.direction, e.target), i = {
221
+ let t = [], s = y(this.direction, e.target), i = {
198
222
  // ...this
199
223
  offset: s,
200
224
  top: s,
@@ -203,24 +227,24 @@ const M = {
203
227
  /* 显示区域第一行的索引 */
204
228
  index: s / this.expand >> 0
205
229
  };
206
- A(i, this.space), e.from || t.push(["onscroll", i]);
207
- let n = !1;
208
- m(
230
+ R(i, this.space), e.from || t.push(["onscroll", i]);
231
+ let l = !1;
232
+ w(
209
233
  this.flyweights,
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);
234
+ (a, r, h, n, u, f, d, c, o) => {
235
+ if (h = a / u >> 0, c = h + n * /* 偏移量, 如果超出顶部 + 1轮,排列到列队后, 否则保持在当前*/
236
+ (+(h < f % n) + (f / n >> 0)), o = c * u + a % u, o >= this.count) {
237
+ l || (t.push(["onend"]), l = !0);
214
238
  return;
215
239
  }
216
- l.index = c, l.i = o, l.data = this.flys[o];
240
+ r.index = c, r.i = o, r.data = this.flys[o];
217
241
  let p = [
218
242
  /* top */
219
- c * this.expand + l.x,
243
+ c * this.expand + r.x,
220
244
  /* left */
221
- l.space
245
+ r.space
222
246
  ];
223
- d && p.reverse(), l.top = p[0], l.left = p[1];
247
+ d && p.reverse(), r.top = p[0], r.left = p[1];
224
248
  },
225
249
  null,
226
250
  this.row,
@@ -238,68 +262,64 @@ const M = {
238
262
  if (!e)
239
263
  return t.length = e;
240
264
  this.count = e;
241
- let s = this.scrollx, i = this.flyweight, n = z(i, this.BoxRule);
265
+ let s = this.scrollx, i = this.flyweight, l = k(i, this.BoxRule);
242
266
  this.$nextTick(() => {
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];
267
+ let a = /true/.test(this.auto), [r, h] = this.offset, n = l.width, u = l.height, f = (L(this.width, n) || n) + r, d = L(this.height, u) + h, c = [n / f >> 0 || 1, u / d >> 0 || 1];
244
268
  s && c.reverse();
245
- let [o, p] = c, x = this.padding, v, $ = 0, _, b;
246
- s ? (_ = u, u -= l, b = (y) => (
269
+ let [o, p] = c, v = this.padding, b, $ = 0, _, S;
270
+ s ? (_ = f, f -= r, S = (m) => (
247
271
  /* 计算top偏移量 */
248
- y * (d - h) + (y + 1) * h
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 = (y) => y * (u + v) + (y + 1) * $, _ = d), this.row = p + 2, this.column = o, this.realH = d - h, this.realW = u, this.expand = _, this.Size = Math.ceil(e / o) * _;
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,
272
+ m * (d - h) + (m + 1) * h
273
+ )) : (a ? (f = (n - r * (o + 2 * v - 1)) / o, b = !v * r, $ = v * r) : (b = 0, $ = (n % f + r * o) / (o + 1) >> 0, f -= r), S = (m) => m * (f + b) + (m + 1) * $, _ = d), this.row = p + 2, this.column = o, this.realH = d - h, this.realW = f, this.expand = _, this.Size = Math.ceil(e / o) * _;
274
+ let T = Math.min(e, o * this.row), x = T - 1, C;
275
+ for (; T-- > 0; )
276
+ C = x - T, this.$set(t, C, {
277
+ x: r,
254
278
  y: h,
255
- width: u,
279
+ width: f,
256
280
  height: d - h,
257
- space: b(T % o),
281
+ space: S(C % o),
258
282
  data: {}
259
283
  });
260
- t.length = w + 1;
261
- let C = [];
262
- f / _ > w / o && C.push(["onend"]), this.flyweight && (this.flyweight[this.direction] = 0), this.$nextTick(() => {
284
+ t.length = x + 1;
285
+ let z = [];
286
+ u / _ > x / o && z.push(["onend"]), this.flyweight && (this.flyweight[this.direction] = 0), this.$nextTick(() => {
263
287
  this.setindex(this.selectIndex || 0), this.scroll();
264
- }), C.push(["update:space", {
265
- row: (w / o >> 0) + 1,
288
+ }), z.push(["update:space", {
289
+ row: (x / o >> 0) + 1,
266
290
  column: o,
267
291
  showrow: this.row,
268
292
  showcolumn: this.column
269
- }]), this.trigger(C);
293
+ }]), this.trigger(z);
270
294
  });
271
295
  }
272
296
  }
273
297
  };
274
- var V = function() {
298
+ var j = function() {
275
299
  var t = this, s = t._self._c;
276
300
  return s("div", { ref: "flyweight", staticClass: "flyweight", class: {
277
301
  "flyweight-active": t.actice
278
- }, 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: {
302
+ }, style: t.style, on: { scroll: t.scroll } }, [s("div", { staticClass: "flyweight-all" }, t._l(t.flyweights, function(i, l) {
303
+ return s("div", { key: l, style: {
284
304
  top: i.top + "px",
285
305
  left: i.left + "px"
286
306
  } }, [t._t("default", null, null, i)], 2);
287
307
  }), 0), t.flyweights.length ? t._t("end") : t._e()], 2);
288
- }, j = [], Y = /* @__PURE__ */ F(
289
- M,
308
+ }, Y = [], q = /* @__PURE__ */ F(
290
309
  V,
291
310
  j,
311
+ Y,
292
312
  !1,
293
313
  null,
294
- "95f71719",
314
+ "3416ac53",
295
315
  null,
296
316
  null
297
317
  );
298
- const q = Y.exports;
299
- function k(e, t) {
318
+ const D = q.exports;
319
+ function N(e, t) {
300
320
  return t && (e = e.replace(/[a-z]/g, "")), e.toLowerCase();
301
321
  }
302
- let B = {
322
+ let I = {
303
323
  close: {
304
324
  handler(e) {
305
325
  this.change(e);
@@ -312,13 +332,26 @@ let B = {
312
332
  },
313
333
  deep: !0
314
334
  }
315
- }, D = ["BackGround", "BordeR", "Height", "Width", "Top", "Right", "Bottom", "Left"], W = {};
316
- m(D, (e, t, s) => {
317
- e = k(t), W["--" + k(t, !0)] = e, s[e] = function() {
318
- this.trigger++;
319
- };
320
- }, B);
321
- const J = {
335
+ }, J = [
336
+ "BackGround",
337
+ "BordeR",
338
+ "Height",
339
+ "Width",
340
+ "Top",
341
+ "Right",
342
+ "Bottom",
343
+ "Left"
344
+ ], M = {};
345
+ w(
346
+ J,
347
+ (e, t, s) => {
348
+ e = N(t), M["--" + N(t, !0)] = e, s[e] = function() {
349
+ this.trigger++;
350
+ };
351
+ },
352
+ I
353
+ );
354
+ const K = {
322
355
  name: "Card",
323
356
  // inheritAttrs: false,
324
357
  props: {
@@ -377,61 +410,80 @@ const J = {
377
410
  return this.tr();
378
411
  }
379
412
  },
380
- watch: B,
413
+ watch: I,
381
414
  methods: {
382
- exec: R,
383
- isEmpty: I,
384
- isSimplyType: N,
415
+ exec: g,
416
+ isEmpty: E,
417
+ isSimplyType: A,
385
418
  tr() {
386
419
  let e = {};
387
- return this.margin(this.offset), m(W, (t, s) => {
420
+ return this.margin(this.offset), w(M, (t, s) => {
388
421
  this.css(e, t, s);
389
422
  }), e;
390
423
  },
391
- tolower: k,
424
+ tolower: N,
392
425
  css(e, t, s) {
393
426
  let i = this[s] || this.default[s];
394
- !i || this.default[s] == i || (e[t] = R(i));
427
+ !i || this.default[s] == i || (e[t] = g(i));
395
428
  },
396
429
  change(e) {
397
- N(e) || (this.closecss = z(e, "color=>--s-card-close-color,size=>--s-close-width,bold=>--s-close-height,*"));
430
+ A(e) || (this.closecss = k(
431
+ e,
432
+ "color=>--s-card-close-color,size=>--s-close-width,bold=>--s-close-height,*"
433
+ ));
398
434
  },
399
435
  margin(e) {
400
- A(this, z(
401
- U(e) ? e.split(/\s*(?:,|\s+)\s*/) : e,
402
- "0=>top,1|0=>right,2|0=>bottom,3|1|0=>left",
436
+ R(
437
+ this,
438
+ k(
439
+ U(e) ? e.split(/\s*(?:,|\s+)\s*/) : e,
440
+ "0=>top,1|0=>right,2|0=>bottom,3|1|0=>left",
441
+ !0
442
+ ),
403
443
  !0
404
- ), !0);
444
+ );
405
445
  }
406
446
  },
407
447
  mounted() {
408
448
  this.change(this.close);
409
449
  }
410
450
  };
411
- var K = function() {
451
+ var P = function() {
412
452
  var t = this, s = t._self._c;
413
453
  return s("div", { key: t.trigger, staticClass: "card", style: t.isEmpty(t.style) ? t.tr() : t.style }, [t._t("default", function() {
414
454
  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) {
455
+ var i;
456
+ 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, attrs: { title: (i = t.close) == null ? void 0 : i.tips }, on: { click: function(l) {
416
457
  return t.$emit("close");
417
458
  } } })])];
418
459
  }), t._t("content", function() {
419
460
  return [s("div", { staticClass: "card-content" }, [t._t("inner")], 2)];
420
461
  })];
421
462
  })], 2);
422
- }, P = [], Q = /* @__PURE__ */ F(
423
- J,
463
+ }, Q = [], Z = /* @__PURE__ */ F(
424
464
  K,
425
465
  P,
466
+ Q,
426
467
  !1,
427
468
  null,
428
- "6065b432",
469
+ "16139b86",
429
470
  null,
430
471
  null
431
472
  );
432
- const Z = Q.exports, tt = {
473
+ const tt = Z.exports, et = {
433
474
  name: "Stream",
475
+ computed: {
476
+ column() {
477
+ let { columns: e, T: t } = this, s = e || t;
478
+ return E(s) ? [] : W(s) ? s : [s];
479
+ }
480
+ },
434
481
  props: {
482
+ /* 桥接 指定数据字段为插槽名称 */
483
+ bridge: {
484
+ type: String,
485
+ default: "slot"
486
+ },
435
487
  type: {
436
488
  type: String,
437
489
  default: "div"
@@ -440,43 +492,47 @@ const Z = Q.exports, tt = {
440
492
  type: Array,
441
493
  default: () => []
442
494
  },
495
+ columns: {
496
+ type: Array,
497
+ default: () => null
498
+ },
443
499
  T: {
444
500
  type: Array,
445
- default: () => []
501
+ default: () => null
446
502
  }
447
503
  },
448
504
  methods: {
449
505
  trigger(e) {
450
- let t = e.slot || e.type;
506
+ let t = e[this.bridge] || e.type;
451
507
  return (this.$scopedSlots || this.$slots)[t] ? t : "default";
452
508
  }
453
509
  }
454
510
  };
455
- var et = function() {
511
+ var st = function() {
456
512
  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) {
513
+ return s(t.type, t._b({ tag: "component", attrs: { data: t.data } }, "component", t.$attrs, !1), [t._l(t.column, function(i) {
458
514
  return [t._t(t.trigger(i), null, null, i)];
459
515
  })], 2);
460
- }, st = [], it = /* @__PURE__ */ F(
461
- tt,
516
+ }, it = [], lt = /* @__PURE__ */ F(
462
517
  et,
463
518
  st,
519
+ it,
464
520
  !1,
465
521
  null,
466
522
  null,
467
523
  null,
468
524
  null
469
525
  );
470
- const lt = it.exports, rt = [q, Z, lt], ht = {
526
+ const rt = lt.exports, nt = [D, tt, rt], ot = {
471
527
  install(e) {
472
- rt.forEach((t) => {
528
+ nt.forEach((t) => {
473
529
  e.component("S" + t.name, t), e.component(t.name + "S", t);
474
530
  });
475
531
  }
476
532
  };
477
533
  export {
478
- Z as Card,
479
- q as Flyweight,
480
- lt as Stream,
481
- ht as default
534
+ tt as Card,
535
+ D as Flyweight,
536
+ rt as Stream,
537
+ ot as default
482
538
  };
package/vue2/style.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.flyweight[data-v-95f71719]{height:100%;width:100%;overflow:auto;position:relative}.flyweight[hover-scroll][data-v-95f71719]::-webkit-scrollbar-track,.flyweight[auto-scroll][data-v-95f71719]::-webkit-scrollbar-track{border-radius:10px}.flyweight[hover-scroll][data-v-95f71719]::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-95f71719]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.flyweight[hover-scroll][data-v-95f71719]::-webkit-scrollbar,.flyweight[auto-scroll][data-v-95f71719]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.flyweight[hover-scroll][data-v-95f71719]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-95f71719]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.flyweight[hover-scroll][data-v-95f71719]:hover::-webkit-scrollbar-thumb:hover,.flyweight[auto-scroll][data-v-95f71719]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.flyweight[hover-scroll][data-v-95f71719]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-95f71719]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.flyweight[scroll-x] .flyweight-all[data-v-95f71719]{width:var(--flyweight-content);height:auto;min-height:100%}.flyweight[scroll-x] .flyweight-all+*[data-v-95f71719]{left:var(--flyweight-content);position:absolute;top:0;height:100%}.flyweight .flyweight-all[data-v-95f71719]{height:var(--flyweight-content)}.flyweight .flyweight-all>*[data-v-95f71719]{width:calc(var(--width));height:var(--height);position:absolute}@media screen and (-apple-system: Macintosh){.flyweight .flyweight-all[data-v-95f71719]{background-color:red!important}}.card[data-v-6065b432]{--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-6065b432]::-webkit-scrollbar-track,.card[auto-scroll][data-v-6065b432]::-webkit-scrollbar-track{border-radius:10px}.card[hover-scroll][data-v-6065b432]::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-6065b432]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.card[hover-scroll][data-v-6065b432]::-webkit-scrollbar,.card[auto-scroll][data-v-6065b432]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.card[hover-scroll][data-v-6065b432]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-6065b432]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.card[hover-scroll][data-v-6065b432]:hover::-webkit-scrollbar-thumb:hover,.card[auto-scroll][data-v-6065b432]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.card[hover-scroll][data-v-6065b432]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-6065b432]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.card[simply][data-v-6065b432],.card [simply][data-v-6065b432]{background-color:inherit;border:0!important}.card[flex][data-v-6065b432],.card [flex][data-v-6065b432]{display:flex}.card[column][data-v-6065b432],.card [column][data-v-6065b432]{flex-direction:column}.card[row][data-v-6065b432],.card [row][data-v-6065b432]{flex-direction:row}.card[center][data-v-6065b432],.card [center][data-v-6065b432]{justify-content:center}.card[vcenter][data-v-6065b432],.card [vcenter][data-v-6065b432]{align-items:center}.card .card-title[data-v-6065b432]{max-height:40px}.card .card-close[data-v-6065b432]{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-6065b432]{display:none}.card .card-close[data-v-6065b432]:before,.card .card-close[data-v-6065b432]: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-6065b432]:before{transform:rotate(var(--s-transform, 45deg))}.card .card-close[data-v-6065b432]:after{transform:rotate(calc(0deg - var(--s-transform, 45deg)))}.card .card-close[data-v-6065b432]:hover:before{transform:rotate(var(--s-hover-transform, 45deg))}.card .card-close[data-v-6065b432]:hover:after{transform:rotate(calc(0deg - var(--s-hover-transform, 45deg)))}.card .card-content[data-v-6065b432]{overflow:auto;height:100%}
1
+ @charset "UTF-8";.flyweight[data-v-3416ac53]{height:var(--flyweight-h, 100%);width:var(--flyweight-w, 100%);overflow:auto;position:relative}.flyweight[hover-scroll][data-v-3416ac53]::-webkit-scrollbar-track,.flyweight[auto-scroll][data-v-3416ac53]::-webkit-scrollbar-track{border-radius:10px}.flyweight[hover-scroll][data-v-3416ac53]::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-3416ac53]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.flyweight[hover-scroll][data-v-3416ac53]::-webkit-scrollbar,.flyweight[auto-scroll][data-v-3416ac53]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.flyweight[hover-scroll][data-v-3416ac53]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-3416ac53]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.flyweight[hover-scroll][data-v-3416ac53]:hover::-webkit-scrollbar-thumb:hover,.flyweight[auto-scroll][data-v-3416ac53]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.flyweight[hover-scroll][data-v-3416ac53]:hover::-webkit-scrollbar-thumb,.flyweight[auto-scroll][data-v-3416ac53]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.flyweight[scroll-x] .flyweight-all[data-v-3416ac53]{width:var(--flyweight-content);height:auto;min-height:100%}.flyweight[scroll-x] .flyweight-all+*[data-v-3416ac53]{left:var(--flyweight-content);position:absolute;top:0;height:100%}.flyweight .flyweight-all[data-v-3416ac53]{height:var(--flyweight-content)}.flyweight .flyweight-all>*[data-v-3416ac53]{width:calc(var(--width));height:var(--height);position:absolute}@media screen and (-apple-system: Macintosh){.flyweight .flyweight-all[data-v-3416ac53]{background-color:red!important}}.card[data-v-16139b86]{--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-16139b86]::-webkit-scrollbar-track,.card[auto-scroll][data-v-16139b86]::-webkit-scrollbar-track{border-radius:10px}.card[hover-scroll][data-v-16139b86]::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-16139b86]::-webkit-scrollbar-thumb{border-radius:10px;background-color:transparent}.card[hover-scroll][data-v-16139b86]::-webkit-scrollbar,.card[auto-scroll][data-v-16139b86]::-webkit-scrollbar{border-radius:10px;width:var(--scrollbar-width, 8px);height:var(--scrollbar-width, 8px)}.card[hover-scroll][data-v-16139b86]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-16139b86]::-webkit-scrollbar-thumb{border-style:dashed;border-color:transparent;border-width:2px;background-clip:padding-box;cursor:pointer}.card[hover-scroll][data-v-16139b86]:hover::-webkit-scrollbar-thumb:hover,.card[auto-scroll][data-v-16139b86]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-color, #101010)}.card[hover-scroll][data-v-16139b86]:hover::-webkit-scrollbar-thumb,.card[auto-scroll][data-v-16139b86]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-color, #101010)}.card[simply][data-v-16139b86],.card [simply][data-v-16139b86]{background-color:inherit;border:0!important}.card[flex][data-v-16139b86],.card [flex][data-v-16139b86]{display:flex}.card[column][data-v-16139b86],.card [column][data-v-16139b86]{flex-direction:column}.card[row][data-v-16139b86],.card [row][data-v-16139b86]{flex-direction:row}.card[center][data-v-16139b86],.card [center][data-v-16139b86]{justify-content:center}.card[vcenter][data-v-16139b86],.card [vcenter][data-v-16139b86]{align-items:center}.card .card-title[data-v-16139b86]{max-height:40px}.card .card-close[data-v-16139b86]{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-16139b86]{display:none}.card .card-close[data-v-16139b86]:before,.card .card-close[data-v-16139b86]: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-16139b86]:before{transform:rotate(var(--s-transform, 45deg))}.card .card-close[data-v-16139b86]:after{transform:rotate(calc(0deg - var(--s-transform, 45deg)))}.card .card-close[data-v-16139b86]:hover:before{transform:rotate(var(--s-hover-transform, 45deg))}.card .card-close[data-v-16139b86]:hover:after{transform:rotate(calc(0deg - var(--s-hover-transform, 45deg)))}.card .card-content[data-v-16139b86]{overflow:auto;height:100%}.card .card-content[data-v-16139b86]:before{background:linear-gradient(90deg,transparent,var(--card-line-color, transparent),var(--card-line-color, transparent),transparent);content:"";display:block;position:sticky;top:0;width:100%;height:1px;z-index:10;transition:opacity .5s ease-in-out}