@leafer-in/flow 1.6.7 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/flow.cjs +1 -2
- package/dist/flow.esm.js +1 -2
- package/dist/flow.esm.min.js +1 -1
- package/dist/flow.esm.min.js.map +1 -1
- package/dist/flow.js +1 -2
- package/dist/flow.min.cjs +1 -1
- package/dist/flow.min.cjs.map +1 -1
- package/dist/flow.min.js +1 -1
- package/dist/flow.min.js.map +1 -1
- package/package.json +5 -5
- package/src/index.ts +1 -3
package/dist/flow.cjs
CHANGED
|
@@ -530,9 +530,8 @@ box.__updateContentBounds = function () {
|
|
|
530
530
|
}
|
|
531
531
|
};
|
|
532
532
|
box.__updateBoxBounds = function (secondLayout) {
|
|
533
|
-
const data = this.__;
|
|
534
533
|
if (this.children.length && !this.pathInputed) {
|
|
535
|
-
const { flow } = data;
|
|
534
|
+
const data = this.__, { flow } = data;
|
|
536
535
|
if (data.__autoSide) {
|
|
537
536
|
if (data.__hasSurface)
|
|
538
537
|
this.__extraUpdate();
|
package/dist/flow.esm.js
CHANGED
|
@@ -528,9 +528,8 @@ box.__updateContentBounds = function () {
|
|
|
528
528
|
}
|
|
529
529
|
};
|
|
530
530
|
box.__updateBoxBounds = function (secondLayout) {
|
|
531
|
-
const data = this.__;
|
|
532
531
|
if (this.children.length && !this.pathInputed) {
|
|
533
|
-
const { flow } = data;
|
|
532
|
+
const data = this.__, { flow } = data;
|
|
534
533
|
if (data.__autoSide) {
|
|
535
534
|
if (data.__hasSurface)
|
|
536
535
|
this.__extraUpdate();
|
package/dist/flow.esm.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{BoxData as t,dataProcessor as o,autoLayoutType as e,registerUI as i,Box as n,AlignHelper as h,PointHelper as r,MathHelper as s,decorateLeafAttr as a,attr as l,doBoundsType as _,Plugin as c,Group as d,UI as u,boundsType as g,BoundsHelper as f}from"@leafer-ui/draw";import"@leafer-in/resize";function w(t,o,e,i){var n,h=arguments.length,r=h<3?o:null===i?i=Object.getOwnPropertyDescriptor(o,e):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,o,e,i);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(r=(h<3?n(r):h>3?n(o,e,r):n(o,e))||r);return h>3&&r&&Object.defineProperty(o,e,r),r}"function"==typeof SuppressedError&&SuppressedError;let p=class extends n{get __tag(){return"Flow"}constructor(t){super(t),this.__hasAutoLayout=!0}};w([o(class extends t{})],p.prototype,"__",void 0),w([e("x")],p.prototype,"flow",void 0),p=w([i()],p);const x={},y={"top-left":"from",top:"center","top-right":"to",right:"to","bottom-right":"to",bottom:"center","bottom-left":"from",left:"from",center:"center","baseline-left":"from","baseline-center":"center","baseline-right":"to"},G={"top-left":"from",top:"from","top-right":"from",right:"center","bottom-right":"to",bottom:"to","bottom-left":"to",left:"center",center:"center","baseline-left":"to","baseline-center":"to","baseline-right":"to"};function m(t,o,e){const i=t.__,{contentBounds:n}=t.__layout;h.toPoint(e,o,n,x),o.x=i.__autoWidth?n.x:x.x,o.y=i.__autoHeight?n.y:x.y}const{move:A}=r;function B(t,o,e,i,n,h){const{children:r}=t;let s,a,{x:l,start:_}=o,c=i;l+=e;for(let t=0,e=o.count;t<e;t++)s=r[h?_-t:_+t],s.__.inFlow&&0!==s.__.visible?(a=s.__flowBounds,"from"!==n&&(c=i+(o.height-a.height)/("center"===n?2:1)),A(s,l-a.x,c-a.y),l+=a.width+o.gap):e++}function b(t,o,e){const i="width"===e?"height":"width";t[e]=Math.max(t[e],o[e]),t[i]+=t.count?o[i]+t.gap:o[i],t.list.push(o),t.count++}const v={};function R(t,o){const{gap:e,flowAlign:i,flowWrap:n,__autoWidth:h,__autoHeight:r}=t.__,s=n&&(o?!h:!r);return"object"==typeof e?(v.xGap=e.x||0,v.yGap=e.y||0):v.xGap=v.yGap=e,v.isAutoXGap="string"==typeof v.xGap&&!h,v.isAutoYGap="string"==typeof v.yGap&&!r,v.complex=s||"top-left"!==i||t.__hasGrow||v.isAutoXGap||v.isAutoYGap,v.wrap=s,v.complex&&(v.isFitXGap="fit"===v.xGap&&!h,v.isFitYGap="fit"===v.yGap&&!r,"object"==typeof i?(v.contentAlign=i.content||"top-left",v.rowXAlign=i.x||"from",v.rowYAlign=i.y||"from"):(v.contentAlign=i,v.rowXAlign=y[i],v.rowYAlign=G[i])),v}function F(t,o){return{x:0,y:0,width:0,height:0,gap:o,start:t,count:0,grow:0}}function S(t,o,e,i){const{count:n}=t;n>1&&(e>t[o]||i)&&(t.gap=(e-t[o])/(n-1),t[o]=e)}function z(t,o){return"box"===o?t.__local:t.__layout.localStrokeBounds}const{within:X}=s;function Y(t,o,e,i){let n,h,r,s=0,a=o.hasRangeSize&&[],{grow:l,start:_}=o;const c=(e-o.width)/l,{children:d}=t;if(!(c<=0)){o.width=e;for(let t=0,e=o.count;t<e;t++)n=d[i?_-t:_+t],n.__.inFlow&&0!==n.__.visible?(h=n.__widthGrow)&&(r=W(n,n.__flowBounds,c*h),r?(s+=r,l-=h):a&&(n.__.widthRange?a.unshift(n):a.push(n))):e++;s&&function(t,o,e){let i,n,h,r;t.forEach((t=>{i=t.__widthGrow,n=o/e*i,r=W(t,h=t.__flowBounds,h.width+n),o-=n-r,e-=i}))}(a,s,l)}}function W(t,o,e){const{widthRange:i,lockRatio:n}=t.__,h=i?X(e,i):e,r=h/o.width;return t.scaleResize(r,n?r:1),o.width=h,e-h}const{within:k}=s;function C(t,o,e,i){let n,h,r,s=0,a=o.hasRangeSize&&[],{grow:l,start:_}=o;const c=(e-o.height)/l,{children:d}=t;if(!(c<=0)){o.height=e;for(let t=0,e=o.count;t<e;t++)n=d[i?_-t:_+t],n.__.inFlow&&0!==n.__.visible?(h=n.__heightGrow)&&(r=j(n,n.__flowBounds,c*h),r?(s+=r,l-=h):a&&(n.__.heightRange?a.unshift(n):a.push(n))):e++;s&&function(t,o,e){let i,n,h,r;t.forEach((t=>{i=t.__heightGrow,n=o/e*i,r=j(t,h=t.__flowBounds,h.height+n),o-=n-r,e-=i}))}(a,s,l)}}function j(t,o,e){const{heightRange:i,lockRatio:n}=t.__,h=i?k(e,i):e,r=h/o.height;return t.scaleResize(n?r:1,r),o.height=h,e-h}const{move:E}=r;function P(t,o){const e="width",{children:i,itemBox:n}=t,h=R(t,!0),{complex:r,wrap:s,xGap:a,yGap:l,isAutoXGap:_,isFitXGap:c}=h;if(!i.length)return;const d=s&&{x:0,y:0,width:0,height:0,gap:0,count:0,list:[]},u=_?0:a;let g,f,w,p,x,{x:G,y:A,width:v,height:X}=t.__layout.contentBounds;for(let h=0,a=i.length;h<a;h++)g=i[p=o?a-1-h:h],g.__.inFlow&&0!==g.__.visible&&(f=z(g,n),r?(g.__flowBounds=f,x||(x=F(p,u)),s&&x.count&&x.width+f.width>v&&(x.grow?Y(t,x,v,o):_&&S(x,e,v,c),b(d,x,e),x=F(p,u)),w=f.width,g.__widthGrow&&(x.grow+=g.__widthGrow,w=0,g.__.widthRange&&(x.hasRangeSize=!0)),g.__heightGrow&&j(g,f,X),x.width+=x.count?w+u:w,x.height=Math.max(x.height,f.height),x.count++):(E(g,G-f.x,A-f.y),G+=f.width+u));if(r&&x){const{isAutoYGap:i,isFitYGap:n,contentAlign:r,rowXAlign:a,rowYAlign:u}=h;x.count&&(x.grow?Y(t,x,v,o):_&&S(x,e,v,c),s&&b(d,x,e)),s?(i?S(d,"height",X,n):d.height+=(d.gap=l)*(d.list.length-1),function(t,o,e,i){m(t,o,e);const{list:n}=o;if(n.length>1&&(i||(i=y[e]),"from"!==i)){let t;for(let e=0,h=n.length;e<h;e++)t=n[e],t.x=o.width-t.width,"center"===i&&(t.x/=2)}}(t,d,r,a),function(t,o,e,i){const{list:n}=o,h="reverse"===t.__.flowWrap;let r,{x:s,y:a}=o;for(let l=0,_=n.length;l<_;l++)r=n[h?_-1-l:l],B(t,r,s,a,e,i),a+=r.height+o.gap}(t,d,u,o)):(m(t,x,r),B(t,x,0,x.y,u,o))}}const{move:H}=r;function M(t,o,e,i,n,h){const{children:r}=t;let s,a,{y:l,start:_}=o,c=e;l+=i;for(let t=0,i=o.count;t<i;t++)s=r[h?_-t:_+t],s.__.inFlow&&0!==s.__.visible?(a=s.__flowBounds,"from"!==n&&(c=e+(o.width-a.width)/("center"===n?2:1)),H(s,c-a.x,l-a.y),l+=a.height+o.gap):i++}const{move:O}=r;function I(t,o){const e="height",{children:i,itemBox:n}=t,h=R(t,!1),{complex:r,wrap:s,xGap:a,yGap:l,isAutoYGap:_,isFitYGap:c}=h;if(!i.length)return;const d=s&&{x:0,y:0,width:0,height:0,gap:0,count:0,list:[]},u=_?0:l;let g,f,w,p,x,{x:y,y:A,width:B,height:v}=t.__layout.contentBounds;for(let h=0,a=i.length;h<a;h++)g=i[p=o?a-1-h:h],g.__.inFlow&&0!==g.__.visible&&(f=z(g,n),r?(g.__flowBounds=f,x||(x=F(p,u)),s&&x.count&&x.height+f.height>v&&(x.grow&&C(t,x,v,o),_&&S(x,e,v,c),b(d,x,e),x=F(p,u)),w=f.height,g.__heightGrow&&(x.grow+=g.__heightGrow,w=0,g.__.heightRange&&(x.hasRangeSize=!0)),g.__widthGrow&&W(g,f,B),x.height+=x.count?w+u:w,x.width=Math.max(x.width,f.width),x.count++):(O(g,y-f.x,A-f.y),A+=f.height+u));if(r&&x){const{isAutoXGap:i,isFitXGap:n,contentAlign:r,rowXAlign:l,rowYAlign:u}=h;x.count&&(x.grow&&C(t,x,v,o),_&&S(x,e,v,c),s&&b(d,x,e)),s?(i?S(d,"width",B,n):d.width+=(d.gap=a)*(d.list.length-1),function(t,o,e,i){m(t,o,e);const{list:n}=o;if(n.length>1&&(i||(i=G[e]),"from"!==i)){let t;for(let e=0,h=n.length;e<h;e++)t=n[e],t.y=o.height-t.height,"center"===i&&(t.y/=2)}}(t,d,r,u),function(t,o,e,i){const{list:n}=o,h="reverse"===t.__.flowWrap;let r,{x:s,y:a}=o;for(let l=0,_=n.length;l<_;l++)r=n[h?_-1-l:l],M(t,r,s,a,e,i),s+=r.width+o.gap}(t,d,l,o)):(m(t,x,r),M(t,x,x.x,0,l,o))}}function L(t){return a(t,(t=>l({set(o){const e="number"==typeof o?o:0;"autoWidth"===t?this.__widthGrow=e:this.__heightGrow=e,!e||this.parent&&this.parent.__hasGrow||this.waitParent((()=>{this.parent.__hasGrow=!0})),this.__setAttr(t,o)&&_(this)}})))}c.add("flow","resize");const D=n.prototype,{__updateBoxBounds:N}=d.prototype;u.addAttr("flow",!1,e),u.addAttr("gap",0,g),u.addAttr("flowAlign","top-left",g),u.addAttr("flowWrap",!1,g),u.addAttr("itemBox","box",g),u.addAttr("inFlow",!0,g),u.addAttr("autoWidth",void 0,L),u.addAttr("autoHeight",void 0,L),u.addAttr("autoBox",void 0,g);const{copyAndSpread:U}=f;D.__updateFlowLayout=function(){const{leaferIsCreated:t,flow:o}=this;switch(t&&(this.leafer.created=!1),o){case"x":case!0:P(this);break;case"y":I(this);break;case"x-reverse":P(this,!0);break;case"y-reverse":I(this,!0)}t&&(this.leafer.created=!0)},D.__updateContentBounds=function(){const{padding:t}=this.__,o=this.__layout,e=o.contentBounds===o.boxBounds;t?(e&&o.shrinkContent(),U(o.contentBounds,o.boxBounds,t,!0)):e||o.shrinkContentCancel()},D.__updateBoxBounds=function(t){
|
|
1
|
+
import{BoxData as t,dataProcessor as o,autoLayoutType as e,registerUI as i,Box as n,AlignHelper as h,PointHelper as r,MathHelper as s,decorateLeafAttr as a,attr as l,doBoundsType as _,Plugin as c,Group as d,UI as u,boundsType as g,BoundsHelper as f}from"@leafer-ui/draw";import"@leafer-in/resize";function w(t,o,e,i){var n,h=arguments.length,r=h<3?o:null===i?i=Object.getOwnPropertyDescriptor(o,e):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,o,e,i);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(r=(h<3?n(r):h>3?n(o,e,r):n(o,e))||r);return h>3&&r&&Object.defineProperty(o,e,r),r}"function"==typeof SuppressedError&&SuppressedError;let p=class extends n{get __tag(){return"Flow"}constructor(t){super(t),this.__hasAutoLayout=!0}};w([o(class extends t{})],p.prototype,"__",void 0),w([e("x")],p.prototype,"flow",void 0),p=w([i()],p);const x={},y={"top-left":"from",top:"center","top-right":"to",right:"to","bottom-right":"to",bottom:"center","bottom-left":"from",left:"from",center:"center","baseline-left":"from","baseline-center":"center","baseline-right":"to"},G={"top-left":"from",top:"from","top-right":"from",right:"center","bottom-right":"to",bottom:"to","bottom-left":"to",left:"center",center:"center","baseline-left":"to","baseline-center":"to","baseline-right":"to"};function m(t,o,e){const i=t.__,{contentBounds:n}=t.__layout;h.toPoint(e,o,n,x),o.x=i.__autoWidth?n.x:x.x,o.y=i.__autoHeight?n.y:x.y}const{move:A}=r;function B(t,o,e,i,n,h){const{children:r}=t;let s,a,{x:l,start:_}=o,c=i;l+=e;for(let t=0,e=o.count;t<e;t++)s=r[h?_-t:_+t],s.__.inFlow&&0!==s.__.visible?(a=s.__flowBounds,"from"!==n&&(c=i+(o.height-a.height)/("center"===n?2:1)),A(s,l-a.x,c-a.y),l+=a.width+o.gap):e++}function b(t,o,e){const i="width"===e?"height":"width";t[e]=Math.max(t[e],o[e]),t[i]+=t.count?o[i]+t.gap:o[i],t.list.push(o),t.count++}const v={};function R(t,o){const{gap:e,flowAlign:i,flowWrap:n,__autoWidth:h,__autoHeight:r}=t.__,s=n&&(o?!h:!r);return"object"==typeof e?(v.xGap=e.x||0,v.yGap=e.y||0):v.xGap=v.yGap=e,v.isAutoXGap="string"==typeof v.xGap&&!h,v.isAutoYGap="string"==typeof v.yGap&&!r,v.complex=s||"top-left"!==i||t.__hasGrow||v.isAutoXGap||v.isAutoYGap,v.wrap=s,v.complex&&(v.isFitXGap="fit"===v.xGap&&!h,v.isFitYGap="fit"===v.yGap&&!r,"object"==typeof i?(v.contentAlign=i.content||"top-left",v.rowXAlign=i.x||"from",v.rowYAlign=i.y||"from"):(v.contentAlign=i,v.rowXAlign=y[i],v.rowYAlign=G[i])),v}function F(t,o){return{x:0,y:0,width:0,height:0,gap:o,start:t,count:0,grow:0}}function S(t,o,e,i){const{count:n}=t;n>1&&(e>t[o]||i)&&(t.gap=(e-t[o])/(n-1),t[o]=e)}function z(t,o){return"box"===o?t.__local:t.__layout.localStrokeBounds}const{within:X}=s;function Y(t,o,e,i){let n,h,r,s=0,a=o.hasRangeSize&&[],{grow:l,start:_}=o;const c=(e-o.width)/l,{children:d}=t;if(!(c<=0)){o.width=e;for(let t=0,e=o.count;t<e;t++)n=d[i?_-t:_+t],n.__.inFlow&&0!==n.__.visible?(h=n.__widthGrow)&&(r=W(n,n.__flowBounds,c*h),r?(s+=r,l-=h):a&&(n.__.widthRange?a.unshift(n):a.push(n))):e++;s&&function(t,o,e){let i,n,h,r;t.forEach((t=>{i=t.__widthGrow,n=o/e*i,r=W(t,h=t.__flowBounds,h.width+n),o-=n-r,e-=i}))}(a,s,l)}}function W(t,o,e){const{widthRange:i,lockRatio:n}=t.__,h=i?X(e,i):e,r=h/o.width;return t.scaleResize(r,n?r:1),o.width=h,e-h}const{within:k}=s;function C(t,o,e,i){let n,h,r,s=0,a=o.hasRangeSize&&[],{grow:l,start:_}=o;const c=(e-o.height)/l,{children:d}=t;if(!(c<=0)){o.height=e;for(let t=0,e=o.count;t<e;t++)n=d[i?_-t:_+t],n.__.inFlow&&0!==n.__.visible?(h=n.__heightGrow)&&(r=j(n,n.__flowBounds,c*h),r?(s+=r,l-=h):a&&(n.__.heightRange?a.unshift(n):a.push(n))):e++;s&&function(t,o,e){let i,n,h,r;t.forEach((t=>{i=t.__heightGrow,n=o/e*i,r=j(t,h=t.__flowBounds,h.height+n),o-=n-r,e-=i}))}(a,s,l)}}function j(t,o,e){const{heightRange:i,lockRatio:n}=t.__,h=i?k(e,i):e,r=h/o.height;return t.scaleResize(n?r:1,r),o.height=h,e-h}const{move:E}=r;function P(t,o){const e="width",{children:i,itemBox:n}=t,h=R(t,!0),{complex:r,wrap:s,xGap:a,yGap:l,isAutoXGap:_,isFitXGap:c}=h;if(!i.length)return;const d=s&&{x:0,y:0,width:0,height:0,gap:0,count:0,list:[]},u=_?0:a;let g,f,w,p,x,{x:G,y:A,width:v,height:X}=t.__layout.contentBounds;for(let h=0,a=i.length;h<a;h++)g=i[p=o?a-1-h:h],g.__.inFlow&&0!==g.__.visible&&(f=z(g,n),r?(g.__flowBounds=f,x||(x=F(p,u)),s&&x.count&&x.width+f.width>v&&(x.grow?Y(t,x,v,o):_&&S(x,e,v,c),b(d,x,e),x=F(p,u)),w=f.width,g.__widthGrow&&(x.grow+=g.__widthGrow,w=0,g.__.widthRange&&(x.hasRangeSize=!0)),g.__heightGrow&&j(g,f,X),x.width+=x.count?w+u:w,x.height=Math.max(x.height,f.height),x.count++):(E(g,G-f.x,A-f.y),G+=f.width+u));if(r&&x){const{isAutoYGap:i,isFitYGap:n,contentAlign:r,rowXAlign:a,rowYAlign:u}=h;x.count&&(x.grow?Y(t,x,v,o):_&&S(x,e,v,c),s&&b(d,x,e)),s?(i?S(d,"height",X,n):d.height+=(d.gap=l)*(d.list.length-1),function(t,o,e,i){m(t,o,e);const{list:n}=o;if(n.length>1&&(i||(i=y[e]),"from"!==i)){let t;for(let e=0,h=n.length;e<h;e++)t=n[e],t.x=o.width-t.width,"center"===i&&(t.x/=2)}}(t,d,r,a),function(t,o,e,i){const{list:n}=o,h="reverse"===t.__.flowWrap;let r,{x:s,y:a}=o;for(let l=0,_=n.length;l<_;l++)r=n[h?_-1-l:l],B(t,r,s,a,e,i),a+=r.height+o.gap}(t,d,u,o)):(m(t,x,r),B(t,x,0,x.y,u,o))}}const{move:H}=r;function M(t,o,e,i,n,h){const{children:r}=t;let s,a,{y:l,start:_}=o,c=e;l+=i;for(let t=0,i=o.count;t<i;t++)s=r[h?_-t:_+t],s.__.inFlow&&0!==s.__.visible?(a=s.__flowBounds,"from"!==n&&(c=e+(o.width-a.width)/("center"===n?2:1)),H(s,c-a.x,l-a.y),l+=a.height+o.gap):i++}const{move:O}=r;function I(t,o){const e="height",{children:i,itemBox:n}=t,h=R(t,!1),{complex:r,wrap:s,xGap:a,yGap:l,isAutoYGap:_,isFitYGap:c}=h;if(!i.length)return;const d=s&&{x:0,y:0,width:0,height:0,gap:0,count:0,list:[]},u=_?0:l;let g,f,w,p,x,{x:y,y:A,width:B,height:v}=t.__layout.contentBounds;for(let h=0,a=i.length;h<a;h++)g=i[p=o?a-1-h:h],g.__.inFlow&&0!==g.__.visible&&(f=z(g,n),r?(g.__flowBounds=f,x||(x=F(p,u)),s&&x.count&&x.height+f.height>v&&(x.grow&&C(t,x,v,o),_&&S(x,e,v,c),b(d,x,e),x=F(p,u)),w=f.height,g.__heightGrow&&(x.grow+=g.__heightGrow,w=0,g.__.heightRange&&(x.hasRangeSize=!0)),g.__widthGrow&&W(g,f,B),x.height+=x.count?w+u:w,x.width=Math.max(x.width,f.width),x.count++):(O(g,y-f.x,A-f.y),A+=f.height+u));if(r&&x){const{isAutoXGap:i,isFitXGap:n,contentAlign:r,rowXAlign:l,rowYAlign:u}=h;x.count&&(x.grow&&C(t,x,v,o),_&&S(x,e,v,c),s&&b(d,x,e)),s?(i?S(d,"width",B,n):d.width+=(d.gap=a)*(d.list.length-1),function(t,o,e,i){m(t,o,e);const{list:n}=o;if(n.length>1&&(i||(i=G[e]),"from"!==i)){let t;for(let e=0,h=n.length;e<h;e++)t=n[e],t.y=o.height-t.height,"center"===i&&(t.y/=2)}}(t,d,r,u),function(t,o,e,i){const{list:n}=o,h="reverse"===t.__.flowWrap;let r,{x:s,y:a}=o;for(let l=0,_=n.length;l<_;l++)r=n[h?_-1-l:l],M(t,r,s,a,e,i),s+=r.width+o.gap}(t,d,l,o)):(m(t,x,r),M(t,x,x.x,0,l,o))}}function L(t){return a(t,(t=>l({set(o){const e="number"==typeof o?o:0;"autoWidth"===t?this.__widthGrow=e:this.__heightGrow=e,!e||this.parent&&this.parent.__hasGrow||this.waitParent((()=>{this.parent.__hasGrow=!0})),this.__setAttr(t,o)&&_(this)}})))}c.add("flow","resize");const D=n.prototype,{__updateBoxBounds:N}=d.prototype;u.addAttr("flow",!1,e),u.addAttr("gap",0,g),u.addAttr("flowAlign","top-left",g),u.addAttr("flowWrap",!1,g),u.addAttr("itemBox","box",g),u.addAttr("inFlow",!0,g),u.addAttr("autoWidth",void 0,L),u.addAttr("autoHeight",void 0,L),u.addAttr("autoBox",void 0,g);const{copyAndSpread:U}=f;D.__updateFlowLayout=function(){const{leaferIsCreated:t,flow:o}=this;switch(t&&(this.leafer.created=!1),o){case"x":case!0:P(this);break;case"y":I(this);break;case"x-reverse":P(this,!0);break;case"y-reverse":I(this,!0)}t&&(this.leafer.created=!0)},D.__updateContentBounds=function(){const{padding:t}=this.__,o=this.__layout,e=o.contentBounds===o.boxBounds;t?(e&&o.shrinkContent(),U(o.contentBounds,o.boxBounds,t,!0)):e||o.shrinkContentCancel()},D.__updateBoxBounds=function(t){if(this.children.length&&!this.pathInputed){const o=this.__,{flow:e}=o;if(o.__autoSide){o.__hasSurface&&this.__extraUpdate(),e&&!t?this.__updateRectBoxBounds():N.call(this);const{boxBounds:i}=this.__layout;o.__autoSize||(o.__autoWidth?(e||(i.width+=i.x,i.x=0),i.height=o.height,i.y=0):(e||(i.height+=i.y,i.y=0),i.width=o.width,i.x=0)),e&&t&&o.padding&&U(i,i,o.padding,!1,o.__autoSize?null:o.__autoWidth?"width":"height"),this.__updateNaturalSize()}else this.__updateRectBoxBounds();e&&this.__updateContentBounds()}else this.__updateRectBoxBounds()};export{p as Flow};
|
|
2
2
|
//# sourceMappingURL=flow.esm.min.js.map
|
package/dist/flow.esm.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow.esm.min.js","sources":["../../../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.34.6_tslib@2.8.1_typescript@5.7.3/node_modules/tslib/tslib.es6.js","../../../../../../src/in/packages/flow/src/Flow.ts","../../../../../../src/in/packages/flow/src/data/FlowData.ts","../../../../../../src/in/packages/flow/src/layout/common/align.ts","../../../../../../src/in/packages/flow/src/layout/x/layout.ts","../../../../../../src/in/packages/flow/src/layout/common/wrap.ts","../../../../../../src/in/packages/flow/src/layout/common/data.ts","../../../../../../src/in/packages/flow/src/layout/common/gap.ts","../../../../../../src/in/packages/flow/src/layout/common/bounds.ts","../../../../../../src/in/packages/flow/src/layout/x/grow.ts","../../../../../../src/in/packages/flow/src/layout/y/grow.ts","../../../../../../src/in/packages/flow/src/layout/flowX.ts","../../../../../../src/in/packages/flow/src/layout/x/align.ts","../../../../../../src/in/packages/flow/src/layout/y/layout.ts","../../../../../../src/in/packages/flow/src/layout/flowY.ts","../../../../../../src/in/packages/flow/src/layout/y/align.ts","../../../../../../src/in/packages/flow/src/decorate.ts","../../../../../../src/in/packages/flow/src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { IFlow, IFlowData, IFlowInputData, IFlowType } from '@leafer-ui/interface'\nimport { registerUI, dataProcessor, Box, autoLayoutType } from '@leafer-ui/draw'\n\nimport { FlowData } from './data/FlowData'\n\n\n@registerUI()\nexport class Flow extends Box implements IFlow {\n\n public get __tag() { return 'Flow' }\n\n @dataProcessor(FlowData)\n declare public __: IFlowData\n\n @autoLayoutType('x')\n declare public flow?: IFlowType\n\n constructor(data?: IFlowInputData) {\n super(data)\n this.__hasAutoLayout = true\n }\n\n}","import { IFlowData } from \"@leafer-ui/interface\"\nimport { BoxData } from '@leafer-ui/draw'\n\n\nexport class FlowData extends BoxData implements IFlowData {\n\n}\n","import { IBoundsData, IBox, IFlowAlign, IPointData } from '@leafer-ui/interface'\nimport { AlignHelper } from '@leafer-ui/draw'\n\nimport { IFlowAlignToAxisAlignMap } from '@leafer-in/interface'\n\n\nconst point = {} as IPointData\n\nexport const alignToInnerXMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'center',\n 'top-right': 'to',\n 'right': 'to',\n 'bottom-right': 'to',\n 'bottom': 'center',\n 'bottom-left': 'from',\n 'left': 'from',\n 'center': 'center',\n 'baseline-left': 'from',\n 'baseline-center': 'center',\n 'baseline-right': 'to',\n}\n\nexport const alignToInnerYMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'from',\n 'top-right': 'from',\n 'right': 'center',\n 'bottom-right': 'to',\n 'bottom': 'to',\n 'bottom-left': 'to',\n 'left': 'center',\n 'center': 'center',\n 'baseline-left': 'to',\n 'baseline-center': 'to',\n 'baseline-right': 'to',\n}\n\nexport function alignContent(box: IBox, content: IBoundsData, align: IFlowAlign): void {\n const data = box.__\n const { contentBounds } = box.__layout\n AlignHelper.toPoint(align as any, content, contentBounds, point)\n content.x = data.__autoWidth ? contentBounds.x : point.x\n content.y = data.__autoHeight ? contentBounds.y : point.y\n}","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\n\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowYAlign?: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutX(box, row, x, y, rowYAlign, reverse)\n y += row.height + data.gap\n }\n}\n\nexport function layoutX(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowYAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { x, start } = row, y = fromY\n x += fromX\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowYAlign !== 'from') y = fromY + (row.height - local.height) / (rowYAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + row.gap\n } else {\n end++\n }\n }\n}","import { IFlowWrapDrawData, IFlowDrawData, ISide } from '@leafer-in/interface'\n\n\nexport function flowWrap(wrapData: IFlowWrapDrawData, data: IFlowDrawData, wrapSide: ISide): void {\n const otherSide = wrapSide === 'width' ? 'height' : 'width'\n wrapData[wrapSide] = Math.max(wrapData[wrapSide], data[wrapSide])\n wrapData[otherSide] += wrapData.count ? data[otherSide] + wrapData.gap : data[otherSide]\n wrapData.list.push(data)\n wrapData.count++\n}\n","import { IBox } from '@leafer-ui/interface'\n\nimport { IFlowWrapDrawData, IFlowDrawData, IFlowParseData } from '@leafer-in/interface'\n\nimport { alignToInnerXMap, alignToInnerYMap } from './align'\n\nconst p = {} as IFlowParseData\n\nexport function getParseData(box: IBox, isFlowX: boolean): IFlowParseData {\n const { gap, flowAlign: align, flowWrap: wrap, __autoWidth, __autoHeight } = box.__\n const needWrap = wrap && (isFlowX ? !__autoWidth : !__autoHeight)\n\n if (typeof gap === 'object') {\n p.xGap = gap.x || 0\n p.yGap = gap.y || 0\n } else {\n p.xGap = p.yGap = gap\n }\n\n p.isAutoXGap = typeof p.xGap === 'string' && !__autoWidth\n p.isAutoYGap = typeof p.yGap === 'string' && !__autoHeight\n\n p.complex = needWrap || align !== 'top-left' || box.__hasGrow || p.isAutoXGap || p.isAutoYGap\n p.wrap = needWrap\n\n if (p.complex) {\n p.isFitXGap = p.xGap === 'fit' && !__autoWidth\n p.isFitYGap = p.yGap === 'fit' && !__autoHeight\n\n if (typeof align === 'object') {\n p.contentAlign = align.content || 'top-left'\n p.rowXAlign = align.x || 'from'\n p.rowYAlign = align.y || 'from'\n } else {\n p.contentAlign = align\n p.rowXAlign = alignToInnerXMap[align]\n p.rowYAlign = alignToInnerYMap[align]\n }\n\n }\n\n return p\n}\n\nexport function getDrawData(start: number, gap: number): IFlowDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap, start, count: 0, grow: 0 }\n}\n\nexport function getWrapDrawData(): IFlowWrapDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap: 0, count: 0, list: [] }\n}","import { IGapBoundsData, ISide } from '@leafer-in/interface'\n\n\nexport function autoGap(data: IGapBoundsData, side: ISide, sideTotal: number, fit: boolean): void {\n const { count } = data\n if (count > 1 && (sideTotal > data[side] || fit)) {\n data.gap = (sideTotal - data[side]) / (count - 1)\n data[side] = sideTotal\n }\n}","import { IBoundsData, IBoundsType, IUI } from '@leafer-ui/interface'\n\nexport function getItemBounds(child: IUI, itemBox: IBoundsType): IBoundsData {\n return itemBox === 'box' ? child.__local : child.__layout.localStrokeBounds\n\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growX(box: IBox, row: IFlowDrawData, width: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = (width - row.width) / totalGrow, { children } = box\n if (growSize <= 0) return\n\n row.width = width\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__widthGrow) {\n remainSpace = resizeWidth(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.widthRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__widthGrow\n space = totalSpace / countGrow * grow\n remain = resizeWidth(child, local = child.__flowBounds, local.width + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeWidth(child: IUI, local: IBoundsData, size: number): number {\n const { widthRange, lockRatio } = child.__\n const realSize = widthRange ? within(size, widthRange) : size\n const scale = realSize / local.width\n child.scaleResize(scale, lockRatio ? scale : 1)\n local.width = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growY(box: IBox, row: IFlowDrawData, height: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = (height - row.height) / totalGrow, { children } = box\n if (growSize <= 0) return\n\n row.height = height\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__heightGrow) {\n remainSpace = resizeHeight(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.heightRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__heightGrow\n space = totalSpace / countGrow * grow\n remain = resizeHeight(child, local = child.__flowBounds, local.height + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeHeight(child: IUI, local: IBoundsData, size: number): number {\n const { heightRange, lockRatio } = child.__\n const realSize = heightRange ? within(size, heightRange) : size\n const scale = realSize / local.height\n child.scaleResize(lockRatio ? scale : 1, scale)\n local.height = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './x/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutX } from './x/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growX } from './x/grow'\nimport { resizeHeight } from './y/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowX(box: IBox, reverse?: boolean): void {\n const side = 'width', { children, itemBox } = box, pData = getParseData(box, true)\n const { complex, wrap, xGap, yGap, isAutoXGap, isFitXGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), xGapTempNum = isAutoXGap ? 0 : xGap as number\n let child: IUI, local: IBoundsData, localWidth: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, xGapTempNum)\n\n if (wrap && data.count && data.width + local.width > width) {\n\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, xGapTempNum)\n }\n\n localWidth = local.width\n\n if (child.__widthGrow) {\n data.grow += child.__widthGrow, localWidth = 0\n if (child.__.widthRange) data.hasRangeSize = true\n }\n\n if (child.__heightGrow) resizeHeight(child, local, height)\n\n data.width += data.count ? localWidth + xGapTempNum : localWidth\n data.height = Math.max(data.height, local.height)\n data.count++\n\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + xGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoYGap, isFitYGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (isAutoYGap) autoGap(wrapData, 'height', height, isFitYGap)\n else wrapData.height += (wrapData.gap = yGap as number) * (wrapData.list.length - 1)\n\n align(box, wrapData, contentAlign, rowXAlign)\n layout(box, wrapData, rowYAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutX(box, data, 0, data.y, rowYAlign, reverse)\n\n }\n\n }\n}","import { IBox, IFlowAlign, IAxisAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerXMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, innerXAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!innerXAlign) innerXAlign = alignToInnerXMap[contentAlign]\n\n if (innerXAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.x = data.width - row.width\n if (innerXAlign === 'center') row.x /= 2\n }\n\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutY(box, row, x, y, rowXAlign, reverse)\n x += row.width + data.gap\n }\n}\n\nexport function layoutY(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { y, start } = row, x = fromX\n y += fromY\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowXAlign !== 'from') x = fromX + (row.width - local.width) / (rowXAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + row.gap\n } else {\n end++\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './y/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutY } from './y/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growY } from './y/grow'\nimport { resizeWidth } from './x/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowY(box: IBox, reverse?: boolean): void {\n const side = 'height', { children, itemBox } = box, pData = getParseData(box, false)\n const { complex, wrap, xGap, yGap, isAutoYGap, isFitYGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), yGapTempNum = isAutoYGap ? 0 : yGap as number\n let child: IUI, local: IBoundsData, localHeight: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, yGapTempNum)\n\n if (wrap && data.count && data.height + local.height > height) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, yGapTempNum)\n }\n\n localHeight = local.height\n\n if (child.__heightGrow) {\n data.grow += child.__heightGrow, localHeight = 0\n if (child.__.heightRange) data.hasRangeSize = true\n }\n\n if (child.__widthGrow) resizeWidth(child, local, width)\n\n data.height += data.count ? localHeight + yGapTempNum : localHeight\n data.width = Math.max(data.width, local.width)\n data.count++\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + yGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoXGap, isFitXGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (isAutoXGap) autoGap(wrapData, 'width', width, isFitXGap)\n else wrapData.width += (wrapData.gap = xGap as number) * (wrapData.list.length - 1)\n\n align(box, wrapData, contentAlign, rowYAlign)\n layout(box, wrapData, rowXAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutY(box, data, data.x, 0, rowXAlign, reverse)\n\n }\n\n }\n}","import { IAxisAlign, IBox, IFlowAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerYMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, rowYAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!rowYAlign) rowYAlign = alignToInnerYMap[contentAlign]\n\n if (rowYAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.y = data.height - row.height\n if (rowYAlign === 'center') row.y /= 2\n }\n\n }\n }\n}\n\n","import { attr, decorateLeafAttr, doBoundsType } from '@leafer-ui/draw'\nimport { IValue } from '@leafer/interface'\n\n\nexport function autoBoundsType(defaultValue?: IValue) {\n return decorateLeafAttr(defaultValue, (key: string) => attr({\n set(value: IValue) {\n const grow = typeof value === 'number' ? value : 0\n key === 'autoWidth' ? this.__widthGrow = grow : this.__heightGrow = grow\n if (grow && !(this.parent && this.parent.__hasGrow)) this.waitParent(() => { this.parent.__hasGrow = true }) // 需要优化, 移入到其他容器中的时候也需要优化\n this.__setAttr(key, value) && doBoundsType(this)\n }\n }))\n}","export { Flow } from './Flow'\n\n\nimport { BoundsHelper, Box, Group, UI, autoLayoutType, boundsType, Plugin } from '@leafer-ui/draw'\n\nimport '@leafer-in/resize'\n\nimport { flowX } from './layout/flowX'\nimport { flowY } from './layout/flowY'\nimport { autoBoundsType } from './decorate'\n\n\nPlugin.add('flow', 'resize')\n\n\nconst box = Box.prototype, { __updateBoxBounds } = Group.prototype\n\n// addAttr\nUI.addAttr('flow', false, autoLayoutType)\nUI.addAttr('gap', 0, boundsType)\nUI.addAttr('flowAlign', 'top-left', boundsType)\nUI.addAttr('flowWrap', false, boundsType)\n\nUI.addAttr('itemBox', 'box', boundsType)\nUI.addAttr('inFlow', true, boundsType)\n\nUI.addAttr('autoWidth', undefined, autoBoundsType)\nUI.addAttr('autoHeight', undefined, autoBoundsType)\nUI.addAttr('autoBox', undefined, boundsType)\n\n\nconst { copyAndSpread } = BoundsHelper\n\nbox.__updateFlowLayout = function (): void {\n const { leaferIsCreated, flow } = this\n\n if (leaferIsCreated) this.leafer.created = false // 拦截布局更新通知,进行手动更新布局\n\n switch (flow) {\n case 'x':\n case true:\n flowX(this)\n break\n case 'y':\n flowY(this)\n break\n case 'x-reverse':\n flowX(this, true)\n break\n case 'y-reverse':\n flowY(this, true)\n break\n }\n\n if (leaferIsCreated) this.leafer.created = true\n}\n\nbox.__updateContentBounds = function (): void {\n const { padding } = this.__\n const layout = this.__layout\n const same = layout.contentBounds === layout.boxBounds\n\n if (padding) {\n if (same) layout.shrinkContent()\n copyAndSpread(layout.contentBounds, layout.boxBounds, padding, true)\n } else {\n if (!same) layout.shrinkContentCancel()\n }\n}\n\nbox.__updateBoxBounds = function (secondLayout?: boolean): void { // autoSide且自动布局时需要二次布局\n const data = this.__\n\n if (this.children.length && !this.pathInputed) {\n\n const { flow } = data\n\n if (data.__autoSide) {\n\n if (data.__hasSurface) this.__extraUpdate() // Box自身存在样式,需要额外更新\n\n flow && !secondLayout ? this.__updateRectBoxBounds() : __updateBoxBounds.call(this)\n\n const { boxBounds } = this.__layout\n\n if (!data.__autoSize) {\n if (data.__autoWidth) {\n if (!flow) boxBounds.width += boxBounds.x, boxBounds.x = 0\n boxBounds.height = data.height, boxBounds.y = 0\n } else {\n if (!flow) boxBounds.height += boxBounds.y, boxBounds.y = 0\n boxBounds.width = data.width, boxBounds.x = 0\n }\n }\n\n flow && secondLayout && data.padding && copyAndSpread(boxBounds, boxBounds, data.padding, false, data.__autoSize ? null : (data.__autoWidth ? 'width' : 'height'))\n\n this.__updateNaturalSize()\n\n } else {\n this.__updateRectBoxBounds()\n }\n\n if (flow) this.__updateContentBounds()\n\n } else {\n this.__updateRectBoxBounds()\n }\n}"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","SuppressedError","Flow","Box","__tag","constructor","data","super","this","__hasAutoLayout","dataProcessor","BoxData","prototype","autoLayoutType","registerUI","point","alignToInnerXMap","top","right","bottom","left","center","alignToInnerYMap","alignContent","box","content","align","__","contentBounds","__layout","AlignHelper","toPoint","x","__autoWidth","y","__autoHeight","move","PointHelper","layoutX","row","fromX","fromY","rowYAlign","reverse","children","child","local","start","j","end","count","inFlow","visible","__flowBounds","height","width","gap","flowWrap","wrapData","wrapSide","otherSide","Math","max","list","push","p","getParseData","isFlowX","flowAlign","wrap","needWrap","xGap","yGap","isAutoXGap","isAutoYGap","complex","__hasGrow","isFitXGap","isFitYGap","contentAlign","rowXAlign","getDrawData","grow","autoGap","side","sideTotal","fit","getItemBounds","itemBox","__local","localStrokeBounds","within","MathHelper","growX","remainSpace","remainTotalSpace","hasRangeSize","totalGrow","growSize","__widthGrow","resizeWidth","widthRange","unshift","totalSpace","countGrow","space","remain","forEach","assignRemainSpace","size","lockRatio","realSize","scale","scaleResize","growY","__heightGrow","resizeHeight","heightRange","flowX","pData","xGapTempNum","localWidth","index","len","innerXAlign","reverseWrap","layout","layoutY","flowY","yGapTempNum","localHeight","autoBoundsType","defaultValue","decorateLeafAttr","attr","set","value","parent","waitParent","__setAttr","doBoundsType","Plugin","add","__updateBoxBounds","Group","UI","addAttr","boundsType","undefined","copyAndSpread","BoundsHelper","__updateFlowLayout","leaferIsCreated","flow","leafer","created","__updateContentBounds","padding","same","boxBounds","shrinkContent","shrinkContentCancel","secondLayout","pathInputed","__autoSide","__hasSurface","__extraUpdate","__updateRectBoxBounds","call","__autoSize","__updateNaturalSize"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"flow.esm.min.js","sources":["../../../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.34.6_tslib@2.8.1_typescript@5.7.3/node_modules/tslib/tslib.es6.js","../../../../../../src/in/packages/flow/src/Flow.ts","../../../../../../src/in/packages/flow/src/data/FlowData.ts","../../../../../../src/in/packages/flow/src/layout/common/align.ts","../../../../../../src/in/packages/flow/src/layout/x/layout.ts","../../../../../../src/in/packages/flow/src/layout/common/wrap.ts","../../../../../../src/in/packages/flow/src/layout/common/data.ts","../../../../../../src/in/packages/flow/src/layout/common/gap.ts","../../../../../../src/in/packages/flow/src/layout/common/bounds.ts","../../../../../../src/in/packages/flow/src/layout/x/grow.ts","../../../../../../src/in/packages/flow/src/layout/y/grow.ts","../../../../../../src/in/packages/flow/src/layout/flowX.ts","../../../../../../src/in/packages/flow/src/layout/x/align.ts","../../../../../../src/in/packages/flow/src/layout/y/layout.ts","../../../../../../src/in/packages/flow/src/layout/flowY.ts","../../../../../../src/in/packages/flow/src/layout/y/align.ts","../../../../../../src/in/packages/flow/src/decorate.ts","../../../../../../src/in/packages/flow/src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { IFlow, IFlowData, IFlowInputData, IFlowType } from '@leafer-ui/interface'\nimport { registerUI, dataProcessor, Box, autoLayoutType } from '@leafer-ui/draw'\n\nimport { FlowData } from './data/FlowData'\n\n\n@registerUI()\nexport class Flow extends Box implements IFlow {\n\n public get __tag() { return 'Flow' }\n\n @dataProcessor(FlowData)\n declare public __: IFlowData\n\n @autoLayoutType('x')\n declare public flow?: IFlowType\n\n constructor(data?: IFlowInputData) {\n super(data)\n this.__hasAutoLayout = true\n }\n\n}","import { IFlowData } from \"@leafer-ui/interface\"\nimport { BoxData } from '@leafer-ui/draw'\n\n\nexport class FlowData extends BoxData implements IFlowData {\n\n}\n","import { IBoundsData, IBox, IFlowAlign, IPointData } from '@leafer-ui/interface'\nimport { AlignHelper } from '@leafer-ui/draw'\n\nimport { IFlowAlignToAxisAlignMap } from '@leafer-in/interface'\n\n\nconst point = {} as IPointData\n\nexport const alignToInnerXMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'center',\n 'top-right': 'to',\n 'right': 'to',\n 'bottom-right': 'to',\n 'bottom': 'center',\n 'bottom-left': 'from',\n 'left': 'from',\n 'center': 'center',\n 'baseline-left': 'from',\n 'baseline-center': 'center',\n 'baseline-right': 'to',\n}\n\nexport const alignToInnerYMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'from',\n 'top-right': 'from',\n 'right': 'center',\n 'bottom-right': 'to',\n 'bottom': 'to',\n 'bottom-left': 'to',\n 'left': 'center',\n 'center': 'center',\n 'baseline-left': 'to',\n 'baseline-center': 'to',\n 'baseline-right': 'to',\n}\n\nexport function alignContent(box: IBox, content: IBoundsData, align: IFlowAlign): void {\n const data = box.__\n const { contentBounds } = box.__layout\n AlignHelper.toPoint(align as any, content, contentBounds, point)\n content.x = data.__autoWidth ? contentBounds.x : point.x\n content.y = data.__autoHeight ? contentBounds.y : point.y\n}","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\n\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowYAlign?: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutX(box, row, x, y, rowYAlign, reverse)\n y += row.height + data.gap\n }\n}\n\nexport function layoutX(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowYAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { x, start } = row, y = fromY\n x += fromX\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowYAlign !== 'from') y = fromY + (row.height - local.height) / (rowYAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + row.gap\n } else {\n end++\n }\n }\n}","import { IFlowWrapDrawData, IFlowDrawData, ISide } from '@leafer-in/interface'\n\n\nexport function flowWrap(wrapData: IFlowWrapDrawData, data: IFlowDrawData, wrapSide: ISide): void {\n const otherSide = wrapSide === 'width' ? 'height' : 'width'\n wrapData[wrapSide] = Math.max(wrapData[wrapSide], data[wrapSide])\n wrapData[otherSide] += wrapData.count ? data[otherSide] + wrapData.gap : data[otherSide]\n wrapData.list.push(data)\n wrapData.count++\n}\n","import { IBox } from '@leafer-ui/interface'\n\nimport { IFlowWrapDrawData, IFlowDrawData, IFlowParseData } from '@leafer-in/interface'\n\nimport { alignToInnerXMap, alignToInnerYMap } from './align'\n\nconst p = {} as IFlowParseData\n\nexport function getParseData(box: IBox, isFlowX: boolean): IFlowParseData {\n const { gap, flowAlign: align, flowWrap: wrap, __autoWidth, __autoHeight } = box.__\n const needWrap = wrap && (isFlowX ? !__autoWidth : !__autoHeight)\n\n if (typeof gap === 'object') {\n p.xGap = gap.x || 0\n p.yGap = gap.y || 0\n } else {\n p.xGap = p.yGap = gap\n }\n\n p.isAutoXGap = typeof p.xGap === 'string' && !__autoWidth\n p.isAutoYGap = typeof p.yGap === 'string' && !__autoHeight\n\n p.complex = needWrap || align !== 'top-left' || box.__hasGrow || p.isAutoXGap || p.isAutoYGap\n p.wrap = needWrap\n\n if (p.complex) {\n p.isFitXGap = p.xGap === 'fit' && !__autoWidth\n p.isFitYGap = p.yGap === 'fit' && !__autoHeight\n\n if (typeof align === 'object') {\n p.contentAlign = align.content || 'top-left'\n p.rowXAlign = align.x || 'from'\n p.rowYAlign = align.y || 'from'\n } else {\n p.contentAlign = align\n p.rowXAlign = alignToInnerXMap[align]\n p.rowYAlign = alignToInnerYMap[align]\n }\n\n }\n\n return p\n}\n\nexport function getDrawData(start: number, gap: number): IFlowDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap, start, count: 0, grow: 0 }\n}\n\nexport function getWrapDrawData(): IFlowWrapDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap: 0, count: 0, list: [] }\n}","import { IGapBoundsData, ISide } from '@leafer-in/interface'\n\n\nexport function autoGap(data: IGapBoundsData, side: ISide, sideTotal: number, fit: boolean): void {\n const { count } = data\n if (count > 1 && (sideTotal > data[side] || fit)) {\n data.gap = (sideTotal - data[side]) / (count - 1)\n data[side] = sideTotal\n }\n}","import { IBoundsData, IBoundsType, IUI } from '@leafer-ui/interface'\n\nexport function getItemBounds(child: IUI, itemBox: IBoundsType): IBoundsData {\n return itemBox === 'box' ? child.__local : child.__layout.localStrokeBounds\n\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growX(box: IBox, row: IFlowDrawData, width: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = (width - row.width) / totalGrow, { children } = box\n if (growSize <= 0) return\n\n row.width = width\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__widthGrow) {\n remainSpace = resizeWidth(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.widthRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__widthGrow\n space = totalSpace / countGrow * grow\n remain = resizeWidth(child, local = child.__flowBounds, local.width + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeWidth(child: IUI, local: IBoundsData, size: number): number {\n const { widthRange, lockRatio } = child.__\n const realSize = widthRange ? within(size, widthRange) : size\n const scale = realSize / local.width\n child.scaleResize(scale, lockRatio ? scale : 1)\n local.width = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growY(box: IBox, row: IFlowDrawData, height: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = (height - row.height) / totalGrow, { children } = box\n if (growSize <= 0) return\n\n row.height = height\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__heightGrow) {\n remainSpace = resizeHeight(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.heightRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__heightGrow\n space = totalSpace / countGrow * grow\n remain = resizeHeight(child, local = child.__flowBounds, local.height + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeHeight(child: IUI, local: IBoundsData, size: number): number {\n const { heightRange, lockRatio } = child.__\n const realSize = heightRange ? within(size, heightRange) : size\n const scale = realSize / local.height\n child.scaleResize(lockRatio ? scale : 1, scale)\n local.height = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './x/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutX } from './x/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growX } from './x/grow'\nimport { resizeHeight } from './y/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowX(box: IBox, reverse?: boolean): void {\n const side = 'width', { children, itemBox } = box, pData = getParseData(box, true)\n const { complex, wrap, xGap, yGap, isAutoXGap, isFitXGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), xGapTempNum = isAutoXGap ? 0 : xGap as number\n let child: IUI, local: IBoundsData, localWidth: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, xGapTempNum)\n\n if (wrap && data.count && data.width + local.width > width) {\n\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, xGapTempNum)\n }\n\n localWidth = local.width\n\n if (child.__widthGrow) {\n data.grow += child.__widthGrow, localWidth = 0\n if (child.__.widthRange) data.hasRangeSize = true\n }\n\n if (child.__heightGrow) resizeHeight(child, local, height)\n\n data.width += data.count ? localWidth + xGapTempNum : localWidth\n data.height = Math.max(data.height, local.height)\n data.count++\n\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + xGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoYGap, isFitYGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (isAutoYGap) autoGap(wrapData, 'height', height, isFitYGap)\n else wrapData.height += (wrapData.gap = yGap as number) * (wrapData.list.length - 1)\n\n align(box, wrapData, contentAlign, rowXAlign)\n layout(box, wrapData, rowYAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutX(box, data, 0, data.y, rowYAlign, reverse)\n\n }\n\n }\n}","import { IBox, IFlowAlign, IAxisAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerXMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, innerXAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!innerXAlign) innerXAlign = alignToInnerXMap[contentAlign]\n\n if (innerXAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.x = data.width - row.width\n if (innerXAlign === 'center') row.x /= 2\n }\n\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutY(box, row, x, y, rowXAlign, reverse)\n x += row.width + data.gap\n }\n}\n\nexport function layoutY(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { y, start } = row, x = fromX\n y += fromY\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowXAlign !== 'from') x = fromX + (row.width - local.width) / (rowXAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + row.gap\n } else {\n end++\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './y/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutY } from './y/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growY } from './y/grow'\nimport { resizeWidth } from './x/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowY(box: IBox, reverse?: boolean): void {\n const side = 'height', { children, itemBox } = box, pData = getParseData(box, false)\n const { complex, wrap, xGap, yGap, isAutoYGap, isFitYGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), yGapTempNum = isAutoYGap ? 0 : yGap as number\n let child: IUI, local: IBoundsData, localHeight: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, yGapTempNum)\n\n if (wrap && data.count && data.height + local.height > height) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, yGapTempNum)\n }\n\n localHeight = local.height\n\n if (child.__heightGrow) {\n data.grow += child.__heightGrow, localHeight = 0\n if (child.__.heightRange) data.hasRangeSize = true\n }\n\n if (child.__widthGrow) resizeWidth(child, local, width)\n\n data.height += data.count ? localHeight + yGapTempNum : localHeight\n data.width = Math.max(data.width, local.width)\n data.count++\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + yGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoXGap, isFitXGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (isAutoXGap) autoGap(wrapData, 'width', width, isFitXGap)\n else wrapData.width += (wrapData.gap = xGap as number) * (wrapData.list.length - 1)\n\n align(box, wrapData, contentAlign, rowYAlign)\n layout(box, wrapData, rowXAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutY(box, data, data.x, 0, rowXAlign, reverse)\n\n }\n\n }\n}","import { IAxisAlign, IBox, IFlowAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerYMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, rowYAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!rowYAlign) rowYAlign = alignToInnerYMap[contentAlign]\n\n if (rowYAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.y = data.height - row.height\n if (rowYAlign === 'center') row.y /= 2\n }\n\n }\n }\n}\n\n","import { attr, decorateLeafAttr, doBoundsType } from '@leafer-ui/draw'\nimport { IValue } from '@leafer/interface'\n\n\nexport function autoBoundsType(defaultValue?: IValue) {\n return decorateLeafAttr(defaultValue, (key: string) => attr({\n set(value: IValue) {\n const grow = typeof value === 'number' ? value : 0\n key === 'autoWidth' ? this.__widthGrow = grow : this.__heightGrow = grow\n if (grow && !(this.parent && this.parent.__hasGrow)) this.waitParent(() => { this.parent.__hasGrow = true }) // 需要优化, 移入到其他容器中的时候也需要优化\n this.__setAttr(key, value) && doBoundsType(this)\n }\n }))\n}","export { Flow } from './Flow'\n\n\nimport { BoundsHelper, Box, Group, UI, autoLayoutType, boundsType, Plugin } from '@leafer-ui/draw'\n\nimport '@leafer-in/resize'\n\nimport { flowX } from './layout/flowX'\nimport { flowY } from './layout/flowY'\nimport { autoBoundsType } from './decorate'\n\n\nPlugin.add('flow', 'resize')\n\n\nconst box = Box.prototype, { __updateBoxBounds } = Group.prototype\n\n// addAttr\nUI.addAttr('flow', false, autoLayoutType)\nUI.addAttr('gap', 0, boundsType)\nUI.addAttr('flowAlign', 'top-left', boundsType)\nUI.addAttr('flowWrap', false, boundsType)\n\nUI.addAttr('itemBox', 'box', boundsType)\nUI.addAttr('inFlow', true, boundsType)\n\nUI.addAttr('autoWidth', undefined, autoBoundsType)\nUI.addAttr('autoHeight', undefined, autoBoundsType)\nUI.addAttr('autoBox', undefined, boundsType)\n\n\nconst { copyAndSpread } = BoundsHelper\n\nbox.__updateFlowLayout = function (): void {\n const { leaferIsCreated, flow } = this\n\n if (leaferIsCreated) this.leafer.created = false // 拦截布局更新通知,进行手动更新布局\n\n switch (flow) {\n case 'x':\n case true:\n flowX(this)\n break\n case 'y':\n flowY(this)\n break\n case 'x-reverse':\n flowX(this, true)\n break\n case 'y-reverse':\n flowY(this, true)\n break\n }\n\n if (leaferIsCreated) this.leafer.created = true\n}\n\nbox.__updateContentBounds = function (): void {\n const { padding } = this.__\n const layout = this.__layout\n const same = layout.contentBounds === layout.boxBounds\n\n if (padding) {\n if (same) layout.shrinkContent()\n copyAndSpread(layout.contentBounds, layout.boxBounds, padding, true)\n } else {\n if (!same) layout.shrinkContentCancel()\n }\n}\n\nbox.__updateBoxBounds = function (secondLayout?: boolean): void { // autoSide且自动布局时需要二次布局\n if (this.children.length && !this.pathInputed) {\n\n const data = this.__, { flow } = data\n\n if (data.__autoSide) {\n\n if (data.__hasSurface) this.__extraUpdate() // Box自身存在样式,需要额外更新\n\n flow && !secondLayout ? this.__updateRectBoxBounds() : __updateBoxBounds.call(this)\n\n const { boxBounds } = this.__layout\n\n if (!data.__autoSize) {\n if (data.__autoWidth) {\n if (!flow) boxBounds.width += boxBounds.x, boxBounds.x = 0\n boxBounds.height = data.height, boxBounds.y = 0\n } else {\n if (!flow) boxBounds.height += boxBounds.y, boxBounds.y = 0\n boxBounds.width = data.width, boxBounds.x = 0\n }\n }\n\n flow && secondLayout && data.padding && copyAndSpread(boxBounds, boxBounds, data.padding, false, data.__autoSize ? null : (data.__autoWidth ? 'width' : 'height'))\n\n this.__updateNaturalSize()\n\n } else {\n this.__updateRectBoxBounds()\n }\n\n if (flow) this.__updateContentBounds()\n\n } else {\n this.__updateRectBoxBounds()\n }\n}"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","SuppressedError","Flow","Box","__tag","constructor","data","super","this","__hasAutoLayout","dataProcessor","BoxData","prototype","autoLayoutType","registerUI","point","alignToInnerXMap","top","right","bottom","left","center","alignToInnerYMap","alignContent","box","content","align","__","contentBounds","__layout","AlignHelper","toPoint","x","__autoWidth","y","__autoHeight","move","PointHelper","layoutX","row","fromX","fromY","rowYAlign","reverse","children","child","local","start","j","end","count","inFlow","visible","__flowBounds","height","width","gap","flowWrap","wrapData","wrapSide","otherSide","Math","max","list","push","p","getParseData","isFlowX","flowAlign","wrap","needWrap","xGap","yGap","isAutoXGap","isAutoYGap","complex","__hasGrow","isFitXGap","isFitYGap","contentAlign","rowXAlign","getDrawData","grow","autoGap","side","sideTotal","fit","getItemBounds","itemBox","__local","localStrokeBounds","within","MathHelper","growX","remainSpace","remainTotalSpace","hasRangeSize","totalGrow","growSize","__widthGrow","resizeWidth","widthRange","unshift","totalSpace","countGrow","space","remain","forEach","assignRemainSpace","size","lockRatio","realSize","scale","scaleResize","growY","__heightGrow","resizeHeight","heightRange","flowX","pData","xGapTempNum","localWidth","index","len","innerXAlign","reverseWrap","layout","layoutY","flowY","yGapTempNum","localHeight","autoBoundsType","defaultValue","decorateLeafAttr","attr","set","value","parent","waitParent","__setAttr","doBoundsType","Plugin","add","__updateBoxBounds","Group","UI","addAttr","boundsType","undefined","copyAndSpread","BoundsHelper","__updateFlowLayout","leaferIsCreated","flow","leafer","created","__updateContentBounds","padding","same","boxBounds","shrinkContent","shrinkContentCancel","secondLayout","pathInputed","__autoSide","__hasSurface","__extraUpdate","__updateRectBoxBounds","call","__autoSize","__updateNaturalSize"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/flow.js
CHANGED
|
@@ -529,9 +529,8 @@ this.LeaferIN.flow = (function (exports, draw) {
|
|
|
529
529
|
}
|
|
530
530
|
};
|
|
531
531
|
box.__updateBoxBounds = function (secondLayout) {
|
|
532
|
-
const data = this.__;
|
|
533
532
|
if (this.children.length && !this.pathInputed) {
|
|
534
|
-
const { flow } = data;
|
|
533
|
+
const data = this.__, { flow } = data;
|
|
535
534
|
if (data.__autoSide) {
|
|
536
535
|
if (data.__hasSurface)
|
|
537
536
|
this.__extraUpdate();
|
package/dist/flow.min.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var t=require("@leafer-ui/draw");function o(t,o,e,i){var n,h=arguments.length,r=h<3?o:null===i?i=Object.getOwnPropertyDescriptor(o,e):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,o,e,i);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(r=(h<3?n(r):h>3?n(o,e,r):n(o,e))||r);return h>3&&r&&Object.defineProperty(o,e,r),r}require("@leafer-in/resize"),"function"==typeof SuppressedError&&SuppressedError;class e extends t.BoxData{}exports.Flow=class extends t.Box{get __tag(){return"Flow"}constructor(t){super(t),this.__hasAutoLayout=!0}},o([t.dataProcessor(e)],exports.Flow.prototype,"__",void 0),o([t.autoLayoutType("x")],exports.Flow.prototype,"flow",void 0),exports.Flow=o([t.registerUI()],exports.Flow);const i={},n={"top-left":"from",top:"center","top-right":"to",right:"to","bottom-right":"to",bottom:"center","bottom-left":"from",left:"from",center:"center","baseline-left":"from","baseline-center":"center","baseline-right":"to"},h={"top-left":"from",top:"from","top-right":"from",right:"center","bottom-right":"to",bottom:"to","bottom-left":"to",left:"center",center:"center","baseline-left":"to","baseline-center":"to","baseline-right":"to"};function r(o,e,n){const h=o.__,{contentBounds:r}=o.__layout;t.AlignHelper.toPoint(n,e,r,i),e.x=h.__autoWidth?r.x:i.x,e.y=h.__autoHeight?r.y:i.y}const{move:s}=t.PointHelper;function a(t,o,e,i,n,h){const{children:r}=t;let a,l,{x:c,start:_}=o,u=i;c+=e;for(let t=0,e=o.count;t<e;t++)a=r[h?_-t:_+t],a.__.inFlow&&0!==a.__.visible?(l=a.__flowBounds,"from"!==n&&(u=i+(o.height-l.height)/("center"===n?2:1)),s(a,c-l.x,u-l.y),c+=l.width+o.gap):e++}function l(t,o,e){const i="width"===e?"height":"width";t[e]=Math.max(t[e],o[e]),t[i]+=t.count?o[i]+t.gap:o[i],t.list.push(o),t.count++}const c={};function _(t,o){const{gap:e,flowAlign:i,flowWrap:r,__autoWidth:s,__autoHeight:a}=t.__,l=r&&(o?!s:!a);return"object"==typeof e?(c.xGap=e.x||0,c.yGap=e.y||0):c.xGap=c.yGap=e,c.isAutoXGap="string"==typeof c.xGap&&!s,c.isAutoYGap="string"==typeof c.yGap&&!a,c.complex=l||"top-left"!==i||t.__hasGrow||c.isAutoXGap||c.isAutoYGap,c.wrap=l,c.complex&&(c.isFitXGap="fit"===c.xGap&&!s,c.isFitYGap="fit"===c.yGap&&!a,"object"==typeof i?(c.contentAlign=i.content||"top-left",c.rowXAlign=i.x||"from",c.rowYAlign=i.y||"from"):(c.contentAlign=i,c.rowXAlign=n[i],c.rowYAlign=h[i])),c}function u(t,o){return{x:0,y:0,width:0,height:0,gap:o,start:t,count:0,grow:0}}function d(t,o,e,i){const{count:n}=t;n>1&&(e>t[o]||i)&&(t.gap=(e-t[o])/(n-1),t[o]=e)}function p(t,o){return"box"===o?t.__local:t.__layout.localStrokeBounds}const{within:g}=t.MathHelper;function f(t,o,e,i){let n,h,r,s=0,a=o.hasRangeSize&&[],{grow:l,start:c}=o;const _=(e-o.width)/l,{children:u}=t;if(!(_<=0)){o.width=e;for(let t=0,e=o.count;t<e;t++)n=u[i?c-t:c+t],n.__.inFlow&&0!==n.__.visible?(h=n.__widthGrow)&&(r=w(n,n.__flowBounds,_*h),r?(s+=r,l-=h):a&&(n.__.widthRange?a.unshift(n):a.push(n))):e++;s&&function(t,o,e){let i,n,h,r;t.forEach((t=>{i=t.__widthGrow,n=o/e*i,r=w(t,h=t.__flowBounds,h.width+n),o-=n-r,e-=i}))}(a,s,l)}}function w(t,o,e){const{widthRange:i,lockRatio:n}=t.__,h=i?g(e,i):e,r=h/o.width;return t.scaleResize(r,n?r:1),o.width=h,e-h}const{within:y}=t.MathHelper;function x(t,o,e,i){let n,h,r,s=0,a=o.hasRangeSize&&[],{grow:l,start:c}=o;const _=(e-o.height)/l,{children:u}=t;if(!(_<=0)){o.height=e;for(let t=0,e=o.count;t<e;t++)n=u[i?c-t:c+t],n.__.inFlow&&0!==n.__.visible?(h=n.__heightGrow)&&(r=G(n,n.__flowBounds,_*h),r?(s+=r,l-=h):a&&(n.__.heightRange?a.unshift(n):a.push(n))):e++;s&&function(t,o,e){let i,n,h,r;t.forEach((t=>{i=t.__heightGrow,n=o/e*i,r=G(t,h=t.__flowBounds,h.height+n),o-=n-r,e-=i}))}(a,s,l)}}function G(t,o,e){const{heightRange:i,lockRatio:n}=t.__,h=i?y(e,i):e,r=h/o.height;return t.scaleResize(n?r:1,r),o.height=h,e-h}const{move:b}=t.PointHelper;function B(t,o){const e="width",{children:i,itemBox:h}=t,s=_(t,!0),{complex:c,wrap:g,xGap:w,yGap:y,isAutoXGap:x,isFitXGap:B}=s;if(!i.length)return;const A=g&&{x:0,y:0,width:0,height:0,gap:0,count:0,list:[]},m=x?0:w;let v,F,R,S,I,{x:z,y:H,width:U,height:X}=t.__layout.contentBounds;for(let n=0,r=i.length;n<r;n++)v=i[S=o?r-1-n:n],v.__.inFlow&&0!==v.__.visible&&(F=p(v,h),c?(v.__flowBounds=F,I||(I=u(S,m)),g&&I.count&&I.width+F.width>U&&(I.grow?f(t,I,U,o):x&&d(I,e,U,B),l(A,I,e),I=u(S,m)),R=F.width,v.__widthGrow&&(I.grow+=v.__widthGrow,R=0,v.__.widthRange&&(I.hasRangeSize=!0)),v.__heightGrow&&G(v,F,X),I.width+=I.count?R+m:R,I.height=Math.max(I.height,F.height),I.count++):(b(v,z-F.x,H-F.y),z+=F.width+m));if(c&&I){const{isAutoYGap:i,isFitYGap:h,contentAlign:c,rowXAlign:_,rowYAlign:u}=s;I.count&&(I.grow?f(t,I,U,o):x&&d(I,e,U,B),g&&l(A,I,e)),g?(i?d(A,"height",X,h):A.height+=(A.gap=y)*(A.list.length-1),function(t,o,e,i){r(t,o,e);const{list:h}=o;if(h.length>1&&(i||(i=n[e]),"from"!==i)){let t;for(let e=0,n=h.length;e<n;e++)t=h[e],t.x=o.width-t.width,"center"===i&&(t.x/=2)}}(t,A,c,_),function(t,o,e,i){const{list:n}=o,h="reverse"===t.__.flowWrap;let r,{x:s,y:l}=o;for(let c=0,_=n.length;c<_;c++)r=n[h?_-1-c:c],a(t,r,s,l,e,i),l+=r.height+o.gap}(t,A,u,o)):(r(t,I,c),a(t,I,0,I.y,u,o))}}const{move:A}=t.PointHelper;function m(t,o,e,i,n,h){const{children:r}=t;let s,a,{y:l,start:c}=o,_=e;l+=i;for(let t=0,i=o.count;t<i;t++)s=r[h?c-t:c+t],s.__.inFlow&&0!==s.__.visible?(a=s.__flowBounds,"from"!==n&&(_=e+(o.width-a.width)/("center"===n?2:1)),A(s,_-a.x,l-a.y),l+=a.height+o.gap):i++}const{move:v}=t.PointHelper;function F(t,o){const e="height",{children:i,itemBox:n}=t,s=_(t,!1),{complex:a,wrap:c,xGap:g,yGap:f,isAutoYGap:y,isFitYGap:G}=s;if(!i.length)return;const b=c&&{x:0,y:0,width:0,height:0,gap:0,count:0,list:[]},B=y?0:f;let A,F,R,S,I,{x:z,y:H,width:U,height:X}=t.__layout.contentBounds;for(let h=0,r=i.length;h<r;h++)A=i[S=o?r-1-h:h],A.__.inFlow&&0!==A.__.visible&&(F=p(A,n),a?(A.__flowBounds=F,I||(I=u(S,B)),c&&I.count&&I.height+F.height>X&&(I.grow&&x(t,I,X,o),y&&d(I,e,X,G),l(b,I,e),I=u(S,B)),R=F.height,A.__heightGrow&&(I.grow+=A.__heightGrow,R=0,A.__.heightRange&&(I.hasRangeSize=!0)),A.__widthGrow&&w(A,F,U),I.height+=I.count?R+B:R,I.width=Math.max(I.width,F.width),I.count++):(v(A,z-F.x,H-F.y),H+=F.height+B));if(a&&I){const{isAutoXGap:i,isFitXGap:n,contentAlign:a,rowXAlign:_,rowYAlign:u}=s;I.count&&(I.grow&&x(t,I,X,o),y&&d(I,e,X,G),c&&l(b,I,e)),c?(i?d(b,"width",U,n):b.width+=(b.gap=g)*(b.list.length-1),function(t,o,e,i){r(t,o,e);const{list:n}=o;if(n.length>1&&(i||(i=h[e]),"from"!==i)){let t;for(let e=0,h=n.length;e<h;e++)t=n[e],t.y=o.height-t.height,"center"===i&&(t.y/=2)}}(t,b,a,u),function(t,o,e,i){const{list:n}=o,h="reverse"===t.__.flowWrap;let r,{x:s,y:a}=o;for(let l=0,c=n.length;l<c;l++)r=n[h?c-1-l:l],m(t,r,s,a,e,i),s+=r.width+o.gap}(t,b,_,o)):(r(t,I,a),m(t,I,I.x,0,_,o))}}function R(o){return t.decorateLeafAttr(o,(o=>t.attr({set(e){const i="number"==typeof e?e:0;"autoWidth"===o?this.__widthGrow=i:this.__heightGrow=i,!i||this.parent&&this.parent.__hasGrow||this.waitParent((()=>{this.parent.__hasGrow=!0})),this.__setAttr(o,e)&&t.doBoundsType(this)}})))}t.Plugin.add("flow","resize");const S=t.Box.prototype,{__updateBoxBounds:I}=t.Group.prototype;t.UI.addAttr("flow",!1,t.autoLayoutType),t.UI.addAttr("gap",0,t.boundsType),t.UI.addAttr("flowAlign","top-left",t.boundsType),t.UI.addAttr("flowWrap",!1,t.boundsType),t.UI.addAttr("itemBox","box",t.boundsType),t.UI.addAttr("inFlow",!0,t.boundsType),t.UI.addAttr("autoWidth",void 0,R),t.UI.addAttr("autoHeight",void 0,R),t.UI.addAttr("autoBox",void 0,t.boundsType);const{copyAndSpread:z}=t.BoundsHelper;S.__updateFlowLayout=function(){const{leaferIsCreated:t,flow:o}=this;switch(t&&(this.leafer.created=!1),o){case"x":case!0:B(this);break;case"y":F(this);break;case"x-reverse":B(this,!0);break;case"y-reverse":F(this,!0)}t&&(this.leafer.created=!0)},S.__updateContentBounds=function(){const{padding:t}=this.__,o=this.__layout,e=o.contentBounds===o.boxBounds;t?(e&&o.shrinkContent(),z(o.contentBounds,o.boxBounds,t,!0)):e||o.shrinkContentCancel()},S.__updateBoxBounds=function(t){
|
|
1
|
+
"use strict";var t=require("@leafer-ui/draw");function o(t,o,e,i){var n,h=arguments.length,r=h<3?o:null===i?i=Object.getOwnPropertyDescriptor(o,e):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,o,e,i);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(r=(h<3?n(r):h>3?n(o,e,r):n(o,e))||r);return h>3&&r&&Object.defineProperty(o,e,r),r}require("@leafer-in/resize"),"function"==typeof SuppressedError&&SuppressedError;class e extends t.BoxData{}exports.Flow=class extends t.Box{get __tag(){return"Flow"}constructor(t){super(t),this.__hasAutoLayout=!0}},o([t.dataProcessor(e)],exports.Flow.prototype,"__",void 0),o([t.autoLayoutType("x")],exports.Flow.prototype,"flow",void 0),exports.Flow=o([t.registerUI()],exports.Flow);const i={},n={"top-left":"from",top:"center","top-right":"to",right:"to","bottom-right":"to",bottom:"center","bottom-left":"from",left:"from",center:"center","baseline-left":"from","baseline-center":"center","baseline-right":"to"},h={"top-left":"from",top:"from","top-right":"from",right:"center","bottom-right":"to",bottom:"to","bottom-left":"to",left:"center",center:"center","baseline-left":"to","baseline-center":"to","baseline-right":"to"};function r(o,e,n){const h=o.__,{contentBounds:r}=o.__layout;t.AlignHelper.toPoint(n,e,r,i),e.x=h.__autoWidth?r.x:i.x,e.y=h.__autoHeight?r.y:i.y}const{move:s}=t.PointHelper;function a(t,o,e,i,n,h){const{children:r}=t;let a,l,{x:c,start:_}=o,u=i;c+=e;for(let t=0,e=o.count;t<e;t++)a=r[h?_-t:_+t],a.__.inFlow&&0!==a.__.visible?(l=a.__flowBounds,"from"!==n&&(u=i+(o.height-l.height)/("center"===n?2:1)),s(a,c-l.x,u-l.y),c+=l.width+o.gap):e++}function l(t,o,e){const i="width"===e?"height":"width";t[e]=Math.max(t[e],o[e]),t[i]+=t.count?o[i]+t.gap:o[i],t.list.push(o),t.count++}const c={};function _(t,o){const{gap:e,flowAlign:i,flowWrap:r,__autoWidth:s,__autoHeight:a}=t.__,l=r&&(o?!s:!a);return"object"==typeof e?(c.xGap=e.x||0,c.yGap=e.y||0):c.xGap=c.yGap=e,c.isAutoXGap="string"==typeof c.xGap&&!s,c.isAutoYGap="string"==typeof c.yGap&&!a,c.complex=l||"top-left"!==i||t.__hasGrow||c.isAutoXGap||c.isAutoYGap,c.wrap=l,c.complex&&(c.isFitXGap="fit"===c.xGap&&!s,c.isFitYGap="fit"===c.yGap&&!a,"object"==typeof i?(c.contentAlign=i.content||"top-left",c.rowXAlign=i.x||"from",c.rowYAlign=i.y||"from"):(c.contentAlign=i,c.rowXAlign=n[i],c.rowYAlign=h[i])),c}function u(t,o){return{x:0,y:0,width:0,height:0,gap:o,start:t,count:0,grow:0}}function d(t,o,e,i){const{count:n}=t;n>1&&(e>t[o]||i)&&(t.gap=(e-t[o])/(n-1),t[o]=e)}function p(t,o){return"box"===o?t.__local:t.__layout.localStrokeBounds}const{within:g}=t.MathHelper;function f(t,o,e,i){let n,h,r,s=0,a=o.hasRangeSize&&[],{grow:l,start:c}=o;const _=(e-o.width)/l,{children:u}=t;if(!(_<=0)){o.width=e;for(let t=0,e=o.count;t<e;t++)n=u[i?c-t:c+t],n.__.inFlow&&0!==n.__.visible?(h=n.__widthGrow)&&(r=w(n,n.__flowBounds,_*h),r?(s+=r,l-=h):a&&(n.__.widthRange?a.unshift(n):a.push(n))):e++;s&&function(t,o,e){let i,n,h,r;t.forEach((t=>{i=t.__widthGrow,n=o/e*i,r=w(t,h=t.__flowBounds,h.width+n),o-=n-r,e-=i}))}(a,s,l)}}function w(t,o,e){const{widthRange:i,lockRatio:n}=t.__,h=i?g(e,i):e,r=h/o.width;return t.scaleResize(r,n?r:1),o.width=h,e-h}const{within:y}=t.MathHelper;function x(t,o,e,i){let n,h,r,s=0,a=o.hasRangeSize&&[],{grow:l,start:c}=o;const _=(e-o.height)/l,{children:u}=t;if(!(_<=0)){o.height=e;for(let t=0,e=o.count;t<e;t++)n=u[i?c-t:c+t],n.__.inFlow&&0!==n.__.visible?(h=n.__heightGrow)&&(r=G(n,n.__flowBounds,_*h),r?(s+=r,l-=h):a&&(n.__.heightRange?a.unshift(n):a.push(n))):e++;s&&function(t,o,e){let i,n,h,r;t.forEach((t=>{i=t.__heightGrow,n=o/e*i,r=G(t,h=t.__flowBounds,h.height+n),o-=n-r,e-=i}))}(a,s,l)}}function G(t,o,e){const{heightRange:i,lockRatio:n}=t.__,h=i?y(e,i):e,r=h/o.height;return t.scaleResize(n?r:1,r),o.height=h,e-h}const{move:b}=t.PointHelper;function B(t,o){const e="width",{children:i,itemBox:h}=t,s=_(t,!0),{complex:c,wrap:g,xGap:w,yGap:y,isAutoXGap:x,isFitXGap:B}=s;if(!i.length)return;const A=g&&{x:0,y:0,width:0,height:0,gap:0,count:0,list:[]},m=x?0:w;let v,F,R,S,I,{x:z,y:H,width:U,height:X}=t.__layout.contentBounds;for(let n=0,r=i.length;n<r;n++)v=i[S=o?r-1-n:n],v.__.inFlow&&0!==v.__.visible&&(F=p(v,h),c?(v.__flowBounds=F,I||(I=u(S,m)),g&&I.count&&I.width+F.width>U&&(I.grow?f(t,I,U,o):x&&d(I,e,U,B),l(A,I,e),I=u(S,m)),R=F.width,v.__widthGrow&&(I.grow+=v.__widthGrow,R=0,v.__.widthRange&&(I.hasRangeSize=!0)),v.__heightGrow&&G(v,F,X),I.width+=I.count?R+m:R,I.height=Math.max(I.height,F.height),I.count++):(b(v,z-F.x,H-F.y),z+=F.width+m));if(c&&I){const{isAutoYGap:i,isFitYGap:h,contentAlign:c,rowXAlign:_,rowYAlign:u}=s;I.count&&(I.grow?f(t,I,U,o):x&&d(I,e,U,B),g&&l(A,I,e)),g?(i?d(A,"height",X,h):A.height+=(A.gap=y)*(A.list.length-1),function(t,o,e,i){r(t,o,e);const{list:h}=o;if(h.length>1&&(i||(i=n[e]),"from"!==i)){let t;for(let e=0,n=h.length;e<n;e++)t=h[e],t.x=o.width-t.width,"center"===i&&(t.x/=2)}}(t,A,c,_),function(t,o,e,i){const{list:n}=o,h="reverse"===t.__.flowWrap;let r,{x:s,y:l}=o;for(let c=0,_=n.length;c<_;c++)r=n[h?_-1-c:c],a(t,r,s,l,e,i),l+=r.height+o.gap}(t,A,u,o)):(r(t,I,c),a(t,I,0,I.y,u,o))}}const{move:A}=t.PointHelper;function m(t,o,e,i,n,h){const{children:r}=t;let s,a,{y:l,start:c}=o,_=e;l+=i;for(let t=0,i=o.count;t<i;t++)s=r[h?c-t:c+t],s.__.inFlow&&0!==s.__.visible?(a=s.__flowBounds,"from"!==n&&(_=e+(o.width-a.width)/("center"===n?2:1)),A(s,_-a.x,l-a.y),l+=a.height+o.gap):i++}const{move:v}=t.PointHelper;function F(t,o){const e="height",{children:i,itemBox:n}=t,s=_(t,!1),{complex:a,wrap:c,xGap:g,yGap:f,isAutoYGap:y,isFitYGap:G}=s;if(!i.length)return;const b=c&&{x:0,y:0,width:0,height:0,gap:0,count:0,list:[]},B=y?0:f;let A,F,R,S,I,{x:z,y:H,width:U,height:X}=t.__layout.contentBounds;for(let h=0,r=i.length;h<r;h++)A=i[S=o?r-1-h:h],A.__.inFlow&&0!==A.__.visible&&(F=p(A,n),a?(A.__flowBounds=F,I||(I=u(S,B)),c&&I.count&&I.height+F.height>X&&(I.grow&&x(t,I,X,o),y&&d(I,e,X,G),l(b,I,e),I=u(S,B)),R=F.height,A.__heightGrow&&(I.grow+=A.__heightGrow,R=0,A.__.heightRange&&(I.hasRangeSize=!0)),A.__widthGrow&&w(A,F,U),I.height+=I.count?R+B:R,I.width=Math.max(I.width,F.width),I.count++):(v(A,z-F.x,H-F.y),H+=F.height+B));if(a&&I){const{isAutoXGap:i,isFitXGap:n,contentAlign:a,rowXAlign:_,rowYAlign:u}=s;I.count&&(I.grow&&x(t,I,X,o),y&&d(I,e,X,G),c&&l(b,I,e)),c?(i?d(b,"width",U,n):b.width+=(b.gap=g)*(b.list.length-1),function(t,o,e,i){r(t,o,e);const{list:n}=o;if(n.length>1&&(i||(i=h[e]),"from"!==i)){let t;for(let e=0,h=n.length;e<h;e++)t=n[e],t.y=o.height-t.height,"center"===i&&(t.y/=2)}}(t,b,a,u),function(t,o,e,i){const{list:n}=o,h="reverse"===t.__.flowWrap;let r,{x:s,y:a}=o;for(let l=0,c=n.length;l<c;l++)r=n[h?c-1-l:l],m(t,r,s,a,e,i),s+=r.width+o.gap}(t,b,_,o)):(r(t,I,a),m(t,I,I.x,0,_,o))}}function R(o){return t.decorateLeafAttr(o,(o=>t.attr({set(e){const i="number"==typeof e?e:0;"autoWidth"===o?this.__widthGrow=i:this.__heightGrow=i,!i||this.parent&&this.parent.__hasGrow||this.waitParent((()=>{this.parent.__hasGrow=!0})),this.__setAttr(o,e)&&t.doBoundsType(this)}})))}t.Plugin.add("flow","resize");const S=t.Box.prototype,{__updateBoxBounds:I}=t.Group.prototype;t.UI.addAttr("flow",!1,t.autoLayoutType),t.UI.addAttr("gap",0,t.boundsType),t.UI.addAttr("flowAlign","top-left",t.boundsType),t.UI.addAttr("flowWrap",!1,t.boundsType),t.UI.addAttr("itemBox","box",t.boundsType),t.UI.addAttr("inFlow",!0,t.boundsType),t.UI.addAttr("autoWidth",void 0,R),t.UI.addAttr("autoHeight",void 0,R),t.UI.addAttr("autoBox",void 0,t.boundsType);const{copyAndSpread:z}=t.BoundsHelper;S.__updateFlowLayout=function(){const{leaferIsCreated:t,flow:o}=this;switch(t&&(this.leafer.created=!1),o){case"x":case!0:B(this);break;case"y":F(this);break;case"x-reverse":B(this,!0);break;case"y-reverse":F(this,!0)}t&&(this.leafer.created=!0)},S.__updateContentBounds=function(){const{padding:t}=this.__,o=this.__layout,e=o.contentBounds===o.boxBounds;t?(e&&o.shrinkContent(),z(o.contentBounds,o.boxBounds,t,!0)):e||o.shrinkContentCancel()},S.__updateBoxBounds=function(t){if(this.children.length&&!this.pathInputed){const o=this.__,{flow:e}=o;if(o.__autoSide){o.__hasSurface&&this.__extraUpdate(),e&&!t?this.__updateRectBoxBounds():I.call(this);const{boxBounds:i}=this.__layout;o.__autoSize||(o.__autoWidth?(e||(i.width+=i.x,i.x=0),i.height=o.height,i.y=0):(e||(i.height+=i.y,i.y=0),i.width=o.width,i.x=0)),e&&t&&o.padding&&z(i,i,o.padding,!1,o.__autoSize?null:o.__autoWidth?"width":"height"),this.__updateNaturalSize()}else this.__updateRectBoxBounds();e&&this.__updateContentBounds()}else this.__updateRectBoxBounds()};
|
|
2
2
|
//# sourceMappingURL=flow.min.cjs.map
|
package/dist/flow.min.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow.min.cjs","sources":["../../../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.34.6_tslib@2.8.1_typescript@5.7.3/node_modules/tslib/tslib.es6.js","../../../../../../src/in/packages/flow/src/data/FlowData.ts","../../../../../../src/in/packages/flow/src/Flow.ts","../../../../../../src/in/packages/flow/src/layout/common/align.ts","../../../../../../src/in/packages/flow/src/layout/x/layout.ts","../../../../../../src/in/packages/flow/src/layout/common/wrap.ts","../../../../../../src/in/packages/flow/src/layout/common/data.ts","../../../../../../src/in/packages/flow/src/layout/common/gap.ts","../../../../../../src/in/packages/flow/src/layout/common/bounds.ts","../../../../../../src/in/packages/flow/src/layout/x/grow.ts","../../../../../../src/in/packages/flow/src/layout/y/grow.ts","../../../../../../src/in/packages/flow/src/layout/flowX.ts","../../../../../../src/in/packages/flow/src/layout/x/align.ts","../../../../../../src/in/packages/flow/src/layout/y/layout.ts","../../../../../../src/in/packages/flow/src/layout/flowY.ts","../../../../../../src/in/packages/flow/src/layout/y/align.ts","../../../../../../src/in/packages/flow/src/decorate.ts","../../../../../../src/in/packages/flow/src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { IFlowData } from \"@leafer-ui/interface\"\nimport { BoxData } from '@leafer-ui/draw'\n\n\nexport class FlowData extends BoxData implements IFlowData {\n\n}\n","import { IFlow, IFlowData, IFlowInputData, IFlowType } from '@leafer-ui/interface'\nimport { registerUI, dataProcessor, Box, autoLayoutType } from '@leafer-ui/draw'\n\nimport { FlowData } from './data/FlowData'\n\n\n@registerUI()\nexport class Flow extends Box implements IFlow {\n\n public get __tag() { return 'Flow' }\n\n @dataProcessor(FlowData)\n declare public __: IFlowData\n\n @autoLayoutType('x')\n declare public flow?: IFlowType\n\n constructor(data?: IFlowInputData) {\n super(data)\n this.__hasAutoLayout = true\n }\n\n}","import { IBoundsData, IBox, IFlowAlign, IPointData } from '@leafer-ui/interface'\nimport { AlignHelper } from '@leafer-ui/draw'\n\nimport { IFlowAlignToAxisAlignMap } from '@leafer-in/interface'\n\n\nconst point = {} as IPointData\n\nexport const alignToInnerXMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'center',\n 'top-right': 'to',\n 'right': 'to',\n 'bottom-right': 'to',\n 'bottom': 'center',\n 'bottom-left': 'from',\n 'left': 'from',\n 'center': 'center',\n 'baseline-left': 'from',\n 'baseline-center': 'center',\n 'baseline-right': 'to',\n}\n\nexport const alignToInnerYMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'from',\n 'top-right': 'from',\n 'right': 'center',\n 'bottom-right': 'to',\n 'bottom': 'to',\n 'bottom-left': 'to',\n 'left': 'center',\n 'center': 'center',\n 'baseline-left': 'to',\n 'baseline-center': 'to',\n 'baseline-right': 'to',\n}\n\nexport function alignContent(box: IBox, content: IBoundsData, align: IFlowAlign): void {\n const data = box.__\n const { contentBounds } = box.__layout\n AlignHelper.toPoint(align as any, content, contentBounds, point)\n content.x = data.__autoWidth ? contentBounds.x : point.x\n content.y = data.__autoHeight ? contentBounds.y : point.y\n}","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\n\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowYAlign?: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutX(box, row, x, y, rowYAlign, reverse)\n y += row.height + data.gap\n }\n}\n\nexport function layoutX(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowYAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { x, start } = row, y = fromY\n x += fromX\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowYAlign !== 'from') y = fromY + (row.height - local.height) / (rowYAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + row.gap\n } else {\n end++\n }\n }\n}","import { IFlowWrapDrawData, IFlowDrawData, ISide } from '@leafer-in/interface'\n\n\nexport function flowWrap(wrapData: IFlowWrapDrawData, data: IFlowDrawData, wrapSide: ISide): void {\n const otherSide = wrapSide === 'width' ? 'height' : 'width'\n wrapData[wrapSide] = Math.max(wrapData[wrapSide], data[wrapSide])\n wrapData[otherSide] += wrapData.count ? data[otherSide] + wrapData.gap : data[otherSide]\n wrapData.list.push(data)\n wrapData.count++\n}\n","import { IBox } from '@leafer-ui/interface'\n\nimport { IFlowWrapDrawData, IFlowDrawData, IFlowParseData } from '@leafer-in/interface'\n\nimport { alignToInnerXMap, alignToInnerYMap } from './align'\n\nconst p = {} as IFlowParseData\n\nexport function getParseData(box: IBox, isFlowX: boolean): IFlowParseData {\n const { gap, flowAlign: align, flowWrap: wrap, __autoWidth, __autoHeight } = box.__\n const needWrap = wrap && (isFlowX ? !__autoWidth : !__autoHeight)\n\n if (typeof gap === 'object') {\n p.xGap = gap.x || 0\n p.yGap = gap.y || 0\n } else {\n p.xGap = p.yGap = gap\n }\n\n p.isAutoXGap = typeof p.xGap === 'string' && !__autoWidth\n p.isAutoYGap = typeof p.yGap === 'string' && !__autoHeight\n\n p.complex = needWrap || align !== 'top-left' || box.__hasGrow || p.isAutoXGap || p.isAutoYGap\n p.wrap = needWrap\n\n if (p.complex) {\n p.isFitXGap = p.xGap === 'fit' && !__autoWidth\n p.isFitYGap = p.yGap === 'fit' && !__autoHeight\n\n if (typeof align === 'object') {\n p.contentAlign = align.content || 'top-left'\n p.rowXAlign = align.x || 'from'\n p.rowYAlign = align.y || 'from'\n } else {\n p.contentAlign = align\n p.rowXAlign = alignToInnerXMap[align]\n p.rowYAlign = alignToInnerYMap[align]\n }\n\n }\n\n return p\n}\n\nexport function getDrawData(start: number, gap: number): IFlowDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap, start, count: 0, grow: 0 }\n}\n\nexport function getWrapDrawData(): IFlowWrapDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap: 0, count: 0, list: [] }\n}","import { IGapBoundsData, ISide } from '@leafer-in/interface'\n\n\nexport function autoGap(data: IGapBoundsData, side: ISide, sideTotal: number, fit: boolean): void {\n const { count } = data\n if (count > 1 && (sideTotal > data[side] || fit)) {\n data.gap = (sideTotal - data[side]) / (count - 1)\n data[side] = sideTotal\n }\n}","import { IBoundsData, IBoundsType, IUI } from '@leafer-ui/interface'\n\nexport function getItemBounds(child: IUI, itemBox: IBoundsType): IBoundsData {\n return itemBox === 'box' ? child.__local : child.__layout.localStrokeBounds\n\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growX(box: IBox, row: IFlowDrawData, width: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = (width - row.width) / totalGrow, { children } = box\n if (growSize <= 0) return\n\n row.width = width\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__widthGrow) {\n remainSpace = resizeWidth(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.widthRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__widthGrow\n space = totalSpace / countGrow * grow\n remain = resizeWidth(child, local = child.__flowBounds, local.width + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeWidth(child: IUI, local: IBoundsData, size: number): number {\n const { widthRange, lockRatio } = child.__\n const realSize = widthRange ? within(size, widthRange) : size\n const scale = realSize / local.width\n child.scaleResize(scale, lockRatio ? scale : 1)\n local.width = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growY(box: IBox, row: IFlowDrawData, height: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = (height - row.height) / totalGrow, { children } = box\n if (growSize <= 0) return\n\n row.height = height\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__heightGrow) {\n remainSpace = resizeHeight(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.heightRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__heightGrow\n space = totalSpace / countGrow * grow\n remain = resizeHeight(child, local = child.__flowBounds, local.height + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeHeight(child: IUI, local: IBoundsData, size: number): number {\n const { heightRange, lockRatio } = child.__\n const realSize = heightRange ? within(size, heightRange) : size\n const scale = realSize / local.height\n child.scaleResize(lockRatio ? scale : 1, scale)\n local.height = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './x/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutX } from './x/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growX } from './x/grow'\nimport { resizeHeight } from './y/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowX(box: IBox, reverse?: boolean): void {\n const side = 'width', { children, itemBox } = box, pData = getParseData(box, true)\n const { complex, wrap, xGap, yGap, isAutoXGap, isFitXGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), xGapTempNum = isAutoXGap ? 0 : xGap as number\n let child: IUI, local: IBoundsData, localWidth: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, xGapTempNum)\n\n if (wrap && data.count && data.width + local.width > width) {\n\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, xGapTempNum)\n }\n\n localWidth = local.width\n\n if (child.__widthGrow) {\n data.grow += child.__widthGrow, localWidth = 0\n if (child.__.widthRange) data.hasRangeSize = true\n }\n\n if (child.__heightGrow) resizeHeight(child, local, height)\n\n data.width += data.count ? localWidth + xGapTempNum : localWidth\n data.height = Math.max(data.height, local.height)\n data.count++\n\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + xGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoYGap, isFitYGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (isAutoYGap) autoGap(wrapData, 'height', height, isFitYGap)\n else wrapData.height += (wrapData.gap = yGap as number) * (wrapData.list.length - 1)\n\n align(box, wrapData, contentAlign, rowXAlign)\n layout(box, wrapData, rowYAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutX(box, data, 0, data.y, rowYAlign, reverse)\n\n }\n\n }\n}","import { IBox, IFlowAlign, IAxisAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerXMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, innerXAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!innerXAlign) innerXAlign = alignToInnerXMap[contentAlign]\n\n if (innerXAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.x = data.width - row.width\n if (innerXAlign === 'center') row.x /= 2\n }\n\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutY(box, row, x, y, rowXAlign, reverse)\n x += row.width + data.gap\n }\n}\n\nexport function layoutY(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { y, start } = row, x = fromX\n y += fromY\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowXAlign !== 'from') x = fromX + (row.width - local.width) / (rowXAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + row.gap\n } else {\n end++\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './y/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutY } from './y/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growY } from './y/grow'\nimport { resizeWidth } from './x/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowY(box: IBox, reverse?: boolean): void {\n const side = 'height', { children, itemBox } = box, pData = getParseData(box, false)\n const { complex, wrap, xGap, yGap, isAutoYGap, isFitYGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), yGapTempNum = isAutoYGap ? 0 : yGap as number\n let child: IUI, local: IBoundsData, localHeight: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, yGapTempNum)\n\n if (wrap && data.count && data.height + local.height > height) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, yGapTempNum)\n }\n\n localHeight = local.height\n\n if (child.__heightGrow) {\n data.grow += child.__heightGrow, localHeight = 0\n if (child.__.heightRange) data.hasRangeSize = true\n }\n\n if (child.__widthGrow) resizeWidth(child, local, width)\n\n data.height += data.count ? localHeight + yGapTempNum : localHeight\n data.width = Math.max(data.width, local.width)\n data.count++\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + yGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoXGap, isFitXGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (isAutoXGap) autoGap(wrapData, 'width', width, isFitXGap)\n else wrapData.width += (wrapData.gap = xGap as number) * (wrapData.list.length - 1)\n\n align(box, wrapData, contentAlign, rowYAlign)\n layout(box, wrapData, rowXAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutY(box, data, data.x, 0, rowXAlign, reverse)\n\n }\n\n }\n}","import { IAxisAlign, IBox, IFlowAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerYMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, rowYAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!rowYAlign) rowYAlign = alignToInnerYMap[contentAlign]\n\n if (rowYAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.y = data.height - row.height\n if (rowYAlign === 'center') row.y /= 2\n }\n\n }\n }\n}\n\n","import { attr, decorateLeafAttr, doBoundsType } from '@leafer-ui/draw'\nimport { IValue } from '@leafer/interface'\n\n\nexport function autoBoundsType(defaultValue?: IValue) {\n return decorateLeafAttr(defaultValue, (key: string) => attr({\n set(value: IValue) {\n const grow = typeof value === 'number' ? value : 0\n key === 'autoWidth' ? this.__widthGrow = grow : this.__heightGrow = grow\n if (grow && !(this.parent && this.parent.__hasGrow)) this.waitParent(() => { this.parent.__hasGrow = true }) // 需要优化, 移入到其他容器中的时候也需要优化\n this.__setAttr(key, value) && doBoundsType(this)\n }\n }))\n}","export { Flow } from './Flow'\n\n\nimport { BoundsHelper, Box, Group, UI, autoLayoutType, boundsType, Plugin } from '@leafer-ui/draw'\n\nimport '@leafer-in/resize'\n\nimport { flowX } from './layout/flowX'\nimport { flowY } from './layout/flowY'\nimport { autoBoundsType } from './decorate'\n\n\nPlugin.add('flow', 'resize')\n\n\nconst box = Box.prototype, { __updateBoxBounds } = Group.prototype\n\n// addAttr\nUI.addAttr('flow', false, autoLayoutType)\nUI.addAttr('gap', 0, boundsType)\nUI.addAttr('flowAlign', 'top-left', boundsType)\nUI.addAttr('flowWrap', false, boundsType)\n\nUI.addAttr('itemBox', 'box', boundsType)\nUI.addAttr('inFlow', true, boundsType)\n\nUI.addAttr('autoWidth', undefined, autoBoundsType)\nUI.addAttr('autoHeight', undefined, autoBoundsType)\nUI.addAttr('autoBox', undefined, boundsType)\n\n\nconst { copyAndSpread } = BoundsHelper\n\nbox.__updateFlowLayout = function (): void {\n const { leaferIsCreated, flow } = this\n\n if (leaferIsCreated) this.leafer.created = false // 拦截布局更新通知,进行手动更新布局\n\n switch (flow) {\n case 'x':\n case true:\n flowX(this)\n break\n case 'y':\n flowY(this)\n break\n case 'x-reverse':\n flowX(this, true)\n break\n case 'y-reverse':\n flowY(this, true)\n break\n }\n\n if (leaferIsCreated) this.leafer.created = true\n}\n\nbox.__updateContentBounds = function (): void {\n const { padding } = this.__\n const layout = this.__layout\n const same = layout.contentBounds === layout.boxBounds\n\n if (padding) {\n if (same) layout.shrinkContent()\n copyAndSpread(layout.contentBounds, layout.boxBounds, padding, true)\n } else {\n if (!same) layout.shrinkContentCancel()\n }\n}\n\nbox.__updateBoxBounds = function (secondLayout?: boolean): void { // autoSide且自动布局时需要二次布局\n const data = this.__\n\n if (this.children.length && !this.pathInputed) {\n\n const { flow } = data\n\n if (data.__autoSide) {\n\n if (data.__hasSurface) this.__extraUpdate() // Box自身存在样式,需要额外更新\n\n flow && !secondLayout ? this.__updateRectBoxBounds() : __updateBoxBounds.call(this)\n\n const { boxBounds } = this.__layout\n\n if (!data.__autoSize) {\n if (data.__autoWidth) {\n if (!flow) boxBounds.width += boxBounds.x, boxBounds.x = 0\n boxBounds.height = data.height, boxBounds.y = 0\n } else {\n if (!flow) boxBounds.height += boxBounds.y, boxBounds.y = 0\n boxBounds.width = data.width, boxBounds.x = 0\n }\n }\n\n flow && secondLayout && data.padding && copyAndSpread(boxBounds, boxBounds, data.padding, false, data.__autoSize ? null : (data.__autoWidth ? 'width' : 'height'))\n\n this.__updateNaturalSize()\n\n } else {\n this.__updateRectBoxBounds()\n }\n\n if (flow) this.__updateContentBounds()\n\n } else {\n this.__updateRectBoxBounds()\n }\n}"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","SuppressedError","FlowData","BoxData","Flow","Box","__tag","constructor","data","super","this","__hasAutoLayout","dataProcessor","prototype","autoLayoutType","registerUI","point","alignToInnerXMap","top","right","bottom","left","center","alignToInnerYMap","alignContent","box","content","align","__","contentBounds","__layout","AlignHelper","toPoint","x","__autoWidth","y","__autoHeight","move","PointHelper","layoutX","row","fromX","fromY","rowYAlign","reverse","children","child","local","start","j","end","count","inFlow","visible","__flowBounds","height","width","gap","flowWrap","wrapData","wrapSide","otherSide","Math","max","list","push","p","getParseData","isFlowX","flowAlign","wrap","needWrap","xGap","yGap","isAutoXGap","isAutoYGap","complex","__hasGrow","isFitXGap","isFitYGap","contentAlign","rowXAlign","getDrawData","grow","autoGap","side","sideTotal","fit","getItemBounds","itemBox","__local","localStrokeBounds","within","MathHelper","growX","remainSpace","remainTotalSpace","hasRangeSize","totalGrow","growSize","__widthGrow","resizeWidth","widthRange","unshift","totalSpace","countGrow","space","remain","forEach","assignRemainSpace","size","lockRatio","realSize","scale","scaleResize","growY","__heightGrow","resizeHeight","heightRange","flowX","pData","xGapTempNum","localWidth","index","len","innerXAlign","reverseWrap","layout","layoutY","flowY","yGapTempNum","localHeight","autoBoundsType","defaultValue","decorateLeafAttr","attr","set","value","parent","waitParent","__setAttr","doBoundsType","Plugin","add","__updateBoxBounds","Group","UI","addAttr","boundsType","undefined","copyAndSpread","BoundsHelper","__updateFlowLayout","leaferIsCreated","flow","leafer","created","__updateContentBounds","padding","same","boxBounds","shrinkContent","shrinkContentCancel","secondLayout","pathInputed","__autoSide","__hasSurface","__extraUpdate","__updateRectBoxBounds","call","__autoSize","__updateNaturalSize"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"flow.min.cjs","sources":["../../../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.34.6_tslib@2.8.1_typescript@5.7.3/node_modules/tslib/tslib.es6.js","../../../../../../src/in/packages/flow/src/data/FlowData.ts","../../../../../../src/in/packages/flow/src/Flow.ts","../../../../../../src/in/packages/flow/src/layout/common/align.ts","../../../../../../src/in/packages/flow/src/layout/x/layout.ts","../../../../../../src/in/packages/flow/src/layout/common/wrap.ts","../../../../../../src/in/packages/flow/src/layout/common/data.ts","../../../../../../src/in/packages/flow/src/layout/common/gap.ts","../../../../../../src/in/packages/flow/src/layout/common/bounds.ts","../../../../../../src/in/packages/flow/src/layout/x/grow.ts","../../../../../../src/in/packages/flow/src/layout/y/grow.ts","../../../../../../src/in/packages/flow/src/layout/flowX.ts","../../../../../../src/in/packages/flow/src/layout/x/align.ts","../../../../../../src/in/packages/flow/src/layout/y/layout.ts","../../../../../../src/in/packages/flow/src/layout/flowY.ts","../../../../../../src/in/packages/flow/src/layout/y/align.ts","../../../../../../src/in/packages/flow/src/decorate.ts","../../../../../../src/in/packages/flow/src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { IFlowData } from \"@leafer-ui/interface\"\nimport { BoxData } from '@leafer-ui/draw'\n\n\nexport class FlowData extends BoxData implements IFlowData {\n\n}\n","import { IFlow, IFlowData, IFlowInputData, IFlowType } from '@leafer-ui/interface'\nimport { registerUI, dataProcessor, Box, autoLayoutType } from '@leafer-ui/draw'\n\nimport { FlowData } from './data/FlowData'\n\n\n@registerUI()\nexport class Flow extends Box implements IFlow {\n\n public get __tag() { return 'Flow' }\n\n @dataProcessor(FlowData)\n declare public __: IFlowData\n\n @autoLayoutType('x')\n declare public flow?: IFlowType\n\n constructor(data?: IFlowInputData) {\n super(data)\n this.__hasAutoLayout = true\n }\n\n}","import { IBoundsData, IBox, IFlowAlign, IPointData } from '@leafer-ui/interface'\nimport { AlignHelper } from '@leafer-ui/draw'\n\nimport { IFlowAlignToAxisAlignMap } from '@leafer-in/interface'\n\n\nconst point = {} as IPointData\n\nexport const alignToInnerXMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'center',\n 'top-right': 'to',\n 'right': 'to',\n 'bottom-right': 'to',\n 'bottom': 'center',\n 'bottom-left': 'from',\n 'left': 'from',\n 'center': 'center',\n 'baseline-left': 'from',\n 'baseline-center': 'center',\n 'baseline-right': 'to',\n}\n\nexport const alignToInnerYMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'from',\n 'top-right': 'from',\n 'right': 'center',\n 'bottom-right': 'to',\n 'bottom': 'to',\n 'bottom-left': 'to',\n 'left': 'center',\n 'center': 'center',\n 'baseline-left': 'to',\n 'baseline-center': 'to',\n 'baseline-right': 'to',\n}\n\nexport function alignContent(box: IBox, content: IBoundsData, align: IFlowAlign): void {\n const data = box.__\n const { contentBounds } = box.__layout\n AlignHelper.toPoint(align as any, content, contentBounds, point)\n content.x = data.__autoWidth ? contentBounds.x : point.x\n content.y = data.__autoHeight ? contentBounds.y : point.y\n}","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\n\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowYAlign?: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutX(box, row, x, y, rowYAlign, reverse)\n y += row.height + data.gap\n }\n}\n\nexport function layoutX(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowYAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { x, start } = row, y = fromY\n x += fromX\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowYAlign !== 'from') y = fromY + (row.height - local.height) / (rowYAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + row.gap\n } else {\n end++\n }\n }\n}","import { IFlowWrapDrawData, IFlowDrawData, ISide } from '@leafer-in/interface'\n\n\nexport function flowWrap(wrapData: IFlowWrapDrawData, data: IFlowDrawData, wrapSide: ISide): void {\n const otherSide = wrapSide === 'width' ? 'height' : 'width'\n wrapData[wrapSide] = Math.max(wrapData[wrapSide], data[wrapSide])\n wrapData[otherSide] += wrapData.count ? data[otherSide] + wrapData.gap : data[otherSide]\n wrapData.list.push(data)\n wrapData.count++\n}\n","import { IBox } from '@leafer-ui/interface'\n\nimport { IFlowWrapDrawData, IFlowDrawData, IFlowParseData } from '@leafer-in/interface'\n\nimport { alignToInnerXMap, alignToInnerYMap } from './align'\n\nconst p = {} as IFlowParseData\n\nexport function getParseData(box: IBox, isFlowX: boolean): IFlowParseData {\n const { gap, flowAlign: align, flowWrap: wrap, __autoWidth, __autoHeight } = box.__\n const needWrap = wrap && (isFlowX ? !__autoWidth : !__autoHeight)\n\n if (typeof gap === 'object') {\n p.xGap = gap.x || 0\n p.yGap = gap.y || 0\n } else {\n p.xGap = p.yGap = gap\n }\n\n p.isAutoXGap = typeof p.xGap === 'string' && !__autoWidth\n p.isAutoYGap = typeof p.yGap === 'string' && !__autoHeight\n\n p.complex = needWrap || align !== 'top-left' || box.__hasGrow || p.isAutoXGap || p.isAutoYGap\n p.wrap = needWrap\n\n if (p.complex) {\n p.isFitXGap = p.xGap === 'fit' && !__autoWidth\n p.isFitYGap = p.yGap === 'fit' && !__autoHeight\n\n if (typeof align === 'object') {\n p.contentAlign = align.content || 'top-left'\n p.rowXAlign = align.x || 'from'\n p.rowYAlign = align.y || 'from'\n } else {\n p.contentAlign = align\n p.rowXAlign = alignToInnerXMap[align]\n p.rowYAlign = alignToInnerYMap[align]\n }\n\n }\n\n return p\n}\n\nexport function getDrawData(start: number, gap: number): IFlowDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap, start, count: 0, grow: 0 }\n}\n\nexport function getWrapDrawData(): IFlowWrapDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap: 0, count: 0, list: [] }\n}","import { IGapBoundsData, ISide } from '@leafer-in/interface'\n\n\nexport function autoGap(data: IGapBoundsData, side: ISide, sideTotal: number, fit: boolean): void {\n const { count } = data\n if (count > 1 && (sideTotal > data[side] || fit)) {\n data.gap = (sideTotal - data[side]) / (count - 1)\n data[side] = sideTotal\n }\n}","import { IBoundsData, IBoundsType, IUI } from '@leafer-ui/interface'\n\nexport function getItemBounds(child: IUI, itemBox: IBoundsType): IBoundsData {\n return itemBox === 'box' ? child.__local : child.__layout.localStrokeBounds\n\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growX(box: IBox, row: IFlowDrawData, width: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = (width - row.width) / totalGrow, { children } = box\n if (growSize <= 0) return\n\n row.width = width\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__widthGrow) {\n remainSpace = resizeWidth(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.widthRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__widthGrow\n space = totalSpace / countGrow * grow\n remain = resizeWidth(child, local = child.__flowBounds, local.width + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeWidth(child: IUI, local: IBoundsData, size: number): number {\n const { widthRange, lockRatio } = child.__\n const realSize = widthRange ? within(size, widthRange) : size\n const scale = realSize / local.width\n child.scaleResize(scale, lockRatio ? scale : 1)\n local.width = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growY(box: IBox, row: IFlowDrawData, height: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = (height - row.height) / totalGrow, { children } = box\n if (growSize <= 0) return\n\n row.height = height\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__heightGrow) {\n remainSpace = resizeHeight(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.heightRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__heightGrow\n space = totalSpace / countGrow * grow\n remain = resizeHeight(child, local = child.__flowBounds, local.height + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeHeight(child: IUI, local: IBoundsData, size: number): number {\n const { heightRange, lockRatio } = child.__\n const realSize = heightRange ? within(size, heightRange) : size\n const scale = realSize / local.height\n child.scaleResize(lockRatio ? scale : 1, scale)\n local.height = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './x/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutX } from './x/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growX } from './x/grow'\nimport { resizeHeight } from './y/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowX(box: IBox, reverse?: boolean): void {\n const side = 'width', { children, itemBox } = box, pData = getParseData(box, true)\n const { complex, wrap, xGap, yGap, isAutoXGap, isFitXGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), xGapTempNum = isAutoXGap ? 0 : xGap as number\n let child: IUI, local: IBoundsData, localWidth: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, xGapTempNum)\n\n if (wrap && data.count && data.width + local.width > width) {\n\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, xGapTempNum)\n }\n\n localWidth = local.width\n\n if (child.__widthGrow) {\n data.grow += child.__widthGrow, localWidth = 0\n if (child.__.widthRange) data.hasRangeSize = true\n }\n\n if (child.__heightGrow) resizeHeight(child, local, height)\n\n data.width += data.count ? localWidth + xGapTempNum : localWidth\n data.height = Math.max(data.height, local.height)\n data.count++\n\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + xGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoYGap, isFitYGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (isAutoYGap) autoGap(wrapData, 'height', height, isFitYGap)\n else wrapData.height += (wrapData.gap = yGap as number) * (wrapData.list.length - 1)\n\n align(box, wrapData, contentAlign, rowXAlign)\n layout(box, wrapData, rowYAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutX(box, data, 0, data.y, rowYAlign, reverse)\n\n }\n\n }\n}","import { IBox, IFlowAlign, IAxisAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerXMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, innerXAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!innerXAlign) innerXAlign = alignToInnerXMap[contentAlign]\n\n if (innerXAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.x = data.width - row.width\n if (innerXAlign === 'center') row.x /= 2\n }\n\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutY(box, row, x, y, rowXAlign, reverse)\n x += row.width + data.gap\n }\n}\n\nexport function layoutY(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { y, start } = row, x = fromX\n y += fromY\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowXAlign !== 'from') x = fromX + (row.width - local.width) / (rowXAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + row.gap\n } else {\n end++\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './y/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutY } from './y/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growY } from './y/grow'\nimport { resizeWidth } from './x/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowY(box: IBox, reverse?: boolean): void {\n const side = 'height', { children, itemBox } = box, pData = getParseData(box, false)\n const { complex, wrap, xGap, yGap, isAutoYGap, isFitYGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), yGapTempNum = isAutoYGap ? 0 : yGap as number\n let child: IUI, local: IBoundsData, localHeight: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, yGapTempNum)\n\n if (wrap && data.count && data.height + local.height > height) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, yGapTempNum)\n }\n\n localHeight = local.height\n\n if (child.__heightGrow) {\n data.grow += child.__heightGrow, localHeight = 0\n if (child.__.heightRange) data.hasRangeSize = true\n }\n\n if (child.__widthGrow) resizeWidth(child, local, width)\n\n data.height += data.count ? localHeight + yGapTempNum : localHeight\n data.width = Math.max(data.width, local.width)\n data.count++\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + yGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoXGap, isFitXGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (isAutoXGap) autoGap(wrapData, 'width', width, isFitXGap)\n else wrapData.width += (wrapData.gap = xGap as number) * (wrapData.list.length - 1)\n\n align(box, wrapData, contentAlign, rowYAlign)\n layout(box, wrapData, rowXAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutY(box, data, data.x, 0, rowXAlign, reverse)\n\n }\n\n }\n}","import { IAxisAlign, IBox, IFlowAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerYMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, rowYAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!rowYAlign) rowYAlign = alignToInnerYMap[contentAlign]\n\n if (rowYAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.y = data.height - row.height\n if (rowYAlign === 'center') row.y /= 2\n }\n\n }\n }\n}\n\n","import { attr, decorateLeafAttr, doBoundsType } from '@leafer-ui/draw'\nimport { IValue } from '@leafer/interface'\n\n\nexport function autoBoundsType(defaultValue?: IValue) {\n return decorateLeafAttr(defaultValue, (key: string) => attr({\n set(value: IValue) {\n const grow = typeof value === 'number' ? value : 0\n key === 'autoWidth' ? this.__widthGrow = grow : this.__heightGrow = grow\n if (grow && !(this.parent && this.parent.__hasGrow)) this.waitParent(() => { this.parent.__hasGrow = true }) // 需要优化, 移入到其他容器中的时候也需要优化\n this.__setAttr(key, value) && doBoundsType(this)\n }\n }))\n}","export { Flow } from './Flow'\n\n\nimport { BoundsHelper, Box, Group, UI, autoLayoutType, boundsType, Plugin } from '@leafer-ui/draw'\n\nimport '@leafer-in/resize'\n\nimport { flowX } from './layout/flowX'\nimport { flowY } from './layout/flowY'\nimport { autoBoundsType } from './decorate'\n\n\nPlugin.add('flow', 'resize')\n\n\nconst box = Box.prototype, { __updateBoxBounds } = Group.prototype\n\n// addAttr\nUI.addAttr('flow', false, autoLayoutType)\nUI.addAttr('gap', 0, boundsType)\nUI.addAttr('flowAlign', 'top-left', boundsType)\nUI.addAttr('flowWrap', false, boundsType)\n\nUI.addAttr('itemBox', 'box', boundsType)\nUI.addAttr('inFlow', true, boundsType)\n\nUI.addAttr('autoWidth', undefined, autoBoundsType)\nUI.addAttr('autoHeight', undefined, autoBoundsType)\nUI.addAttr('autoBox', undefined, boundsType)\n\n\nconst { copyAndSpread } = BoundsHelper\n\nbox.__updateFlowLayout = function (): void {\n const { leaferIsCreated, flow } = this\n\n if (leaferIsCreated) this.leafer.created = false // 拦截布局更新通知,进行手动更新布局\n\n switch (flow) {\n case 'x':\n case true:\n flowX(this)\n break\n case 'y':\n flowY(this)\n break\n case 'x-reverse':\n flowX(this, true)\n break\n case 'y-reverse':\n flowY(this, true)\n break\n }\n\n if (leaferIsCreated) this.leafer.created = true\n}\n\nbox.__updateContentBounds = function (): void {\n const { padding } = this.__\n const layout = this.__layout\n const same = layout.contentBounds === layout.boxBounds\n\n if (padding) {\n if (same) layout.shrinkContent()\n copyAndSpread(layout.contentBounds, layout.boxBounds, padding, true)\n } else {\n if (!same) layout.shrinkContentCancel()\n }\n}\n\nbox.__updateBoxBounds = function (secondLayout?: boolean): void { // autoSide且自动布局时需要二次布局\n if (this.children.length && !this.pathInputed) {\n\n const data = this.__, { flow } = data\n\n if (data.__autoSide) {\n\n if (data.__hasSurface) this.__extraUpdate() // Box自身存在样式,需要额外更新\n\n flow && !secondLayout ? this.__updateRectBoxBounds() : __updateBoxBounds.call(this)\n\n const { boxBounds } = this.__layout\n\n if (!data.__autoSize) {\n if (data.__autoWidth) {\n if (!flow) boxBounds.width += boxBounds.x, boxBounds.x = 0\n boxBounds.height = data.height, boxBounds.y = 0\n } else {\n if (!flow) boxBounds.height += boxBounds.y, boxBounds.y = 0\n boxBounds.width = data.width, boxBounds.x = 0\n }\n }\n\n flow && secondLayout && data.padding && copyAndSpread(boxBounds, boxBounds, data.padding, false, data.__autoSize ? null : (data.__autoWidth ? 'width' : 'height'))\n\n this.__updateNaturalSize()\n\n } else {\n this.__updateRectBoxBounds()\n }\n\n if (flow) this.__updateContentBounds()\n\n } else {\n this.__updateRectBoxBounds()\n }\n}"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","SuppressedError","FlowData","BoxData","Flow","Box","__tag","constructor","data","super","this","__hasAutoLayout","dataProcessor","prototype","autoLayoutType","registerUI","point","alignToInnerXMap","top","right","bottom","left","center","alignToInnerYMap","alignContent","box","content","align","__","contentBounds","__layout","AlignHelper","toPoint","x","__autoWidth","y","__autoHeight","move","PointHelper","layoutX","row","fromX","fromY","rowYAlign","reverse","children","child","local","start","j","end","count","inFlow","visible","__flowBounds","height","width","gap","flowWrap","wrapData","wrapSide","otherSide","Math","max","list","push","p","getParseData","isFlowX","flowAlign","wrap","needWrap","xGap","yGap","isAutoXGap","isAutoYGap","complex","__hasGrow","isFitXGap","isFitYGap","contentAlign","rowXAlign","getDrawData","grow","autoGap","side","sideTotal","fit","getItemBounds","itemBox","__local","localStrokeBounds","within","MathHelper","growX","remainSpace","remainTotalSpace","hasRangeSize","totalGrow","growSize","__widthGrow","resizeWidth","widthRange","unshift","totalSpace","countGrow","space","remain","forEach","assignRemainSpace","size","lockRatio","realSize","scale","scaleResize","growY","__heightGrow","resizeHeight","heightRange","flowX","pData","xGapTempNum","localWidth","index","len","innerXAlign","reverseWrap","layout","layoutY","flowY","yGapTempNum","localHeight","autoBoundsType","defaultValue","decorateLeafAttr","attr","set","value","parent","waitParent","__setAttr","doBoundsType","Plugin","add","__updateBoxBounds","Group","UI","addAttr","boundsType","undefined","copyAndSpread","BoundsHelper","__updateFlowLayout","leaferIsCreated","flow","leafer","created","__updateContentBounds","padding","same","boxBounds","shrinkContent","shrinkContentCancel","secondLayout","pathInputed","__autoSide","__hasSurface","__extraUpdate","__updateRectBoxBounds","call","__autoSize","__updateNaturalSize"],"mappings":"8CAsDO,SAASA,EAAWC,EAAYC,EAAQC,EAAKC,GAChD,IAA2HC,EAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,EACrH,GAAuB,iBAAZQ,SAAoD,mBAArBA,QAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,QACpH,IAAK,IAAIU,EAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,GAChJ,OAAOH,EAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,CAChE,8BA6QkD,mBAApBO,iBAAiCA,gBCpUzD,MAAOC,UAAiBC,EAAAA,SCGjBC,QAAAA,KAAN,cAAmBC,MAEtB,SAAWC,GAAU,MAAO,MAAM,CAQlC,WAAAC,CAAYC,GACRC,MAAMD,GACNE,KAAKC,iBAAkB,IAPZ1B,EAAA,CADd2B,EAAAA,cAAcV,IACaE,aAAAS,UAAA,UAAA,GAGb5B,EAAA,CADd6B,EAAAA,eAAe,MACeV,aAAAS,UAAA,YAAA,GARtBT,QAAIA,KAAAnB,EAAA,CADhB8B,EAAUA,cACEX,cCDb,MAAMY,EAAQ,CAAgB,EAEjBC,EAA6C,CACtD,WAAY,OACZC,IAAO,SACP,YAAa,KACbC,MAAS,KACT,eAAgB,KAChBC,OAAU,SACV,cAAe,OACfC,KAAQ,OACRC,OAAU,SACV,gBAAiB,OACjB,kBAAmB,SACnB,iBAAkB,MAGTC,EAA6C,CACtD,WAAY,OACZL,IAAO,OACP,YAAa,OACbC,MAAS,SACT,eAAgB,KAChBC,OAAU,KACV,cAAe,KACfC,KAAQ,SACRC,OAAU,SACV,gBAAiB,KACjB,kBAAmB,KACnB,iBAAkB,eAGNE,EAAaC,EAAWC,EAAsBC,GAC1D,MAAMnB,EAAOiB,EAAIG,IACXC,cAAEA,GAAkBJ,EAAIK,SAC9BC,EAAAA,YAAYC,QAAQL,EAAcD,EAASG,EAAeb,GAC1DU,EAAQO,EAAIzB,EAAK0B,YAAcL,EAAcI,EAAIjB,EAAMiB,EACvDP,EAAQS,EAAI3B,EAAK4B,aAAeP,EAAcM,EAAInB,EAAMmB,CAC5D,CCrCA,MAAQE,KAAAA,GAASC,EAAWA,YAaZ,SAAAC,EAAQd,EAAWe,EAAoBC,EAAeC,EAAeC,EAAuBC,GACxG,MAAMC,SAAEA,GAAapB,EACrB,IAAIqB,EAAYC,GAAoBd,EAAEA,EAACe,MAAEA,GAAUR,EAAKL,EAAIO,EAC5DT,GAAKQ,EAEL,IAAK,IAAIQ,EAAI,EAAGC,EAAMV,EAAIW,MAAOF,EAAIC,EAAKD,IACtCH,EAAQD,EAASD,EAAUI,EAAQC,EAAID,EAAQC,GAE3CH,EAAMlB,GAAGwB,QAA+B,IAArBN,EAAMlB,GAAGyB,SAC5BN,EAAQD,EAAMQ,aACI,SAAdX,IAAsBR,EAAIO,GAASF,EAAIe,OAASR,EAAMQ,SAAyB,WAAdZ,EAAyB,EAAI,IAElGN,EAAKS,EAAqBb,EAAIc,EAAMd,EAAGE,EAAIY,EAAMZ,GACjDF,GAAKc,EAAMS,MAAQhB,EAAIiB,KAEvBP,GAGZ,UCnCgBQ,EAASC,EAA6BnD,EAAqBoD,GACvE,MAAMC,EAAyB,UAAbD,EAAuB,SAAW,QACpDD,EAASC,GAAYE,KAAKC,IAAIJ,EAASC,GAAWpD,EAAKoD,IACvDD,EAASE,IAAcF,EAASR,MAAQ3C,EAAKqD,GAAaF,EAASF,IAAMjD,EAAKqD,GAC9EF,EAASK,KAAKC,KAAKzD,GACnBmD,EAASR,OACb,CCHA,MAAMe,EAAI,CAAoB,EAEd,SAAAC,EAAa1C,EAAW2C,GACpC,MAAMX,IAAEA,EAAKY,UAAW1C,EAAO+B,SAAUY,EAAIpC,YAAEA,EAAWE,aAAEA,GAAiBX,EAAIG,GAC3E2C,EAAWD,IAASF,GAAWlC,GAAeE,GA+BpD,MA7BmB,iBAARqB,GACPS,EAAEM,KAAOf,EAAIxB,GAAK,EAClBiC,EAAEO,KAAOhB,EAAItB,GAAK,GAElB+B,EAAEM,KAAON,EAAEO,KAAOhB,EAGtBS,EAAEQ,WAA+B,iBAAXR,EAAEM,OAAsBtC,EAC9CgC,EAAES,WAA+B,iBAAXT,EAAEO,OAAsBrC,EAE9C8B,EAAEU,QAAUL,GAAsB,aAAV5C,GAAwBF,EAAIoD,WAAaX,EAAEQ,YAAcR,EAAES,WACnFT,EAAEI,KAAOC,EAELL,EAAEU,UACFV,EAAEY,UAAuB,QAAXZ,EAAEM,OAAmBtC,EACnCgC,EAAEa,UAAuB,QAAXb,EAAEO,OAAmBrC,EAEd,iBAAVT,GACPuC,EAAEc,aAAerD,EAAMD,SAAW,WAClCwC,EAAEe,UAAYtD,EAAMM,GAAK,OACzBiC,EAAEvB,UAAYhB,EAAMQ,GAAK,SAEzB+B,EAAEc,aAAerD,EACjBuC,EAAEe,UAAYhE,EAAiBU,GAC/BuC,EAAEvB,UAAYpB,EAAiBI,KAKhCuC,CACX,CAEgB,SAAAgB,EAAYlC,EAAeS,GACvC,MAAO,CAAExB,EAAG,EAAGE,EAAG,EAAGqB,MAAO,EAAGD,OAAQ,EAAGE,MAAKT,QAAOG,MAAO,EAAGgC,KAAM,EAC1E,CC3CM,SAAUC,EAAQ5E,EAAsB6E,EAAaC,EAAmBC,GAC1E,MAAMpC,MAAEA,GAAU3C,EACd2C,EAAQ,IAAMmC,EAAY9E,EAAK6E,IAASE,KACxC/E,EAAKiD,KAAO6B,EAAY9E,EAAK6E,KAAUlC,EAAQ,GAC/C3C,EAAK6E,GAAQC,EAErB,CCPgB,SAAAE,EAAc1C,EAAY2C,GACtC,MAAmB,QAAZA,EAAoB3C,EAAM4C,QAAU5C,EAAMhB,SAAS6D,iBAE9D,CCCA,MAAQC,OAAAA,GAAWC,EAAUA,WAEvB,SAAUC,EAAMrE,EAAWe,EAAoBgB,EAAeZ,GAChE,IAAIE,EAAYqC,EAAiBY,EAAqBC,EAAmB,EAAGhC,EAAcxB,EAAIyD,cAAgB,IAAMd,KAAMe,EAASlD,MAAEA,GAAUR,EAC/I,MAAM2D,GAAY3C,EAAQhB,EAAIgB,OAAS0C,GAAWrD,SAAEA,GAAapB,EACjE,KAAI0E,GAAY,GAAhB,CAEA3D,EAAIgB,MAAQA,EAEZ,IAAK,IAAIP,EAAI,EAAGC,EAAMV,EAAIW,MAAOF,EAAIC,EAAKD,IACtCH,EAAQD,EAASD,EAAUI,EAAQC,EAAID,EAAQC,GAE3CH,EAAMlB,GAAGwB,QAA+B,IAArBN,EAAMlB,GAAGyB,SAExB8B,EAAOrC,EAAMsD,eACbL,EAAcM,EAAYvD,EAAOA,EAAMQ,aAAc6C,EAAWhB,GAE5DY,GACAC,GAAoBD,EACpBG,GAAaf,GACNnB,IACPlB,EAAMlB,GAAG0E,WAAatC,EAAKuC,QAAQzD,GAASkB,EAAKC,KAAKnB,KAK9DI,IAIJ8C,GAIR,SAA2BhC,EAAawC,EAAoBC,GACxD,IAAItB,EAAiBuB,EAAe3D,EAAoB4D,EACxD3C,EAAK4C,SAAQ9D,IACTqC,EAAOrC,EAAMsD,YACbM,EAAQF,EAAaC,EAAYtB,EACjCwB,EAASN,EAAYvD,EAAOC,EAAQD,EAAMQ,aAAcP,EAAMS,MAAQkD,GACtEF,GAAcE,EAAQC,EACtBF,GAAatB,CAAI,GAEzB,CAb0B0B,CAAkB7C,EAAMgC,EAAkBE,EAzB7C,CA0BvB,UAegBG,EAAYvD,EAAYC,EAAoB+D,GACxD,MAAMR,WAAEA,EAAUS,UAAEA,GAAcjE,EAAMlB,GAClCoF,EAAWV,EAAaV,EAAOkB,EAAMR,GAAcQ,EACnDG,EAAQD,EAAWjE,EAAMS,MAG/B,OAFAV,EAAMoE,YAAYD,EAAOF,EAAYE,EAAQ,GAC7ClE,EAAMS,MAAQwD,EACPF,EAAOE,CAClB,CCrDA,MAAMpB,OAAEA,GAAWC,EAAUA,WAEvB,SAAUsB,EAAM1F,EAAWe,EAAoBe,EAAgBX,GACjE,IAAIE,EAAYqC,EAAiBY,EAAqBC,EAAmB,EAAGhC,EAAcxB,EAAIyD,cAAgB,IAAMd,KAAMe,EAASlD,MAAEA,GAAUR,EAC/I,MAAM2D,GAAY5C,EAASf,EAAIe,QAAU2C,GAAWrD,SAAEA,GAAapB,EACnE,KAAI0E,GAAY,GAAhB,CAEA3D,EAAIe,OAASA,EAEb,IAAK,IAAIN,EAAI,EAAGC,EAAMV,EAAIW,MAAOF,EAAIC,EAAKD,IACtCH,EAAQD,EAASD,EAAUI,EAAQC,EAAID,EAAQC,GAE3CH,EAAMlB,GAAGwB,QAA+B,IAArBN,EAAMlB,GAAGyB,SAExB8B,EAAOrC,EAAMsE,gBACbrB,EAAcsB,EAAavE,EAAOA,EAAMQ,aAAc6C,EAAWhB,GAE7DY,GACAC,GAAoBD,EACpBG,GAAaf,GACNnB,IACPlB,EAAMlB,GAAG0F,YAActD,EAAKuC,QAAQzD,GAASkB,EAAKC,KAAKnB,KAK/DI,IAIJ8C,GAIR,SAA2BhC,EAAawC,EAAoBC,GACxD,IAAItB,EAAiBuB,EAAe3D,EAAoB4D,EACxD3C,EAAK4C,SAAQ9D,IACTqC,EAAOrC,EAAMsE,aACbV,EAAQF,EAAaC,EAAYtB,EACjCwB,EAASU,EAAavE,EAAOC,EAAQD,EAAMQ,aAAcP,EAAMQ,OAASmD,GACxEF,GAAcE,EAAQC,EACtBF,GAAatB,CAAI,GAEzB,CAb0B0B,CAAkB7C,EAAMgC,EAAkBE,EAzB7C,CA0BvB,UAegBmB,EAAavE,EAAYC,EAAoB+D,GACzD,MAAMQ,YAAEA,EAAWP,UAAEA,GAAcjE,EAAMlB,GACnCoF,EAAWM,EAAc1B,EAAOkB,EAAMQ,GAAeR,EACrDG,EAAQD,EAAWjE,EAAMQ,OAG/B,OAFAT,EAAMoE,YAAYH,EAAYE,EAAQ,EAAGA,GACzClE,EAAMQ,OAASyD,EACRF,EAAOE,CAClB,CC3CA,MAAQ3E,KAAAA,GAASC,EAAWA,YAEZ,SAAAiF,EAAM9F,EAAWmB,GAC7B,MAAMyC,EAAO,SAASxC,SAAEA,EAAQ4C,QAAEA,GAAYhE,EAAK+F,EAAQrD,EAAa1C,GAAK,IACvEmD,QAAEA,EAAON,KAAEA,EAAIE,KAAEA,EAAIC,KAAEA,EAAIC,WAAEA,EAAUI,UAAEA,GAAc0C,EAC7D,IAAK3E,EAASpD,OAAQ,OAEtB,MAAMkE,EAAWW,GL0BV,CAAErC,EAAG,EAAGE,EAAG,EAAGqB,MAAO,EAAGD,OAAQ,EAAGE,IAAK,EAAGN,MAAO,EAAGa,KAAM,IK1BtByD,EAAc/C,EAAa,EAAIF,EAC3E,IAAI1B,EAAYC,EAAoB2E,EAAoBC,EAAenH,GAAqByB,EAAEA,EAACE,EAAEA,EAACqB,MAAEA,EAAKD,OAAEA,GAAW9B,EAAIK,SAASD,cAEnI,IAAK,IAAI9B,EAAI,EAAG6H,EAAM/E,EAASpD,OAAQM,EAAI6H,EAAK7H,IAC5C+C,EAAQD,EAAS8E,EAAQ/E,EAAUgF,EAAM,EAAI7H,EAAIA,GAE7C+C,EAAMlB,GAAGwB,QAA+B,IAArBN,EAAMlB,GAAGyB,UAE5BN,EAAQyC,EAAc1C,EAAO2C,GAEzBb,GAEA9B,EAAMQ,aAAeP,EAChBvC,IAAMA,EAAO0E,EAAYyC,EAAOF,IAEjCnD,GAAQ9D,EAAK2C,OAAS3C,EAAKgD,MAAQT,EAAMS,MAAQA,IAE7ChD,EAAK2E,KAAMW,EAAMrE,EAAKjB,EAAMgD,EAAOZ,GAC9B8B,GAAYU,EAAQ5E,EAAM6E,EAAM7B,EAAOsB,GAChDpB,EAASC,EAAUnD,EAAM6E,GAEzB7E,EAAO0E,EAAYyC,EAAOF,IAG9BC,EAAa3E,EAAMS,MAEfV,EAAMsD,cACN5F,EAAK2E,MAAQrC,EAAMsD,YAAasB,EAAa,EACzC5E,EAAMlB,GAAG0E,aAAY9F,EAAKyF,cAAe,IAG7CnD,EAAMsE,cAAcC,EAAavE,EAAOC,EAAOQ,GAEnD/C,EAAKgD,OAAShD,EAAK2C,MAAQuE,EAAaD,EAAcC,EACtDlH,EAAK+C,OAASO,KAAKC,IAAIvD,EAAK+C,OAAQR,EAAMQ,QAC1C/C,EAAK2C,UAKLd,EAAKS,EAAqBb,EAAIc,EAAMd,EAAGE,EAAIY,EAAMZ,GACjDF,GAAKc,EAAMS,MAAQiE,IAQ/B,GAAI7C,GAAWpE,EAAM,CAEjB,MAAMmE,WAAEA,EAAUI,UAAEA,EAASC,aAAEA,EAAYC,UAAEA,EAAStC,UAAEA,GAAc6E,EAElEhH,EAAK2C,QACD3C,EAAK2E,KAAMW,EAAMrE,EAAKjB,EAAMgD,EAAOZ,GAC9B8B,GAAYU,EAAQ5E,EAAM6E,EAAM7B,EAAOsB,GAC5CR,GAAMZ,EAASC,EAAUnD,EAAM6E,IAGnCf,GAEIK,EAAYS,EAAQzB,EAAU,SAAUJ,EAAQwB,GAC/CpB,EAASJ,SAAWI,EAASF,IAAMgB,IAAmBd,EAASK,KAAKvE,OAAS,GC9ExF,SAAgBgC,EAAWjB,EAAyBwE,EAA0B6C,GAChFrG,EAAaC,EAAKjB,EAAMwE,GAExB,MAAMhB,KAAEA,GAASxD,EACjB,GAAIwD,EAAKvE,OAAS,IAEToI,IAAaA,EAAc5G,EAAiB+D,IAE7B,SAAhB6C,GAAwB,CACxB,IAAIrF,EAEJ,IAAK,IAAIzC,EAAI,EAAG6H,EAAM5D,EAAKvE,OAAQM,EAAI6H,EAAK7H,IACxCyC,EAAMwB,EAAKjE,GACXyC,EAAIP,EAAIzB,EAAKgD,MAAQhB,EAAIgB,MACL,WAAhBqE,IAA0BrF,EAAIP,GAAK,GAKvD,CD6DYN,CAAMF,EAAKkC,EAAUqB,EAAcC,GP9EzC,SAAiBxD,EAAWjB,EAAyBmC,EAAwBC,GAC/E,MAAMoB,KAAEA,GAASxD,EAAMsH,EAAkC,YAApBrG,EAAIG,GAAG8B,SAC5C,IAAIlB,GAAoBP,EAAEA,EAACE,EAAEA,GAAM3B,EAEnC,IAAK,IAAIT,EAAI,EAAG6H,EAAM5D,EAAKvE,OAAQM,EAAI6H,EAAK7H,IACxCyC,EAAMwB,EAAK8D,EAAcF,EAAM,EAAI7H,EAAIA,GACvCwC,EAAQd,EAAKe,EAAKP,EAAGE,EAAGQ,EAAWC,GACnCT,GAAKK,EAAIe,OAAS/C,EAAKiD,GAE/B,COsEYsE,CAAOtG,EAAKkC,EAAUhB,EAAWC,KAIjCpB,EAAaC,EAAKjB,EAAMwE,GACxBzC,EAAQd,EAAKjB,EAAM,EAAGA,EAAK2B,EAAGQ,EAAWC,IAKrD,CE5FA,MAAQP,KAAAA,GAASC,EAAWA,YAaZ,SAAA0F,EAAQvG,EAAWe,EAAoBC,EAAeC,EAAeuC,EAAuBrC,GACxG,MAAMC,SAAEA,GAAapB,EACrB,IAAIqB,EAAYC,GAAoBZ,EAAEA,EAACa,MAAEA,GAAUR,EAAKP,EAAIQ,EAC5DN,GAAKO,EAEL,IAAK,IAAIO,EAAI,EAAGC,EAAMV,EAAIW,MAAOF,EAAIC,EAAKD,IACtCH,EAAQD,EAASD,EAAUI,EAAQC,EAAID,EAAQC,GAE3CH,EAAMlB,GAAGwB,QAA+B,IAArBN,EAAMlB,GAAGyB,SAC5BN,EAAQD,EAAMQ,aACI,SAAd2B,IAAsBhD,EAAIQ,GAASD,EAAIgB,MAAQT,EAAMS,QAAwB,WAAdyB,EAAyB,EAAI,IAEhG5C,EAAKS,EAAqBb,EAAIc,EAAMd,EAAGE,EAAIY,EAAMZ,GACjDA,GAAKY,EAAMQ,OAASf,EAAIiB,KAExBP,GAGZ,CCrBA,MAAMb,KAAEA,GAASC,EAAWA,YAEZ,SAAA2F,EAAMxG,EAAWmB,GAC7B,MAAMyC,EAAO,UAAUxC,SAAEA,EAAQ4C,QAAEA,GAAYhE,EAAK+F,EAAQrD,EAAa1C,GAAK,IACxEmD,QAAEA,EAAON,KAAEA,EAAIE,KAAEA,EAAIC,KAAEA,EAAIE,WAAEA,EAAUI,UAAEA,GAAcyC,EAC7D,IAAK3E,EAASpD,OAAQ,OAEtB,MAAMkE,EAAWW,GR0BV,CAAErC,EAAG,EAAGE,EAAG,EAAGqB,MAAO,EAAGD,OAAQ,EAAGE,IAAK,EAAGN,MAAO,EAAGa,KAAM,IQ1BtBkE,EAAcvD,EAAa,EAAIF,EAC3E,IAAI3B,EAAYC,EAAoBoF,EAAqBR,EAAenH,GAAqByB,EAAEA,EAACE,EAAEA,EAACqB,MAAEA,EAAKD,OAAEA,GAAW9B,EAAIK,SAASD,cAEpI,IAAK,IAAI9B,EAAI,EAAG6H,EAAM/E,EAASpD,OAAQM,EAAI6H,EAAK7H,IAC5C+C,EAAQD,EAAS8E,EAAQ/E,EAAUgF,EAAM,EAAI7H,EAAIA,GAE7C+C,EAAMlB,GAAGwB,QAA+B,IAArBN,EAAMlB,GAAGyB,UAE5BN,EAAQyC,EAAc1C,EAAO2C,GAEzBb,GAEA9B,EAAMQ,aAAeP,EAChBvC,IAAMA,EAAO0E,EAAYyC,EAAOO,IAEjC5D,GAAQ9D,EAAK2C,OAAS3C,EAAK+C,OAASR,EAAMQ,OAASA,IAC/C/C,EAAK2E,MAAMgC,EAAM1F,EAAKjB,EAAM+C,EAAQX,GACpC+B,GAAYS,EAAQ5E,EAAM6E,EAAM9B,EAAQwB,GAC5CrB,EAASC,EAAUnD,EAAM6E,GAEzB7E,EAAO0E,EAAYyC,EAAOO,IAG9BC,EAAcpF,EAAMQ,OAEhBT,EAAMsE,eACN5G,EAAK2E,MAAQrC,EAAMsE,aAAce,EAAc,EAC3CrF,EAAMlB,GAAG0F,cAAa9G,EAAKyF,cAAe,IAG9CnD,EAAMsD,aAAaC,EAAYvD,EAAOC,EAAOS,GAEjDhD,EAAK+C,QAAU/C,EAAK2C,MAAQgF,EAAcD,EAAcC,EACxD3H,EAAKgD,MAAQM,KAAKC,IAAIvD,EAAKgD,MAAOT,EAAMS,OACxChD,EAAK2C,UAILd,EAAKS,EAAqBb,EAAIc,EAAMd,EAAGE,EAAIY,EAAMZ,GACjDA,GAAKY,EAAMQ,OAAS2E,IAQhC,GAAItD,GAAWpE,EAAM,CAEjB,MAAMkE,WAAEA,EAAUI,UAAEA,EAASE,aAAEA,EAAYC,UAAEA,EAAStC,UAAEA,GAAc6E,EAElEhH,EAAK2C,QACD3C,EAAK2E,MAAMgC,EAAM1F,EAAKjB,EAAM+C,EAAQX,GACpC+B,GAAYS,EAAQ5E,EAAM6E,EAAM9B,EAAQwB,GACxCT,GAAMZ,EAASC,EAAUnD,EAAM6E,IAGnCf,GAEII,EAAYU,EAAQzB,EAAU,QAASH,EAAOsB,GAC7CnB,EAASH,QAAUG,EAASF,IAAMe,IAAmBb,EAASK,KAAKvE,OAAS,GC5EvF,SAAgBgC,EAAWjB,EAAyBwE,EAA0BrC,GAChFnB,EAAaC,EAAKjB,EAAMwE,GAExB,MAAMhB,KAAEA,GAASxD,EACjB,GAAIwD,EAAKvE,OAAS,IAETkD,IAAWA,EAAYpB,EAAiByD,IAE3B,SAAdrC,GAAsB,CACtB,IAAIH,EAEJ,IAAK,IAAIzC,EAAI,EAAG6H,EAAM5D,EAAKvE,OAAQM,EAAI6H,EAAK7H,IACxCyC,EAAMwB,EAAKjE,GACXyC,EAAIL,EAAI3B,EAAK+C,OAASf,EAAIe,OACR,WAAdZ,IAAwBH,EAAIL,GAAK,GAKrD,CD2DYR,CAAMF,EAAKkC,EAAUqB,EAAcrC,GD7EzC,SAAiBlB,EAAWjB,EAAyByE,EAAuBrC,GAC9E,MAAMoB,KAAEA,GAASxD,EAAMsH,EAAkC,YAApBrG,EAAIG,GAAG8B,SAC5C,IAAIlB,GAAoBP,EAAEA,EAACE,EAAEA,GAAM3B,EAEnC,IAAK,IAAIT,EAAI,EAAG6H,EAAM5D,EAAKvE,OAAQM,EAAI6H,EAAK7H,IACxCyC,EAAMwB,EAAK8D,EAAcF,EAAM,EAAI7H,EAAIA,GACvCiI,EAAQvG,EAAKe,EAAKP,EAAGE,EAAG8C,EAAWrC,GACnCX,GAAKO,EAAIgB,MAAQhD,EAAKiD,GAE9B,CCqEYsE,CAAOtG,EAAKkC,EAAUsB,EAAWrC,KAIjCpB,EAAaC,EAAKjB,EAAMwE,GACxBgD,EAAQvG,EAAKjB,EAAMA,EAAKyB,EAAG,EAAGgD,EAAWrC,IAKrD,CE5FM,SAAUwF,EAAeC,GAC3B,OAAOC,mBAAiBD,GAAejJ,GAAgBmJ,EAAAA,KAAK,CACxD,GAAAC,CAAIC,GACA,MAAMtD,EAAwB,iBAAVsD,EAAqBA,EAAQ,EACzC,cAARrJ,EAAsBsB,KAAK0F,YAAcjB,EAAOzE,KAAK0G,aAAejC,GAChEA,GAAUzE,KAAKgI,QAAUhI,KAAKgI,OAAO7D,WAAYnE,KAAKiI,YAAW,KAAQjI,KAAKgI,OAAO7D,WAAY,CAAI,IACzGnE,KAAKkI,UAAUxJ,EAAKqJ,IAAUI,EAAAA,aAAanI,UAGvD,CCDAoI,EAAAA,OAAOC,IAAI,OAAQ,UAGnB,MAAMtH,EAAMpB,EAAGA,IAACQ,WAAWmI,kBAAEA,GAAsBC,EAAKA,MAACpI,UAGzDqI,EAAEA,GAACC,QAAQ,QAAQ,EAAOrI,kBAC1BoI,EAAEA,GAACC,QAAQ,MAAO,EAAGC,cACrBF,EAAEA,GAACC,QAAQ,YAAa,WAAYC,cACpCF,EAAEA,GAACC,QAAQ,YAAY,EAAOC,cAE9BF,EAAEA,GAACC,QAAQ,UAAW,MAAOC,cAC7BF,EAAEA,GAACC,QAAQ,UAAU,EAAMC,cAE3BF,EAAEA,GAACC,QAAQ,iBAAaE,EAAWjB,GACnCc,EAAEA,GAACC,QAAQ,kBAAcE,EAAWjB,GACpCc,EAAEA,GAACC,QAAQ,eAAWE,EAAWD,cAGjC,MAAME,cAAEA,GAAkBC,EAAYA,aAEtC9H,EAAI+H,mBAAqB,WACrB,MAAMC,gBAAEA,EAAeC,KAAEA,GAAShJ,KAIlC,OAFI+I,IAAiB/I,KAAKiJ,OAAOC,SAAU,GAEnCF,GACJ,IAAK,IACL,KAAK,EACDnC,EAAM7G,MACN,MACJ,IAAK,IACDuH,EAAMvH,MACN,MACJ,IAAK,YACD6G,EAAM7G,MAAM,GACZ,MACJ,IAAK,YACDuH,EAAMvH,MAAM,GAIhB+I,IAAiB/I,KAAKiJ,OAAOC,SAAU,EAC/C,EAEAnI,EAAIoI,sBAAwB,WACxB,MAAMC,QAAEA,GAAYpJ,KAAKkB,GACnBmG,EAASrH,KAAKoB,SACdiI,EAAOhC,EAAOlG,gBAAkBkG,EAAOiC,UAEzCF,GACIC,GAAMhC,EAAOkC,gBACjBX,EAAcvB,EAAOlG,cAAekG,EAAOiC,UAAWF,GAAS,IAE1DC,GAAMhC,EAAOmC,qBAE1B,EAEAzI,EAAIuH,kBAAoB,SAAUmB,GAC9B,GAAIzJ,KAAKmC,SAASpD,SAAWiB,KAAK0J,YAAa,CAE3C,MAAM5J,EAAOE,KAAKkB,IAAI8H,KAAEA,GAASlJ,EAEjC,GAAIA,EAAK6J,WAAY,CAEb7J,EAAK8J,cAAc5J,KAAK6J,gBAE5Bb,IAASS,EAAezJ,KAAK8J,wBAA0BxB,EAAkByB,KAAK/J,MAE9E,MAAMsJ,UAAEA,GAActJ,KAAKoB,SAEtBtB,EAAKkK,aACFlK,EAAK0B,aACAwH,IAAMM,EAAUxG,OAASwG,EAAU/H,EAAG+H,EAAU/H,EAAI,GACzD+H,EAAUzG,OAAS/C,EAAK+C,OAAQyG,EAAU7H,EAAI,IAEzCuH,IAAMM,EAAUzG,QAAUyG,EAAU7H,EAAG6H,EAAU7H,EAAI,GAC1D6H,EAAUxG,MAAQhD,EAAKgD,MAAOwG,EAAU/H,EAAI,IAIpDyH,GAAQS,GAAgB3J,EAAKsJ,SAAWR,EAAcU,EAAWA,EAAWxJ,EAAKsJ,SAAS,EAAOtJ,EAAKkK,WAAa,KAAQlK,EAAK0B,YAAc,QAAU,UAExJxB,KAAKiK,2BAGLjK,KAAK8J,wBAGLd,GAAMhJ,KAAKmJ,6BAGfnJ,KAAK8J,uBAEb","x_google_ignoreList":[0]}
|
package/dist/flow.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
this.LeaferIN=this.LeaferIN||{},this.LeaferIN.flow=function(t,o){"use strict";function e(t,o,e,i){var n,h=arguments.length,r=h<3?o:null===i?i=Object.getOwnPropertyDescriptor(o,e):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,o,e,i);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(r=(h<3?n(r):h>3?n(o,e,r):n(o,e))||r);return h>3&&r&&Object.defineProperty(o,e,r),r}"function"==typeof SuppressedError&&SuppressedError;class i extends o.BoxData{}t.Flow=class extends o.Box{get __tag(){return"Flow"}constructor(t){super(t),this.__hasAutoLayout=!0}},e([o.dataProcessor(i)],t.Flow.prototype,"__",void 0),e([o.autoLayoutType("x")],t.Flow.prototype,"flow",void 0),t.Flow=e([o.registerUI()],t.Flow);const n={},h={"top-left":"from",top:"center","top-right":"to",right:"to","bottom-right":"to",bottom:"center","bottom-left":"from",left:"from",center:"center","baseline-left":"from","baseline-center":"center","baseline-right":"to"},r={"top-left":"from",top:"from","top-right":"from",right:"center","bottom-right":"to",bottom:"to","bottom-left":"to",left:"center",center:"center","baseline-left":"to","baseline-center":"to","baseline-right":"to"};function s(t,e,i){const h=t.__,{contentBounds:r}=t.__layout;o.AlignHelper.toPoint(i,e,r,n),e.x=h.__autoWidth?r.x:n.x,e.y=h.__autoHeight?r.y:n.y}const{move:a}=o.PointHelper;function l(t,o,e,i,n,h){const{children:r}=t;let s,l,{x:c,start:_}=o,u=i;c+=e;for(let t=0,e=o.count;t<e;t++)s=r[h?_-t:_+t],s.__.inFlow&&0!==s.__.visible?(l=s.__flowBounds,"from"!==n&&(u=i+(o.height-l.height)/("center"===n?2:1)),a(s,c-l.x,u-l.y),c+=l.width+o.gap):e++}function c(t,o,e){const i="width"===e?"height":"width";t[e]=Math.max(t[e],o[e]),t[i]+=t.count?o[i]+t.gap:o[i],t.list.push(o),t.count++}const _={};function u(t,o){const{gap:e,flowAlign:i,flowWrap:n,__autoWidth:s,__autoHeight:a}=t.__,l=n&&(o?!s:!a);return"object"==typeof e?(_.xGap=e.x||0,_.yGap=e.y||0):_.xGap=_.yGap=e,_.isAutoXGap="string"==typeof _.xGap&&!s,_.isAutoYGap="string"==typeof _.yGap&&!a,_.complex=l||"top-left"!==i||t.__hasGrow||_.isAutoXGap||_.isAutoYGap,_.wrap=l,_.complex&&(_.isFitXGap="fit"===_.xGap&&!s,_.isFitYGap="fit"===_.yGap&&!a,"object"==typeof i?(_.contentAlign=i.content||"top-left",_.rowXAlign=i.x||"from",_.rowYAlign=i.y||"from"):(_.contentAlign=i,_.rowXAlign=h[i],_.rowYAlign=r[i])),_}function d(t,o){return{x:0,y:0,width:0,height:0,gap:o,start:t,count:0,grow:0}}function g(t,o,e,i){const{count:n}=t;n>1&&(e>t[o]||i)&&(t.gap=(e-t[o])/(n-1),t[o]=e)}function p(t,o){return"box"===o?t.__local:t.__layout.localStrokeBounds}const{within:f}=o.MathHelper;function w(t,o,e,i){let n,h,r,s=0,a=o.hasRangeSize&&[],{grow:l,start:c}=o;const _=(e-o.width)/l,{children:u}=t;if(!(_<=0)){o.width=e;for(let t=0,e=o.count;t<e;t++)n=u[i?c-t:c+t],n.__.inFlow&&0!==n.__.visible?(h=n.__widthGrow)&&(r=y(n,n.__flowBounds,_*h),r?(s+=r,l-=h):a&&(n.__.widthRange?a.unshift(n):a.push(n))):e++;s&&function(t,o,e){let i,n,h,r;t.forEach((t=>{i=t.__widthGrow,n=o/e*i,r=y(t,h=t.__flowBounds,h.width+n),o-=n-r,e-=i}))}(a,s,l)}}function y(t,o,e){const{widthRange:i,lockRatio:n}=t.__,h=i?f(e,i):e,r=h/o.width;return t.scaleResize(r,n?r:1),o.width=h,e-h}const{within:x}=o.MathHelper;function G(t,o,e,i){let n,h,r,s=0,a=o.hasRangeSize&&[],{grow:l,start:c}=o;const _=(e-o.height)/l,{children:u}=t;if(!(_<=0)){o.height=e;for(let t=0,e=o.count;t<e;t++)n=u[i?c-t:c+t],n.__.inFlow&&0!==n.__.visible?(h=n.__heightGrow)&&(r=b(n,n.__flowBounds,_*h),r?(s+=r,l-=h):a&&(n.__.heightRange?a.unshift(n):a.push(n))):e++;s&&function(t,o,e){let i,n,h,r;t.forEach((t=>{i=t.__heightGrow,n=o/e*i,r=b(t,h=t.__flowBounds,h.height+n),o-=n-r,e-=i}))}(a,s,l)}}function b(t,o,e){const{heightRange:i,lockRatio:n}=t.__,h=i?x(e,i):e,r=h/o.height;return t.scaleResize(n?r:1,r),o.height=h,e-h}const{move:B}=o.PointHelper;function A(t,o){const e="width",{children:i,itemBox:n}=t,r=u(t,!0),{complex:a,wrap:_,xGap:f,yGap:y,isAutoXGap:x,isFitXGap:G}=r;if(!i.length)return;const A=_&&{x:0,y:0,width:0,height:0,gap:0,count:0,list:[]},m=x?0:f;let v,F,R,I,S,{x:U,y:H,width:X,height:Y}=t.__layout.contentBounds;for(let h=0,r=i.length;h<r;h++)v=i[I=o?r-1-h:h],v.__.inFlow&&0!==v.__.visible&&(F=p(v,n),a?(v.__flowBounds=F,S||(S=d(I,m)),_&&S.count&&S.width+F.width>X&&(S.grow?w(t,S,X,o):x&&g(S,e,X,G),c(A,S,e),S=d(I,m)),R=F.width,v.__widthGrow&&(S.grow+=v.__widthGrow,R=0,v.__.widthRange&&(S.hasRangeSize=!0)),v.__heightGrow&&b(v,F,Y),S.width+=S.count?R+m:R,S.height=Math.max(S.height,F.height),S.count++):(B(v,U-F.x,H-F.y),U+=F.width+m));if(a&&S){const{isAutoYGap:i,isFitYGap:n,contentAlign:a,rowXAlign:u,rowYAlign:d}=r;S.count&&(S.grow?w(t,S,X,o):x&&g(S,e,X,G),_&&c(A,S,e)),_?(i?g(A,"height",Y,n):A.height+=(A.gap=y)*(A.list.length-1),function(t,o,e,i){s(t,o,e);const{list:n}=o;if(n.length>1&&(i||(i=h[e]),"from"!==i)){let t;for(let e=0,h=n.length;e<h;e++)t=n[e],t.x=o.width-t.width,"center"===i&&(t.x/=2)}}(t,A,a,u),function(t,o,e,i){const{list:n}=o,h="reverse"===t.__.flowWrap;let r,{x:s,y:a}=o;for(let c=0,_=n.length;c<_;c++)r=n[h?_-1-c:c],l(t,r,s,a,e,i),a+=r.height+o.gap}(t,A,d,o)):(s(t,S,a),l(t,S,0,S.y,d,o))}}const{move:m}=o.PointHelper;function v(t,o,e,i,n,h){const{children:r}=t;let s,a,{y:l,start:c}=o,_=e;l+=i;for(let t=0,i=o.count;t<i;t++)s=r[h?c-t:c+t],s.__.inFlow&&0!==s.__.visible?(a=s.__flowBounds,"from"!==n&&(_=e+(o.width-a.width)/("center"===n?2:1)),m(s,_-a.x,l-a.y),l+=a.height+o.gap):i++}const{move:F}=o.PointHelper;function R(t,o){const e="height",{children:i,itemBox:n}=t,h=u(t,!1),{complex:a,wrap:l,xGap:_,yGap:f,isAutoYGap:w,isFitYGap:x}=h;if(!i.length)return;const b=l&&{x:0,y:0,width:0,height:0,gap:0,count:0,list:[]},B=w?0:f;let A,m,R,I,S,{x:U,y:H,width:X,height:Y}=t.__layout.contentBounds;for(let h=0,r=i.length;h<r;h++)A=i[I=o?r-1-h:h],A.__.inFlow&&0!==A.__.visible&&(m=p(A,n),a?(A.__flowBounds=m,S||(S=d(I,B)),l&&S.count&&S.height+m.height>Y&&(S.grow&&G(t,S,Y,o),w&&g(S,e,Y,x),c(b,S,e),S=d(I,B)),R=m.height,A.__heightGrow&&(S.grow+=A.__heightGrow,R=0,A.__.heightRange&&(S.hasRangeSize=!0)),A.__widthGrow&&y(A,m,X),S.height+=S.count?R+B:R,S.width=Math.max(S.width,m.width),S.count++):(F(A,U-m.x,H-m.y),H+=m.height+B));if(a&&S){const{isAutoXGap:i,isFitXGap:n,contentAlign:a,rowXAlign:u,rowYAlign:d}=h;S.count&&(S.grow&&G(t,S,Y,o),w&&g(S,e,Y,x),l&&c(b,S,e)),l?(i?g(b,"width",X,n):b.width+=(b.gap=_)*(b.list.length-1),function(t,o,e,i){s(t,o,e);const{list:n}=o;if(n.length>1&&(i||(i=r[e]),"from"!==i)){let t;for(let e=0,h=n.length;e<h;e++)t=n[e],t.y=o.height-t.height,"center"===i&&(t.y/=2)}}(t,b,a,d),function(t,o,e,i){const{list:n}=o,h="reverse"===t.__.flowWrap;let r,{x:s,y:a}=o;for(let l=0,c=n.length;l<c;l++)r=n[h?c-1-l:l],v(t,r,s,a,e,i),s+=r.width+o.gap}(t,b,u,o)):(s(t,S,a),v(t,S,S.x,0,u,o))}}function I(t){return o.decorateLeafAttr(t,(t=>o.attr({set(e){const i="number"==typeof e?e:0;"autoWidth"===t?this.__widthGrow=i:this.__heightGrow=i,!i||this.parent&&this.parent.__hasGrow||this.waitParent((()=>{this.parent.__hasGrow=!0})),this.__setAttr(t,e)&&o.doBoundsType(this)}})))}o.Plugin.add("flow","resize");const S=o.Box.prototype,{__updateBoxBounds:U}=o.Group.prototype;o.UI.addAttr("flow",!1,o.autoLayoutType),o.UI.addAttr("gap",0,o.boundsType),o.UI.addAttr("flowAlign","top-left",o.boundsType),o.UI.addAttr("flowWrap",!1,o.boundsType),o.UI.addAttr("itemBox","box",o.boundsType),o.UI.addAttr("inFlow",!0,o.boundsType),o.UI.addAttr("autoWidth",void 0,I),o.UI.addAttr("autoHeight",void 0,I),o.UI.addAttr("autoBox",void 0,o.boundsType);const{copyAndSpread:H}=o.BoundsHelper;return S.__updateFlowLayout=function(){const{leaferIsCreated:t,flow:o}=this;switch(t&&(this.leafer.created=!1),o){case"x":case!0:A(this);break;case"y":R(this);break;case"x-reverse":A(this,!0);break;case"y-reverse":R(this,!0)}t&&(this.leafer.created=!0)},S.__updateContentBounds=function(){const{padding:t}=this.__,o=this.__layout,e=o.contentBounds===o.boxBounds;t?(e&&o.shrinkContent(),H(o.contentBounds,o.boxBounds,t,!0)):e||o.shrinkContentCancel()},S.__updateBoxBounds=function(t){
|
|
1
|
+
this.LeaferIN=this.LeaferIN||{},this.LeaferIN.flow=function(t,o){"use strict";function e(t,o,e,i){var n,h=arguments.length,r=h<3?o:null===i?i=Object.getOwnPropertyDescriptor(o,e):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,o,e,i);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(r=(h<3?n(r):h>3?n(o,e,r):n(o,e))||r);return h>3&&r&&Object.defineProperty(o,e,r),r}"function"==typeof SuppressedError&&SuppressedError;class i extends o.BoxData{}t.Flow=class extends o.Box{get __tag(){return"Flow"}constructor(t){super(t),this.__hasAutoLayout=!0}},e([o.dataProcessor(i)],t.Flow.prototype,"__",void 0),e([o.autoLayoutType("x")],t.Flow.prototype,"flow",void 0),t.Flow=e([o.registerUI()],t.Flow);const n={},h={"top-left":"from",top:"center","top-right":"to",right:"to","bottom-right":"to",bottom:"center","bottom-left":"from",left:"from",center:"center","baseline-left":"from","baseline-center":"center","baseline-right":"to"},r={"top-left":"from",top:"from","top-right":"from",right:"center","bottom-right":"to",bottom:"to","bottom-left":"to",left:"center",center:"center","baseline-left":"to","baseline-center":"to","baseline-right":"to"};function s(t,e,i){const h=t.__,{contentBounds:r}=t.__layout;o.AlignHelper.toPoint(i,e,r,n),e.x=h.__autoWidth?r.x:n.x,e.y=h.__autoHeight?r.y:n.y}const{move:a}=o.PointHelper;function l(t,o,e,i,n,h){const{children:r}=t;let s,l,{x:c,start:_}=o,u=i;c+=e;for(let t=0,e=o.count;t<e;t++)s=r[h?_-t:_+t],s.__.inFlow&&0!==s.__.visible?(l=s.__flowBounds,"from"!==n&&(u=i+(o.height-l.height)/("center"===n?2:1)),a(s,c-l.x,u-l.y),c+=l.width+o.gap):e++}function c(t,o,e){const i="width"===e?"height":"width";t[e]=Math.max(t[e],o[e]),t[i]+=t.count?o[i]+t.gap:o[i],t.list.push(o),t.count++}const _={};function u(t,o){const{gap:e,flowAlign:i,flowWrap:n,__autoWidth:s,__autoHeight:a}=t.__,l=n&&(o?!s:!a);return"object"==typeof e?(_.xGap=e.x||0,_.yGap=e.y||0):_.xGap=_.yGap=e,_.isAutoXGap="string"==typeof _.xGap&&!s,_.isAutoYGap="string"==typeof _.yGap&&!a,_.complex=l||"top-left"!==i||t.__hasGrow||_.isAutoXGap||_.isAutoYGap,_.wrap=l,_.complex&&(_.isFitXGap="fit"===_.xGap&&!s,_.isFitYGap="fit"===_.yGap&&!a,"object"==typeof i?(_.contentAlign=i.content||"top-left",_.rowXAlign=i.x||"from",_.rowYAlign=i.y||"from"):(_.contentAlign=i,_.rowXAlign=h[i],_.rowYAlign=r[i])),_}function d(t,o){return{x:0,y:0,width:0,height:0,gap:o,start:t,count:0,grow:0}}function g(t,o,e,i){const{count:n}=t;n>1&&(e>t[o]||i)&&(t.gap=(e-t[o])/(n-1),t[o]=e)}function p(t,o){return"box"===o?t.__local:t.__layout.localStrokeBounds}const{within:f}=o.MathHelper;function w(t,o,e,i){let n,h,r,s=0,a=o.hasRangeSize&&[],{grow:l,start:c}=o;const _=(e-o.width)/l,{children:u}=t;if(!(_<=0)){o.width=e;for(let t=0,e=o.count;t<e;t++)n=u[i?c-t:c+t],n.__.inFlow&&0!==n.__.visible?(h=n.__widthGrow)&&(r=y(n,n.__flowBounds,_*h),r?(s+=r,l-=h):a&&(n.__.widthRange?a.unshift(n):a.push(n))):e++;s&&function(t,o,e){let i,n,h,r;t.forEach((t=>{i=t.__widthGrow,n=o/e*i,r=y(t,h=t.__flowBounds,h.width+n),o-=n-r,e-=i}))}(a,s,l)}}function y(t,o,e){const{widthRange:i,lockRatio:n}=t.__,h=i?f(e,i):e,r=h/o.width;return t.scaleResize(r,n?r:1),o.width=h,e-h}const{within:x}=o.MathHelper;function G(t,o,e,i){let n,h,r,s=0,a=o.hasRangeSize&&[],{grow:l,start:c}=o;const _=(e-o.height)/l,{children:u}=t;if(!(_<=0)){o.height=e;for(let t=0,e=o.count;t<e;t++)n=u[i?c-t:c+t],n.__.inFlow&&0!==n.__.visible?(h=n.__heightGrow)&&(r=b(n,n.__flowBounds,_*h),r?(s+=r,l-=h):a&&(n.__.heightRange?a.unshift(n):a.push(n))):e++;s&&function(t,o,e){let i,n,h,r;t.forEach((t=>{i=t.__heightGrow,n=o/e*i,r=b(t,h=t.__flowBounds,h.height+n),o-=n-r,e-=i}))}(a,s,l)}}function b(t,o,e){const{heightRange:i,lockRatio:n}=t.__,h=i?x(e,i):e,r=h/o.height;return t.scaleResize(n?r:1,r),o.height=h,e-h}const{move:B}=o.PointHelper;function A(t,o){const e="width",{children:i,itemBox:n}=t,r=u(t,!0),{complex:a,wrap:_,xGap:f,yGap:y,isAutoXGap:x,isFitXGap:G}=r;if(!i.length)return;const A=_&&{x:0,y:0,width:0,height:0,gap:0,count:0,list:[]},m=x?0:f;let v,F,R,I,S,{x:U,y:H,width:X,height:Y}=t.__layout.contentBounds;for(let h=0,r=i.length;h<r;h++)v=i[I=o?r-1-h:h],v.__.inFlow&&0!==v.__.visible&&(F=p(v,n),a?(v.__flowBounds=F,S||(S=d(I,m)),_&&S.count&&S.width+F.width>X&&(S.grow?w(t,S,X,o):x&&g(S,e,X,G),c(A,S,e),S=d(I,m)),R=F.width,v.__widthGrow&&(S.grow+=v.__widthGrow,R=0,v.__.widthRange&&(S.hasRangeSize=!0)),v.__heightGrow&&b(v,F,Y),S.width+=S.count?R+m:R,S.height=Math.max(S.height,F.height),S.count++):(B(v,U-F.x,H-F.y),U+=F.width+m));if(a&&S){const{isAutoYGap:i,isFitYGap:n,contentAlign:a,rowXAlign:u,rowYAlign:d}=r;S.count&&(S.grow?w(t,S,X,o):x&&g(S,e,X,G),_&&c(A,S,e)),_?(i?g(A,"height",Y,n):A.height+=(A.gap=y)*(A.list.length-1),function(t,o,e,i){s(t,o,e);const{list:n}=o;if(n.length>1&&(i||(i=h[e]),"from"!==i)){let t;for(let e=0,h=n.length;e<h;e++)t=n[e],t.x=o.width-t.width,"center"===i&&(t.x/=2)}}(t,A,a,u),function(t,o,e,i){const{list:n}=o,h="reverse"===t.__.flowWrap;let r,{x:s,y:a}=o;for(let c=0,_=n.length;c<_;c++)r=n[h?_-1-c:c],l(t,r,s,a,e,i),a+=r.height+o.gap}(t,A,d,o)):(s(t,S,a),l(t,S,0,S.y,d,o))}}const{move:m}=o.PointHelper;function v(t,o,e,i,n,h){const{children:r}=t;let s,a,{y:l,start:c}=o,_=e;l+=i;for(let t=0,i=o.count;t<i;t++)s=r[h?c-t:c+t],s.__.inFlow&&0!==s.__.visible?(a=s.__flowBounds,"from"!==n&&(_=e+(o.width-a.width)/("center"===n?2:1)),m(s,_-a.x,l-a.y),l+=a.height+o.gap):i++}const{move:F}=o.PointHelper;function R(t,o){const e="height",{children:i,itemBox:n}=t,h=u(t,!1),{complex:a,wrap:l,xGap:_,yGap:f,isAutoYGap:w,isFitYGap:x}=h;if(!i.length)return;const b=l&&{x:0,y:0,width:0,height:0,gap:0,count:0,list:[]},B=w?0:f;let A,m,R,I,S,{x:U,y:H,width:X,height:Y}=t.__layout.contentBounds;for(let h=0,r=i.length;h<r;h++)A=i[I=o?r-1-h:h],A.__.inFlow&&0!==A.__.visible&&(m=p(A,n),a?(A.__flowBounds=m,S||(S=d(I,B)),l&&S.count&&S.height+m.height>Y&&(S.grow&&G(t,S,Y,o),w&&g(S,e,Y,x),c(b,S,e),S=d(I,B)),R=m.height,A.__heightGrow&&(S.grow+=A.__heightGrow,R=0,A.__.heightRange&&(S.hasRangeSize=!0)),A.__widthGrow&&y(A,m,X),S.height+=S.count?R+B:R,S.width=Math.max(S.width,m.width),S.count++):(F(A,U-m.x,H-m.y),H+=m.height+B));if(a&&S){const{isAutoXGap:i,isFitXGap:n,contentAlign:a,rowXAlign:u,rowYAlign:d}=h;S.count&&(S.grow&&G(t,S,Y,o),w&&g(S,e,Y,x),l&&c(b,S,e)),l?(i?g(b,"width",X,n):b.width+=(b.gap=_)*(b.list.length-1),function(t,o,e,i){s(t,o,e);const{list:n}=o;if(n.length>1&&(i||(i=r[e]),"from"!==i)){let t;for(let e=0,h=n.length;e<h;e++)t=n[e],t.y=o.height-t.height,"center"===i&&(t.y/=2)}}(t,b,a,d),function(t,o,e,i){const{list:n}=o,h="reverse"===t.__.flowWrap;let r,{x:s,y:a}=o;for(let l=0,c=n.length;l<c;l++)r=n[h?c-1-l:l],v(t,r,s,a,e,i),s+=r.width+o.gap}(t,b,u,o)):(s(t,S,a),v(t,S,S.x,0,u,o))}}function I(t){return o.decorateLeafAttr(t,(t=>o.attr({set(e){const i="number"==typeof e?e:0;"autoWidth"===t?this.__widthGrow=i:this.__heightGrow=i,!i||this.parent&&this.parent.__hasGrow||this.waitParent((()=>{this.parent.__hasGrow=!0})),this.__setAttr(t,e)&&o.doBoundsType(this)}})))}o.Plugin.add("flow","resize");const S=o.Box.prototype,{__updateBoxBounds:U}=o.Group.prototype;o.UI.addAttr("flow",!1,o.autoLayoutType),o.UI.addAttr("gap",0,o.boundsType),o.UI.addAttr("flowAlign","top-left",o.boundsType),o.UI.addAttr("flowWrap",!1,o.boundsType),o.UI.addAttr("itemBox","box",o.boundsType),o.UI.addAttr("inFlow",!0,o.boundsType),o.UI.addAttr("autoWidth",void 0,I),o.UI.addAttr("autoHeight",void 0,I),o.UI.addAttr("autoBox",void 0,o.boundsType);const{copyAndSpread:H}=o.BoundsHelper;return S.__updateFlowLayout=function(){const{leaferIsCreated:t,flow:o}=this;switch(t&&(this.leafer.created=!1),o){case"x":case!0:A(this);break;case"y":R(this);break;case"x-reverse":A(this,!0);break;case"y-reverse":R(this,!0)}t&&(this.leafer.created=!0)},S.__updateContentBounds=function(){const{padding:t}=this.__,o=this.__layout,e=o.contentBounds===o.boxBounds;t?(e&&o.shrinkContent(),H(o.contentBounds,o.boxBounds,t,!0)):e||o.shrinkContentCancel()},S.__updateBoxBounds=function(t){if(this.children.length&&!this.pathInputed){const o=this.__,{flow:e}=o;if(o.__autoSide){o.__hasSurface&&this.__extraUpdate(),e&&!t?this.__updateRectBoxBounds():U.call(this);const{boxBounds:i}=this.__layout;o.__autoSize||(o.__autoWidth?(e||(i.width+=i.x,i.x=0),i.height=o.height,i.y=0):(e||(i.height+=i.y,i.y=0),i.width=o.width,i.x=0)),e&&t&&o.padding&&H(i,i,o.padding,!1,o.__autoSize?null:o.__autoWidth?"width":"height"),this.__updateNaturalSize()}else this.__updateRectBoxBounds();e&&this.__updateContentBounds()}else this.__updateRectBoxBounds()},t}({},LeaferUI);
|
|
2
2
|
//# sourceMappingURL=flow.min.js.map
|
package/dist/flow.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow.min.js","sources":["../../../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.34.6_tslib@2.8.1_typescript@5.7.3/node_modules/tslib/tslib.es6.js","../../../../../../src/in/packages/flow/src/data/FlowData.ts","../../../../../../src/in/packages/flow/src/Flow.ts","../../../../../../src/in/packages/flow/src/layout/common/align.ts","../../../../../../src/in/packages/flow/src/layout/x/layout.ts","../../../../../../src/in/packages/flow/src/layout/common/wrap.ts","../../../../../../src/in/packages/flow/src/layout/common/data.ts","../../../../../../src/in/packages/flow/src/layout/common/gap.ts","../../../../../../src/in/packages/flow/src/layout/common/bounds.ts","../../../../../../src/in/packages/flow/src/layout/x/grow.ts","../../../../../../src/in/packages/flow/src/layout/y/grow.ts","../../../../../../src/in/packages/flow/src/layout/flowX.ts","../../../../../../src/in/packages/flow/src/layout/x/align.ts","../../../../../../src/in/packages/flow/src/layout/y/layout.ts","../../../../../../src/in/packages/flow/src/layout/flowY.ts","../../../../../../src/in/packages/flow/src/layout/y/align.ts","../../../../../../src/in/packages/flow/src/decorate.ts","../../../../../../src/in/packages/flow/src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { IFlowData } from \"@leafer-ui/interface\"\nimport { BoxData } from '@leafer-ui/draw'\n\n\nexport class FlowData extends BoxData implements IFlowData {\n\n}\n","import { IFlow, IFlowData, IFlowInputData, IFlowType } from '@leafer-ui/interface'\nimport { registerUI, dataProcessor, Box, autoLayoutType } from '@leafer-ui/draw'\n\nimport { FlowData } from './data/FlowData'\n\n\n@registerUI()\nexport class Flow extends Box implements IFlow {\n\n public get __tag() { return 'Flow' }\n\n @dataProcessor(FlowData)\n declare public __: IFlowData\n\n @autoLayoutType('x')\n declare public flow?: IFlowType\n\n constructor(data?: IFlowInputData) {\n super(data)\n this.__hasAutoLayout = true\n }\n\n}","import { IBoundsData, IBox, IFlowAlign, IPointData } from '@leafer-ui/interface'\nimport { AlignHelper } from '@leafer-ui/draw'\n\nimport { IFlowAlignToAxisAlignMap } from '@leafer-in/interface'\n\n\nconst point = {} as IPointData\n\nexport const alignToInnerXMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'center',\n 'top-right': 'to',\n 'right': 'to',\n 'bottom-right': 'to',\n 'bottom': 'center',\n 'bottom-left': 'from',\n 'left': 'from',\n 'center': 'center',\n 'baseline-left': 'from',\n 'baseline-center': 'center',\n 'baseline-right': 'to',\n}\n\nexport const alignToInnerYMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'from',\n 'top-right': 'from',\n 'right': 'center',\n 'bottom-right': 'to',\n 'bottom': 'to',\n 'bottom-left': 'to',\n 'left': 'center',\n 'center': 'center',\n 'baseline-left': 'to',\n 'baseline-center': 'to',\n 'baseline-right': 'to',\n}\n\nexport function alignContent(box: IBox, content: IBoundsData, align: IFlowAlign): void {\n const data = box.__\n const { contentBounds } = box.__layout\n AlignHelper.toPoint(align as any, content, contentBounds, point)\n content.x = data.__autoWidth ? contentBounds.x : point.x\n content.y = data.__autoHeight ? contentBounds.y : point.y\n}","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\n\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowYAlign?: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutX(box, row, x, y, rowYAlign, reverse)\n y += row.height + data.gap\n }\n}\n\nexport function layoutX(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowYAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { x, start } = row, y = fromY\n x += fromX\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowYAlign !== 'from') y = fromY + (row.height - local.height) / (rowYAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + row.gap\n } else {\n end++\n }\n }\n}","import { IFlowWrapDrawData, IFlowDrawData, ISide } from '@leafer-in/interface'\n\n\nexport function flowWrap(wrapData: IFlowWrapDrawData, data: IFlowDrawData, wrapSide: ISide): void {\n const otherSide = wrapSide === 'width' ? 'height' : 'width'\n wrapData[wrapSide] = Math.max(wrapData[wrapSide], data[wrapSide])\n wrapData[otherSide] += wrapData.count ? data[otherSide] + wrapData.gap : data[otherSide]\n wrapData.list.push(data)\n wrapData.count++\n}\n","import { IBox } from '@leafer-ui/interface'\n\nimport { IFlowWrapDrawData, IFlowDrawData, IFlowParseData } from '@leafer-in/interface'\n\nimport { alignToInnerXMap, alignToInnerYMap } from './align'\n\nconst p = {} as IFlowParseData\n\nexport function getParseData(box: IBox, isFlowX: boolean): IFlowParseData {\n const { gap, flowAlign: align, flowWrap: wrap, __autoWidth, __autoHeight } = box.__\n const needWrap = wrap && (isFlowX ? !__autoWidth : !__autoHeight)\n\n if (typeof gap === 'object') {\n p.xGap = gap.x || 0\n p.yGap = gap.y || 0\n } else {\n p.xGap = p.yGap = gap\n }\n\n p.isAutoXGap = typeof p.xGap === 'string' && !__autoWidth\n p.isAutoYGap = typeof p.yGap === 'string' && !__autoHeight\n\n p.complex = needWrap || align !== 'top-left' || box.__hasGrow || p.isAutoXGap || p.isAutoYGap\n p.wrap = needWrap\n\n if (p.complex) {\n p.isFitXGap = p.xGap === 'fit' && !__autoWidth\n p.isFitYGap = p.yGap === 'fit' && !__autoHeight\n\n if (typeof align === 'object') {\n p.contentAlign = align.content || 'top-left'\n p.rowXAlign = align.x || 'from'\n p.rowYAlign = align.y || 'from'\n } else {\n p.contentAlign = align\n p.rowXAlign = alignToInnerXMap[align]\n p.rowYAlign = alignToInnerYMap[align]\n }\n\n }\n\n return p\n}\n\nexport function getDrawData(start: number, gap: number): IFlowDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap, start, count: 0, grow: 0 }\n}\n\nexport function getWrapDrawData(): IFlowWrapDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap: 0, count: 0, list: [] }\n}","import { IGapBoundsData, ISide } from '@leafer-in/interface'\n\n\nexport function autoGap(data: IGapBoundsData, side: ISide, sideTotal: number, fit: boolean): void {\n const { count } = data\n if (count > 1 && (sideTotal > data[side] || fit)) {\n data.gap = (sideTotal - data[side]) / (count - 1)\n data[side] = sideTotal\n }\n}","import { IBoundsData, IBoundsType, IUI } from '@leafer-ui/interface'\n\nexport function getItemBounds(child: IUI, itemBox: IBoundsType): IBoundsData {\n return itemBox === 'box' ? child.__local : child.__layout.localStrokeBounds\n\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growX(box: IBox, row: IFlowDrawData, width: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = (width - row.width) / totalGrow, { children } = box\n if (growSize <= 0) return\n\n row.width = width\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__widthGrow) {\n remainSpace = resizeWidth(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.widthRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__widthGrow\n space = totalSpace / countGrow * grow\n remain = resizeWidth(child, local = child.__flowBounds, local.width + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeWidth(child: IUI, local: IBoundsData, size: number): number {\n const { widthRange, lockRatio } = child.__\n const realSize = widthRange ? within(size, widthRange) : size\n const scale = realSize / local.width\n child.scaleResize(scale, lockRatio ? scale : 1)\n local.width = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growY(box: IBox, row: IFlowDrawData, height: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = (height - row.height) / totalGrow, { children } = box\n if (growSize <= 0) return\n\n row.height = height\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__heightGrow) {\n remainSpace = resizeHeight(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.heightRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__heightGrow\n space = totalSpace / countGrow * grow\n remain = resizeHeight(child, local = child.__flowBounds, local.height + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeHeight(child: IUI, local: IBoundsData, size: number): number {\n const { heightRange, lockRatio } = child.__\n const realSize = heightRange ? within(size, heightRange) : size\n const scale = realSize / local.height\n child.scaleResize(lockRatio ? scale : 1, scale)\n local.height = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './x/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutX } from './x/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growX } from './x/grow'\nimport { resizeHeight } from './y/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowX(box: IBox, reverse?: boolean): void {\n const side = 'width', { children, itemBox } = box, pData = getParseData(box, true)\n const { complex, wrap, xGap, yGap, isAutoXGap, isFitXGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), xGapTempNum = isAutoXGap ? 0 : xGap as number\n let child: IUI, local: IBoundsData, localWidth: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, xGapTempNum)\n\n if (wrap && data.count && data.width + local.width > width) {\n\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, xGapTempNum)\n }\n\n localWidth = local.width\n\n if (child.__widthGrow) {\n data.grow += child.__widthGrow, localWidth = 0\n if (child.__.widthRange) data.hasRangeSize = true\n }\n\n if (child.__heightGrow) resizeHeight(child, local, height)\n\n data.width += data.count ? localWidth + xGapTempNum : localWidth\n data.height = Math.max(data.height, local.height)\n data.count++\n\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + xGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoYGap, isFitYGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (isAutoYGap) autoGap(wrapData, 'height', height, isFitYGap)\n else wrapData.height += (wrapData.gap = yGap as number) * (wrapData.list.length - 1)\n\n align(box, wrapData, contentAlign, rowXAlign)\n layout(box, wrapData, rowYAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutX(box, data, 0, data.y, rowYAlign, reverse)\n\n }\n\n }\n}","import { IBox, IFlowAlign, IAxisAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerXMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, innerXAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!innerXAlign) innerXAlign = alignToInnerXMap[contentAlign]\n\n if (innerXAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.x = data.width - row.width\n if (innerXAlign === 'center') row.x /= 2\n }\n\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutY(box, row, x, y, rowXAlign, reverse)\n x += row.width + data.gap\n }\n}\n\nexport function layoutY(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { y, start } = row, x = fromX\n y += fromY\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowXAlign !== 'from') x = fromX + (row.width - local.width) / (rowXAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + row.gap\n } else {\n end++\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './y/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutY } from './y/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growY } from './y/grow'\nimport { resizeWidth } from './x/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowY(box: IBox, reverse?: boolean): void {\n const side = 'height', { children, itemBox } = box, pData = getParseData(box, false)\n const { complex, wrap, xGap, yGap, isAutoYGap, isFitYGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), yGapTempNum = isAutoYGap ? 0 : yGap as number\n let child: IUI, local: IBoundsData, localHeight: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, yGapTempNum)\n\n if (wrap && data.count && data.height + local.height > height) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, yGapTempNum)\n }\n\n localHeight = local.height\n\n if (child.__heightGrow) {\n data.grow += child.__heightGrow, localHeight = 0\n if (child.__.heightRange) data.hasRangeSize = true\n }\n\n if (child.__widthGrow) resizeWidth(child, local, width)\n\n data.height += data.count ? localHeight + yGapTempNum : localHeight\n data.width = Math.max(data.width, local.width)\n data.count++\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + yGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoXGap, isFitXGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (isAutoXGap) autoGap(wrapData, 'width', width, isFitXGap)\n else wrapData.width += (wrapData.gap = xGap as number) * (wrapData.list.length - 1)\n\n align(box, wrapData, contentAlign, rowYAlign)\n layout(box, wrapData, rowXAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutY(box, data, data.x, 0, rowXAlign, reverse)\n\n }\n\n }\n}","import { IAxisAlign, IBox, IFlowAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerYMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, rowYAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!rowYAlign) rowYAlign = alignToInnerYMap[contentAlign]\n\n if (rowYAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.y = data.height - row.height\n if (rowYAlign === 'center') row.y /= 2\n }\n\n }\n }\n}\n\n","import { attr, decorateLeafAttr, doBoundsType } from '@leafer-ui/draw'\nimport { IValue } from '@leafer/interface'\n\n\nexport function autoBoundsType(defaultValue?: IValue) {\n return decorateLeafAttr(defaultValue, (key: string) => attr({\n set(value: IValue) {\n const grow = typeof value === 'number' ? value : 0\n key === 'autoWidth' ? this.__widthGrow = grow : this.__heightGrow = grow\n if (grow && !(this.parent && this.parent.__hasGrow)) this.waitParent(() => { this.parent.__hasGrow = true }) // 需要优化, 移入到其他容器中的时候也需要优化\n this.__setAttr(key, value) && doBoundsType(this)\n }\n }))\n}","export { Flow } from './Flow'\n\n\nimport { BoundsHelper, Box, Group, UI, autoLayoutType, boundsType, Plugin } from '@leafer-ui/draw'\n\nimport '@leafer-in/resize'\n\nimport { flowX } from './layout/flowX'\nimport { flowY } from './layout/flowY'\nimport { autoBoundsType } from './decorate'\n\n\nPlugin.add('flow', 'resize')\n\n\nconst box = Box.prototype, { __updateBoxBounds } = Group.prototype\n\n// addAttr\nUI.addAttr('flow', false, autoLayoutType)\nUI.addAttr('gap', 0, boundsType)\nUI.addAttr('flowAlign', 'top-left', boundsType)\nUI.addAttr('flowWrap', false, boundsType)\n\nUI.addAttr('itemBox', 'box', boundsType)\nUI.addAttr('inFlow', true, boundsType)\n\nUI.addAttr('autoWidth', undefined, autoBoundsType)\nUI.addAttr('autoHeight', undefined, autoBoundsType)\nUI.addAttr('autoBox', undefined, boundsType)\n\n\nconst { copyAndSpread } = BoundsHelper\n\nbox.__updateFlowLayout = function (): void {\n const { leaferIsCreated, flow } = this\n\n if (leaferIsCreated) this.leafer.created = false // 拦截布局更新通知,进行手动更新布局\n\n switch (flow) {\n case 'x':\n case true:\n flowX(this)\n break\n case 'y':\n flowY(this)\n break\n case 'x-reverse':\n flowX(this, true)\n break\n case 'y-reverse':\n flowY(this, true)\n break\n }\n\n if (leaferIsCreated) this.leafer.created = true\n}\n\nbox.__updateContentBounds = function (): void {\n const { padding } = this.__\n const layout = this.__layout\n const same = layout.contentBounds === layout.boxBounds\n\n if (padding) {\n if (same) layout.shrinkContent()\n copyAndSpread(layout.contentBounds, layout.boxBounds, padding, true)\n } else {\n if (!same) layout.shrinkContentCancel()\n }\n}\n\nbox.__updateBoxBounds = function (secondLayout?: boolean): void { // autoSide且自动布局时需要二次布局\n const data = this.__\n\n if (this.children.length && !this.pathInputed) {\n\n const { flow } = data\n\n if (data.__autoSide) {\n\n if (data.__hasSurface) this.__extraUpdate() // Box自身存在样式,需要额外更新\n\n flow && !secondLayout ? this.__updateRectBoxBounds() : __updateBoxBounds.call(this)\n\n const { boxBounds } = this.__layout\n\n if (!data.__autoSize) {\n if (data.__autoWidth) {\n if (!flow) boxBounds.width += boxBounds.x, boxBounds.x = 0\n boxBounds.height = data.height, boxBounds.y = 0\n } else {\n if (!flow) boxBounds.height += boxBounds.y, boxBounds.y = 0\n boxBounds.width = data.width, boxBounds.x = 0\n }\n }\n\n flow && secondLayout && data.padding && copyAndSpread(boxBounds, boxBounds, data.padding, false, data.__autoSize ? null : (data.__autoWidth ? 'width' : 'height'))\n\n this.__updateNaturalSize()\n\n } else {\n this.__updateRectBoxBounds()\n }\n\n if (flow) this.__updateContentBounds()\n\n } else {\n this.__updateRectBoxBounds()\n }\n}"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","SuppressedError","FlowData","BoxData","Flow","Box","__tag","constructor","data","super","this","__hasAutoLayout","dataProcessor","prototype","autoLayoutType","exports","registerUI","point","alignToInnerXMap","top","right","bottom","left","center","alignToInnerYMap","alignContent","box","content","align","__","contentBounds","__layout","AlignHelper","toPoint","x","__autoWidth","y","__autoHeight","move","PointHelper","layoutX","row","fromX","fromY","rowYAlign","reverse","children","child","local","start","j","end","count","inFlow","visible","__flowBounds","height","width","gap","flowWrap","wrapData","wrapSide","otherSide","Math","max","list","push","p","getParseData","isFlowX","flowAlign","wrap","needWrap","xGap","yGap","isAutoXGap","isAutoYGap","complex","__hasGrow","isFitXGap","isFitYGap","contentAlign","rowXAlign","getDrawData","grow","autoGap","side","sideTotal","fit","getItemBounds","itemBox","__local","localStrokeBounds","within","MathHelper","growX","remainSpace","remainTotalSpace","hasRangeSize","totalGrow","growSize","__widthGrow","resizeWidth","widthRange","unshift","totalSpace","countGrow","space","remain","forEach","assignRemainSpace","size","lockRatio","realSize","scale","scaleResize","growY","__heightGrow","resizeHeight","heightRange","flowX","pData","xGapTempNum","localWidth","index","len","innerXAlign","reverseWrap","layout","layoutY","flowY","yGapTempNum","localHeight","autoBoundsType","defaultValue","decorateLeafAttr","attr","set","value","parent","waitParent","__setAttr","doBoundsType","Plugin","add","__updateBoxBounds","Group","draw","UI","addAttr","boundsType","undefined","copyAndSpread","BoundsHelper","__updateFlowLayout","leaferIsCreated","flow","leafer","created","__updateContentBounds","padding","same","boxBounds","shrinkContent","shrinkContentCancel","secondLayout","pathInputed","__autoSide","__hasSurface","__extraUpdate","__updateRectBoxBounds","call","__autoSize","__updateNaturalSize"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"flow.min.js","sources":["../../../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.34.6_tslib@2.8.1_typescript@5.7.3/node_modules/tslib/tslib.es6.js","../../../../../../src/in/packages/flow/src/data/FlowData.ts","../../../../../../src/in/packages/flow/src/Flow.ts","../../../../../../src/in/packages/flow/src/layout/common/align.ts","../../../../../../src/in/packages/flow/src/layout/x/layout.ts","../../../../../../src/in/packages/flow/src/layout/common/wrap.ts","../../../../../../src/in/packages/flow/src/layout/common/data.ts","../../../../../../src/in/packages/flow/src/layout/common/gap.ts","../../../../../../src/in/packages/flow/src/layout/common/bounds.ts","../../../../../../src/in/packages/flow/src/layout/x/grow.ts","../../../../../../src/in/packages/flow/src/layout/y/grow.ts","../../../../../../src/in/packages/flow/src/layout/flowX.ts","../../../../../../src/in/packages/flow/src/layout/x/align.ts","../../../../../../src/in/packages/flow/src/layout/y/layout.ts","../../../../../../src/in/packages/flow/src/layout/flowY.ts","../../../../../../src/in/packages/flow/src/layout/y/align.ts","../../../../../../src/in/packages/flow/src/decorate.ts","../../../../../../src/in/packages/flow/src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { IFlowData } from \"@leafer-ui/interface\"\nimport { BoxData } from '@leafer-ui/draw'\n\n\nexport class FlowData extends BoxData implements IFlowData {\n\n}\n","import { IFlow, IFlowData, IFlowInputData, IFlowType } from '@leafer-ui/interface'\nimport { registerUI, dataProcessor, Box, autoLayoutType } from '@leafer-ui/draw'\n\nimport { FlowData } from './data/FlowData'\n\n\n@registerUI()\nexport class Flow extends Box implements IFlow {\n\n public get __tag() { return 'Flow' }\n\n @dataProcessor(FlowData)\n declare public __: IFlowData\n\n @autoLayoutType('x')\n declare public flow?: IFlowType\n\n constructor(data?: IFlowInputData) {\n super(data)\n this.__hasAutoLayout = true\n }\n\n}","import { IBoundsData, IBox, IFlowAlign, IPointData } from '@leafer-ui/interface'\nimport { AlignHelper } from '@leafer-ui/draw'\n\nimport { IFlowAlignToAxisAlignMap } from '@leafer-in/interface'\n\n\nconst point = {} as IPointData\n\nexport const alignToInnerXMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'center',\n 'top-right': 'to',\n 'right': 'to',\n 'bottom-right': 'to',\n 'bottom': 'center',\n 'bottom-left': 'from',\n 'left': 'from',\n 'center': 'center',\n 'baseline-left': 'from',\n 'baseline-center': 'center',\n 'baseline-right': 'to',\n}\n\nexport const alignToInnerYMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'from',\n 'top-right': 'from',\n 'right': 'center',\n 'bottom-right': 'to',\n 'bottom': 'to',\n 'bottom-left': 'to',\n 'left': 'center',\n 'center': 'center',\n 'baseline-left': 'to',\n 'baseline-center': 'to',\n 'baseline-right': 'to',\n}\n\nexport function alignContent(box: IBox, content: IBoundsData, align: IFlowAlign): void {\n const data = box.__\n const { contentBounds } = box.__layout\n AlignHelper.toPoint(align as any, content, contentBounds, point)\n content.x = data.__autoWidth ? contentBounds.x : point.x\n content.y = data.__autoHeight ? contentBounds.y : point.y\n}","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\n\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowYAlign?: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutX(box, row, x, y, rowYAlign, reverse)\n y += row.height + data.gap\n }\n}\n\nexport function layoutX(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowYAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { x, start } = row, y = fromY\n x += fromX\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowYAlign !== 'from') y = fromY + (row.height - local.height) / (rowYAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + row.gap\n } else {\n end++\n }\n }\n}","import { IFlowWrapDrawData, IFlowDrawData, ISide } from '@leafer-in/interface'\n\n\nexport function flowWrap(wrapData: IFlowWrapDrawData, data: IFlowDrawData, wrapSide: ISide): void {\n const otherSide = wrapSide === 'width' ? 'height' : 'width'\n wrapData[wrapSide] = Math.max(wrapData[wrapSide], data[wrapSide])\n wrapData[otherSide] += wrapData.count ? data[otherSide] + wrapData.gap : data[otherSide]\n wrapData.list.push(data)\n wrapData.count++\n}\n","import { IBox } from '@leafer-ui/interface'\n\nimport { IFlowWrapDrawData, IFlowDrawData, IFlowParseData } from '@leafer-in/interface'\n\nimport { alignToInnerXMap, alignToInnerYMap } from './align'\n\nconst p = {} as IFlowParseData\n\nexport function getParseData(box: IBox, isFlowX: boolean): IFlowParseData {\n const { gap, flowAlign: align, flowWrap: wrap, __autoWidth, __autoHeight } = box.__\n const needWrap = wrap && (isFlowX ? !__autoWidth : !__autoHeight)\n\n if (typeof gap === 'object') {\n p.xGap = gap.x || 0\n p.yGap = gap.y || 0\n } else {\n p.xGap = p.yGap = gap\n }\n\n p.isAutoXGap = typeof p.xGap === 'string' && !__autoWidth\n p.isAutoYGap = typeof p.yGap === 'string' && !__autoHeight\n\n p.complex = needWrap || align !== 'top-left' || box.__hasGrow || p.isAutoXGap || p.isAutoYGap\n p.wrap = needWrap\n\n if (p.complex) {\n p.isFitXGap = p.xGap === 'fit' && !__autoWidth\n p.isFitYGap = p.yGap === 'fit' && !__autoHeight\n\n if (typeof align === 'object') {\n p.contentAlign = align.content || 'top-left'\n p.rowXAlign = align.x || 'from'\n p.rowYAlign = align.y || 'from'\n } else {\n p.contentAlign = align\n p.rowXAlign = alignToInnerXMap[align]\n p.rowYAlign = alignToInnerYMap[align]\n }\n\n }\n\n return p\n}\n\nexport function getDrawData(start: number, gap: number): IFlowDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap, start, count: 0, grow: 0 }\n}\n\nexport function getWrapDrawData(): IFlowWrapDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap: 0, count: 0, list: [] }\n}","import { IGapBoundsData, ISide } from '@leafer-in/interface'\n\n\nexport function autoGap(data: IGapBoundsData, side: ISide, sideTotal: number, fit: boolean): void {\n const { count } = data\n if (count > 1 && (sideTotal > data[side] || fit)) {\n data.gap = (sideTotal - data[side]) / (count - 1)\n data[side] = sideTotal\n }\n}","import { IBoundsData, IBoundsType, IUI } from '@leafer-ui/interface'\n\nexport function getItemBounds(child: IUI, itemBox: IBoundsType): IBoundsData {\n return itemBox === 'box' ? child.__local : child.__layout.localStrokeBounds\n\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growX(box: IBox, row: IFlowDrawData, width: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = (width - row.width) / totalGrow, { children } = box\n if (growSize <= 0) return\n\n row.width = width\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__widthGrow) {\n remainSpace = resizeWidth(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.widthRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__widthGrow\n space = totalSpace / countGrow * grow\n remain = resizeWidth(child, local = child.__flowBounds, local.width + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeWidth(child: IUI, local: IBoundsData, size: number): number {\n const { widthRange, lockRatio } = child.__\n const realSize = widthRange ? within(size, widthRange) : size\n const scale = realSize / local.width\n child.scaleResize(scale, lockRatio ? scale : 1)\n local.width = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growY(box: IBox, row: IFlowDrawData, height: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = (height - row.height) / totalGrow, { children } = box\n if (growSize <= 0) return\n\n row.height = height\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__heightGrow) {\n remainSpace = resizeHeight(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.heightRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__heightGrow\n space = totalSpace / countGrow * grow\n remain = resizeHeight(child, local = child.__flowBounds, local.height + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeHeight(child: IUI, local: IBoundsData, size: number): number {\n const { heightRange, lockRatio } = child.__\n const realSize = heightRange ? within(size, heightRange) : size\n const scale = realSize / local.height\n child.scaleResize(lockRatio ? scale : 1, scale)\n local.height = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './x/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutX } from './x/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growX } from './x/grow'\nimport { resizeHeight } from './y/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowX(box: IBox, reverse?: boolean): void {\n const side = 'width', { children, itemBox } = box, pData = getParseData(box, true)\n const { complex, wrap, xGap, yGap, isAutoXGap, isFitXGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), xGapTempNum = isAutoXGap ? 0 : xGap as number\n let child: IUI, local: IBoundsData, localWidth: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, xGapTempNum)\n\n if (wrap && data.count && data.width + local.width > width) {\n\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, xGapTempNum)\n }\n\n localWidth = local.width\n\n if (child.__widthGrow) {\n data.grow += child.__widthGrow, localWidth = 0\n if (child.__.widthRange) data.hasRangeSize = true\n }\n\n if (child.__heightGrow) resizeHeight(child, local, height)\n\n data.width += data.count ? localWidth + xGapTempNum : localWidth\n data.height = Math.max(data.height, local.height)\n data.count++\n\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + xGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoYGap, isFitYGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (isAutoYGap) autoGap(wrapData, 'height', height, isFitYGap)\n else wrapData.height += (wrapData.gap = yGap as number) * (wrapData.list.length - 1)\n\n align(box, wrapData, contentAlign, rowXAlign)\n layout(box, wrapData, rowYAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutX(box, data, 0, data.y, rowYAlign, reverse)\n\n }\n\n }\n}","import { IBox, IFlowAlign, IAxisAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerXMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, innerXAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!innerXAlign) innerXAlign = alignToInnerXMap[contentAlign]\n\n if (innerXAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.x = data.width - row.width\n if (innerXAlign === 'center') row.x /= 2\n }\n\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutY(box, row, x, y, rowXAlign, reverse)\n x += row.width + data.gap\n }\n}\n\nexport function layoutY(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { y, start } = row, x = fromX\n y += fromY\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowXAlign !== 'from') x = fromX + (row.width - local.width) / (rowXAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + row.gap\n } else {\n end++\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './y/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutY } from './y/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growY } from './y/grow'\nimport { resizeWidth } from './x/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowY(box: IBox, reverse?: boolean): void {\n const side = 'height', { children, itemBox } = box, pData = getParseData(box, false)\n const { complex, wrap, xGap, yGap, isAutoYGap, isFitYGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), yGapTempNum = isAutoYGap ? 0 : yGap as number\n let child: IUI, local: IBoundsData, localHeight: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, yGapTempNum)\n\n if (wrap && data.count && data.height + local.height > height) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, yGapTempNum)\n }\n\n localHeight = local.height\n\n if (child.__heightGrow) {\n data.grow += child.__heightGrow, localHeight = 0\n if (child.__.heightRange) data.hasRangeSize = true\n }\n\n if (child.__widthGrow) resizeWidth(child, local, width)\n\n data.height += data.count ? localHeight + yGapTempNum : localHeight\n data.width = Math.max(data.width, local.width)\n data.count++\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + yGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoXGap, isFitXGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (isAutoXGap) autoGap(wrapData, 'width', width, isFitXGap)\n else wrapData.width += (wrapData.gap = xGap as number) * (wrapData.list.length - 1)\n\n align(box, wrapData, contentAlign, rowYAlign)\n layout(box, wrapData, rowXAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutY(box, data, data.x, 0, rowXAlign, reverse)\n\n }\n\n }\n}","import { IAxisAlign, IBox, IFlowAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerYMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, rowYAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!rowYAlign) rowYAlign = alignToInnerYMap[contentAlign]\n\n if (rowYAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.y = data.height - row.height\n if (rowYAlign === 'center') row.y /= 2\n }\n\n }\n }\n}\n\n","import { attr, decorateLeafAttr, doBoundsType } from '@leafer-ui/draw'\nimport { IValue } from '@leafer/interface'\n\n\nexport function autoBoundsType(defaultValue?: IValue) {\n return decorateLeafAttr(defaultValue, (key: string) => attr({\n set(value: IValue) {\n const grow = typeof value === 'number' ? value : 0\n key === 'autoWidth' ? this.__widthGrow = grow : this.__heightGrow = grow\n if (grow && !(this.parent && this.parent.__hasGrow)) this.waitParent(() => { this.parent.__hasGrow = true }) // 需要优化, 移入到其他容器中的时候也需要优化\n this.__setAttr(key, value) && doBoundsType(this)\n }\n }))\n}","export { Flow } from './Flow'\n\n\nimport { BoundsHelper, Box, Group, UI, autoLayoutType, boundsType, Plugin } from '@leafer-ui/draw'\n\nimport '@leafer-in/resize'\n\nimport { flowX } from './layout/flowX'\nimport { flowY } from './layout/flowY'\nimport { autoBoundsType } from './decorate'\n\n\nPlugin.add('flow', 'resize')\n\n\nconst box = Box.prototype, { __updateBoxBounds } = Group.prototype\n\n// addAttr\nUI.addAttr('flow', false, autoLayoutType)\nUI.addAttr('gap', 0, boundsType)\nUI.addAttr('flowAlign', 'top-left', boundsType)\nUI.addAttr('flowWrap', false, boundsType)\n\nUI.addAttr('itemBox', 'box', boundsType)\nUI.addAttr('inFlow', true, boundsType)\n\nUI.addAttr('autoWidth', undefined, autoBoundsType)\nUI.addAttr('autoHeight', undefined, autoBoundsType)\nUI.addAttr('autoBox', undefined, boundsType)\n\n\nconst { copyAndSpread } = BoundsHelper\n\nbox.__updateFlowLayout = function (): void {\n const { leaferIsCreated, flow } = this\n\n if (leaferIsCreated) this.leafer.created = false // 拦截布局更新通知,进行手动更新布局\n\n switch (flow) {\n case 'x':\n case true:\n flowX(this)\n break\n case 'y':\n flowY(this)\n break\n case 'x-reverse':\n flowX(this, true)\n break\n case 'y-reverse':\n flowY(this, true)\n break\n }\n\n if (leaferIsCreated) this.leafer.created = true\n}\n\nbox.__updateContentBounds = function (): void {\n const { padding } = this.__\n const layout = this.__layout\n const same = layout.contentBounds === layout.boxBounds\n\n if (padding) {\n if (same) layout.shrinkContent()\n copyAndSpread(layout.contentBounds, layout.boxBounds, padding, true)\n } else {\n if (!same) layout.shrinkContentCancel()\n }\n}\n\nbox.__updateBoxBounds = function (secondLayout?: boolean): void { // autoSide且自动布局时需要二次布局\n if (this.children.length && !this.pathInputed) {\n\n const data = this.__, { flow } = data\n\n if (data.__autoSide) {\n\n if (data.__hasSurface) this.__extraUpdate() // Box自身存在样式,需要额外更新\n\n flow && !secondLayout ? this.__updateRectBoxBounds() : __updateBoxBounds.call(this)\n\n const { boxBounds } = this.__layout\n\n if (!data.__autoSize) {\n if (data.__autoWidth) {\n if (!flow) boxBounds.width += boxBounds.x, boxBounds.x = 0\n boxBounds.height = data.height, boxBounds.y = 0\n } else {\n if (!flow) boxBounds.height += boxBounds.y, boxBounds.y = 0\n boxBounds.width = data.width, boxBounds.x = 0\n }\n }\n\n flow && secondLayout && data.padding && copyAndSpread(boxBounds, boxBounds, data.padding, false, data.__autoSize ? null : (data.__autoWidth ? 'width' : 'height'))\n\n this.__updateNaturalSize()\n\n } else {\n this.__updateRectBoxBounds()\n }\n\n if (flow) this.__updateContentBounds()\n\n } else {\n this.__updateRectBoxBounds()\n }\n}"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","SuppressedError","FlowData","BoxData","Flow","Box","__tag","constructor","data","super","this","__hasAutoLayout","dataProcessor","prototype","autoLayoutType","exports","registerUI","point","alignToInnerXMap","top","right","bottom","left","center","alignToInnerYMap","alignContent","box","content","align","__","contentBounds","__layout","AlignHelper","toPoint","x","__autoWidth","y","__autoHeight","move","PointHelper","layoutX","row","fromX","fromY","rowYAlign","reverse","children","child","local","start","j","end","count","inFlow","visible","__flowBounds","height","width","gap","flowWrap","wrapData","wrapSide","otherSide","Math","max","list","push","p","getParseData","isFlowX","flowAlign","wrap","needWrap","xGap","yGap","isAutoXGap","isAutoYGap","complex","__hasGrow","isFitXGap","isFitYGap","contentAlign","rowXAlign","getDrawData","grow","autoGap","side","sideTotal","fit","getItemBounds","itemBox","__local","localStrokeBounds","within","MathHelper","growX","remainSpace","remainTotalSpace","hasRangeSize","totalGrow","growSize","__widthGrow","resizeWidth","widthRange","unshift","totalSpace","countGrow","space","remain","forEach","assignRemainSpace","size","lockRatio","realSize","scale","scaleResize","growY","__heightGrow","resizeHeight","heightRange","flowX","pData","xGapTempNum","localWidth","index","len","innerXAlign","reverseWrap","layout","layoutY","flowY","yGapTempNum","localHeight","autoBoundsType","defaultValue","decorateLeafAttr","attr","set","value","parent","waitParent","__setAttr","doBoundsType","Plugin","add","__updateBoxBounds","Group","draw","UI","addAttr","boundsType","undefined","copyAndSpread","BoundsHelper","__updateFlowLayout","leaferIsCreated","flow","leafer","created","__updateContentBounds","padding","same","boxBounds","shrinkContent","shrinkContentCancel","secondLayout","pathInputed","__autoSide","__hasSurface","__extraUpdate","__updateRectBoxBounds","call","__autoSize","__updateNaturalSize"],"mappings":"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","x_google_ignoreList":[0]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leafer-in/flow",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "@leafer-in/flow",
|
|
5
5
|
"author": "Chao (Leafer) Wan",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,9 +34,9 @@
|
|
|
34
34
|
"leaferjs"
|
|
35
35
|
],
|
|
36
36
|
"peerDependencies": {
|
|
37
|
-
"@leafer-ui/draw": "^1.
|
|
38
|
-
"@leafer-in/resize": "^1.
|
|
39
|
-
"@leafer-ui/interface": "^1.
|
|
40
|
-
"@leafer-in/interface": "^1.
|
|
37
|
+
"@leafer-ui/draw": "^1.8.0",
|
|
38
|
+
"@leafer-in/resize": "^1.8.0",
|
|
39
|
+
"@leafer-ui/interface": "^1.8.0",
|
|
40
|
+
"@leafer-in/interface": "^1.8.0"
|
|
41
41
|
}
|
|
42
42
|
}
|
package/src/index.ts
CHANGED
|
@@ -69,11 +69,9 @@ box.__updateContentBounds = function (): void {
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
box.__updateBoxBounds = function (secondLayout?: boolean): void { // autoSide且自动布局时需要二次布局
|
|
72
|
-
const data = this.__
|
|
73
|
-
|
|
74
72
|
if (this.children.length && !this.pathInputed) {
|
|
75
73
|
|
|
76
|
-
const { flow } = data
|
|
74
|
+
const data = this.__, { flow } = data
|
|
77
75
|
|
|
78
76
|
if (data.__autoSide) {
|
|
79
77
|
|