Skip to content

Commit 5bb714a

Browse files
committed
External Libraries: Update the jQuery UI library to version 1.14.2.
In order to lower the risk with this change, jQuery UI is set to be in back compat mode to keep support for the jQuery UI 1.11 API. The build for `core.js` is https://jqueryui.com/download/#!version=1.14.2&components=111111111111000000000000000000000000000000000000 with the addition of the deprecated $.ui.plugin from https://github.com/jquery/jquery-ui/blob/1.14.2/ui/plugin.js. All other files are based off of files in https://github.com/jquery/jquery-ui/tree/1.14.2/ui. Developed in: WordPress#12526 Props pankaj.sakaria, mgol, mukesh27, ozgursar, siliconforks, joedolson, OllieJones, wildworks, jorbin. Fixes #62757. git-svn-id: https://develop.svn.wordpress.org/trunk@62747 602fd350-edb4-49c9-b593-d223f7449a82
1 parent 25d2739 commit 5bb714a

38 files changed

Lines changed: 1737 additions & 1919 deletions

src/js/_enqueues/vendor/jquery/ui/accordion.js

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* jQuery UI Accordion 1.13.3
2+
* jQuery UI Accordion 1.14.2
33
* https://jqueryui.com
44
*
55
* Copyright OpenJS Foundation and other contributors
@@ -9,9 +9,7 @@
99

1010
//>>label: Accordion
1111
//>>group: Widgets
12-
/* eslint-disable max-len */
1312
//>>description: Displays collapsible content panels for presenting information in a limited amount of space.
14-
/* eslint-enable max-len */
1513
//>>docs: https://api.jqueryui.com/accordion/
1614
//>>demos: https://jqueryui.com/accordion/
1715
//>>css.structure: ../../themes/base/core.css
@@ -40,7 +38,7 @@
4038
"use strict";
4139

4240
return $.widget( "ui.accordion", {
43-
version: "1.13.3",
41+
version: "1.14.2",
4442
options: {
4543
active: 0,
4644
animate: {},
@@ -52,7 +50,17 @@ return $.widget( "ui.accordion", {
5250
collapsible: false,
5351
event: "click",
5452
header: function( elem ) {
55-
return elem.find( "> li > :first-child" ).add( elem.find( "> :not(li)" ).even() );
53+
return elem
54+
.find( "> li > :first-child" )
55+
.add(
56+
elem.find( "> :not(li)" )
57+
58+
// Support: jQuery <3.5 only
59+
// We could use `.even()` but that's unavailable in older jQuery.
60+
.filter( function( i ) {
61+
return i % 2 === 0;
62+
} )
63+
);
5664
},
5765
heightStyle: "auto",
5866
icons: {
@@ -187,13 +195,7 @@ return $.widget( "ui.accordion", {
187195
this._super( value );
188196

189197
this.element.attr( "aria-disabled", value );
190-
191-
// Support: IE8 Only
192-
// #5332 / #6059 - opacity doesn't cascade to positioned elements in IE
193-
// so we need to add the disabled class to the headers and panels
194198
this._toggleClass( null, "ui-state-disabled", !!value );
195-
this._toggleClass( this.headers.add( this.headers.next() ), null, "ui-state-disabled",
196-
!!value );
197199
},
198200

199201
_keydown: function( event ) {
@@ -611,10 +613,6 @@ return $.widget( "ui.accordion", {
611613
this._removeClass( prev, "ui-accordion-header-active" )
612614
._addClass( prev, "ui-accordion-header-collapsed" );
613615

614-
// Work around for rendering bug in IE (#5421)
615-
if ( toHide.length ) {
616-
toHide.parent()[ 0 ].className = toHide.parent()[ 0 ].className;
617-
}
618616
this._trigger( "activate", null, data );
619617
}
620618
} );

src/js/_enqueues/vendor/jquery/ui/autocomplete.js

Lines changed: 7 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* jQuery UI Autocomplete 1.13.3
2+
* jQuery UI Autocomplete 1.14.2
33
* https://jqueryui.com
44
*
55
* Copyright OpenJS Foundation and other contributors
@@ -27,7 +27,6 @@
2727
"./menu",
2828
"../keycode",
2929
"../position",
30-
"../safe-active-element",
3130
"../version",
3231
"../widget"
3332
], factory );
@@ -40,7 +39,7 @@
4039
"use strict";
4140

4241
$.widget( "ui.autocomplete", {
43-
version: "1.13.3",
42+
version: "1.14.2",
4443
defaultElement: "<input>",
4544
options: {
4645
appendTo: null,
@@ -84,9 +83,9 @@ $.widget( "ui.autocomplete", {
8483

8584
// Textareas are always multi-line
8685
// Inputs are always single-line, even if inside a contentEditable element
87-
// IE also treats inputs as contentEditable
88-
// All other element types are determined by whether or not they're contentEditable
89-
this.isMultiLine = isTextarea || !isInput && this._isContentEditable( this.element );
86+
// All other element types are determined by whether they're contentEditable
87+
this.isMultiLine = isTextarea ||
88+
!isInput && this.element.prop( "contentEditable" ) === "true";
9089

9190
this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ];
9291
this.isNewMenu = true;
@@ -150,7 +149,6 @@ $.widget( "ui.autocomplete", {
150149

151150
// Different browsers have different default behavior for escape
152151
// Single press can mean undo or clear
153-
// Double press in IE means clear the whole form
154152
event.preventDefault();
155153
}
156154
break;
@@ -219,16 +217,6 @@ $.widget( "ui.autocomplete", {
219217
role: null
220218
} )
221219
.hide()
222-
223-
// Support: IE 11 only, Edge <= 14
224-
// For other browsers, we preventDefault() on the mousedown event
225-
// to keep the dropdown from taking focus from the input. This doesn't
226-
// work for IE/Edge, causing problems with selection and scrolling (#9638)
227-
// Happily, IE and Edge support an "unselectable" attribute that
228-
// prevents an element from receiving focus, exactly what we want here.
229-
.attr( {
230-
"unselectable": "on"
231-
} )
232220
.menu( "instance" );
233221

234222
this._addClass( this.menu.element, "ui-autocomplete", "ui-front" );
@@ -241,7 +229,7 @@ $.widget( "ui.autocomplete", {
241229
menufocus: function( event, ui ) {
242230
var label, item;
243231

244-
// support: Firefox
232+
// Support: Firefox
245233
// Prevent accidental activation of menu items in Firefox (#7024 #9118)
246234
if ( this.isNewMenu ) {
247235
this.isNewMenu = false;
@@ -279,17 +267,9 @@ $.widget( "ui.autocomplete", {
279267
previous = this.previous;
280268

281269
// Only trigger when focus was lost (click on menu)
282-
if ( this.element[ 0 ] !== $.ui.safeActiveElement( this.document[ 0 ] ) ) {
270+
if ( this.element[ 0 ] !== this.document[ 0 ].activeElement ) {
283271
this.element.trigger( "focus" );
284272
this.previous = previous;
285-
286-
// #6109 - IE triggers two focus events and the second
287-
// is asynchronous, so we need to reset the previous
288-
// term synchronously and asynchronously :-(
289-
this._delay( function() {
290-
this.previous = previous;
291-
this.selectedItem = item;
292-
} );
293273
}
294274

295275
if ( false !== this._trigger( "select", event, { item: item } ) ) {
@@ -608,24 +588,6 @@ $.widget( "ui.autocomplete", {
608588
// Prevents moving cursor to beginning/end of the text field in some browsers
609589
event.preventDefault();
610590
}
611-
},
612-
613-
// Support: Chrome <=50
614-
// We should be able to just use this.element.prop( "isContentEditable" )
615-
// but hidden elements always report false in Chrome.
616-
// https://code.google.com/p/chromium/issues/detail?id=313082
617-
_isContentEditable: function( element ) {
618-
if ( !element.length ) {
619-
return false;
620-
}
621-
622-
var editable = element.prop( "contentEditable" );
623-
624-
if ( editable === "inherit" ) {
625-
return this._isContentEditable( element.parent() );
626-
}
627-
628-
return editable === "true";
629591
}
630592
} );
631593

src/js/_enqueues/vendor/jquery/ui/button.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* jQuery UI Button 1.13.3
2+
* jQuery UI Button 1.14.2
33
* https://jqueryui.com
44
*
55
* Copyright OpenJS Foundation and other contributors
@@ -42,7 +42,7 @@
4242
"use strict";
4343

4444
$.widget( "ui.button", {
45-
version: "1.13.3",
45+
version: "1.14.2",
4646
defaultElement: "<button>",
4747
options: {
4848
classes: {
@@ -109,9 +109,9 @@ $.widget( "ui.button", {
109109
if ( event.keyCode === $.ui.keyCode.SPACE ) {
110110
event.preventDefault();
111111

112-
// Support: PhantomJS <= 1.9, IE 8 Only
113-
// If a native click is available use it so we actually cause navigation
114-
// otherwise just trigger a click event
112+
// If a native click is available use it, so we
113+
// actually cause navigation. Otherwise, just trigger
114+
// a click event.
115115
if ( this.element[ 0 ].click ) {
116116
this.element[ 0 ].click();
117117
} else {
@@ -287,7 +287,7 @@ $.widget( "ui.button", {
287287
} );
288288

289289
// DEPRECATED
290-
if ( $.uiBackCompat !== false ) {
290+
if ( $.uiBackCompat === true ) {
291291

292292
// Text and Icons options
293293
$.widget( "ui.button", $.ui.button, {

src/js/_enqueues/vendor/jquery/ui/checkboxradio.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* jQuery UI Checkboxradio 1.13.3
2+
* jQuery UI Checkboxradio 1.14.2
33
* https://jqueryui.com
44
*
55
* Copyright OpenJS Foundation and other contributors
@@ -38,7 +38,7 @@
3838
"use strict";
3939

4040
$.widget( "ui.checkboxradio", [ $.ui.formResetMixin, {
41-
version: "1.13.3",
41+
version: "1.14.2",
4242
options: {
4343
disabled: null,
4444
label: null,
@@ -156,7 +156,7 @@ $.widget( "ui.checkboxradio", [ $.ui.formResetMixin, {
156156
_getRadioGroup: function() {
157157
var group;
158158
var name = this.element[ 0 ].name;
159-
var nameSelector = "input[name='" + $.escapeSelector( name ) + "']";
159+
var nameSelector = "input[name='" + CSS.escape( name ) + "']";
160160

161161
if ( !name ) {
162162
return $( [] );
@@ -168,7 +168,7 @@ $.widget( "ui.checkboxradio", [ $.ui.formResetMixin, {
168168

169169
// Not inside a form, check all inputs that also are not inside a form
170170
group = $( nameSelector ).filter( function() {
171-
return $( this )._form().length === 0;
171+
return $( $( this ).prop( "form" ) ).length === 0;
172172
} );
173173
}
174174

src/js/_enqueues/vendor/jquery/ui/controlgroup.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* jQuery UI Controlgroup 1.13.3
2+
* jQuery UI Controlgroup 1.14.2
33
* https://jqueryui.com
44
*
55
* Copyright OpenJS Foundation and other contributors
@@ -37,7 +37,7 @@
3737
var controlgroupCornerRegex = /ui-corner-([a-z]){2,6}/g;
3838

3939
return $.widget( "ui.controlgroup", {
40-
version: "1.13.3",
40+
version: "1.14.2",
4141
defaultElement: "<div>",
4242
options: {
4343
direction: "horizontal",

0 commit comments

Comments
 (0)