2 lines
10 KiB
JavaScript
2 lines
10 KiB
JavaScript
!function(a,b){"function"==typeof define&&define.amd?define([],b):"object"==typeof exports?module.exports=b():a.computeLayout=b()}(this,function(){var a=function(){function a(b){return(!b.layout||b.isDirty)&&(b.layout={width:void 0,height:void 0,top:0,left:0,right:0,bottom:0}),b.style||(b.style={}),b.children||(b.children=[]),b.children.forEach(a),b}function b(a){return void 0===a}function c(a){return a===P||a===Q}function d(a){return a===R||a===S}function e(a,b){if(void 0!==a.style.marginStart&&c(b))return a.style.marginStart;var d=null;switch(b){case"row":d=a.style.marginLeft;break;case"row-reverse":d=a.style.marginRight;break;case"column":d=a.style.marginTop;break;case"column-reverse":d=a.style.marginBottom}return void 0!==d?d:void 0!==a.style.margin?a.style.margin:0}function f(a,b){if(void 0!==a.style.marginEnd&&c(b))return a.style.marginEnd;var d=null;switch(b){case"row":d=a.style.marginRight;break;case"row-reverse":d=a.style.marginLeft;break;case"column":d=a.style.marginBottom;break;case"column-reverse":d=a.style.marginTop}return null!=d?d:void 0!==a.style.margin?a.style.margin:0}function g(a,b){if(void 0!==a.style.paddingStart&&a.style.paddingStart>=0&&c(b))return a.style.paddingStart;var d=null;switch(b){case"row":d=a.style.paddingLeft;break;case"row-reverse":d=a.style.paddingRight;break;case"column":d=a.style.paddingTop;break;case"column-reverse":d=a.style.paddingBottom}return null!=d&&d>=0?d:void 0!==a.style.padding&&a.style.padding>=0?a.style.padding:0}function h(a,b){if(void 0!==a.style.paddingEnd&&a.style.paddingEnd>=0&&c(b))return a.style.paddingEnd;var d=null;switch(b){case"row":d=a.style.paddingRight;break;case"row-reverse":d=a.style.paddingLeft;break;case"column":d=a.style.paddingBottom;break;case"column-reverse":d=a.style.paddingTop}return null!=d&&d>=0?d:void 0!==a.style.padding&&a.style.padding>=0?a.style.padding:0}function i(a,b){if(void 0!==a.style.borderStartWidth&&a.style.borderStartWidth>=0&&c(b))return a.style.borderStartWidth;var d=null;switch(b){case"row":d=a.style.borderLeftWidth;break;case"row-reverse":d=a.style.borderRightWidth;break;case"column":d=a.style.borderTopWidth;break;case"column-reverse":d=a.style.borderBottomWidth}return null!=d&&d>=0?d:void 0!==a.style.borderWidth&&a.style.borderWidth>=0?a.style.borderWidth:0}function j(a,b){if(void 0!==a.style.borderEndWidth&&a.style.borderEndWidth>=0&&c(b))return a.style.borderEndWidth;var d=null;switch(b){case"row":d=a.style.borderRightWidth;break;case"row-reverse":d=a.style.borderLeftWidth;break;case"column":d=a.style.borderBottomWidth;break;case"column-reverse":d=a.style.borderTopWidth}return null!=d&&d>=0?d:void 0!==a.style.borderWidth&&a.style.borderWidth>=0?a.style.borderWidth:0}function k(a,b){return g(a,b)+i(a,b)}function l(a,b){return h(a,b)+j(a,b)}function m(a,b){return i(a,b)+j(a,b)}function n(a,b){return e(a,b)+f(a,b)}function o(a,b){return k(a,b)+l(a,b)}function p(a){return a.style.justifyContent?a.style.justifyContent:"flex-start"}function q(a){return a.style.alignContent?a.style.alignContent:"flex-start"}function r(a,b){return b.style.alignSelf?b.style.alignSelf:a.style.alignItems?a.style.alignItems:"stretch"}function s(a,b){if(b===O){if(a===P)return Q;if(a===Q)return P}return a}function t(a,b){var c;return c=a.style.direction?a.style.direction:M,c===M&&(c=void 0===b?N:b),c}function u(a){return a.style.flexDirection?a.style.flexDirection:R}function v(a,b){return d(a)?s(P,b):R}function w(a){return a.style.position?a.style.position:"relative"}function x(a){return w(a)===aa&&a.style.flex>0}function y(a){return"wrap"===a.style.flexWrap}function z(a,b){return a.layout[fa[b]]+n(a,b)}function A(a,b){return void 0!==a.style[fa[b]]&&a.style[fa[b]]>=0}function B(a,b){return void 0!==a.style[b]}function C(a){return void 0!==a.style.measure}function D(a,b){return void 0!==a.style[b]?a.style[b]:0}function E(a,b,c){var d={row:a.style.minWidth,"row-reverse":a.style.minWidth,column:a.style.minHeight,"column-reverse":a.style.minHeight}[b],e={row:a.style.maxWidth,"row-reverse":a.style.maxWidth,column:a.style.maxHeight,"column-reverse":a.style.maxHeight}[b],f=c;return void 0!==e&&e>=0&&f>e&&(f=e),void 0!==d&&d>=0&&d>f&&(f=d),f}function F(a,b){return a>b?a:b}function G(a,b){void 0===a.layout[fa[b]]&&A(a,b)&&(a.layout[fa[b]]=F(E(a,b,a.style[fa[b]]),o(a,b)))}function H(a,b,c){b.layout[da[c]]=a.layout[fa[c]]-b.layout[fa[c]]-b.layout[ea[c]]}function I(a,b){return void 0!==a.style[ca[b]]?D(a,ca[b]):-D(a,da[b])}function J(a,d,g){var h=t(a,g),j=s(u(a),h),J=v(j,h),M=s(P,h);G(a,j),G(a,J),a.layout.direction=h,a.layout[ca[j]]+=e(a,j)+I(a,j),a.layout[da[j]]+=f(a,j)+I(a,j),a.layout[ca[J]]+=e(a,J)+I(a,J),a.layout[da[J]]+=f(a,J)+I(a,J);var N=a.children.length,O=o(a,M);if(C(a)){var ga=!b(a.layout[fa[M]]),ha=L;ha=A(a,M)?a.style.width:ga?a.layout[fa[M]]:d-n(a,M),ha-=O;var ia=!A(a,M)&&!ga,ja=!A(a,R)&&b(a.layout[fa[R]]);if(ia||ja){var ka=a.style.measure(ha);ia&&(a.layout.width=ka.width+O),ja&&(a.layout.height=ka.height+o(a,R))}if(0===N)return}var la,ma,na,oa,pa=y(a),qa=p(a),ra=k(a,j),sa=k(a,J),ta=o(a,j),ua=o(a,J),va=!b(a.layout[fa[j]]),wa=!b(a.layout[fa[J]]),xa=c(j),ya=null,za=null,Aa=L;va&&(Aa=a.layout[fa[j]]-ta);for(var Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;N>Ca;){var Ha,Ia=0,Ja=0,Ka=0,La=0,Ma=va&&qa===T||!va&&qa!==U,Na=Ma?N:Ba,Oa=!0,Pa=N,Qa=null,Ra=null,Sa=ra,Ta=0;for(la=Ba;N>la;++la){na=a.children[la],na.lineIndex=Ga,na.nextAbsoluteChild=null,na.nextFlexChild=null;var Ua=r(a,na);if(Ua===_&&w(na)===aa&&wa&&!A(na,J))na.layout[fa[J]]=F(E(na,J,a.layout[fa[J]]-ua-n(na,J)),o(na,J));else if(w(na)===ba)for(null===ya&&(ya=na),null!==za&&(za.nextAbsoluteChild=na),za=na,ma=0;2>ma;ma++)oa=0!==ma?P:R,!b(a.layout[fa[oa]])&&!A(na,oa)&&B(na,ca[oa])&&B(na,da[oa])&&(na.layout[fa[oa]]=F(E(na,oa,a.layout[fa[oa]]-o(a,oa)-n(na,oa)-D(na,ca[oa])-D(na,da[oa])),o(na,oa)));var Va=0;if(va&&x(na)?(Ja++,Ka+=na.style.flex,null===Qa&&(Qa=na),null!==Ra&&(Ra.nextFlexChild=na),Ra=na,Va=o(na,j)+n(na,j)):(Ha=L,xa||(Ha=A(a,M)?a.layout[fa[M]]-O:d-n(a,M)-O),0===Da&&K(na,Ha,h),w(na)===aa&&(La++,Va=z(na,j))),pa&&va&&Ia+Va>Aa&&la!==Ba){La--,Da=1;break}Ma&&(w(na)!==aa||x(na))&&(Ma=!1,Na=la),Oa&&(w(na)!==aa||Ua!==_&&Ua!==Y||b(na.layout[fa[J]]))&&(Oa=!1,Pa=la),Ma&&(na.layout[ea[j]]+=Sa,va&&H(a,na,j),Sa+=z(na,j),Ta=F(Ta,E(na,J,z(na,J)))),Oa&&(na.layout[ea[J]]+=Ea+sa,wa&&H(a,na,J)),Da=0,Ia+=Va,Ca=la+1}var Wa=0,Xa=0,Ya=0;if(Ya=va?Aa-Ia:F(Ia,0)-Ia,0!==Ja){var Za,$a,_a=Ya/Ka;for(Ra=Qa;null!==Ra;)Za=_a*Ra.style.flex+o(Ra,j),$a=E(Ra,j,Za),Za!==$a&&(Ya-=$a,Ka-=Ra.style.flex),Ra=Ra.nextFlexChild;for(_a=Ya/Ka,0>_a&&(_a=0),Ra=Qa;null!==Ra;)Ra.layout[fa[j]]=E(Ra,j,_a*Ra.style.flex+o(Ra,j)),Ha=L,A(a,M)?Ha=a.layout[fa[M]]-O:xa||(Ha=d-n(a,M)-O),K(Ra,Ha,h),na=Ra,Ra=Ra.nextFlexChild,na.nextFlexChild=null}else qa!==T&&(qa===U?Wa=Ya/2:qa===V?Wa=Ya:qa===W?(Ya=F(Ya,0),Xa=Ja+La-1!==0?Ya/(Ja+La-1):0):qa===X&&(Xa=Ya/(Ja+La),Wa=Xa/2));for(Sa+=Wa,la=Na;Ca>la;++la)na=a.children[la],w(na)===ba&&B(na,ca[j])?na.layout[ea[j]]=D(na,ca[j])+i(a,j)+e(na,j):(na.layout[ea[j]]+=Sa,va&&H(a,na,j),w(na)===aa&&(Sa+=Xa+z(na,j),Ta=F(Ta,E(na,J,z(na,J)))));var ab=a.layout[fa[J]];for(wa||(ab=F(E(a,J,Ta+ua),ua)),la=Pa;Ca>la;++la)if(na=a.children[la],w(na)===ba&&B(na,ca[J]))na.layout[ea[J]]=D(na,ca[J])+i(a,J)+e(na,J);else{var bb=sa;if(w(na)===aa){var Ua=r(a,na);if(Ua===_)b(na.layout[fa[J]])&&(na.layout[fa[J]]=F(E(na,J,ab-ua-n(na,J)),o(na,J)));else if(Ua!==Y){var cb=ab-ua-z(na,J);bb+=Ua===Z?cb/2:cb}}na.layout[ea[J]]+=Ea+bb,wa&&H(a,na,J)}Ea+=Ta,Fa=F(Fa,Sa),Ga+=1,Ba=Ca}if(Ga>1&&wa){var db=a.layout[fa[J]]-ua,eb=db-Ea,fb=0,gb=sa,hb=q(a);hb===$?gb+=eb:hb===Z?gb+=eb/2:hb===_&&db>Ea&&(fb=eb/Ga);var ib=0;for(la=0;Ga>la;++la){var jb=ib,kb=0;for(ma=jb;N>ma;++ma)if(na=a.children[ma],w(na)===aa){if(na.lineIndex!==la)break;b(na.layout[fa[J]])||(kb=F(kb,na.layout[fa[J]]+n(na,J)))}for(ib=ma,kb+=fb,ma=jb;ib>ma;++ma)if(na=a.children[ma],w(na)===aa){var lb=r(a,na);if(lb===Y)na.layout[ea[J]]=gb+e(na,J);else if(lb===$)na.layout[ea[J]]=gb+kb-f(na,J)-na.layout[fa[J]];else if(lb===Z){var mb=na.layout[fa[J]];na.layout[ea[J]]=gb+(kb-mb)/2}else lb===_&&(na.layout[ea[J]]=gb+e(na,J))}gb+=kb}}var nb=!1,ob=!1;if(va||(a.layout[fa[j]]=F(E(a,j,Fa+l(a,j)),ta),(j===Q||j===S)&&(nb=!0)),wa||(a.layout[fa[J]]=F(E(a,J,Ea+ua),ua),(J===Q||J===S)&&(ob=!0)),nb||ob)for(la=0;N>la;++la)na=a.children[la],nb&&H(a,na,j),ob&&H(a,na,J);for(za=ya;null!==za;){for(ma=0;2>ma;ma++)oa=0!==ma?P:R,!b(a.layout[fa[oa]])&&!A(za,oa)&&B(za,ca[oa])&&B(za,da[oa])&&(za.layout[fa[oa]]=F(E(za,oa,a.layout[fa[oa]]-m(a,oa)-n(za,oa)-D(za,ca[oa])-D(za,da[oa])),o(za,oa))),B(za,da[oa])&&!B(za,ca[oa])&&(za.layout[ca[oa]]=a.layout[fa[oa]]-za.layout[fa[oa]]-D(za,da[oa]));na=za,za=za.nextAbsoluteChild,na.nextAbsoluteChild=null}}function K(a,b,c){a.shouldUpdate=!0;var d=a.style.direction||N,e=!a.isDirty&&a.lastLayout&&a.lastLayout.requestedHeight===a.layout.height&&a.lastLayout.requestedWidth===a.layout.width&&a.lastLayout.parentMaxWidth===b&&a.lastLayout.direction===d;e?(a.layout.width=a.lastLayout.width,a.layout.height=a.lastLayout.height,a.layout.top=a.lastLayout.top,a.layout.left=a.lastLayout.left):(a.lastLayout||(a.lastLayout={}),a.lastLayout.requestedWidth=a.layout.width,a.lastLayout.requestedHeight=a.layout.height,a.lastLayout.parentMaxWidth=b,a.lastLayout.direction=d,a.children.forEach(function(a){a.layout.width=void 0,a.layout.height=void 0,a.layout.top=0,a.layout.left=0}),J(a,b,c),a.lastLayout.width=a.layout.width,a.lastLayout.height=a.layout.height,a.lastLayout.top=a.layout.top,a.lastLayout.left=a.layout.left)}var L,M="inherit",N="ltr",O="rtl",P="row",Q="row-reverse",R="column",S="column-reverse",T="flex-start",U="center",V="flex-end",W="space-between",X="space-around",Y="flex-start",Z="center",$="flex-end",_="stretch",aa="relative",ba="absolute",ca={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},da={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},ea={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},fa={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};return{layoutNodeImpl:J,computeLayout:K,fillNodes:a}}();return"object"==typeof exports&&(module.exports=a),function(b){a.fillNodes(b),a.computeLayout(b)}});
|
|
//# sourceMappingURL=css-layout.min.js.map
|