define(["lodash","coreUtils"],function(n,t){return function(n){function t(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return n[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var e={};return t.m=n,t.c=e,t.i=function(n){return n},t.d=function(n,e,r){t.o(n,e)||Object.defineProperty(n,e,{configurable:!1,enumerable:!0,get:r})},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},t.p="",t(t.s=27)}({0:function(n,t,e){var r,o;r=[e,t,e(1),e(2),e(3)],void 0!==(o=function(n,t,e,r,o){"use strict";function i(n){return e.get(n,["conversionData","desktopOnly"],!1)}function u(n){return"text"===e.get(n,["conversionData","category"])}function a(n){return"graphic"===e.get(n,["conversionData","category"])||l(n)}function c(n){return n&&"wysiwyg.viewer.components.Group"===n.componentType}function s(n){return"columns"===e.get(n,["conversionData","category"])}function f(n){return"visual"===e.get(n,["conversionData","category"])}function l(n){return"photo"===e.get(n,["conversionData","category"])}function p(n){return e.get(n,["conversionData","category"],"")}function v(n){return"masterPage"===e.get(n,"id")}function m(n){var t=function(n){return e.get(n.conversionData,"stretchHorizontally",!1)||e.some(n.components,t)};return t(n)||e.get(n.conversionData,"isScreenWidth",!1)||I(n)}function g(n){return e.get(n.conversionData,"isScreenWidth",!1)||e.some(n.components,g)}function y(n,t,r){void 0===t&&(t=0),void 0===r&&(r=0),e.forEach(n,function(n){n.layout.x+=t,n.layout.y+=r})}function d(n,t,e){E(n,[t],e),y([t],-n.layout.x,-n.layout.y)}function E(n,t,e){var r=V(n);t.length&&r&&(e=void 0!==e?e:r.length,r.splice.apply(r,[e,0].concat(t)))}function h(n,t){var r=V(n);e.remove(r,function(n){return e.includes(t,n)})}function T(n,t){if(c(n)){var r=e.findIndex(t.components,{id:n.id});e.forEach(n.components.reverse(),function(e){E(t,[e],r),y([e],n.layout.x,n.layout.y)}),e.remove(t.components,n)}}function C(n,t){return e.some(V(n),function(n){return t(n)||n&&C(n,t)})}function _(n,t,o){if(!v(n)&&t&&(o||!e.isEmpty(t))){var i=e(t).reject(["conversionData.isInvisible",!0]).reduce(function(n,t){return e.max([n,t.layout.y+t.layout.height,0])},0);if(e.get(n,["conversionData","hasTightYMargin"])||e.get(n,["conversionData","hasTightBottomMargin"]))return i;return i+(m(n)?r.conversionConfig.SECTION_MOBILE_MARGIN_Y:r.conversionConfig.COMPONENT_MOBILE_MARGIN_Y+e.get(n.conversionData,"borderWidth",0))}}function x(n,t,r,o){void 0===o&&(o=0);var i=_(n,t,r);if(e.isNumber(i)){var u=e.get(n,["conversionData","minHeight"],o);n.layout.height=Math.max(u,i)}}function I(n){return R(n)||N(n)}function R(n){return"Page"===n.type}function D(n){return"Container"===n.type}function N(n){return"siteSegments"===e.get(n.conversionData,"category")}function S(n){var t=o.objectUtils.cloneDeep(n);return e.forOwn(t,function(t,r){var o=n[r].structure,i=t.structure,u=e.has(i,"components")?"components":"children";e.set(i,u,o.mobileComponents||[])}),t}function O(n,t){if(t.id===n)return t;var r=null;return e.find(V(t),function(t){return r=O(n,t)}),r}function P(n,t){if(n.length>t)return void(n.length=0);for(var r=function(n,t){return e.size(e.intersection(n,t))>0},o=n.length-1;o>=0;o--)!function(t){var o=e.findLastIndex(n,function(e,o){return o=t.layout.height||k(n)>k(t):!g(t)&&k(n)>k(t)}function w(n,t,e){var r=F(n,t),o=B(n,t);if(r<=0||o<=0)return!1;var i=r*o,u=Math.min(k(n),k(t));return i>0&&i/u>=e}function U(n){return!!D(n)&&("columns"===n.conversionData.category?1===e.size(n.components)&&e.isEmpty(n.components[0].components):e.isEmpty(n.components))}function Y(n,t){return s(t)&&e.get(n,["conversionData","isInvisible"],!1)}function H(n,t,r){void 0===t&&(t=!1);for(var o=[[n]],i=0;ie.min([l(n[o-1],t),l(r,t)])});return-1!==r&&r!==n.length-1}function c(n){var t=r.getChildren(n);return e.map(n.conversionData.componentsOrder,function(n){return e.find(t,{id:n})})}Object.defineProperty(t,"__esModule",{value:!0});var s=.1,f=function(n){return 0===n?0:n/Math.abs(n)};t.getSign=f;var l=function(n,t){return"x"===t?n.layout.width:n.layout.height},p=function(n,t){return n.layout[t]+l(n,t)};t.getComponentEndCoordinate=p;var v=function(n,t){return f(n.layout.y-t.layout.y)};t.compareComponentsByY=v,t.areSimilarFragments=u,t.getOrderedComponents=c}.apply(t,r))&&(n.exports=o)},6:function(n,t,e){var r,o;r=[e,t,e(1),e(0),e(4),e(3)],void 0!==(o=function(n,t,e,r,o,i){"use strict";function u(n,t){var r=e(t.y).partition({eventType:N.START_EVENT}).map(function(n){return e.map(n,"coordinate")}).value(),i=e.max(r[0]),u=e.min(r[1]);return e.findIndex(n,function(n){var t=n.comps[0];return 1===n.comps.length&&t.conversionData.keepIfVerticalDivider&&t.layout.y<=u&&o.getComponentEndCoordinate(t,"y")>=i})}function a(n,t){return e.transform(n,function(n,e,r){var o=t(r);return n[o]=n[o]||{comps:[],distanceToPreviousFragment:e.distanceToPreviousFragment},n[o].comps=n[o].comps.concat(e.comps),n},[])}function c(n,t,r){return e.assign(r,{fragments:[{comps:n,distanceToPreviousFragment:-1}],fragmentsEvents:[t]})}function s(n,t){var e=n.coordinate-t.coordinate;return 0!==e?o.getSign(e):n.compRef===t.compRef?n.eventType===N.START_EVENT?-1:1:n.eventType===N.END_EVENT?-1:1}function f(n,t){var r=e.transform(n,function(n,e){var r=e.layout[t],i=o.getComponentEndCoordinate(e,t);return n.push({eventType:N.START_EVENT,compRef:e,coordinate:r}),n.push({eventType:N.END_EVENT,compRef:e,coordinate:i}),n},[]);return r.sort(s),r}function l(n){var t=[],r=[];return e.forEach(n,function(n){var o=e.last(r);if(n.eventType===N.START_EVENT){if(e.isEmpty(t)){var i=o?n.coordinate-e.last(o.events).coordinate:-1,u={events:[n],distanceToPreviousFragment:i};r.push(u)}else o.events.push(n);t.push(n)}else e.remove(t,{compRef:n.compRef}),o.events.push(n)}),e.map(r,function(n){return{comps:M(n.events),distanceToPreviousFragment:n.distanceToPreviousFragment}})}function p(n,t,r){var o=e.maxBy(n,"distanceToPreviousFragment"),i=e.findIndex(n,o),u=function(n){return no.closestPoint)&&n.splice(n.length-1,1,r),n):n.concat(r.eventType===N.START_EVENT?[r]:[])},[])}).value()}function m(n,t,r){for(var o=e.partition(t,function(t){return e.includes(n[0].comps,t.compRef)}),i=v(o,r),u=[0,0],a=[[],[]],c=-1/0;u[0]c&&(c=p)}else e.remove(a[s],{compRef:f.compRef})}return c}function g(n,t){return e.transform(n,function(n,r){var o=e.findIndex(t,function(n){return e.includes(n.comps,r.compRef)});return n[o]=(n[o]||[]).concat([r]),n},[])}function y(n,t){var r=g(n.x,t),o=g(n.y,t);return e.map(e.keys(t),function(n){return e.assign({},{x:r[n],y:o[n]})})}function d(n,t,r){var o=null;return e.forEach(P,function(e,i){if(!r[i])return!0;var u=e(t.y,n,"y"),a=e(t.x,n,"x");return null===(o=u&&a?null:u||a)}),o}function E(n,t){var r=e.size(t.x)>1?p(t.x,n,"x"):null,o=e.size(t.y)>1?p(t.y,n,"y"):null;if(r&&o){var i=O.HORIZONTAL*r.maxCompsDistance>O.VERTICAL*o.maxCompsDistance?r:o;return e.pick(i,["fragments","fragmentsEvents"])}return r||o}function h(n,t,e){return d(n,t,e)||E(n,t)}function T(n,t){t=R(n,t);var r="overlayGroup_"+t[0].id;return e.forEach(t,function(n){return e.set(n,["conversionData","overlayGroupId"],r)}),t}function C(n,t,r,o){if(e.size(t)<2)return t||[];var i=e.mapValues(r,l);if(1===e.size(i.x)&&1===e.size(i.y))return o.detectSemanticGroups&&o.useOverlapRules?T(n,t):_(n,t,o);var u=h(r,i,{mirrorPattern:!0,verticalDivider:!0,chessPattern:!0,singleCompRow:!0});return 1===e.size(u.fragments)?u.fragments[0].comps:e.flatMap(u.fragments,function(t,e){return C(n,t.comps,u.fragmentsEvents[e],o)})}function _(n,t,r){var o=function(n){return e.some(n,"conversionData.originalLayout")};if(o(t)||e.some(t,function(n){return o(n)}))return I(t),t;x(t);var i=f(t,"y"),u=f(t,"x"),a=C(n,t,{y:i,x:u},r);return I(a),a}function x(n){e.forEach(n,function(n){var t=n.layout,r=e.assign(i.objectUtils.cloneDeep(t),{height:t.height*S,width:t.width*S});n.layout=r,e.set(n,["conversionData","originalLayout"],t)})}function I(n,t){void 0===t&&(t=!0),e.forEach(n,function(n){var t=e.get(n,["conversionData","originalLayout"]);t&&(n.layout=i.objectUtils.cloneDeep(t),delete n.conversionData.originalLayout)}),t&&e.forEach(n,function(n){return I(n.components,!1)})}function R(n,t){var o=e.map(r.getChildren(n),"id");return e.sortBy(t,function(n){return o.indexOf(n.id)})}function D(n,t,r){var o=f(t,"y"),i=f(t,"x"),u=C(n,t,{y:o,x:i},r);n.conversionData.componentsOrder=e.map(u,"id")}Object.defineProperty(t,"__esModule",{value:!0});var N={START_EVENT:"start",END_EVENT:"end"},S=.9,O={HORIZONTAL:1,VERTICAL:1.25},P={singleCompRow:function(n,t,r){if("x"===r)return null;var i=e.findIndex(n,function(n){return 1===e.size(n.comps)});if(-1===i)return null;var u=function(n){return o.getSign(n-i)+o.getSign(i)},c=a(n,u);return{type:"singleCompRow",fragments:c,fragmentsEvents:y(t,c)}},verticalDivider:function(n,t,r){var i=function(n){return 1===e.size(n.comps)};if(e.size(n)<3||e.every(n,i)||"y"===r)return null;var c=u(n,t);if(-1===c)return null;e.set(n[c].comps[0],["conversionData","isVerticalDivider"],!0);var s=function(n){return o.getSign(n-c)+o.getSign(c)},f=a(n,s);return{type:"verticalDivider",fragments:f,fragmentsEvents:y(t,f)}},mirrorPattern:function(n,t,r){if(e.size(n)<2)return null;var i=y(t,n),u=A(r),a=e.map(i,function(n){return M(n[u])}),s=e.every(a,function(n){return o.areSimilarFragments(n,a[0],u)});return s&&s?c(e.flatten(a),t,{type:"mirrorPattern"}):null},chessPattern:function(n,t,r){var o=function(n){return 2===e.size(n.comps)};if("y"!==r||e.size(n)<2||!e.every(n,o))return null;var i=y(t,n),u=e.map(i,function(n){return M(n.x)}),a=e.flatMap(u,function(n,t){return G(t)?n:e.reverse(n)}),s=a[0].conversionData.category,f="text"===s?"photo":"text",l=function(n,t){return n.conversionData.category===(G(t)?s:f)};return e.every(a,l)?c(a,t,{type:"chessPattern"}):null}},M=function(n){return e(n).map("compRef").uniq().value()},A=function(n){return"x"===n?"y":"x"},G=function(n){return n%2==0};t.createEventsQueue=f,t.createFragments=l,t.setComponentsOrder=D;var L={isEven:G,transformLayouts:x,restoreLayouts:I,extractCompsFromEvents:M,getPerpendicularAxis:A,compareEvents:s,refragment:a,splitAxisEventsByFragments:g,splitAllEventsByFragments:y,calculateMaxCompsDistance:m,sortComponentsByNaturalOrder:R};t.testAPI=L}.apply(t,r))&&(n.exports=o)}})}); //# sourceMappingURL=mobileLayoutUtils.js.map