a-multilayout-splitter
Version:
A React package designed to facilitate the division of your views into distinct sections, offering effortless resizing and support for intricate layouts.
1 lines • 586 B
JavaScript
function distributionHelper(t,e){let i=0;var r=t.map(t=>[...t]);let n=0;for(var l=t.length;0!==e;){if(i===t.length&&(i=0),n>=l+1)return[[],!1];var o=r[i];o[0]===o[1]?(n++,i++):(n=0,--r[i][0],e--,i++)}return[r,!0]}function sizeDistribution(i,r,t,n){let l=[],o=0;i.forEach((t,e)=>{0!==t&&o!==r&&l.push([t,n[e]]),o++});var e=Math.abs(i[r]-t);let s=distributionHelper(l.slice(),e);return!1===s[1]?s:(s=s[0],o=0,i.forEach((t,e)=>{if(0===t||o===r)o++;else if(0!==s.length){let t=0;for(;n[o]!==s[t][1]&&t<s.length;)t++;i[o]=s[t][0],s.splice(t,1),o++}}),i[r]=t,[i,!0])}export{sizeDistribution};