10 __coverage__['build/resize-constrain/resize-constrain.js'] = {"path":"build/resize-constrain/resize-constrain.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":28},"end":{"line":1,"column":47}}},"2":{"name":"(anonymous_2)","line":9,"loc":{"start":{"line":9,"column":13},"end":{"line":9,"column":25}}},"3":{"name":"(anonymous_3)","line":13,"loc":{"start":{"line":13,"column":15},"end":{"line":13,"column":29}}},"4":{"name":"ResizeConstrained","line":56,"loc":{"start":{"line":56,"column":0},"end":{"line":56,"column":29}}},"5":{"name":"(anonymous_5)","line":76,"loc":{"start":{"line":76,"column":20},"end":{"line":76,"column":32}}},"6":{"name":"(anonymous_6)","line":181,"loc":{"start":{"line":181,"column":17},"end":{"line":181,"column":28}}},"7":{"name":"(anonymous_7)","line":208,"loc":{"start":{"line":208,"column":21},"end":{"line":208,"column":59}}},"8":{"name":"(anonymous_8)","line":244,"loc":{"start":{"line":244,"column":18},"end":{"line":244,"column":29}}},"9":{"name":"(anonymous_9)","line":269,"loc":{"start":{"line":269,"column":17},"end":{"line":269,"column":28}}},"10":{"name":"(anonymous_10)","line":282,"loc":{"start":{"line":282,"column":21},"end":{"line":282,"column":32}}},"11":{"name":"(anonymous_11)","line":285,"loc":{"start":{"line":285,"column":21},"end":{"line":285,"column":32}}},"12":{"name":"(anonymous_12)","line":345,"loc":{"start":{"line":345,"column":21},"end":{"line":345,"column":42}}},"13":{"name":"(anonymous_13)","line":359,"loc":{"start":{"line":359,"column":18},"end":{"line":359,"column":29}}},"14":{"name":"(anonymous_14)","line":374,"loc":{"start":{"line":374,"column":17},"end":{"line":374,"column":28}}},"15":{"name":"(anonymous_15)","line":400,"loc":{"start":{"line":400,"column":25},"end":{"line":400,"column":36}}},"16":{"name":"(anonymous_16)","line":422,"loc":{"start":{"line":422,"column":29},"end":{"line":422,"column":40}}},"17":{"name":"(anonymous_17)","line":442,"loc":{"start":{"line":442,"column":29},"end":{"line":442,"column":40}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":455,"column":54}},"2":{"start":{"line":3,"column":0},"end":{"line":43,"column":39}},"3":{"start":{"line":10,"column":8},"end":{"line":10,"column":37}},"4":{"start":{"line":14,"column":8},"end":{"line":14,"column":36}},"5":{"start":{"line":56,"column":0},"end":{"line":58,"column":1}},"6":{"start":{"line":57,"column":4},"end":{"line":57,"column":68}},"7":{"start":{"line":60,"column":0},"end":{"line":167,"column":3}},"8":{"start":{"line":77,"column":16},"end":{"line":79,"column":17}},"9":{"start":{"line":78,"column":20},"end":{"line":78,"column":33}},"10":{"start":{"line":81,"column":16},"end":{"line":81,"column":25}},"11":{"start":{"line":169,"column":0},"end":{"line":449,"column":3}},"12":{"start":{"line":182,"column":8},"end":{"line":183,"column":38}},"13":{"start":{"line":185,"column":8},"end":{"line":191,"column":10}},"14":{"start":{"line":193,"column":8},"end":{"line":193,"column":87}},"15":{"start":{"line":194,"column":8},"end":{"line":194,"column":84}},"16":{"start":{"line":209,"column":8},"end":{"line":217,"column":52}},"17":{"start":{"line":219,"column":8},"end":{"line":234,"column":9}},"18":{"start":{"line":220,"column":12},"end":{"line":220,"column":47}},"19":{"start":{"line":221,"column":12},"end":{"line":221,"column":123}},"20":{"start":{"line":223,"column":12},"end":{"line":225,"column":13}},"21":{"start":{"line":224,"column":16},"end":{"line":224,"column":59}},"22":{"start":{"line":227,"column":12},"end":{"line":227,"column":32}},"23":{"start":{"line":228,"column":12},"end":{"line":228,"column":105}},"24":{"start":{"line":230,"column":12},"end":{"line":233,"column":13}},"25":{"start":{"line":231,"column":16},"end":{"line":231,"column":57}},"26":{"start":{"line":232,"column":16},"end":{"line":232,"column":59}},"27":{"start":{"line":245,"column":8},"end":{"line":249,"column":76}},"28":{"start":{"line":251,"column":8},"end":{"line":251,"column":61}},"29":{"start":{"line":253,"column":8},"end":{"line":255,"column":9}},"30":{"start":{"line":254,"column":12},"end":{"line":254,"column":54}},"31":{"start":{"line":257,"column":8},"end":{"line":259,"column":9}},"32":{"start":{"line":258,"column":12},"end":{"line":258,"column":54}},"33":{"start":{"line":270,"column":8},"end":{"line":294,"column":20}},"34":{"start":{"line":283,"column":16},"end":{"line":283,"column":49}},"35":{"start":{"line":286,"column":16},"end":{"line":286,"column":51}},"36":{"start":{"line":297,"column":8},"end":{"line":317,"column":9}},"37":{"start":{"line":298,"column":12},"end":{"line":298,"column":61}},"38":{"start":{"line":299,"column":12},"end":{"line":299,"column":68}},"39":{"start":{"line":300,"column":12},"end":{"line":300,"column":110}},"40":{"start":{"line":301,"column":12},"end":{"line":301,"column":102}},"41":{"start":{"line":302,"column":12},"end":{"line":302,"column":106}},"42":{"start":{"line":303,"column":12},"end":{"line":303,"column":98}},"43":{"start":{"line":305,"column":12},"end":{"line":316,"column":13}},"44":{"start":{"line":306,"column":16},"end":{"line":306,"column":57}},"45":{"start":{"line":308,"column":17},"end":{"line":316,"column":13}},"46":{"start":{"line":309,"column":16},"end":{"line":309,"column":60}},"47":{"start":{"line":311,"column":17},"end":{"line":316,"column":13}},"48":{"start":{"line":312,"column":16},"end":{"line":312,"column":58}},"49":{"start":{"line":315,"column":16},"end":{"line":315,"column":61}},"50":{"start":{"line":321,"column":8},"end":{"line":330,"column":9}},"51":{"start":{"line":322,"column":12},"end":{"line":322,"column":47}},"52":{"start":{"line":323,"column":12},"end":{"line":323,"column":35}},"53":{"start":{"line":324,"column":12},"end":{"line":324,"column":49}},"54":{"start":{"line":327,"column":12},"end":{"line":327,"column":49}},"55":{"start":{"line":328,"column":12},"end":{"line":328,"column":36}},"56":{"start":{"line":329,"column":12},"end":{"line":329,"column":47}},"57":{"start":{"line":334,"column":8},"end":{"line":336,"column":9}},"58":{"start":{"line":335,"column":12},"end":{"line":335,"column":60}},"59":{"start":{"line":340,"column":8},"end":{"line":342,"column":9}},"60":{"start":{"line":341,"column":12},"end":{"line":341,"column":60}},"61":{"start":{"line":345,"column":8},"end":{"line":349,"column":11}},"62":{"start":{"line":346,"column":12},"end":{"line":348,"column":13}},"63":{"start":{"line":347,"column":16},"end":{"line":347,"column":46}},"64":{"start":{"line":360,"column":8},"end":{"line":362,"column":52}},"65":{"start":{"line":364,"column":8},"end":{"line":364,"column":61}},"66":{"start":{"line":375,"column":8},"end":{"line":379,"column":74}},"67":{"start":{"line":381,"column":8},"end":{"line":381,"column":60}},"68":{"start":{"line":383,"column":8},"end":{"line":385,"column":9}},"69":{"start":{"line":384,"column":12},"end":{"line":384,"column":52}},"70":{"start":{"line":387,"column":8},"end":{"line":389,"column":9}},"71":{"start":{"line":388,"column":12},"end":{"line":388,"column":52}},"72":{"start":{"line":401,"column":8},"end":{"line":405,"column":26}},"73":{"start":{"line":407,"column":8},"end":{"line":417,"column":9}},"74":{"start":{"line":408,"column":12},"end":{"line":416,"column":13}},"75":{"start":{"line":409,"column":16},"end":{"line":409,"column":51}},"76":{"start":{"line":411,"column":17},"end":{"line":416,"column":13}},"77":{"start":{"line":412,"column":16},"end":{"line":412,"column":47}},"78":{"start":{"line":415,"column":16},"end":{"line":415,"column":35}},"79":{"start":{"line":419,"column":8},"end":{"line":419,"column":22}},"80":{"start":{"line":423,"column":8},"end":{"line":424,"column":38}},"81":{"start":{"line":427,"column":8},"end":{"line":427,"column":32}},"82":{"start":{"line":430,"column":8},"end":{"line":430,"column":31}},"83":{"start":{"line":433,"column":8},"end":{"line":435,"column":9}},"84":{"start":{"line":434,"column":12},"end":{"line":434,"column":35}},"85":{"start":{"line":437,"column":8},"end":{"line":439,"column":9}},"86":{"start":{"line":438,"column":12},"end":{"line":438,"column":38}},"87":{"start":{"line":443,"column":8},"end":{"line":445,"column":38}},"88":{"start":{"line":447,"column":8},"end":{"line":447,"column":79}},"89":{"start":{"line":451,"column":0},"end":{"line":451,"column":22}},"90":{"start":{"line":452,"column":0},"end":{"line":452,"column":47}}},"branchMap":{"1":{"line":14,"type":"binary-expr","locations":[{"start":{"line":14,"column":15},"end":{"line":14,"column":30}},{"start":{"line":14,"column":34},"end":{"line":14,"column":35}}]},"2":{"line":77,"type":"if","locations":[{"start":{"line":77,"column":16},"end":{"line":77,"column":16}},{"start":{"line":77,"column":16},"end":{"line":77,"column":16}}]},"3":{"line":77,"type":"binary-expr","locations":[{"start":{"line":77,"column":20},"end":{"line":77,"column":21}},{"start":{"line":77,"column":26},"end":{"line":77,"column":35}},{"start":{"line":77,"column":39},"end":{"line":77,"column":50}},{"start":{"line":77,"column":54},"end":{"line":77,"column":64}}]},"4":{"line":219,"type":"if","locations":[{"start":{"line":219,"column":8},"end":{"line":219,"column":8}},{"start":{"line":219,"column":8},"end":{"line":219,"column":8}}]},"5":{"line":223,"type":"if","locations":[{"start":{"line":223,"column":12},"end":{"line":223,"column":12}},{"start":{"line":223,"column":12},"end":{"line":223,"column":12}}]},"6":{"line":230,"type":"if","locations":[{"start":{"line":230,"column":12},"end":{"line":230,"column":12}},{"start":{"line":230,"column":12},"end":{"line":230,"column":12}}]},"7":{"line":253,"type":"if","locations":[{"start":{"line":253,"column":8},"end":{"line":253,"column":8}},{"start":{"line":253,"column":8},"end":{"line":253,"column":8}}]},"8":{"line":257,"type":"if","locations":[{"start":{"line":257,"column":8},"end":{"line":257,"column":8}},{"start":{"line":257,"column":8},"end":{"line":257,"column":8}}]},"9":{"line":297,"type":"if","locations":[{"start":{"line":297,"column":8},"end":{"line":297,"column":8}},{"start":{"line":297,"column":8},"end":{"line":297,"column":8}}]},"10":{"line":297,"type":"binary-expr","locations":[{"start":{"line":297,"column":12},"end":{"line":297,"column":35}},{"start":{"line":297,"column":39},"end":{"line":297,"column":63}},{"start":{"line":297,"column":67},"end":{"line":297,"column":90}}]},"11":{"line":305,"type":"if","locations":[{"start":{"line":305,"column":12},"end":{"line":305,"column":12}},{"start":{"line":305,"column":12},"end":{"line":305,"column":12}}]},"12":{"line":305,"type":"binary-expr","locations":[{"start":{"line":305,"column":16},"end":{"line":305,"column":38}},{"start":{"line":305,"column":42},"end":{"line":305,"column":63}}]},"13":{"line":308,"type":"if","locations":[{"start":{"line":308,"column":17},"end":{"line":308,"column":17}},{"start":{"line":308,"column":17},"end":{"line":308,"column":17}}]},"14":{"line":311,"type":"if","locations":[{"start":{"line":311,"column":17},"end":{"line":311,"column":17}},{"start":{"line":311,"column":17},"end":{"line":311,"column":17}}]},"15":{"line":321,"type":"if","locations":[{"start":{"line":321,"column":8},"end":{"line":321,"column":8}},{"start":{"line":321,"column":8},"end":{"line":321,"column":8}}]},"16":{"line":334,"type":"if","locations":[{"start":{"line":334,"column":8},"end":{"line":334,"column":8}},{"start":{"line":334,"column":8},"end":{"line":334,"column":8}}]},"17":{"line":340,"type":"if","locations":[{"start":{"line":340,"column":8},"end":{"line":340,"column":8}},{"start":{"line":340,"column":8},"end":{"line":340,"column":8}}]},"18":{"line":346,"type":"if","locations":[{"start":{"line":346,"column":12},"end":{"line":346,"column":12}},{"start":{"line":346,"column":12},"end":{"line":346,"column":12}}]},"19":{"line":383,"type":"if","locations":[{"start":{"line":383,"column":8},"end":{"line":383,"column":8}},{"start":{"line":383,"column":8},"end":{"line":383,"column":8}}]},"20":{"line":387,"type":"if","locations":[{"start":{"line":387,"column":8},"end":{"line":387,"column":8}},{"start":{"line":387,"column":8},"end":{"line":387,"column":8}}]},"21":{"line":407,"type":"if","locations":[{"start":{"line":407,"column":8},"end":{"line":407,"column":8}},{"start":{"line":407,"column":8},"end":{"line":407,"column":8}}]},"22":{"line":408,"type":"if","locations":[{"start":{"line":408,"column":12},"end":{"line":408,"column":12}},{"start":{"line":408,"column":12},"end":{"line":408,"column":12}}]},"23":{"line":411,"type":"if","locations":[{"start":{"line":411,"column":17},"end":{"line":411,"column":17}},{"start":{"line":411,"column":17},"end":{"line":411,"column":17}}]},"24":{"line":433,"type":"if","locations":[{"start":{"line":433,"column":8},"end":{"line":433,"column":8}},{"start":{"line":433,"column":8},"end":{"line":433,"column":8}}]},"25":{"line":437,"type":"if","locations":[{"start":{"line":437,"column":8},"end":{"line":437,"column":8}},{"start":{"line":437,"column":8},"end":{"line":437,"column":8}}]},"26":{"line":437,"type":"binary-expr","locations":[{"start":{"line":437,"column":12},"end":{"line":437,"column":35}},{"start":{"line":437,"column":39},"end":{"line":437,"column":63}}]}},"code":["(function () { YUI.add('resize-constrain', function (Y, NAME) {","","var Lang = Y.Lang,"," isBoolean = Lang.isBoolean,"," isNumber = Lang.isNumber,"," isString = Lang.isString,"," capitalize = Y.Resize.capitalize,",""," isNode = function(v) {"," return (v instanceof Y.Node);"," },",""," toNumber = function(num) {"," return parseFloat(num) || 0;"," },",""," BORDER_BOTTOM_WIDTH = 'borderBottomWidth',"," BORDER_LEFT_WIDTH = 'borderLeftWidth',"," BORDER_RIGHT_WIDTH = 'borderRightWidth',"," BORDER_TOP_WIDTH = 'borderTopWidth',"," BORDER = 'border',"," BOTTOM = 'bottom',"," CON = 'con',"," CONSTRAIN = 'constrain',"," HOST = 'host',"," LEFT = 'left',"," MAX_HEIGHT = 'maxHeight',"," MAX_WIDTH = 'maxWidth',"," MIN_HEIGHT = 'minHeight',"," MIN_WIDTH = 'minWidth',"," NODE = 'node',"," OFFSET_HEIGHT = 'offsetHeight',"," OFFSET_WIDTH = 'offsetWidth',"," PRESEVE_RATIO = 'preserveRatio',"," REGION = 'region',"," RESIZE_CONTRAINED = 'resizeConstrained',"," RIGHT = 'right',"," TICK_X = 'tickX',"," TICK_Y = 'tickY',"," TOP = 'top',"," WIDTH = 'width',"," VIEW = 'view',"," VIEWPORT_REGION = 'viewportRegion';","","/**","A Resize plugin that will attempt to constrain the resize node to the boundaries.","@module resize","@submodule resize-contrain","@class ResizeConstrained","@param config {Object} Object literal specifying widget configuration properties.","@constructor","@extends Plugin.Base","@namespace Plugin","*/","","function ResizeConstrained() {"," ResizeConstrained.superclass.constructor.apply(this, arguments);","}","","Y.mix(ResizeConstrained, {"," NAME: RESIZE_CONTRAINED,",""," NS: CON,",""," ATTRS: {"," /**"," * Will attempt to constrain the resize node to the boundaries. Arguments:<br>"," * 'view': Contrain to Viewport<br>"," * '#selector_string': Constrain to this node<br>"," * '{Region Object}': An Object Literal containing a valid region (top, right, bottom, left) of page positions"," *"," * @attribute constrain"," * @type {String|Object|Node}"," */"," constrain: {"," setter: function(v) {"," if (v && (isNode(v) || isString(v) || v.nodeType)) {"," v = Y.one(v);"," }",""," return v;"," }"," },",""," /**"," * The minimum height of the element"," *"," * @attribute minHeight"," * @default 15"," * @type Number"," */"," minHeight: {"," value: 15,"," validator: isNumber"," },",""," /**"," * The minimum width of the element"," *"," * @attribute minWidth"," * @default 15"," * @type Number"," */"," minWidth: {"," value: 15,"," validator: isNumber"," },",""," /**"," * The maximum height of the element"," *"," * @attribute maxHeight"," * @default Infinity"," * @type Number"," */"," maxHeight: {"," value: Infinity,"," validator: isNumber"," },",""," /**"," * The maximum width of the element"," *"," * @attribute maxWidth"," * @default Infinity"," * @type Number"," */"," maxWidth: {"," value: Infinity,"," validator: isNumber"," },",""," /**"," * Maintain the element's ratio when resizing."," *"," * @attribute preserveRatio"," * @default false"," * @type boolean"," */"," preserveRatio: {"," value: false,"," validator: isBoolean"," },",""," /**"," * The number of x ticks to span the resize to."," *"," * @attribute tickX"," * @default false"," * @type Number | false"," */"," tickX: {"," value: false"," },",""," /**"," * The number of y ticks to span the resize to."," *"," * @attribute tickY"," * @default false"," * @type Number | false"," */"," tickY: {"," value: false"," }"," }","});","","Y.extend(ResizeConstrained, Y.Plugin.Base, {"," /**"," * Stores the <code>constrain</code>"," * surrounding information retrieved from"," * <a href=\"Resize.html#method__getBoxSurroundingInfo\">_getBoxSurroundingInfo</a>."," *"," * @property constrainSurrounding"," * @type Object"," * @default null"," */"," constrainSurrounding: null,",""," initializer: function() {"," var instance = this,"," host = instance.get(HOST);",""," host.delegate.dd.plug("," Y.Plugin.DDConstrained,"," {"," tickX: instance.get(TICK_X),"," tickY: instance.get(TICK_Y)"," }"," );",""," host.after('resize:align', Y.bind(instance._handleResizeAlignEvent, instance));"," host.on('resize:start', Y.bind(instance._handleResizeStartEvent, instance));"," },",""," /**"," * Helper method to update the current values on"," * <a href=\"Resize.html#property_info\">info</a> to respect the"," * constrain node."," *"," * @method _checkConstrain"," * @param {String} axis 'top' or 'left'"," * @param {String} axisConstrain 'bottom' or 'right'"," * @param {String} offset 'offsetHeight' or 'offsetWidth'"," * @protected"," */"," _checkConstrain: function(axis, axisConstrain, offset) {"," var instance = this,"," point1,"," point1Constrain,"," point2,"," point2Constrain,"," host = instance.get(HOST),"," info = host.info,"," constrainBorders = instance.constrainSurrounding.border,"," region = instance._getConstrainRegion();",""," if (region) {"," point1 = info[axis] + info[offset];"," point1Constrain = region[axisConstrain] - toNumber(constrainBorders[capitalize(BORDER, axisConstrain, WIDTH)]);",""," if (point1 >= point1Constrain) {"," info[offset] -= (point1 - point1Constrain);"," }",""," point2 = info[axis];"," point2Constrain = region[axis] + toNumber(constrainBorders[capitalize(BORDER, axis, WIDTH)]);",""," if (point2 <= point2Constrain) {"," info[axis] += (point2Constrain - point2);"," info[offset] -= (point2Constrain - point2);"," }"," }"," },",""," /**"," * Update the current values on <a href=\"Resize.html#property_info\">info</a>"," * to respect the maxHeight and minHeight."," *"," * @method _checkHeight"," * @protected"," */"," _checkHeight: function() {"," var instance = this,"," host = instance.get(HOST),"," info = host.info,"," maxHeight = (instance.get(MAX_HEIGHT) + host.totalVSurrounding),"," minHeight = (instance.get(MIN_HEIGHT) + host.totalVSurrounding);",""," instance._checkConstrain(TOP, BOTTOM, OFFSET_HEIGHT);",""," if (info.offsetHeight > maxHeight) {"," host._checkSize(OFFSET_HEIGHT, maxHeight);"," }",""," if (info.offsetHeight < minHeight) {"," host._checkSize(OFFSET_HEIGHT, minHeight);"," }"," },",""," /**"," * Update the current values on <a href=\"Resize.html#property_info\">info</a>"," * calculating the correct ratio for the other values."," *"," * @method _checkRatio"," * @protected"," */"," _checkRatio: function() {"," var instance = this,"," host = instance.get(HOST),"," info = host.info,"," originalInfo = host.originalInfo,"," oWidth = originalInfo.offsetWidth,"," oHeight = originalInfo.offsetHeight,"," oTop = originalInfo.top,"," oLeft = originalInfo.left,"," oBottom = originalInfo.bottom,"," oRight = originalInfo.right,"," // wRatio/hRatio functions keep the ratio information always synced with the current info information"," // RETURN: percentage how much width/height has changed from the original width/height"," wRatio = function() {"," return (info.offsetWidth/oWidth);"," },"," hRatio = function() {"," return (info.offsetHeight/oHeight);"," },"," isClosestToHeight = host.changeHeightHandles,"," bottomDiff,"," constrainBorders,"," constrainRegion,"," leftDiff,"," rightDiff,"," topDiff;",""," // check whether the resizable node is closest to height or not"," if (instance.get(CONSTRAIN) && host.changeHeightHandles && host.changeWidthHandles) {"," constrainRegion = instance._getConstrainRegion();"," constrainBorders = instance.constrainSurrounding.border;"," bottomDiff = (constrainRegion.bottom - toNumber(constrainBorders[BORDER_BOTTOM_WIDTH])) - oBottom;"," leftDiff = oLeft - (constrainRegion.left + toNumber(constrainBorders[BORDER_LEFT_WIDTH]));"," rightDiff = (constrainRegion.right - toNumber(constrainBorders[BORDER_RIGHT_WIDTH])) - oRight;"," topDiff = oTop - (constrainRegion.top + toNumber(constrainBorders[BORDER_TOP_WIDTH]));",""," if (host.changeLeftHandles && host.changeTopHandles) {"," isClosestToHeight = (topDiff < leftDiff);"," }"," else if (host.changeLeftHandles) {"," isClosestToHeight = (bottomDiff < leftDiff);"," }"," else if (host.changeTopHandles) {"," isClosestToHeight = (topDiff < rightDiff);"," }"," else {"," isClosestToHeight = (bottomDiff < rightDiff);"," }"," }",""," // when the height of the resizable element touch the border of the constrain first"," // force the offsetWidth to be calculated based on the height ratio"," if (isClosestToHeight) {"," info.offsetWidth = oWidth*hRatio();"," instance._checkWidth();"," info.offsetHeight = oHeight*wRatio();"," }"," else {"," info.offsetHeight = oHeight*wRatio();"," instance._checkHeight();"," info.offsetWidth = oWidth*hRatio();"," }",""," // fixing the top on handles which are able to change top"," // the idea here is change the top based on how much the height has changed instead of follow the dy"," if (host.changeTopHandles) {"," info.top = oTop + (oHeight - info.offsetHeight);"," }",""," // fixing the left on handles which are able to change left"," // the idea here is change the left based on how much the width has changed instead of follow the dx"," if (host.changeLeftHandles) {"," info.left = oLeft + (oWidth - info.offsetWidth);"," }",""," // rounding values to avoid pixel jumpings"," Y.each(info, function(value, key) {"," if (isNumber(value)) {"," info[key] = Math.round(value);"," }"," });"," },",""," /**"," * Check whether the resizable node is inside the constrain region."," *"," * @method _checkRegion"," * @protected"," * @return {boolean}"," */"," _checkRegion: function() {"," var instance = this,"," host = instance.get(HOST),"," region = instance._getConstrainRegion();",""," return Y.DOM.inRegion(null, region, true, host.info);"," },",""," /**"," * Update the current values on <a href=\"Resize.html#property_info\">info</a>"," * to respect the maxWidth and minWidth."," *"," * @method _checkWidth"," * @protected"," */"," _checkWidth: function() {"," var instance = this,"," host = instance.get(HOST),"," info = host.info,"," maxWidth = (instance.get(MAX_WIDTH) + host.totalHSurrounding),"," minWidth = (instance.get(MIN_WIDTH) + host.totalHSurrounding);",""," instance._checkConstrain(LEFT, RIGHT, OFFSET_WIDTH);",""," if (info.offsetWidth < minWidth) {"," host._checkSize(OFFSET_WIDTH, minWidth);"," }",""," if (info.offsetWidth > maxWidth) {"," host._checkSize(OFFSET_WIDTH, maxWidth);"," }"," },",""," /**"," * Get the constrain region based on the <code>constrain</code>"," * attribute."," *"," * @method _getConstrainRegion"," * @protected"," * @return {Object Region}"," */"," _getConstrainRegion: function() {"," var instance = this,"," host = instance.get(HOST),"," node = host.get(NODE),"," constrain = instance.get(CONSTRAIN),"," region = null;",""," if (constrain) {"," if (constrain === VIEW) {"," region = node.get(VIEWPORT_REGION);"," }"," else if (isNode(constrain)) {"," region = constrain.get(REGION);"," }"," else {"," region = constrain;"," }"," }",""," return region;"," },",""," _handleResizeAlignEvent: function() {"," var instance = this,"," host = instance.get(HOST);",""," // check the max/min height and locking top when these values are reach"," instance._checkHeight();",""," // check the max/min width and locking left when these values are reach"," instance._checkWidth();",""," // calculating the ratio, for proportionally resizing"," if (instance.get(PRESEVE_RATIO)) {"," instance._checkRatio();"," }",""," if (instance.get(CONSTRAIN) && !instance._checkRegion()) {"," host.info = host.lastInfo;"," }"," },",""," _handleResizeStartEvent: function() {"," var instance = this,"," constrain = instance.get(CONSTRAIN),"," host = instance.get(HOST);",""," instance.constrainSurrounding = host._getBoxSurroundingInfo(constrain);"," }","});","","Y.namespace('Plugin');","Y.Plugin.ResizeConstrained = ResizeConstrained;","","","}, '3.13.0', {\"requires\": [\"plugin\", \"resize-base\"]});","","}());"]};