WordPress.org

Make WordPress Core

Ticket #29833: 29833.4.patch

File 29833.4.patch, 71.5 KB (added by ocean90, 7 years ago)

jQuery UI 1.11.2

  • src/wp-includes/js/jquery/ui/accordion.js

     
    11/*!
    2  * jQuery UI Accordion 1.11.1
     2 * jQuery UI Accordion 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2525}(function( $ ) {
    2626
    2727return $.widget( "ui.accordion", {
    28         version: "1.11.1",
     28        version: "1.11.2",
    2929        options: {
    3030                active: 0,
    3131                animate: {},
     
    259259        },
    260260
    261261        _processPanels: function() {
     262                var prevHeaders = this.headers,
     263                        prevPanels = this.panels;
     264
    262265                this.headers = this.element.find( this.options.header )
    263266                        .addClass( "ui-accordion-header ui-state-default ui-corner-all" );
    264267
    265                 this.headers.next()
     268                this.panels = this.headers.next()
    266269                        .addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" )
    267270                        .filter( ":not(.ui-accordion-content-active)" )
    268271                        .hide();
     272
     273                // Avoid memory leaks (#10056)
     274                if ( prevPanels ) {
     275                        this._off( prevHeaders.not( this.headers ) );
     276                        this._off( prevPanels.not( this.panels ) );
     277                }
    269278        },
    270279
    271280        _refresh: function() {
  • src/wp-includes/js/jquery/ui/autocomplete.js

     
    11/*!
    2  * jQuery UI Autocomplete 1.11.1
     2 * jQuery UI Autocomplete 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2727}(function( $ ) {
    2828
    2929$.widget( "ui.autocomplete", {
    30         version: "1.11.1",
     30        version: "1.11.2",
    3131        defaultElement: "<input>",
    3232        options: {
    3333                appendTo: null,
  • src/wp-includes/js/jquery/ui/button.js

     
    11/*!
    2  * jQuery UI Button 1.11.1
     2 * jQuery UI Button 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    5252        };
    5353
    5454$.widget( "ui.button", {
    55         version: "1.11.1",
     55        version: "1.11.2",
    5656        defaultElement: "<button>",
    5757        options: {
    5858                disabled: null,
     
    348348});
    349349
    350350$.widget( "ui.buttonset", {
    351         version: "1.11.1",
     351        version: "1.11.2",
    352352        options: {
    353353                items: "button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"
    354354        },
  • src/wp-includes/js/jquery/ui/core.js

     
    11/*!
    2  * jQuery UI Core 1.11.1
     2 * jQuery UI Core 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2424$.ui = $.ui || {};
    2525
    2626$.extend( $.ui, {
    27         version: "1.11.1",
     27        version: "1.11.2",
    2828
    2929        keyCode: {
    3030                BACKSPACE: 8,
  • src/wp-includes/js/jquery/ui/datepicker.js

     
    11/*!
    2  * jQuery UI Datepicker 1.11.1
     2 * jQuery UI Datepicker 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2323        }
    2424}(function( $ ) {
    2525
    26 $.extend($.ui, { datepicker: { version: "1.11.1" } });
     26$.extend($.ui, { datepicker: { version: "1.11.2" } });
    2727
    2828var datepicker_instActive;
    2929
     
    20732073$.datepicker = new Datepicker(); // singleton instance
    20742074$.datepicker.initialized = false;
    20752075$.datepicker.uuid = new Date().getTime();
    2076 $.datepicker.version = "1.11.1";
     2076$.datepicker.version = "1.11.2";
    20772077
    20782078return $.datepicker;
    20792079
  • src/wp-includes/js/jquery/ui/dialog.js

     
    11/*!
    2  * jQuery UI Dialog 1.11.1
     2 * jQuery UI Dialog 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    3030}(function( $ ) {
    3131
    3232return $.widget( "ui.dialog", {
    33         version: "1.11.1",
     33        version: "1.11.2",
    3434        options: {
    3535                appendTo: "body",
    3636                autoOpen: true,
  • src/wp-includes/js/jquery/ui/draggable.js

     
    11/*!
    2  * jQuery UI Draggable 1.11.1
     2 * jQuery UI Draggable 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2626}(function( $ ) {
    2727
    2828$.widget("ui.draggable", $.ui.mouse, {
    29         version: "1.11.1",
     29        version: "1.11.2",
    3030        widgetEventPrefix: "drag",
    3131        options: {
    3232                addClasses: true,
     
    6161        },
    6262        _create: function() {
    6363
    64                 if (this.options.helper === "original" && !(/^(?:r|a|f)/).test(this.element.css("position"))) {
    65                         this.element[0].style.position = "relative";
     64                if ( this.options.helper === "original" ) {
     65                        this._setPositionRelative();
    6666                }
    6767                if (this.options.addClasses){
    6868                        this.element.addClass("ui-draggable");
     
    9494        },
    9595
    9696        _mouseCapture: function(event) {
     97                var o = this.options;
    9798
    98                 var document = this.document[ 0 ],
    99                         o = this.options;
     99                this._blurActiveElement( event );
    100100
    101                 // support: IE9
    102                 // IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
    103                 try {
    104                         // Support: IE9+
    105                         // If the <body> is blurred, IE will switch windows, see #9520
    106                         if ( document.activeElement && document.activeElement.nodeName.toLowerCase() !== "body" ) {
    107                                 // Blur any element that currently has focus, see #4261
    108                                 $( document.activeElement ).blur();
    109                         }
    110                 } catch ( error ) {}
    111 
    112101                // among others, prevent a drag on a resizable-handle
    113102                if (this.helper || o.disabled || $(event.target).closest(".ui-resizable-handle").length > 0) {
    114103                        return false;
     
    120109                        return false;
    121110                }
    122111
    123                 $(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() {
    124                         $("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>")
    125                         .css({
    126                                 width: this.offsetWidth + "px", height: this.offsetHeight + "px",
    127                                 position: "absolute", opacity: "0.001", zIndex: 1000
    128                         })
    129                         .css($(this).offset())
    130                         .appendTo("body");
    131                 });
     112                this._blockFrames( o.iframeFix === true ? "iframe" : o.iframeFix );
    132113
    133114                return true;
    134115
    135116        },
    136117
     118        _blockFrames: function( selector ) {
     119                this.iframeBlocks = this.document.find( selector ).map(function() {
     120                        var iframe = $( this );
     121
     122                        return $( "<div>" )
     123                                .css( "position", "absolute" )
     124                                .appendTo( iframe.parent() )
     125                                .outerWidth( iframe.outerWidth() )
     126                                .outerHeight( iframe.outerHeight() )
     127                                .offset( iframe.offset() )[ 0 ];
     128                });
     129        },
     130
     131        _unblockFrames: function() {
     132                if ( this.iframeBlocks ) {
     133                        this.iframeBlocks.remove();
     134                        delete this.iframeBlocks;
     135                }
     136        },
     137
     138        _blurActiveElement: function( event ) {
     139                var document = this.document[ 0 ];
     140
     141                // Only need to blur if the event occurred on the draggable itself, see #10527
     142                if ( !this.handleElement.is( event.target ) ) {
     143                        return;
     144                }
     145
     146                // support: IE9
     147                // IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
     148                try {
     149
     150                        // Support: IE9, IE10
     151                        // If the <body> is blurred, IE will switch windows, see #9520
     152                        if ( document.activeElement && document.activeElement.nodeName.toLowerCase() !== "body" ) {
     153
     154                                // Blur any element that currently has focus, see #4261
     155                                $( document.activeElement ).blur();
     156                        }
     157                } catch ( error ) {}
     158        },
     159
    137160        _mouseStart: function(event) {
    138161
    139162                var o = this.options;
     
    163186                this.cssPosition = this.helper.css( "position" );
    164187                this.scrollParent = this.helper.scrollParent( true );
    165188                this.offsetParent = this.helper.offsetParent();
    166                 this.offsetParentCssPosition = this.offsetParent.css( "position" );
     189                this.hasFixedAncestor = this.helper.parents().filter(function() {
     190                                return $( this ).css( "position" ) === "fixed";
     191                        }).length > 0;
    167192
    168193                //The element's absolute position on the page minus margins
    169                 this.offset = this.positionAbs = this.element.offset();
    170                 this.offset = {
    171                         top: this.offset.top - this.margins.top,
    172                         left: this.offset.left - this.margins.left
    173                 };
     194                this.positionAbs = this.element.offset();
     195                this._refreshOffsets( event );
    174196
    175                 //Reset scroll cache
    176                 this.offset.scroll = false;
    177 
    178                 $.extend(this.offset, {
    179                         click: { //Where the click happened, relative to the element
    180                                 left: event.pageX - this.offset.left,
    181                                 top: event.pageY - this.offset.top
    182                         },
    183                         parent: this._getParentOffset(),
    184                         relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
    185                 });
    186 
    187197                //Generate the original position
    188198                this.originalPosition = this.position = this._generatePosition( event, false );
    189199                this.originalPageX = event.pageX;
     
    209219                        $.ui.ddmanager.prepareOffsets(this, event);
    210220                }
    211221
     222                // Reset helper's right/bottom css if they're set and set explicit width/height instead
     223                // as this prevents resizing of elements with right/bottom set (see #7772)
     224                this._normalizeRightBottom();
     225
    212226                this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position
    213227
    214228                //If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003)
     
    219233                return true;
    220234        },
    221235
     236        _refreshOffsets: function( event ) {
     237                this.offset = {
     238                        top: this.positionAbs.top - this.margins.top,
     239                        left: this.positionAbs.left - this.margins.left,
     240                        scroll: false,
     241                        parent: this._getParentOffset(),
     242                        relative: this._getRelativeOffset()
     243                };
     244
     245                this.offset.click = {
     246                        left: event.pageX - this.offset.left,
     247                        top: event.pageY - this.offset.top
     248                };
     249        },
     250
    222251        _mouseDrag: function(event, noPropagation) {
    223252                // reset any necessary cached properties (see #5009)
    224                 if ( this.offsetParentCssPosition === "fixed" ) {
     253                if ( this.hasFixedAncestor ) {
    225254                        this.offset.parent = this._getParentOffset();
    226255                }
    227256
     
    279308                return false;
    280309        },
    281310
    282         _mouseUp: function(event) {
    283                 //Remove frame helpers
    284                 $("div.ui-draggable-iframeFix").each(function() {
    285                         this.parentNode.removeChild(this);
    286                 });
     311        _mouseUp: function( event ) {
     312                this._unblockFrames();
    287313
    288314                //If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003)
    289315                if ( $.ui.ddmanager ) {
    290316                        $.ui.ddmanager.dragStop(this, event);
    291317                }
    292318
    293                 // The interaction is over; whether or not the click resulted in a drag, focus the element
    294                 this.element.focus();
     319                // Only need to focus if the event occurred on the draggable itself, see #10527
     320                if ( this.handleElement.is( event.target ) ) {
     321                        // The interaction is over; whether or not the click resulted in a drag, focus the element
     322                        this.element.focus();
     323                }
    295324
    296325                return $.ui.mouse.prototype._mouseUp.call(this, event);
    297326        },
     
    327356        _createHelper: function(event) {
    328357
    329358                var o = this.options,
    330                         helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[ 0 ], [ event ])) : (o.helper === "clone" ? this.element.clone().removeAttr("id") : this.element);
     359                        helperIsFunction = $.isFunction( o.helper ),
     360                        helper = helperIsFunction ?
     361                                $( o.helper.apply( this.element[ 0 ], [ event ] ) ) :
     362                                ( o.helper === "clone" ?
     363                                        this.element.clone().removeAttr( "id" ) :
     364                                        this.element );
    331365
    332366                if (!helper.parents("body").length) {
    333367                        helper.appendTo((o.appendTo === "parent" ? this.element[0].parentNode : o.appendTo));
    334368                }
    335369
     370                // http://bugs.jqueryui.com/ticket/9446
     371                // a helper function can return the original element
     372                // which wouldn't have been set to relative in _create
     373                if ( helperIsFunction && helper[ 0 ] === this.element[ 0 ] ) {
     374                        this._setPositionRelative();
     375                }
     376
    336377                if (helper[0] !== this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) {
    337378                        helper.css("position", "absolute");
    338379                }
     
    341382
    342383        },
    343384
     385        _setPositionRelative: function() {
     386                if ( !( /^(?:r|a|f)/ ).test( this.element.css( "position" ) ) ) {
     387                        this.element[ 0 ].style.position = "relative";
     388                }
     389        },
     390
    344391        _adjustOffsetFromHelper: function(obj) {
    345392                if (typeof obj === "string") {
    346393                        obj = obj.split(" ");
     
    425472
    426473        _setContainment: function() {
    427474
    428                 var over, c, ce,
     475                var isUserScrollable, c, ce,
    429476                        o = this.options,
    430477                        document = this.document[ 0 ];
    431478
     
    472519                        return;
    473520                }
    474521
    475                 over = c.css( "overflow" ) !== "hidden";
     522                isUserScrollable = /(scroll|auto)/.test( c.css( "overflow" ) );
    476523
    477524                this.containment = [
    478525                        ( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ),
    479526                        ( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ),
    480                         ( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - ( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) - ( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) - this.helperProportions.width - this.margins.left - this.margins.right,
    481                         ( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - ( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) - ( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) - this.helperProportions.height - this.margins.top  - this.margins.bottom
     527                        ( isUserScrollable ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) -
     528                                ( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) -
     529                                ( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) -
     530                                this.helperProportions.width -
     531                                this.margins.left -
     532                                this.margins.right,
     533                        ( isUserScrollable ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) -
     534                                ( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) -
     535                                ( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) -
     536                                this.helperProportions.height -
     537                                this.margins.top -
     538                                this.margins.bottom
    482539                ];
    483540                this.relativeContainer = c;
    484541        },
     
    608665                }
    609666        },
    610667
     668        _normalizeRightBottom: function() {
     669                if ( this.options.axis !== "y" && this.helper.css( "right" ) !== "auto" ) {
     670                        this.helper.width( this.helper.width() );
     671                        this.helper.css( "right", "auto" );
     672                }
     673                if ( this.options.axis !== "x" && this.helper.css( "bottom" ) !== "auto" ) {
     674                        this.helper.height( this.helper.height() );
     675                        this.helper.css( "bottom", "auto" );
     676                }
     677        },
     678
    611679        // From now on bulk stuff - mainly helpers
    612680
    613         _trigger: function(type, event, ui) {
     681        _trigger: function( type, event, ui ) {
    614682                ui = ui || this._uiHash();
    615683                $.ui.plugin.call( this, type, [ event, ui, this ], true );
    616                 //The absolute position has to be recalculated after plugins
    617                 if (type === "drag") {
    618                         this.positionAbs = this._convertPositionTo("absolute");
     684
     685                // Absolute position and offset (see #6884 ) have to be recalculated after plugins
     686                if ( /^(drag|start|stop)/.test( type ) ) {
     687                        this.positionAbs = this._convertPositionTo( "absolute" );
     688                        ui.offset = this.positionAbs;
    619689                }
    620                 return $.Widget.prototype._trigger.call(this, type, event, ui);
     690                return $.Widget.prototype._trigger.call( this, type, event, ui );
    621691        },
    622692
    623693        plugins: {},
     
    633703
    634704});
    635705
    636 $.ui.plugin.add("draggable", "connectToSortable", {
    637         start: function( event, ui, inst ) {
     706$.ui.plugin.add( "draggable", "connectToSortable", {
     707        start: function( event, ui, draggable ) {
     708                var uiSortable = $.extend( {}, ui, {
     709                        item: draggable.element
     710                });
    638711
    639                 var o = inst.options,
    640                         uiSortable = $.extend({}, ui, { item: inst.element });
    641                 inst.sortables = [];
    642                 $(o.connectToSortable).each(function() {
     712                draggable.sortables = [];
     713                $( draggable.options.connectToSortable ).each(function() {
    643714                        var sortable = $( this ).sortable( "instance" );
    644                         if (sortable && !sortable.options.disabled) {
    645                                 inst.sortables.push({
    646                                         instance: sortable,
    647                                         shouldRevert: sortable.options.revert
    648                                 });
    649                                 sortable.refreshPositions();    // Call the sortable's refreshPositions at drag start to refresh the containerCache since the sortable container cache is used in drag and needs to be up to date (this will ensure it's initialised as well as being kept in step with any changes that might have happened on the page).
     715
     716                        if ( sortable && !sortable.options.disabled ) {
     717                                draggable.sortables.push( sortable );
     718
     719                                // refreshPositions is called at drag start to refresh the containerCache
     720                                // which is used in drag. This ensures it's initialized and synchronized
     721                                // with any changes that might have happened on the page since initialization.
     722                                sortable.refreshPositions();
    650723                                sortable._trigger("activate", event, uiSortable);
    651724                        }
    652725                });
    653 
    654726        },
    655         stop: function( event, ui, inst ) {
    656 
    657                 //If we are still over the sortable, we fake the stop event of the sortable, but also remove helper
     727        stop: function( event, ui, draggable ) {
    658728                var uiSortable = $.extend( {}, ui, {
    659                         item: inst.element
     729                        item: draggable.element
    660730                });
    661731
    662                 $.each(inst.sortables, function() {
    663                         if (this.instance.isOver) {
     732                draggable.cancelHelperRemoval = false;
    664733
    665                                 this.instance.isOver = 0;
     734                $.each( draggable.sortables, function() {
     735                        var sortable = this;
    666736
    667                                 inst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance
    668                                 this.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work)
     737                        if ( sortable.isOver ) {
     738                                sortable.isOver = 0;
    669739
    670                                 //The sortable revert is supported, and we have to set a temporary dropped variable on the draggable to support revert: "valid/invalid"
    671                                 if (this.shouldRevert) {
    672                                         this.instance.options.revert = this.shouldRevert;
    673                                 }
     740                                // Allow this sortable to handle removing the helper
     741                                draggable.cancelHelperRemoval = true;
     742                                sortable.cancelHelperRemoval = false;
    674743
    675                                 //Trigger the stop of the sortable
    676                                 this.instance._mouseStop(event);
     744                                // Use _storedCSS To restore properties in the sortable,
     745                                // as this also handles revert (#9675) since the draggable
     746                                // may have modified them in unexpected ways (#8809)
     747                                sortable._storedCSS = {
     748                                        position: sortable.placeholder.css( "position" ),
     749                                        top: sortable.placeholder.css( "top" ),
     750                                        left: sortable.placeholder.css( "left" )
     751                                };
    677752
    678                                 this.instance.options.helper = this.instance.options._helper;
     753                                sortable._mouseStop(event);
    679754
    680                                 //If the helper has been the original item, restore properties in the sortable
    681                                 if (inst.options.helper === "original") {
    682                                         this.instance.currentItem.css({ top: "auto", left: "auto" });
    683                                 }
     755                                // Once drag has ended, the sortable should return to using
     756                                // its original helper, not the shared helper from draggable
     757                                sortable.options.helper = sortable.options._helper;
     758                        } else {
     759                                // Prevent this Sortable from removing the helper.
     760                                // However, don't set the draggable to remove the helper
     761                                // either as another connected Sortable may yet handle the removal.
     762                                sortable.cancelHelperRemoval = true;
    684763
    685                         } else {
    686                                 this.instance.cancelHelperRemoval = false; //Remove the helper in the sortable instance
    687                                 this.instance._trigger("deactivate", event, uiSortable);
     764                                sortable._trigger( "deactivate", event, uiSortable );
    688765                        }
    689 
    690766                });
    691 
    692767        },
    693         drag: function( event, ui, inst ) {
     768        drag: function( event, ui, draggable ) {
     769                $.each( draggable.sortables, function() {
     770                        var innermostIntersecting = false,
     771                                sortable = this;
    694772
    695                 var that = this;
     773                        // Copy over variables that sortable's _intersectsWith uses
     774                        sortable.positionAbs = draggable.positionAbs;
     775                        sortable.helperProportions = draggable.helperProportions;
     776                        sortable.offset.click = draggable.offset.click;
    696777
    697                 $.each(inst.sortables, function() {
     778                        if ( sortable._intersectsWith( sortable.containerCache ) ) {
     779                                innermostIntersecting = true;
    698780
    699                         var innermostIntersecting = false,
    700                                 thisSortable = this;
     781                                $.each( draggable.sortables, function() {
     782                                        // Copy over variables that sortable's _intersectsWith uses
     783                                        this.positionAbs = draggable.positionAbs;
     784                                        this.helperProportions = draggable.helperProportions;
     785                                        this.offset.click = draggable.offset.click;
    701786
    702                         //Copy over some variables to allow calling the sortable's native _intersectsWith
    703                         this.instance.positionAbs = inst.positionAbs;
    704                         this.instance.helperProportions = inst.helperProportions;
    705                         this.instance.offset.click = inst.offset.click;
    706 
    707                         if (this.instance._intersectsWith(this.instance.containerCache)) {
    708                                 innermostIntersecting = true;
    709                                 $.each(inst.sortables, function() {
    710                                         this.instance.positionAbs = inst.positionAbs;
    711                                         this.instance.helperProportions = inst.helperProportions;
    712                                         this.instance.offset.click = inst.offset.click;
    713                                         if (this !== thisSortable &&
    714                                                 this.instance._intersectsWith(this.instance.containerCache) &&
    715                                                 $.contains(thisSortable.instance.element[0], this.instance.element[0])
    716                                         ) {
     787                                        if ( this !== sortable &&
     788                                                        this._intersectsWith( this.containerCache ) &&
     789                                                        $.contains( sortable.element[ 0 ], this.element[ 0 ] ) ) {
    717790                                                innermostIntersecting = false;
    718791                                        }
     792
    719793                                        return innermostIntersecting;
    720794                                });
    721795                        }
    722796
    723                         if (innermostIntersecting) {
    724                                 //If it intersects, we use a little isOver variable and set it once, so our move-in stuff gets fired only once
    725                                 if (!this.instance.isOver) {
     797                        if ( innermostIntersecting ) {
     798                                // If it intersects, we use a little isOver variable and set it once,
     799                                // so that the move-in stuff gets fired only once.
     800                                if ( !sortable.isOver ) {
     801                                        sortable.isOver = 1;
    726802
    727                                         this.instance.isOver = 1;
    728                                         //Now we fake the start of dragging for the sortable instance,
    729                                         //by cloning the list group item, appending it to the sortable and using it as inst.currentItem
    730                                         //We can then fire the start event of the sortable with our passed browser event, and our own helper (so it doesn't create a new one)
    731                                         this.instance.currentItem = $(that).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item", true);
    732                                         this.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it
    733                                         this.instance.options.helper = function() { return ui.helper[0]; };
     803                                        sortable.currentItem = ui.helper
     804                                                .appendTo( sortable.element )
     805                                                .data( "ui-sortable-item", true );
    734806
    735                                         event.target = this.instance.currentItem[0];
    736                                         this.instance._mouseCapture(event, true);
    737                                         this.instance._mouseStart(event, true, true);
     807                                        // Store helper option to later restore it
     808                                        sortable.options._helper = sortable.options.helper;
    738809
    739                                         //Because the browser event is way off the new appended portlet, we modify a couple of variables to reflect the changes
    740                                         this.instance.offset.click.top = inst.offset.click.top;
    741                                         this.instance.offset.click.left = inst.offset.click.left;
    742                                         this.instance.offset.parent.left -= inst.offset.parent.left - this.instance.offset.parent.left;
    743                                         this.instance.offset.parent.top -= inst.offset.parent.top - this.instance.offset.parent.top;
     810                                        sortable.options.helper = function() {
     811                                                return ui.helper[ 0 ];
     812                                        };
    744813
    745                                         inst._trigger("toSortable", event);
    746                                         inst.dropped = this.instance.element; //draggable revert needs that
    747                                         //hack so receive/update callbacks work (mostly)
    748                                         inst.currentItem = inst.element;
    749                                         this.instance.fromOutside = inst;
     814                                        // Fire the start events of the sortable with our passed browser event,
     815                                        // and our own helper (so it doesn't create a new one)
     816                                        event.target = sortable.currentItem[ 0 ];
     817                                        sortable._mouseCapture( event, true );
     818                                        sortable._mouseStart( event, true, true );
    750819
     820                                        // Because the browser event is way off the new appended portlet,
     821                                        // modify necessary variables to reflect the changes
     822                                        sortable.offset.click.top = draggable.offset.click.top;
     823                                        sortable.offset.click.left = draggable.offset.click.left;
     824                                        sortable.offset.parent.left -= draggable.offset.parent.left -
     825                                                sortable.offset.parent.left;
     826                                        sortable.offset.parent.top -= draggable.offset.parent.top -
     827                                                sortable.offset.parent.top;
     828
     829                                        draggable._trigger( "toSortable", event );
     830
     831                                        // Inform draggable that the helper is in a valid drop zone,
     832                                        // used solely in the revert option to handle "valid/invalid".
     833                                        draggable.dropped = sortable.element;
     834
     835                                        // Need to refreshPositions of all sortables in the case that
     836                                        // adding to one sortable changes the location of the other sortables (#9675)
     837                                        $.each( draggable.sortables, function() {
     838                                                this.refreshPositions();
     839                                        });
     840
     841                                        // hack so receive/update callbacks work (mostly)
     842                                        draggable.currentItem = draggable.element;
     843                                        sortable.fromOutside = draggable;
    751844                                }
    752845
    753                                 //Provided we did all the previous steps, we can fire the drag event of the sortable on every draggable drag, when it intersects with the sortable
    754                                 if (this.instance.currentItem) {
    755                                         this.instance._mouseDrag(event);
     846                                if ( sortable.currentItem ) {
     847                                        sortable._mouseDrag( event );
     848                                        // Copy the sortable's position because the draggable's can potentially reflect
     849                                        // a relative position, while sortable is always absolute, which the dragged
     850                                        // element has now become. (#8809)
     851                                        ui.position = sortable.position;
    756852                                }
    757 
    758853                        } else {
     854                                // If it doesn't intersect with the sortable, and it intersected before,
     855                                // we fake the drag stop of the sortable, but make sure it doesn't remove
     856                                // the helper by using cancelHelperRemoval.
     857                                if ( sortable.isOver ) {
    759858
    760                                 //If it doesn't intersect with the sortable, and it intersected before,
    761                                 //we fake the drag stop of the sortable, but make sure it doesn't remove the helper by using cancelHelperRemoval
    762                                 if (this.instance.isOver) {
     859                                        sortable.isOver = 0;
     860                                        sortable.cancelHelperRemoval = true;
    763861
    764                                         this.instance.isOver = 0;
    765                                         this.instance.cancelHelperRemoval = true;
     862                                        // Calling sortable's mouseStop would trigger a revert,
     863                                        // so revert must be temporarily false until after mouseStop is called.
     864                                        sortable.options._revert = sortable.options.revert;
     865                                        sortable.options.revert = false;
    766866
    767                                         //Prevent reverting on this forced stop
    768                                         this.instance.options.revert = false;
     867                                        sortable._trigger( "out", event, sortable._uiHash( sortable ) );
     868                                        sortable._mouseStop( event, true );
    769869
    770                                         // The out event needs to be triggered independently
    771                                         this.instance._trigger("out", event, this.instance._uiHash(this.instance));
     870                                        // restore sortable behaviors that were modfied
     871                                        // when the draggable entered the sortable area (#9481)
     872                                        sortable.options.revert = sortable.options._revert;
     873                                        sortable.options.helper = sortable.options._helper;
    772874
    773                                         this.instance._mouseStop(event, true);
    774                                         this.instance.options.helper = this.instance.options._helper;
    775 
    776                                         //Now we remove our currentItem, the list group clone again, and the placeholder, and animate the helper back to it's original size
    777                                         this.instance.currentItem.remove();
    778                                         if (this.instance.placeholder) {
    779                                                 this.instance.placeholder.remove();
     875                                        if ( sortable.placeholder ) {
     876                                                sortable.placeholder.remove();
    780877                                        }
    781878
    782                                         inst._trigger("fromSortable", event);
    783                                         inst.dropped = false; //draggable revert needs that
     879                                        // Recalculate the draggable's offset considering the sortable
     880                                        // may have modified them in unexpected ways (#8809)
     881                                        draggable._refreshOffsets( event );
     882                                        ui.position = draggable._generatePosition( event, true );
     883
     884                                        draggable._trigger( "fromSortable", event );
     885
     886                                        // Inform draggable that the helper is no longer in a valid drop zone
     887                                        draggable.dropped = false;
     888
     889                                        // Need to refreshPositions of all sortables just in case removing
     890                                        // from one sortable changes the location of other sortables (#9675)
     891                                        $.each( draggable.sortables, function() {
     892                                                this.refreshPositions();
     893                                        });
    784894                                }
    785 
    786895                        }
    787 
    788896                });
    789 
    790897        }
    791898});
    792899
     
    9161023
    9171024                for (i = inst.snapElements.length - 1; i >= 0; i--){
    9181025
    919                         l = inst.snapElements[i].left;
     1026                        l = inst.snapElements[i].left - inst.margins.left;
    9201027                        r = l + inst.snapElements[i].width;
    921                         t = inst.snapElements[i].top;
     1028                        t = inst.snapElements[i].top - inst.margins.top;
    9221029                        b = t + inst.snapElements[i].height;
    9231030
    9241031                        if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || !$.contains( inst.snapElements[ i ].item.ownerDocument, inst.snapElements[ i ].item ) ) {
     
    9351042                                ls = Math.abs(l - x2) <= d;
    9361043                                rs = Math.abs(r - x1) <= d;
    9371044                                if (ts) {
    938                                         ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
     1045                                        ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top;
    9391046                                }
    9401047                                if (bs) {
    941                                         ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top - inst.margins.top;
     1048                                        ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top;
    9421049                                }
    9431050                                if (ls) {
    944                                         ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left - inst.margins.left;
     1051                                        ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left;
    9451052                                }
    9461053                                if (rs) {
    947                                         ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left - inst.margins.left;
     1054                                        ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left;
    9481055                                }
    9491056                        }
    9501057
     
    9561063                                ls = Math.abs(l - x1) <= d;
    9571064                                rs = Math.abs(r - x2) <= d;
    9581065                                if (ts) {
    959                                         ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top - inst.margins.top;
     1066                                        ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top;
    9601067                                }
    9611068                                if (bs) {
    962                                         ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
     1069                                        ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top;
    9631070                                }
    9641071                                if (ls) {
    965                                         ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left - inst.margins.left;
     1072                                        ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left;
    9661073                                }
    9671074                                if (rs) {
    968                                         ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left - inst.margins.left;
     1075                                        ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left;
    9691076                                }
    9701077                        }
    9711078
  • src/wp-includes/js/jquery/ui/droppable.js

     
    11/*!
    2  * jQuery UI Droppable 1.11.1
     2 * jQuery UI Droppable 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2727}(function( $ ) {
    2828
    2929$.widget( "ui.droppable", {
    30         version: "1.11.1",
     30        version: "1.11.2",
    3131        widgetEventPrefix: "drop",
    3232        options: {
    3333                accept: "*",
     
    235235                        return false;
    236236                }
    237237
    238                 var x1 = ( draggable.positionAbs || draggable.position.absolute ).left,
    239                         y1 = ( draggable.positionAbs || draggable.position.absolute ).top,
     238                var x1 = ( draggable.positionAbs || draggable.position.absolute ).left + draggable.margins.left,
     239                        y1 = ( draggable.positionAbs || draggable.position.absolute ).top + draggable.margins.top,
    240240                        x2 = x1 + draggable.helperProportions.width,
    241241                        y2 = y1 + draggable.helperProportions.height,
    242242                        l = droppable.offset.left,
  • src/wp-includes/js/jquery/ui/effect-blind.js

     
    11/*!
    2  * jQuery UI Effects Blind 1.11.1
     2 * jQuery UI Effects Blind 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
  • src/wp-includes/js/jquery/ui/effect-bounce.js

     
    11/*!
    2  * jQuery UI Effects Bounce 1.11.1
     2 * jQuery UI Effects Bounce 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
  • src/wp-includes/js/jquery/ui/effect-clip.js

     
    11/*!
    2  * jQuery UI Effects Clip 1.11.1
     2 * jQuery UI Effects Clip 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
  • src/wp-includes/js/jquery/ui/effect-drop.js

     
    11/*!
    2  * jQuery UI Effects Drop 1.11.1
     2 * jQuery UI Effects Drop 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    4242        el.show();
    4343        $.effects.createWrapper( el );
    4444
    45         distance = o.distance || el[ ref === "top" ? "outerHeight": "outerWidth" ]( true ) / 2;
     45        distance = o.distance || el[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ) / 2;
    4646
    4747        if ( show ) {
    4848                el
  • src/wp-includes/js/jquery/ui/effect-explode.js

     
    11/*!
    2  * jQuery UI Effects Explode 1.11.1
     2 * jQuery UI Effects Explode 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
  • src/wp-includes/js/jquery/ui/effect-fade.js

     
    11/*!
    2  * jQuery UI Effects Fade 1.11.1
     2 * jQuery UI Effects Fade 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
  • src/wp-includes/js/jquery/ui/effect-fold.js

     
    11/*!
    2  * jQuery UI Effects Fold 1.11.1
     2 * jQuery UI Effects Fold 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
  • src/wp-includes/js/jquery/ui/effect-highlight.js

     
    11/*!
    2  * jQuery UI Effects Highlight 1.11.1
     2 * jQuery UI Effects Highlight 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
  • src/wp-includes/js/jquery/ui/effect-puff.js

     
    11/*!
    2  * jQuery UI Effects Puff 1.11.1
     2 * jQuery UI Effects Puff 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
  • src/wp-includes/js/jquery/ui/effect-pulsate.js

     
    11/*!
    2  * jQuery UI Effects Pulsate 1.11.1
     2 * jQuery UI Effects Pulsate 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
  • src/wp-includes/js/jquery/ui/effect-scale.js

     
    11/*!
    2  * jQuery UI Effects Scale 1.11.1
     2 * jQuery UI Effects Scale 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
  • src/wp-includes/js/jquery/ui/effect-shake.js

     
    11/*!
    2  * jQuery UI Effects Shake 1.11.1
     2 * jQuery UI Effects Shake 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
  • src/wp-includes/js/jquery/ui/effect-size.js

     
    11/*!
    2  * jQuery UI Effects Size 1.11.1
     2 * jQuery UI Effects Size 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
  • src/wp-includes/js/jquery/ui/effect-slide.js

     
    11/*!
    2  * jQuery UI Effects Slide 1.11.1
     2 * jQuery UI Effects Slide 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
  • src/wp-includes/js/jquery/ui/effect-transfer.js

     
    11/*!
    2  * jQuery UI Effects Transfer 1.11.1
     2 * jQuery UI Effects Transfer 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
  • src/wp-includes/js/jquery/ui/effect.js

     
    11/*!
    2  * jQuery UI Effects 1.11.1
     2 * jQuery UI Effects 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    633633                                }
    634634                                try {
    635635                                        elem.style[ hook ] = value;
    636                                 } catch( e ) {
     636                                } catch ( e ) {
    637637                                        // wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit'
    638638                                }
    639639                        }
     
    904904(function() {
    905905
    906906$.extend( $.effects, {
    907         version: "1.11.1",
     907        version: "1.11.2",
    908908
    909909        // Saves a set of properties in a data storage
    910910        save: function( element, set ) {
     
    998998                // https://bugzilla.mozilla.org/show_bug.cgi?id=561664
    999999                try {
    10001000                        active.id;
    1001                 } catch( e ) {
     1001                } catch ( e ) {
    10021002                        active = document.body;
    10031003                }
    10041004
  • src/wp-includes/js/jquery/ui/menu.js

     
    11/*!
    2  * jQuery UI Menu 1.11.1
     2 * jQuery UI Menu 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2626}(function( $ ) {
    2727
    2828return $.widget( "ui.menu", {
    29         version: "1.11.1",
     29        version: "1.11.2",
    3030        defaultElement: "<ul>",
    3131        delay: 300,
    3232        options: {
     
    101101                                }
    102102                        },
    103103                        "mouseenter .ui-menu-item": function( event ) {
     104                                // Ignore mouse events while typeahead is active, see #10458.
     105                                // Prevents focusing the wrong item when typeahead causes a scroll while the mouse
     106                                // is over an item in the menu
     107                                if ( this.previousFilter ) {
     108                                        return;
     109                                }
    104110                                var target = $( event.currentTarget );
    105111                                // Remove ui-state-active class from siblings of the newly focused menu item
    106112                                // to avoid a jump caused by adjacent elements both having a class with a border
     
    180186        },
    181187
    182188        _keydown: function( event ) {
    183                 var match, prev, character, skip, regex,
     189                var match, prev, character, skip,
    184190                        preventDefault = true;
    185191
    186                 function escape( value ) {
    187                         return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" );
    188                 }
    189 
    190192                switch ( event.keyCode ) {
    191193                case $.ui.keyCode.PAGE_UP:
    192194                        this.previousPage( event );
     
    235237                                character = prev + character;
    236238                        }
    237239
    238                         regex = new RegExp( "^" + escape( character ), "i" );
    239                         match = this.activeMenu.find( this.options.items ).filter(function() {
    240                                 return regex.test( $( this ).text() );
    241                         });
     240                        match = this._filterMenuItems( character );
    242241                        match = skip && match.index( this.active.next() ) !== -1 ?
    243242                                this.active.nextAll( ".ui-menu-item" ) :
    244243                                match;
     
    247246                        // to move down the menu to the first item that starts with that character
    248247                        if ( !match.length ) {
    249248                                character = String.fromCharCode( event.keyCode );
    250                                 regex = new RegExp( "^" + escape( character ), "i" );
    251                                 match = this.activeMenu.find( this.options.items ).filter(function() {
    252                                         return regex.test( $( this ).text() );
    253                                 });
     249                                match = this._filterMenuItems( character );
    254250                        }
    255251
    256252                        if ( match.length ) {
    257253                                this.focus( event, match );
    258                                 if ( match.length > 1 ) {
    259                                         this.previousFilter = character;
    260                                         this.filterTimer = this._delay(function() {
    261                                                 delete this.previousFilter;
    262                                         }, 1000 );
    263                                 } else {
     254                                this.previousFilter = character;
     255                                this.filterTimer = this._delay(function() {
    264256                                        delete this.previousFilter;
    265                                 }
     257                                }, 1000 );
    266258                        } else {
    267259                                delete this.previousFilter;
    268260                        }
     
    634626                        this.collapseAll( event, true );
    635627                }
    636628                this._trigger( "select", event, ui );
     629        },
     630
     631        _filterMenuItems: function(character) {
     632                var escapedCharacter = character.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ),
     633                        regex = new RegExp( "^" + escapedCharacter, "i" );
     634
     635                return this.activeMenu
     636                        .find( this.options.items )
     637
     638                        // Only match on items, not dividers or other content (#10571)
     639                        .filter( ".ui-menu-item" )
     640                        .filter(function() {
     641                                return regex.test( $.trim( $( this ).text() ) );
     642                        });
    637643        }
    638644});
    639645
  • src/wp-includes/js/jquery/ui/mouse.js

     
    11/*!
    2  * jQuery UI Mouse 1.11.1
     2 * jQuery UI Mouse 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2929});
    3030
    3131return $.widget("ui.mouse", {
    32         version: "1.11.1",
     32        version: "1.11.2",
    3333        options: {
    3434                cancel: "input,textarea,button,select,option",
    3535                distance: 1,
     
    7070                        return;
    7171                }
    7272
     73                this._mouseMoved = false;
     74
    7375                // we may have missed mouseup (out of window)
    7476                (this._mouseStarted && this._mouseUp(event));
    7577
     
    123125        },
    124126
    125127        _mouseMove: function(event) {
    126                 // IE mouseup check - mouseup happened when mouse was out of window
    127                 if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) {
    128                         return this._mouseUp(event);
     128                // Only check for mouseups outside the document if you've moved inside the document
     129                // at least once. This prevents the firing of mouseup in the case of IE<9, which will
     130                // fire a mousemove event if content is placed under the cursor. See #7778
     131                // Support: IE <9
     132                if ( this._mouseMoved ) {
     133                        // IE mouseup check - mouseup happened when mouse was out of window
     134                        if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) {
     135                                return this._mouseUp(event);
    129136
    130                 // Iframe mouseup check - mouseup occurred in another document
    131                 } else if ( !event.which ) {
    132                         return this._mouseUp( event );
     137                        // Iframe mouseup check - mouseup occurred in another document
     138                        } else if ( !event.which ) {
     139                                return this._mouseUp( event );
     140                        }
    133141                }
    134142
     143                if ( event.which || event.button ) {
     144                        this._mouseMoved = true;
     145                }
     146
    135147                if (this._mouseStarted) {
    136148                        this._mouseDrag(event);
    137149                        return event.preventDefault();
  • src/wp-includes/js/jquery/ui/position.js

     
    11/*!
    2  * jQuery UI Position 1.11.1
     2 * jQuery UI Position 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
  • src/wp-includes/js/jquery/ui/progressbar.js

     
    11/*!
    2  * jQuery UI Progressbar 1.11.1
     2 * jQuery UI Progressbar 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2525}(function( $ ) {
    2626
    2727return $.widget( "ui.progressbar", {
    28         version: "1.11.1",
     28        version: "1.11.2",
    2929        options: {
    3030                max: 100,
    3131                value: 0,
  • src/wp-includes/js/jquery/ui/resizable.js

     
    11/*!
    2  * jQuery UI Resizable 1.11.1
     2 * jQuery UI Resizable 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2626}(function( $ ) {
    2727
    2828$.widget("ui.resizable", $.ui.mouse, {
    29         version: "1.11.1",
     29        version: "1.11.2",
    3030        widgetEventPrefix: "resize",
    3131        options: {
    3232                alsoResize: false,
  • src/wp-includes/js/jquery/ui/selectable.js

     
    11/*!
    2  * jQuery UI Selectable 1.11.1
     2 * jQuery UI Selectable 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2626}(function( $ ) {
    2727
    2828return $.widget("ui.selectable", $.ui.mouse, {
    29         version: "1.11.1",
     29        version: "1.11.2",
    3030        options: {
    3131                appendTo: "body",
    3232                autoRefresh: true,
  • src/wp-includes/js/jquery/ui/selectmenu.js

     
    11/*!
    2  * jQuery UI Selectmenu 1.11.1
     2 * jQuery UI Selectmenu 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2727}(function( $ ) {
    2828
    2929return $.widget( "ui.selectmenu", {
    30         version: "1.11.1",
     30        version: "1.11.2",
    3131        defaultElement: "<select>",
    3232        options: {
    3333                appendTo: null,
     
    144144                                role: "listbox",
    145145                                select: function( event, ui ) {
    146146                                        event.preventDefault();
     147
     148                                        // support: IE8
     149                                        // If the item was selected via a click, the text selection
     150                                        // will be destroyed in IE
     151                                        that._setSelection();
     152
    147153                                        that._select( ui.item.data( "ui-selectmenu-item" ), event );
    148154                                },
    149155                                focus: function( event, ui ) {
     
    254260                this.isOpen = false;
    255261                this._toggleAttr();
    256262
     263                this.range = null;
    257264                this._off( this.document );
    258265
    259266                this._trigger( "close", event );
     
    342349                this[ this.isOpen ? "close" : "open" ]( event );
    343350        },
    344351
     352        _setSelection: function() {
     353                var selection;
     354
     355                if ( !this.range ) {
     356                        return;
     357                }
     358
     359                if ( window.getSelection ) {
     360                        selection = window.getSelection();
     361                        selection.removeAllRanges();
     362                        selection.addRange( this.range );
     363
     364                // support: IE8
     365                } else {
     366                        this.range.select();
     367                }
     368
     369                // support: IE
     370                // Setting the text selection kills the button focus in IE, but
     371                // restoring the focus doesn't kill the selection.
     372                this.button.focus();
     373        },
     374
    345375        _documentClick: {
    346376                mousedown: function( event ) {
    347377                        if ( !this.isOpen ) {
     
    357387        _buttonEvents: {
    358388
    359389                // Prevent text selection from being reset when interacting with the selectmenu (#10144)
    360                 mousedown: function( event ) {
    361                         event.preventDefault();
     390                mousedown: function() {
     391                        var selection;
     392
     393                        if ( window.getSelection ) {
     394                                selection = window.getSelection();
     395                                if ( selection.rangeCount ) {
     396                                        this.range = selection.getRangeAt( 0 );
     397                                }
     398
     399                        // support: IE8
     400                        } else {
     401                                this.range = document.selection.createRange();
     402                        }
    362403                },
    363404
    364                 click: "_toggle",
     405                click: function( event ) {
     406                        this._setSelection();
     407                        this._toggle( event );
     408                },
    365409
    366410                keydown: function( event ) {
    367411                        var preventDefault = true;
  • src/wp-includes/js/jquery/ui/slider.js

     
    11/*!
    2  * jQuery UI Slider 1.11.1
     2 * jQuery UI Slider 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2626}(function( $ ) {
    2727
    2828return $.widget( "ui.slider", $.ui.mouse, {
    29         version: "1.11.1",
     29        version: "1.11.2",
    3030        widgetEventPrefix: "slide",
    3131
    3232        options: {
     
    5858                this._handleIndex = null;
    5959                this._detectOrientation();
    6060                this._mouseInit();
     61                this._calculateNewMax();
    6162
    6263                this.element
    6364                        .addClass( "ui-slider" +
     
    472473                                }
    473474                                this._animateOff = false;
    474475                                break;
     476                        case "step":
    475477                        case "min":
    476478                        case "max":
    477479                                this._animateOff = true;
     480                                this._calculateNewMax();
    478481                                this._refreshValue();
    479482                                this._animateOff = false;
    480483                                break;
     
    512515                        // .slice() creates a copy of the array
    513516                        // this copy gets trimmed by min and max and then returned
    514517                        vals = this.options.values.slice();
    515                         for ( i = 0; i < vals.length; i+= 1) {
     518                        for ( i = 0; i < vals.length; i += 1) {
    516519                                vals[ i ] = this._trimAlignValue( vals[ i ] );
    517520                        }
    518521
     
    543546                return parseFloat( alignValue.toFixed(5) );
    544547        },
    545548
     549        _calculateNewMax: function() {
     550                var remainder = ( this.options.max - this._valueMin() ) % this.options.step;
     551                this.max = this.options.max - remainder;
     552        },
     553
    546554        _valueMin: function() {
    547555                return this.options.min;
    548556        },
    549557
    550558        _valueMax: function() {
    551                 return this.options.max;
     559                return this.max;
    552560        },
    553561
    554562        _refreshValue: function() {
  • src/wp-includes/js/jquery/ui/sortable.js

     
    11/*!
    2  * jQuery UI Sortable 1.11.1
     2 * jQuery UI Sortable 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2626}(function( $ ) {
    2727
    2828return $.widget("ui.sortable", $.ui.mouse, {
    29         version: "1.11.1",
     29        version: "1.11.2",
    3030        widgetEventPrefix: "sort",
    3131        ready: false,
    3232        options: {
     
    911911                        }
    912912
    913913                        if(this.currentContainer === this.containers[innermostIndex]) {
     914                                if ( !this.currentContainer.containerCache.over ) {
     915                                        this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash() );
     916                                        this.currentContainer.containerCache.over = 1;
     917                                }
    914918                                return;
    915919                        }
    916920
     
    12491253                }
    12501254
    12511255                this.dragging = false;
    1252                 if(this.cancelHelperRemoval) {
    1253                         if(!noPropagation) {
    1254                                 this._trigger("beforeStop", event, this._uiHash());
    1255                                 for (i=0; i < delayedTriggers.length; i++) {
    1256                                         delayedTriggers[i].call(this, event);
    1257                                 } //Trigger all delayed events
    1258                                 this._trigger("stop", event, this._uiHash());
    1259                         }
    12601256
    1261                         this.fromOutside = false;
    1262                         return false;
    1263                 }
    1264 
    12651257                if(!noPropagation) {
    12661258                        this._trigger("beforeStop", event, this._uiHash());
    12671259                }
     
    12691261                //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
    12701262                this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
    12711263
    1272                 if(this.helper[0] !== this.currentItem[0]) {
    1273                         this.helper.remove();
     1264                if ( !this.cancelHelperRemoval ) {
     1265                        if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) {
     1266                                this.helper.remove();
     1267                        }
     1268                        this.helper = null;
    12741269                }
    1275                 this.helper = null;
    12761270
    12771271                if(!noPropagation) {
    12781272                        for (i=0; i < delayedTriggers.length; i++) {
     
    12821276                }
    12831277
    12841278                this.fromOutside = false;
    1285                 return true;
     1279                return !this.cancelHelperRemoval;
    12861280
    12871281        },
    12881282
  • src/wp-includes/js/jquery/ui/spinner.js

     
    11/*!
    2  * jQuery UI Spinner 1.11.1
     2 * jQuery UI Spinner 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    3737}
    3838
    3939return $.widget( "ui.spinner", {
    40         version: "1.11.1",
     40        version: "1.11.2",
    4141        defaultElement: "<input>",
    4242        widgetEventPrefix: "spin",
    4343        options: {
  • src/wp-includes/js/jquery/ui/tabs.js

     
    11/*!
    2  * jQuery UI Tabs 1.11.1
     2 * jQuery UI Tabs 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2525}(function( $ ) {
    2626
    2727return $.widget( "ui.tabs", {
    28         version: "1.11.1",
     28        version: "1.11.2",
    2929        delay: 300,
    3030        options: {
    3131                active: null,
     
    372372        },
    373373
    374374        _processTabs: function() {
    375                 var that = this;
     375                var that = this,
     376                        prevTabs = this.tabs,
     377                        prevAnchors = this.anchors,
     378                        prevPanels = this.panels;
    376379
    377380                this.tablist = this._getList()
    378381                        .addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" )
     
    456459                this.panels
    457460                        .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
    458461                        .attr( "role", "tabpanel" );
     462
     463                // Avoid memory leaks (#10056)
     464                if ( prevTabs ) {
     465                        this._off( prevTabs.not( this.tabs ) );
     466                        this._off( prevAnchors.not( this.anchors ) );
     467                        this._off( prevPanels.not( this.panels ) );
     468                }
    459469        },
    460470
    461471        // allow overriding how to find the list for rare usage scenarios (#7715)
  • src/wp-includes/js/jquery/ui/tooltip.js

     
    11/*!
    2  * jQuery UI Tooltip 1.11.1
     2 * jQuery UI Tooltip 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    2626}(function( $ ) {
    2727
    2828return $.widget( "ui.tooltip", {
    29         version: "1.11.1",
     29        version: "1.11.2",
    3030        options: {
    3131                content: function() {
    3232                        // support: IE<9, Opera in jQuery <1.7
     
    8686
    8787                // IDs of generated tooltips, needed for destroy
    8888                this.tooltips = {};
     89
    8990                // IDs of parent tooltips where we removed the title attribute
    9091                this.parents = {};
    9192
     
    117118                this._super( key, value );
    118119
    119120                if ( key === "content" ) {
    120                         $.each( this.tooltips, function( id, element ) {
    121                                 that._updateContent( element );
     121                        $.each( this.tooltips, function( id, tooltipData ) {
     122                                that._updateContent( tooltipData.element );
    122123                        });
    123124                }
    124125        },
     
    127128                var that = this;
    128129
    129130                // close open tooltips
    130                 $.each( this.tooltips, function( id, element ) {
     131                $.each( this.tooltips, function( id, tooltipData ) {
    131132                        var event = $.Event( "blur" );
    132                         event.target = event.currentTarget = element[0];
     133                        event.target = event.currentTarget = tooltipData.element[ 0 ];
    133134                        that.close( event, true );
    134135                });
    135136
     
    231232        },
    232233
    233234        _open: function( event, target, content ) {
    234                 var tooltip, events, delayedShow, a11yContent,
     235                var tooltipData, tooltip, events, delayedShow, a11yContent,
    235236                        positionOption = $.extend( {}, this.options.position );
    236237
    237238                if ( !content ) {
     
    240241
    241242                // Content can be updated multiple times. If the tooltip already
    242243                // exists, then just update the content and bail.
    243                 tooltip = this._find( target );
    244                 if ( tooltip.length ) {
    245                         tooltip.find( ".ui-tooltip-content" ).html( content );
     244                tooltipData = this._find( target );
     245                if ( tooltipData ) {
     246                        tooltipData.tooltip.find( ".ui-tooltip-content" ).html( content );
    246247                        return;
    247248                }
    248249
     
    261262                        }
    262263                }
    263264
    264                 tooltip = this._tooltip( target );
     265                tooltipData = this._tooltip( target );
     266                tooltip = tooltipData.tooltip;
    265267                this._addDescribedBy( target, tooltip.attr( "id" ) );
    266268                tooltip.find( ".ui-tooltip-content" ).html( content );
    267269
     
    296298                        }, this.options.position ) );
    297299                }
    298300
    299                 this.hiding = false;
    300                 this.closing = false;
    301301                tooltip.hide();
    302302
    303303                this._show( tooltip, this.options.show );
     
    343343        },
    344344
    345345        close: function( event ) {
    346                 var that = this,
     346                var tooltip,
     347                        that = this,
    347348                        target = $( event ? event.currentTarget : this.element ),
    348                         tooltip = this._find( target );
     349                        tooltipData = this._find( target );
    349350
     351                // The tooltip may already be closed
     352                if ( !tooltipData ) {
     353                        return;
     354                }
     355
     356                tooltip = tooltipData.tooltip;
     357
    350358                // disabling closes the tooltip, so we need to track when we're closing
    351359                // to avoid an infinite loop in case the tooltip becomes disabled on close
    352                 if ( this.closing ) {
     360                if ( tooltipData.closing ) {
    353361                        return;
    354362                }
    355363
     
    364372
    365373                this._removeDescribedBy( target );
    366374
    367                 this.hiding = true;
     375                tooltipData.hiding = true;
    368376                tooltip.stop( true );
    369377                this._hide( tooltip, this.options.hide, function() {
    370378                        that._removeTooltip( $( this ) );
    371                         this.hiding = false;
    372                         this.closing = false;
    373379                });
    374380
    375381                target.removeData( "ui-tooltip-open" );
     
    388394                        });
    389395                }
    390396
    391                 this.closing = true;
     397                tooltipData.closing = true;
    392398                this._trigger( "close", event, { tooltip: tooltip } );
    393                 if ( !this.hiding ) {
    394                         this.closing = false;
     399                if ( !tooltipData.hiding ) {
     400                        tooltipData.closing = false;
    395401                }
    396402        },
    397403
     
    407413                        .appendTo( tooltip );
    408414
    409415                tooltip.appendTo( this.document[0].body );
    410                 this.tooltips[ id ] = element;
    411                 return tooltip;
     416
     417                return this.tooltips[ id ] = {
     418                        element: element,
     419                        tooltip: tooltip
     420                };
    412421        },
    413422
    414423        _find: function( target ) {
    415424                var id = target.data( "ui-tooltip-id" );
    416                 return id ? $( "#" + id ) : $();
     425                return id ? this.tooltips[ id ] : null;
    417426        },
    418427
    419428        _removeTooltip: function( tooltip ) {
     
    425434                var that = this;
    426435
    427436                // close open tooltips
    428                 $.each( this.tooltips, function( id, element ) {
     437                $.each( this.tooltips, function( id, tooltipData ) {
    429438                        // Delegate to close method to handle common cleanup
    430                         var event = $.Event( "blur" );
    431                         event.target = event.currentTarget = element[0];
     439                        var event = $.Event( "blur" ),
     440                                element = tooltipData.element;
     441                        event.target = event.currentTarget = element[ 0 ];
    432442                        that.close( event, true );
    433443
    434444                        // Remove immediately; destroying an open tooltip doesn't use the
  • src/wp-includes/js/jquery/ui/widget.js

     
    11/*!
    2  * jQuery UI Widget 1.11.1
     2 * jQuery UI Widget 1.11.2
    33 * http://jqueryui.com
    44 *
    55 * Copyright 2014 jQuery Foundation and other contributors
     
    3636                                }
    3737
    3838                        // http://bugs.jquery.com/ticket/8235
    39                         } catch( e ) {}
     39                        } catch ( e ) {}
    4040                }
    4141                orig( elems );
    4242        };
     
    254254                this.element = $( element );
    255255                this.uuid = widget_uuid++;
    256256                this.eventNamespace = "." + this.widgetName + this.uuid;
    257                 this.options = $.widget.extend( {},
    258                         this.options,
    259                         this._getCreateOptions(),
    260                         options );
    261257
    262258                this.bindings = $();
    263259                this.hoverable = $();
     
    280276                        this.window = $( this.document[0].defaultView || this.document[0].parentWindow );
    281277                }
    282278
     279                this.options = $.widget.extend( {},
     280                        this.options,
     281                        this._getCreateOptions(),
     282                        options );
     283
    283284                this._create();
    284285                this._trigger( "create", null, this._getCreateEventData() );
    285286                this._init();
     
    442443        },
    443444
    444445        _off: function( element, eventName ) {
    445                 eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace;
     446                eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) +
     447                        this.eventNamespace;
    446448                element.unbind( eventName ).undelegate( eventName );
     449
     450                // Clear the stack to avoid memory leaks (#10056)
     451                this.bindings = $( this.bindings.not( element ).get() );
     452                this.focusable = $( this.focusable.not( element ).get() );
     453                this.hoverable = $( this.hoverable.not( element ).get() );
    447454        },
    448455
    449456        _delay: function( handler, delay ) {
  • src/wp-includes/script-loader.php

     
    165165        $scripts->add( 'jquery-migrate', "/wp-includes/js/jquery/jquery-migrate$suffix.js", array(), '1.2.1' );
    166166
    167167        // full jQuery UI
    168         $scripts->add( 'jquery-ui-core', "/wp-includes/js/jquery/ui/core$dev_suffix.js", array('jquery'), '1.11.1', 1 );
    169         $scripts->add( 'jquery-effects-core', "/wp-includes/js/jquery/ui/effect$dev_suffix.js", array('jquery'), '1.11.1', 1 );
     168        $scripts->add( 'jquery-ui-core', "/wp-includes/js/jquery/ui/core$dev_suffix.js", array('jquery'), '1.11.2', 1 );
     169        $scripts->add( 'jquery-effects-core', "/wp-includes/js/jquery/ui/effect$dev_suffix.js", array('jquery'), '1.11.2', 1 );
    170170
    171         $scripts->add( 'jquery-effects-blind', "/wp-includes/js/jquery/ui/effect-blind$dev_suffix.js", array('jquery-effects-core'), '1.11.1', 1 );
    172         $scripts->add( 'jquery-effects-bounce', "/wp-includes/js/jquery/ui/effect-bounce$dev_suffix.js", array('jquery-effects-core'), '1.11.1', 1 );
    173         $scripts->add( 'jquery-effects-clip', "/wp-includes/js/jquery/ui/effect-clip$dev_suffix.js", array('jquery-effects-core'), '1.11.1', 1 );
    174         $scripts->add( 'jquery-effects-drop', "/wp-includes/js/jquery/ui/effect-drop$dev_suffix.js", array('jquery-effects-core'), '1.11.1', 1 );
    175         $scripts->add( 'jquery-effects-explode', "/wp-includes/js/jquery/ui/effect-explode$dev_suffix.js", array('jquery-effects-core'), '1.11.1', 1 );
    176         $scripts->add( 'jquery-effects-fade', "/wp-includes/js/jquery/ui/effect-fade$dev_suffix.js", array('jquery-effects-core'), '1.11.1', 1 );
    177         $scripts->add( 'jquery-effects-fold', "/wp-includes/js/jquery/ui/effect-fold$dev_suffix.js", array('jquery-effects-core'), '1.11.1', 1 );
    178         $scripts->add( 'jquery-effects-highlight', "/wp-includes/js/jquery/ui/effect-highlight$dev_suffix.js", array('jquery-effects-core'), '1.11.1', 1 );
    179         $scripts->add( 'jquery-effects-puff', "/wp-includes/js/jquery/ui/effect-puff$dev_suffix.js", array('jquery-effects-core'), '1.11.1', 1 );
    180         $scripts->add( 'jquery-effects-pulsate', "/wp-includes/js/jquery/ui/effect-pulsate$dev_suffix.js", array('jquery-effects-core'), '1.11.1', 1 );
    181         $scripts->add( 'jquery-effects-scale', "/wp-includes/js/jquery/ui/effect-scale$dev_suffix.js", array('jquery-effects-core'), '1.11.1', 1 );
    182         $scripts->add( 'jquery-effects-shake', "/wp-includes/js/jquery/ui/effect-shake$dev_suffix.js", array('jquery-effects-core'), '1.11.1', 1 );
    183         $scripts->add( 'jquery-effects-size', "/wp-includes/js/jquery/ui/effect-size$dev_suffix.js", array('jquery-effects-core'), '1.11.1', 1 );
    184         $scripts->add( 'jquery-effects-slide', "/wp-includes/js/jquery/ui/effect-slide$dev_suffix.js", array('jquery-effects-core'), '1.11.1', 1 );
    185         $scripts->add( 'jquery-effects-transfer', "/wp-includes/js/jquery/ui/effect-transfer$dev_suffix.js", array('jquery-effects-core'), '1.11.1', 1 );
     171        $scripts->add( 'jquery-effects-blind', "/wp-includes/js/jquery/ui/effect-blind$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
     172        $scripts->add( 'jquery-effects-bounce', "/wp-includes/js/jquery/ui/effect-bounce$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
     173        $scripts->add( 'jquery-effects-clip', "/wp-includes/js/jquery/ui/effect-clip$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
     174        $scripts->add( 'jquery-effects-drop', "/wp-includes/js/jquery/ui/effect-drop$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
     175        $scripts->add( 'jquery-effects-explode', "/wp-includes/js/jquery/ui/effect-explode$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
     176        $scripts->add( 'jquery-effects-fade', "/wp-includes/js/jquery/ui/effect-fade$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
     177        $scripts->add( 'jquery-effects-fold', "/wp-includes/js/jquery/ui/effect-fold$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
     178        $scripts->add( 'jquery-effects-highlight', "/wp-includes/js/jquery/ui/effect-highlight$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
     179        $scripts->add( 'jquery-effects-puff', "/wp-includes/js/jquery/ui/effect-puff$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
     180        $scripts->add( 'jquery-effects-pulsate', "/wp-includes/js/jquery/ui/effect-pulsate$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
     181        $scripts->add( 'jquery-effects-scale', "/wp-includes/js/jquery/ui/effect-scale$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
     182        $scripts->add( 'jquery-effects-shake', "/wp-includes/js/jquery/ui/effect-shake$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
     183        $scripts->add( 'jquery-effects-size', "/wp-includes/js/jquery/ui/effect-size$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
     184        $scripts->add( 'jquery-effects-slide', "/wp-includes/js/jquery/ui/effect-slide$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
     185        $scripts->add( 'jquery-effects-transfer', "/wp-includes/js/jquery/ui/effect-transfer$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
    186186
    187         $scripts->add( 'jquery-ui-accordion', "/wp-includes/js/jquery/ui/accordion$dev_suffix.js", array('jquery-ui-core', 'jquery-ui-widget'), '1.11.1', 1 );
    188         $scripts->add( 'jquery-ui-autocomplete', "/wp-includes/js/jquery/ui/autocomplete$dev_suffix.js", array('jquery-ui-menu'), '1.11.1', 1 );
    189         $scripts->add( 'jquery-ui-button', "/wp-includes/js/jquery/ui/button$dev_suffix.js", array('jquery-ui-core', 'jquery-ui-widget'), '1.11.1', 1 );
    190         $scripts->add( 'jquery-ui-datepicker', "/wp-includes/js/jquery/ui/datepicker$dev_suffix.js", array('jquery-ui-core'), '1.11.1', 1 );
    191         $scripts->add( 'jquery-ui-dialog', "/wp-includes/js/jquery/ui/dialog$dev_suffix.js", array('jquery-ui-resizable', 'jquery-ui-draggable', 'jquery-ui-button', 'jquery-ui-position'), '1.11.1', 1 );
    192         $scripts->add( 'jquery-ui-draggable', "/wp-includes/js/jquery/ui/draggable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.1', 1 );
    193         $scripts->add( 'jquery-ui-droppable', "/wp-includes/js/jquery/ui/droppable$dev_suffix.js", array('jquery-ui-draggable'), '1.11.1', 1 );
    194         $scripts->add( 'jquery-ui-menu', "/wp-includes/js/jquery/ui/menu$dev_suffix.js", array( 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position' ), '1.11.1', 1 );
    195         $scripts->add( 'jquery-ui-mouse', "/wp-includes/js/jquery/ui/mouse$dev_suffix.js", array( 'jquery-ui-core', 'jquery-ui-widget' ), '1.11.1', 1 );
    196         $scripts->add( 'jquery-ui-position', "/wp-includes/js/jquery/ui/position$dev_suffix.js", array('jquery'), '1.11.1', 1 );
    197         $scripts->add( 'jquery-ui-progressbar', "/wp-includes/js/jquery/ui/progressbar$dev_suffix.js", array('jquery-ui-widget'), '1.11.1', 1 );
    198         $scripts->add( 'jquery-ui-resizable', "/wp-includes/js/jquery/ui/resizable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.1', 1 );
    199         $scripts->add( 'jquery-ui-selectable', "/wp-includes/js/jquery/ui/selectable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.1', 1 );
    200         $scripts->add( 'jquery-ui-selectmenu', "/wp-includes/js/jquery/ui/selectmenu$dev_suffix.js", array('jquery-ui-menu'), '1.11.1', 1 );
    201         $scripts->add( 'jquery-ui-slider', "/wp-includes/js/jquery/ui/slider$dev_suffix.js", array('jquery-ui-mouse'), '1.11.1', 1 );
    202         $scripts->add( 'jquery-ui-sortable', "/wp-includes/js/jquery/ui/sortable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.1', 1 );
    203         $scripts->add( 'jquery-ui-spinner', "/wp-includes/js/jquery/ui/spinner$dev_suffix.js", array( 'jquery-ui-button' ), '1.11.1', 1 );
    204         $scripts->add( 'jquery-ui-tabs', "/wp-includes/js/jquery/ui/tabs$dev_suffix.js", array('jquery-ui-core', 'jquery-ui-widget'), '1.11.1', 1 );
    205         $scripts->add( 'jquery-ui-tooltip', "/wp-includes/js/jquery/ui/tooltip$dev_suffix.js", array( 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position' ), '1.11.1', 1 );
    206         $scripts->add( 'jquery-ui-widget', "/wp-includes/js/jquery/ui/widget$dev_suffix.js", array('jquery'), '1.11.1', 1 );
     187        $scripts->add( 'jquery-ui-accordion', "/wp-includes/js/jquery/ui/accordion$dev_suffix.js", array('jquery-ui-core', 'jquery-ui-widget'), '1.11.2', 1 );
     188        $scripts->add( 'jquery-ui-autocomplete', "/wp-includes/js/jquery/ui/autocomplete$dev_suffix.js", array('jquery-ui-menu'), '1.11.2', 1 );
     189        $scripts->add( 'jquery-ui-button', "/wp-includes/js/jquery/ui/button$dev_suffix.js", array('jquery-ui-core', 'jquery-ui-widget'), '1.11.2', 1 );
     190        $scripts->add( 'jquery-ui-datepicker', "/wp-includes/js/jquery/ui/datepicker$dev_suffix.js", array('jquery-ui-core'), '1.11.2', 1 );
     191        $scripts->add( 'jquery-ui-dialog', "/wp-includes/js/jquery/ui/dialog$dev_suffix.js", array('jquery-ui-resizable', 'jquery-ui-draggable', 'jquery-ui-button', 'jquery-ui-position'), '1.11.2', 1 );
     192        $scripts->add( 'jquery-ui-draggable', "/wp-includes/js/jquery/ui/draggable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.2', 1 );
     193        $scripts->add( 'jquery-ui-droppable', "/wp-includes/js/jquery/ui/droppable$dev_suffix.js", array('jquery-ui-draggable'), '1.11.2', 1 );
     194        $scripts->add( 'jquery-ui-menu', "/wp-includes/js/jquery/ui/menu$dev_suffix.js", array( 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position' ), '1.11.2', 1 );
     195        $scripts->add( 'jquery-ui-mouse', "/wp-includes/js/jquery/ui/mouse$dev_suffix.js", array( 'jquery-ui-core', 'jquery-ui-widget' ), '1.11.2', 1 );
     196        $scripts->add( 'jquery-ui-position', "/wp-includes/js/jquery/ui/position$dev_suffix.js", array('jquery'), '1.11.2', 1 );
     197        $scripts->add( 'jquery-ui-progressbar', "/wp-includes/js/jquery/ui/progressbar$dev_suffix.js", array('jquery-ui-widget'), '1.11.2', 1 );
     198        $scripts->add( 'jquery-ui-resizable', "/wp-includes/js/jquery/ui/resizable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.2', 1 );
     199        $scripts->add( 'jquery-ui-selectable', "/wp-includes/js/jquery/ui/selectable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.2', 1 );
     200        $scripts->add( 'jquery-ui-selectmenu', "/wp-includes/js/jquery/ui/selectmenu$dev_suffix.js", array('jquery-ui-menu'), '1.11.2', 1 );
     201        $scripts->add( 'jquery-ui-slider', "/wp-includes/js/jquery/ui/slider$dev_suffix.js", array('jquery-ui-mouse'), '1.11.2', 1 );
     202        $scripts->add( 'jquery-ui-sortable', "/wp-includes/js/jquery/ui/sortable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.2', 1 );
     203        $scripts->add( 'jquery-ui-spinner', "/wp-includes/js/jquery/ui/spinner$dev_suffix.js", array( 'jquery-ui-button' ), '1.11.2', 1 );
     204        $scripts->add( 'jquery-ui-tabs', "/wp-includes/js/jquery/ui/tabs$dev_suffix.js", array('jquery-ui-core', 'jquery-ui-widget'), '1.11.2', 1 );
     205        $scripts->add( 'jquery-ui-tooltip', "/wp-includes/js/jquery/ui/tooltip$dev_suffix.js", array( 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position' ), '1.11.2', 1 );
     206        $scripts->add( 'jquery-ui-widget', "/wp-includes/js/jquery/ui/widget$dev_suffix.js", array('jquery'), '1.11.2', 1 );
    207207
    208208        // deprecated, not used in core, most functionality is included in jQuery 1.3
    209209        $scripts->add( 'jquery-form', "/wp-includes/js/jquery/jquery.form$suffix.js", array('jquery'), '3.37.0', 1 );