This example shows how to create a resizable element where the resize operation is constrained to a specific aspect ratio.
Setting up the Node
First we need to create an HTML element to make resizable.
<div id="demo">Resize Me</div>
Next, we'll give that element some CSS to make it visible.
#demo {
    height: 100px;
    width: 100px;
    border: 1px solid black;
    background-color: #8DD5E7;
    position: relative;
    padding: 1em;
    margin: 2em;
}
Setting up the YUI Instance
Now we need to create our YUI instance and tell it to load the resize module.  This module is a rollup that includes the resize-constrain submodule; that means we have access to the ResizeConstrained plugin.
YUI().use('resize');
Making the Node resizable
Now that we have a YUI instance with the resize module, we need to instantiate the Resize instance on this Node.
YUI().use('resize', function(Y) {
    var resize = new Y.Resize({
        //Selector of the node to resize
        node: '#demo'
    });   
});
Adding the Constrained Plugin
Now we will plug ResizeConstrained into our Resize instance. This plugin will allow you to limit the resize dimensions in special ways.
YUI().use('resize', function(Y) {
    var resize = new Y.Resize({
        //Selector of the node to resize
        node: '#demo'
    });
    resize.plug(Y.Plugin.ResizeConstrained, {
        minWidth: 50,
        minHeight: 50,
        maxWidth: 300,
        maxHeight: 300,
        preserveRatio: true
    });    
});
In this case, we've used the constraint feature to specify minimum height and width for the element while setting preserveRatio to true, locking in the original aspect ratio for the element.