From ceb1cd276fd6b46bf063b30232dd54af2c613b01 Mon Sep 17 00:00:00 2001 From: Volker E Date: Tue, 28 May 2019 17:57:59 -0700 Subject: [PATCH] Update OOUI to v0.32.0 Release notes: https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v0.32.0 Bug: T141320 Bug: T163142 Bug: T169484 Bug: T178950 Bug: T180730 Bug: T203859 Bug: T212186 Bug: T213884 Bug: T215644 Bug: T219479 Bug: T220239 Depends-On: Ia65a8053082ac95bf89cb5484aa64668fb780735 Change-Id: I0a48885642b86950180d1fbe4c7a609d323fb87f --- RELEASE-NOTES-1.34 | 2 +- composer.json | 2 +- resources/lib/foreign-resources.yaml | 5 +- resources/lib/ooui/History.md | 36 +++++++ resources/lib/ooui/i18n/bjn.json | 26 +++++ resources/lib/ooui/i18n/eo.json | 5 +- resources/lib/ooui/i18n/hyw.json | 15 +++ resources/lib/ooui/i18n/sah.json | 4 +- resources/lib/ooui/oojs-ui-apex.js | 4 +- resources/lib/ooui/oojs-ui-core-apex.css | 26 ++--- .../lib/ooui/oojs-ui-core-wikimediaui.css | 50 +++++---- resources/lib/ooui/oojs-ui-core.js | 62 ++++++----- resources/lib/ooui/oojs-ui-core.js.map.json | 2 +- resources/lib/ooui/oojs-ui-toolbars-apex.css | 70 +------------ .../lib/ooui/oojs-ui-toolbars-wikimediaui.css | 55 +--------- resources/lib/ooui/oojs-ui-toolbars.js | 4 +- resources/lib/ooui/oojs-ui-widgets-apex.css | 76 +++++++++++--- .../lib/ooui/oojs-ui-widgets-wikimediaui.css | 97 +++++++++++++++--- resources/lib/ooui/oojs-ui-widgets.js | 70 +++++++++++-- .../lib/ooui/oojs-ui-widgets.js.map.json | 2 +- resources/lib/ooui/oojs-ui-wikimediaui.js | 4 +- resources/lib/ooui/oojs-ui-windows-apex.css | 4 +- .../lib/ooui/oojs-ui-windows-wikimediaui.css | 4 +- resources/lib/ooui/oojs-ui-windows.js | 4 +- .../lib/ooui/themes/apex/icons-content.json | 15 +++ .../themes/apex/icons-editing-advanced.json | 12 +++ .../themes/apex/icons-editing-citation.json | 4 - .../wikimediaui/icons-editing-citation.json | 6 +- .../wikimediaui/icons-editing-core.json | 2 +- .../articleDisambiguation-ltr-invert.png | Bin 185 -> 157 bytes .../articleDisambiguation-ltr-invert.svg | 2 +- .../articleDisambiguation-ltr-progressive.png | Bin 203 -> 172 bytes .../articleDisambiguation-ltr-progressive.svg | 2 +- .../icons/articleDisambiguation-ltr.png | Bin 182 -> 157 bytes .../icons/articleDisambiguation-ltr.svg | 2 +- .../icons/articleNotFound-ltr-invert.png | Bin 207 -> 111 bytes .../icons/articleNotFound-ltr-invert.svg | 2 +- .../icons/articleNotFound-ltr-progressive.png | Bin 244 -> 304 bytes .../icons/articleNotFound-ltr-progressive.svg | 2 +- .../images/icons/articleNotFound-ltr.png | Bin 205 -> 282 bytes .../images/icons/articleNotFound-ltr.svg | 2 +- .../icons/articleNotFound-rtl-invert.png | Bin 202 -> 111 bytes .../icons/articleNotFound-rtl-invert.svg | 2 +- .../icons/articleNotFound-rtl-progressive.png | Bin 245 -> 296 bytes .../icons/articleNotFound-rtl-progressive.svg | 2 +- .../images/icons/articleNotFound-rtl.png | Bin 200 -> 273 bytes .../images/icons/articleNotFound-rtl.svg | 2 +- .../images/icons/settings-invert.png | Bin 262 -> 267 bytes .../images/icons/settings-invert.svg | 2 +- .../images/icons/settings-progressive.png | Bin 338 -> 337 bytes .../images/icons/settings-progressive.svg | 2 +- .../wikimediaui/images/icons/settings.png | Bin 258 -> 264 bytes .../wikimediaui/images/icons/settings.svg | 2 +- .../wikimediaui/images/icons/web-invert.png | Bin 127 -> 0 bytes .../wikimediaui/images/icons/web-invert.svg | 1 - .../images/icons/web-progressive.png | Bin 142 -> 0 bytes .../images/icons/web-progressive.svg | 1 - .../themes/wikimediaui/images/icons/web.png | Bin 124 -> 0 bytes .../themes/wikimediaui/images/icons/web.svg | 1 - 59 files changed, 427 insertions(+), 268 deletions(-) create mode 100644 resources/lib/ooui/i18n/bjn.json create mode 100644 resources/lib/ooui/i18n/hyw.json delete mode 100644 resources/lib/ooui/themes/wikimediaui/images/icons/web-invert.png delete mode 100644 resources/lib/ooui/themes/wikimediaui/images/icons/web-invert.svg delete mode 100644 resources/lib/ooui/themes/wikimediaui/images/icons/web-progressive.png delete mode 100644 resources/lib/ooui/themes/wikimediaui/images/icons/web-progressive.svg delete mode 100644 resources/lib/ooui/themes/wikimediaui/images/icons/web.png delete mode 100644 resources/lib/ooui/themes/wikimediaui/images/icons/web.svg diff --git a/RELEASE-NOTES-1.34 b/RELEASE-NOTES-1.34 index 6e83975f16..d372db8ec2 100644 --- a/RELEASE-NOTES-1.34 +++ b/RELEASE-NOTES-1.34 @@ -63,7 +63,7 @@ For notes on 1.33.x and older releases, see HISTORY. ==== Changed external libraries ==== * Updated Mustache from 1.0.0 to v3.0.1. -* Updated OOUI from v0.31.3 to v0.31.5. +* Updated OOUI from v0.31.3 to v0.32.0. * Updated composer/semver from 1.4.2 to 1.5.0. * Updated composer/spdx-licenses from 1.4.0 to 1.5.1 (dev-only). * Updated mediawiki/codesniffer from 25.0.0 to 26.0.0 (dev-only). diff --git a/composer.json b/composer.json index d3fe1e96bd..c4ed4e3271 100644 --- a/composer.json +++ b/composer.json @@ -27,7 +27,7 @@ "ext-xml": "*", "guzzlehttp/guzzle": "6.3.3", "liuggio/statsd-php-client": "1.0.18", - "oojs/oojs-ui": "0.31.6", + "oojs/oojs-ui": "0.32.0", "pear/mail": "1.4.1", "pear/mail_mime": "1.10.2", "pear/net_smtp": "1.8.1", diff --git a/resources/lib/foreign-resources.yaml b/resources/lib/foreign-resources.yaml index 4609c04407..061d99c0ad 100644 --- a/resources/lib/foreign-resources.yaml +++ b/resources/lib/foreign-resources.yaml @@ -228,8 +228,9 @@ oojs-router: ooui: type: tar - src: https://registry.npmjs.org/oojs-ui/-/oojs-ui-0.31.6.tgz - integrity: sha384-zixZ5PrOMXEo9x3/Y6++IJGbOPYEUpDjCjCsXhiPVKyEBvySFtlceFKM2HJvi9mz + src: https://registry.npmjs.org/oojs-ui/-/oojs-ui-0.32.0.tgz + integrity: sha384-kRQZfA8MkOJvjOQmuy20urqZKmyusFMJ4e03fcDXi3aeHiDYrgC/Ii7vGrlXXVWY + dest: # Main stuff package/dist/oojs-ui-core.js{,.map.json}: diff --git a/resources/lib/ooui/History.md b/resources/lib/ooui/History.md index 91604abf2a..5b6ba60ae1 100644 --- a/resources/lib/ooui/History.md +++ b/resources/lib/ooui/History.md @@ -1,4 +1,40 @@ # OOUI Release History +## v0.32.0 / 2019-05-28 +### Breaking changes +* [BREAKING CHANGE] SelectWidget: Drop depressed class, deprecated since 0.30.4 (James D. Forrester) +* [BREAKING CHANGE] Toolbar: Remove support for non-tool buttons (Ed Sanders) +* [BREAKING CHANGE] icons: Drop 'web', deprecated in v0.30.4 (James D. Forrester) + +### Features +* Implement frameless mode for TabSelectWidget (Ed Sanders) +* LookupElement: Add showSuggestionsOnFocus flag (Ed Sanders) + +### Styles +* WikimediaUI theme: Enable correct DropdownInputWidget styling on IE 8-9 (Volker E.) +* Apex theme: Synchronise icons with WikimediaUI (James D. Forrester) +* Apex theme: Add text colour to bar tools (Ed Sanders) +* icons: Better align 'articleDisambiguation*' and 'articleNotFound*' (Volker E.) +* icons: Manually recreate settings.svg icon (Thiemo Kreuz) + +### Code +* DropdownInputWidget: Use native `select` when `isMobile` is true (Volker E.) +* DropdownWidget: Alternative ARIA roles and attributes approach (Volker E.) +* Make 'Infuse' button behave like a toggle (Ed Sanders) +* Revert "Merge "DropDownWidget: Turn handle into `button` and add ARIA attribute"" (Volker E.) +* SelectWidget: Fix keyboard accessibility issue with select widgets (Moriel Schottlender) +* TabSelectWidget: Horizontally scroll tabs on mobile (Ed Sanders) +* build: Upgrade grunt-cssjanus from 0.4.0 to 0.5.0 (James D. Forrester) +* demos: Change doc and tutorials link to frameless (Volker E.) +* demos: Expand max-width, from mostly-arbitrary 62.5em to 68.5715em (James D. Forrester) +* demos: Fix error CSS for demos (Gabriel Birke) +* demos: Improve example and console toggle links usability (Volker E.) +* demos: Make the spacing in header identical in PHP and JS (Bartosz Dziewoński) +* demos: Move 'layouts' to a specific page in demos (Volker E.) +* demos: Provide headings for better user orientation (Volker E.) +* demos: Use system font stack for demos (Volker E.) +* demos: Use tabs for demo page list (Ed Sanders) + + ## v0.31.6 / 2019-05-07 ### Styles * FieldLayout: Use 'error' icon for error messages (Volker E.) diff --git a/resources/lib/ooui/i18n/bjn.json b/resources/lib/ooui/i18n/bjn.json new file mode 100644 index 0000000000..d2fe22b52e --- /dev/null +++ b/resources/lib/ooui/i18n/bjn.json @@ -0,0 +1,26 @@ +{ + "@metadata": { + "authors": [ + "Ezagren" + ] + }, + "ooui-outline-control-move-down": "Pindahakan butir ka bawah", + "ooui-outline-control-move-up": "Pindahakan butir ka atas", + "ooui-outline-control-remove": "Hapus butir", + "ooui-toolbar-more": "Lainnya", + "ooui-toolgroup-expand": "Salangkapnya", + "ooui-toolgroup-collapse": "Sacukupnya", + "ooui-item-remove": "Hapus", + "ooui-dialog-message-accept": "OK", + "ooui-dialog-message-reject": "Pasah", + "ooui-dialog-process-error": "Ada nang kucam", + "ooui-dialog-process-dismiss": "Tutup", + "ooui-dialog-process-retry": "Cubai pulang", + "ooui-dialog-process-continue": "Lanjutakan", + "ooui-combobox-button-label": "Daptar turun bawah gasan kutak kombo", + "ooui-selectfile-button-select": "Pilih barakas", + "ooui-selectfile-not-supported": "Pamilihan barakas kada didukung", + "ooui-selectfile-placeholder": "Kadada barakas nang tapilih", + "ooui-selectfile-dragdrop-placeholder": "Andakakan barakas di sini", + "ooui-field-help": "Patulung" +} diff --git a/resources/lib/ooui/i18n/eo.json b/resources/lib/ooui/i18n/eo.json index 4b92713414..6475055736 100644 --- a/resources/lib/ooui/i18n/eo.json +++ b/resources/lib/ooui/i18n/eo.json @@ -8,7 +8,8 @@ "Kvardek du", "Psychoslave", "Fitoschido", - "YvesNevelsteen" + "YvesNevelsteen", + "Mirin" ] }, "ooui-outline-control-move-down": "Movi eron suben", @@ -17,12 +18,14 @@ "ooui-toolbar-more": "Pli", "ooui-toolgroup-expand": "Pli", "ooui-toolgroup-collapse": "Malpli", + "ooui-item-remove": "Forigi", "ooui-dialog-message-accept": "Bone", "ooui-dialog-message-reject": "Nuligi", "ooui-dialog-process-error": "Io misfunkciis", "ooui-dialog-process-dismiss": "Fermi", "ooui-dialog-process-retry": "Reprovi", "ooui-dialog-process-continue": "Daŭrigi", + "ooui-combobox-button-label": "Redaktebla falmenuo", "ooui-selectfile-button-select": "Elekti dosieron", "ooui-selectfile-not-supported": "Dosierelekto ne estas subtenata.", "ooui-selectfile-placeholder": "Neniu dosiero elektita", diff --git a/resources/lib/ooui/i18n/hyw.json b/resources/lib/ooui/i18n/hyw.json new file mode 100644 index 0000000000..23119d8825 --- /dev/null +++ b/resources/lib/ooui/i18n/hyw.json @@ -0,0 +1,15 @@ +{ + "@metadata": { + "authors": [ + "Azniv Stepanian" + ] + }, + "ooui-toolbar-more": "Աւելին", + "ooui-toolgroup-expand": "Աւելին", + "ooui-toolgroup-collapse": "Աւելի քիչ", + "ooui-item-remove": "Հանել", + "ooui-dialog-message-accept": "Լաւ", + "ooui-dialog-message-reject": "Չեղարկել", + "ooui-dialog-process-continue": "Շարունակել", + "ooui-field-help": "Օգնութիւն" +} diff --git a/resources/lib/ooui/i18n/sah.json b/resources/lib/ooui/i18n/sah.json index 1e4bb555dd..d6bd4109d4 100644 --- a/resources/lib/ooui/i18n/sah.json +++ b/resources/lib/ooui/i18n/sah.json @@ -11,6 +11,7 @@ "ooui-toolbar-more": "Эбии", "ooui-toolgroup-expand": "Эбии", "ooui-toolgroup-collapse": "Кыччат", + "ooui-item-remove": "Сот", "ooui-dialog-message-accept": "Сөп", "ooui-dialog-message-reject": "Салҕаама", "ooui-dialog-process-error": "Туга эрэ сатаммата", @@ -20,5 +21,6 @@ "ooui-selectfile-button-select": "Билэни тал", "ooui-selectfile-not-supported": "Билэни талыы өйөммөт", "ooui-selectfile-placeholder": "Биир да билэ талыллыбатах", - "ooui-selectfile-dragdrop-placeholder": "Билэни манна сыҕарыт" + "ooui-selectfile-dragdrop-placeholder": "Билэни манна сыҕарыт", + "ooui-field-help": "Көмө" } diff --git a/resources/lib/ooui/oojs-ui-apex.js b/resources/lib/ooui/oojs-ui-apex.js index 623deda6bd..07b18a31c9 100644 --- a/resources/lib/ooui/oojs-ui-apex.js +++ b/resources/lib/ooui/oojs-ui-apex.js @@ -1,12 +1,12 @@ /*! - * OOUI v0.31.6 + * OOUI v0.32.0 * https://www.mediawiki.org/wiki/OOUI * * Copyright 2011–2019 OOUI Team and other contributors. * Released under the MIT license * http://oojs.mit-license.org * - * Date: 2019-05-08T10:08:36Z + * Date: 2019-05-29T00:38:42Z */ ( function ( OO ) { diff --git a/resources/lib/ooui/oojs-ui-core-apex.css b/resources/lib/ooui/oojs-ui-core-apex.css index dab2e333ec..f8fb33305e 100644 --- a/resources/lib/ooui/oojs-ui-core-apex.css +++ b/resources/lib/ooui/oojs-ui-core-apex.css @@ -1,12 +1,12 @@ /*! - * OOUI v0.31.6 + * OOUI v0.32.0 * https://www.mediawiki.org/wiki/OOUI * * Copyright 2011–2019 OOUI Team and other contributors. * Released under the MIT license * http://oojs.mit-license.org * - * Date: 2019-05-08T10:08:44Z + * Date: 2019-05-29T00:38:49Z */ .oo-ui-element-hidden { display: none !important; @@ -1086,9 +1086,13 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout { max-width: 50em; } .oo-ui-dropdownInputWidget .oo-ui-dropdownWidget, -.oo-ui-dropdownInputWidget.oo-ui-dropdownInputWidget-php select { +.oo-ui-dropdownInputWidget.oo-ui-dropdownInputWidget-php select, +.oo-ui-dropdownInputWidget.oo-ui-isMobile select { display: block; } +.oo-ui-dropdownInputWidget.oo-ui-isMobile .oo-ui-dropdownWidget { + display: none; +} .oo-ui-dropdownInputWidget select { display: none; background-position: -9999em 0; @@ -1381,26 +1385,18 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout { position: relative; width: 100%; display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 0; + white-space: nowrap; overflow: hidden; - font-family: inherit; - font-size: inherit; - text-align: left; text-overflow: ellipsis; - white-space: nowrap; cursor: default; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -} -.oo-ui-dropdownWidget-handle::-moz-focus-inner { - border-color: transparent; - padding: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { cursor: pointer; diff --git a/resources/lib/ooui/oojs-ui-core-wikimediaui.css b/resources/lib/ooui/oojs-ui-core-wikimediaui.css index b2e0483e89..c439cfa91a 100644 --- a/resources/lib/ooui/oojs-ui-core-wikimediaui.css +++ b/resources/lib/ooui/oojs-ui-core-wikimediaui.css @@ -1,12 +1,12 @@ /*! - * OOUI v0.31.6 + * OOUI v0.32.0 * https://www.mediawiki.org/wiki/OOUI * * Copyright 2011–2019 OOUI Team and other contributors. * Released under the MIT license * http://oojs.mit-license.org * - * Date: 2019-05-08T10:08:44Z + * Date: 2019-05-29T00:38:49Z */ .oo-ui-element-hidden { display: none !important; @@ -1334,9 +1334,13 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout { max-width: 50em; } .oo-ui-dropdownInputWidget .oo-ui-dropdownWidget, -.oo-ui-dropdownInputWidget.oo-ui-dropdownInputWidget-php select { +.oo-ui-dropdownInputWidget.oo-ui-dropdownInputWidget-php select, +.oo-ui-dropdownInputWidget.oo-ui-isMobile select { display: block; } +.oo-ui-dropdownInputWidget.oo-ui-isMobile .oo-ui-dropdownWidget { + display: none; +} .oo-ui-dropdownInputWidget select { display: none; background-position: -9999em 0; @@ -1360,20 +1364,25 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout { height: 2.28571429em; border: 1px solid #a2a9b1; border-radius: 2px; - padding: 0.42857143em 0.85714286em; + padding-left: 0.85714286em; + padding-right: 2.57142857em; font-size: inherit; font-family: inherit; vertical-align: middle; + background-position: -9999em 0\9; + padding: 0\9; + /* Support IE 10: Move it in again and also add `padding`. Because we talk to morons. */ +} +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .oo-ui-dropdownInputWidget select { + background-position: right 0.85714286em center; + padding-left: 0.85714286em; + padding-right: 2.57142857em; + } } .oo-ui-dropdownInputWidget select::-ms-expand { display: none; } -@media screen and (min-width: 0 \0 ) { - .oo-ui-dropdownInputWidget select select { - background-image: none\9; - padding: 5px\9; - } -} .oo-ui-dropdownInputWidget option { background-color: transparent; font-size: inherit; @@ -1798,26 +1807,18 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout { position: relative; width: 100%; display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 0; + white-space: nowrap; overflow: hidden; - font-family: inherit; - font-size: inherit; - text-align: left; text-overflow: ellipsis; - white-space: nowrap; cursor: default; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -} -.oo-ui-dropdownWidget-handle::-moz-focus-inner { - border-color: transparent; - padding: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { cursor: pointer; @@ -1829,7 +1830,7 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout { min-height: 2.28571429em; border: 1px solid #a2a9b1; border-radius: 2px; - padding: 0.42857143em 0.85714286em; + padding: 0.42857143em 2.57142857em 0.42857143em 0.85714286em; line-height: 1; } .oo-ui-dropdownWidget-handle .oo-ui-iconElement-icon { @@ -1844,9 +1845,6 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout { .oo-ui-dropdownWidget.oo-ui-iconElement .oo-ui-dropdownWidget-handle { padding-left: 2.64285714em; } -.oo-ui-dropdownWidget.oo-ui-indicatorElement .oo-ui-dropdownWidget-handle { - padding-right: 2.57142857em; -} .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: #f8f9fa; color: #222; diff --git a/resources/lib/ooui/oojs-ui-core.js b/resources/lib/ooui/oojs-ui-core.js index a51ba74c12..c1f9607a5b 100644 --- a/resources/lib/ooui/oojs-ui-core.js +++ b/resources/lib/ooui/oojs-ui-core.js @@ -1,12 +1,12 @@ /*! - * OOUI v0.31.6 + * OOUI v0.32.0 * https://www.mediawiki.org/wiki/OOUI * * Copyright 2011–2019 OOUI Team and other contributors. * Released under the MIT license * http://oojs.mit-license.org * - * Date: 2019-05-08T10:08:36Z + * Date: 2019-05-29T00:38:42Z */ ( function ( OO ) { @@ -6489,8 +6489,7 @@ OO.ui.SelectWidget = function OoUiSelectWidget( config ) { // Initialization this.$element - // -depressed is a deprecated alias of -unpressed - .addClass( 'oo-ui-selectWidget oo-ui-selectWidget-unpressed oo-ui-selectWidget-depressed' ) + .addClass( 'oo-ui-selectWidget oo-ui-selectWidget-unpressed' ) .attr( 'role', 'listbox' ); this.setFocusOwner( this.$element ); if ( Array.isArray( config.items ) ) { @@ -6734,7 +6733,10 @@ OO.ui.SelectWidget.prototype.onMouseLeave = function () { OO.ui.SelectWidget.prototype.onDocumentKeyDown = function ( e ) { var nextItem, handled = false, - currentItem = this.findHighlightedItem(), + selected = this.findSelectedItems(), + currentItem = this.findHighlightedItem() || ( + Array.isArray( selected ) ? selected[ 0 ] : selected + ), firstItem = this.getItems()[ 0 ]; if ( !this.isDisabled() && this.isVisible() ) { @@ -6844,7 +6846,7 @@ OO.ui.SelectWidget.prototype.clearKeyPressBuffer = function () { * @return {undefined|boolean} False to prevent default if event is handled */ OO.ui.SelectWidget.prototype.onDocumentKeyPress = function ( e ) { - var c, filter, item; + var c, filter, item, selected; if ( !e.charCode ) { if ( e.keyCode === OO.ui.Keys.BACKSPACE && this.keyPressBuffer !== '' ) { @@ -6866,7 +6868,10 @@ OO.ui.SelectWidget.prototype.onDocumentKeyPress = function ( e ) { } this.keyPressBufferTimer = setTimeout( this.clearKeyPressBuffer.bind( this ), 1500 ); - item = this.findHighlightedItem() || this.findSelectedItem(); + selected = this.findSelectedItems(); + item = this.findHighlightedItem() || ( + Array.isArray( selected ) ? selected[ 0 ] : selected + ); if ( this.keyPressBuffer === c ) { // Common (if weird) special case: typing "xxxx" will cycle through all @@ -7046,8 +7051,7 @@ OO.ui.SelectWidget.prototype.togglePressed = function ( pressed ) { if ( pressed !== this.pressed ) { this.$element .toggleClass( 'oo-ui-selectWidget-pressed', pressed ) - // -depressed is a deprecated alias of -unpressed - .toggleClass( 'oo-ui-selectWidget-unpressed oo-ui-selectWidget-depressed', !pressed ); + .toggleClass( 'oo-ui-selectWidget-unpressed', !pressed ); this.pressed = pressed; } }; @@ -8111,10 +8115,10 @@ OO.ui.MenuSelectWidget.prototype.scrollToTop = function () { * @param {Object} [config] Configuration options * @cfg {Object} [menu] Configuration options to pass to * {@link OO.ui.MenuSelectWidget menu select widget}. - * @cfg {jQuery} [$overlay] Render the menu into a separate layer. This configuration is useful - * in cases where the expanded menu is larger than its containing `
`. The specified overlay - * layer is usually on top of the containing `
` and has a larger area. By default, the menu - * uses relative positioning. + * @cfg {jQuery|boolean} [$overlay] Render the menu into a separate layer. This configuration is + * useful in cases where the expanded menu is larger than its containing `
`. The specified + * overlay layer is usually on top of the containing `
` and has a larger area. By default, + * the menu uses relative positioning. Pass 'true' to use the default overlay. * See . */ OO.ui.DropdownWidget = function OoUiDropdownWidget( config ) { @@ -8125,7 +8129,7 @@ OO.ui.DropdownWidget = function OoUiDropdownWidget( config ) { OO.ui.DropdownWidget.parent.call( this, config ); // Properties (must be set before TabIndexedElement constructor call) - this.$handle = $( '