Update OOUI to v0.47.3

Release notes:
 https://gerrit.wikimedia.org/g/oojs/ui/+/v0.47.3/History.md

Bug: T149654
Bug: T216780
Bug: T326557
Bug: T337515
Bug: T338145
Bug: T338165
Bug: T338344
Bug: T338832
Bug: T339839
Depends-On: If9f7607eb676070938409a60d156a2ae292c3c56
Change-Id: Ia845a593cef68e4456d50c6ef213bf9255507eef
This commit is contained in:
Roan Kattouw 2023-07-05 11:19:02 -07:00
parent 1cca78c098
commit 3c76e31b17
59 changed files with 433 additions and 145 deletions

View file

@ -85,7 +85,7 @@ For notes on 1.40.x and older releases, see HISTORY.
* Updated wikimedia/common-passwords from 0.4.0 to 0.5.0.
* Updated wikimedia/minify from 2.3.0 to 2.4.0.
* Updated wikimedia/less.php from 4.0.0 to 4.1.0.
* Updated OOUI from v0.46.3 to v0.47.0.
* Updated OOUI from v0.46.3 to v0.47.3.
* …
===== Changed development-only external libraries =====

View file

@ -38,7 +38,7 @@
"justinrainbow/json-schema": "5.2.12",
"liuggio/statsd-php-client": "1.0.18",
"monolog/monolog": "2.2.0",
"oojs/oojs-ui": "0.47.0",
"oojs/oojs-ui": "0.47.3",
"pear/mail": "1.5.0",
"pear/mail_mime": "1.10.11",
"pear/net_smtp": "1.10.1",

View file

@ -401,10 +401,10 @@ ooui:
license: MIT
homepage: https://www.mediawiki.org/wiki/OOUI
authors: OOUI Team and other contributors
version: 0.47.0
type: doc-only # temporary
src: https://registry.npmjs.org/oojs-ui/-/oojs-ui-0.47.0.tgz
integrity: sha384-V+Lc6noFXnGfnM56KoZUZAkGR2vPhnDmWbUdgFgz9B8/M8Wg/nc2+fZ5qEUeTXlE
version: 0.47.3
type: tar
src: https://registry.npmjs.org/oojs-ui/-/oojs-ui-0.47.3.tgz
integrity: sha384-rV2Lkzx3s9vNT4N3eW4lcpJuS8r28VVxkRCJ+4d5t3EO4++4+xPvggWWQGLaQCuA
dest:
# Main stuff

View file

@ -1,5 +1,48 @@
# OOUI Release History
## v0.47.3 / 2023-07-06
### Code
* Revert "TextInputWidget: Use Custom Elements for #onElementAttach support" (Roan Kattouw)
## v0.47.2 / 2023-07-05
### Features
* MessageWidget.php: Replace 'check' with 'success' icon (Daimona Eaytoy)
* Match alignment of toolbar popups with the position of the tool (Ed Sanders)
### Styles
* icons: Add 'qrCode' icon to 'content' pack (MusikAnimal)
* Icons: Add user rights icon to OOUI (LWatson)
* Icons: Add user temporary icon to OOUI (LWatson)
### Code
* Remove @throws for OOUI\Exception (Daimona Eaytoy)
* Rename itemWidget to item (Ed Sanders)
* WindowManager: Use isModal instead of reading property directly (Ed Sanders)
## v0.47.1 / 2023-05-30
### Features
* Ensure window managers are un-hidden when in use (Ed Sanders)
* IndexLayout: Use zero dimensions for `hidden=until-found` instead of pointer-events:none (Ed Sanders)
* SelectWidget: Fix dead `aria-activedescendant` code path (Thiemo Kreuz)
* SelectWidget: Fix not firing `choose` event in multiselect mode (Thiemo Kreuz)
* SelectWidget: Rewrite `unselectItem()` implementation (Thiemo Kreuz)
* StackLayout: Don't automatically switch to disabled panels (Ed Sanders)
* StackLayout: Implement `setContinuous`/`isContinuous` (Ed Sanders)
* StackLayout: Use `forEach` loop (Ed Sanders)
* Tabs: Fix hidden-until-found tabs blocking interactions with other tabs (Bartosz Dziewoński)
* TextInputWidget: Use Custom Elements for #onElementAttach support (Bartosz Dziewoński)
### Code
* doc: Switch from jsduck to jsdoc (James D. Forrester)
* doc: Document default values for all boolean method parameters (Thiemo Kreuz)
* doc: TagMultiselectWidget: add `placeholder` cfg (Chlod Alejandro)
* build: Upgrade eslint-config-wikimedia from 0.25.0 to 0.25.1 (James D. Forrester)
* build: Upgrade grunt-banana-checker from 0.10.0 to 0.11.0 (James D. Forrester)
* build: Upgrade grunt-tyops to 0.1.1 (James D. Forrester)
* build: Upgrade stylelint-config-wikimedia from 0.14.0 to 0.15.0 (James D. Forrester)
## v0.47.0 / 2023-05-17
### Breaking changes
* [BREAKING CHANGE] Drop support for ES5 clients (James D. Forrester)

View file

@ -8,6 +8,7 @@
"Wertuose"
]
},
"ooui-copytextlayout-copy": "Kopyala",
"ooui-outline-control-move-down": "Bəndi aşağı apar",
"ooui-outline-control-move-up": "Bəndi yuxarı apar",
"ooui-outline-control-remove": "Bəndi sil",

View file

@ -4,5 +4,8 @@
"Brazal.dang"
]
},
"ooui-copytextlayout-copy": "Kopyahon"
"ooui-copytextlayout-copy": "Kopyahon",
"ooui-outline-control-move-down": "Balyuhon an aytem paibaba",
"ooui-outline-control-move-up": "Balyuhon an aytem paitaas",
"ooui-toolbar-more": "Kadugangan"
}

View file

@ -21,7 +21,7 @@
"ooui-item-remove": "Выдаліць",
"ooui-dialog-message-accept": "ОК",
"ooui-dialog-message-reject": "Адмяніць",
"ooui-dialog-process-error": "Штось пайшло не так…",
"ooui-dialog-process-error": "Штосьці пайшло не так…",
"ooui-dialog-process-dismiss": "Закрыць",
"ooui-dialog-process-retry": "Паспрабаваць яшчэ раз",
"ooui-dialog-process-continue": "Працягнуць",

View file

@ -0,0 +1,30 @@
{
"@metadata": {
"authors": [
"Bangrapip"
]
},
"ooui-copytextlayout-copy": "Jiplak",
"ooui-outline-control-move-down": "Pindahin butir ke bawah",
"ooui-outline-control-move-up": "Pindahin butir ke atas",
"ooui-outline-control-remove": "Buang butir",
"ooui-toolbar-more": "Laènnya",
"ooui-toolgroup-expand": "Selengkepnya",
"ooui-toolgroup-collapse": "Dikitan",
"ooui-item-remove": "Buang",
"ooui-dialog-message-accept": "Baè'",
"ooui-dialog-message-reject": "Urungin",
"ooui-dialog-process-error": "Ada nyang kaga' bèrès",
"ooui-dialog-process-dismiss": "Tutup",
"ooui-dialog-process-retry": "Jal lagi",
"ooui-dialog-process-continue": "Terusin",
"ooui-combobox-button-label": "Cetèk opsi",
"ooui-selectfile-button-select": "Pilih berekas",
"ooui-selectfile-button-select-multiple": "Pilih berekas",
"ooui-selectfile-not-supported": "Pemilihan berekas kaga' didukung",
"ooui-selectfile-placeholder": "Kaga' ada berekas nyang dipilih",
"ooui-selectfile-dragdrop-placeholder": "Taroh berekas di mari",
"ooui-selectfile-dragdrop-placeholder-multiple": "Taroh berekas di mari",
"ooui-popup-widget-close-button-aria-label": "Tutup",
"ooui-field-help": "Pertulungan"
}

View file

@ -2,6 +2,7 @@
"@metadata": {
"authors": [
"Astralnet",
"DesVaMan",
"Dipa1965",
"Evropi",
"FocalPoint",
@ -30,9 +31,11 @@
"ooui-dialog-process-continue": "Συνέχεια",
"ooui-combobox-button-label": "Εναλλαγή επιλογών",
"ooui-selectfile-button-select": "Επιλέξτε ένα αρχείο",
"ooui-selectfile-button-select-multiple": "Επιλογή αρχείων",
"ooui-selectfile-not-supported": "Επιλογή αρχείου δεν υποστηρίζεται",
"ooui-selectfile-placeholder": "Κανένα αρχείο δεν είναι επιλεγμένο",
"ooui-selectfile-dragdrop-placeholder": "Σύρετε το αρχείο εδώ",
"ooui-selectfile-dragdrop-placeholder-multiple": "Ρίξτε εδώ τα αρχεία",
"ooui-popup-widget-close-button-aria-label": "Κλείσιμο",
"ooui-field-help": "Βοήθεια"
}

View file

@ -13,6 +13,7 @@
"Jdforrester",
"Jduranboger",
"Macofe",
"No se",
"PoLuX124",
"Ralgis",
"Thehelpfulone"
@ -32,6 +33,7 @@
"ooui-dialog-process-dismiss": "Descartar",
"ooui-dialog-process-retry": "Intentar de nuevo",
"ooui-dialog-process-continue": "Continuar",
"ooui-combobox-button-label": "Alternar opciones",
"ooui-selectfile-button-select": "Selecciona un archivo",
"ooui-selectfile-button-select-multiple": "Seleccionar archivos",
"ooui-selectfile-not-supported": "No se admite la selección de archivos",

View file

@ -4,5 +4,6 @@
"The Discoverer"
]
},
"ooui-copytextlayout-copy": "नक्कल"
"ooui-copytextlayout-copy": "नक्कल",
"ooui-dialog-message-accept": "बरें"
}

View file

@ -0,0 +1,13 @@
{
"@metadata": {
"authors": [
"Ajiniyaz Nurniyazov"
]
},
"ooui-copytextlayout-copy": "Kóshirmelew",
"ooui-toolgroup-expand": "Kóbirek",
"ooui-toolgroup-collapse": "Azıraq",
"ooui-dialog-message-reject": "Biykar etiw",
"ooui-selectfile-dragdrop-placeholder": "Fayldı usı jerge jılıstırıw",
"ooui-selectfile-dragdrop-placeholder-multiple": "Fayllardı usı jerge jılıstırıw"
}

View file

@ -1,12 +1,14 @@
{
"@metadata": {
"authors": [
"Dr Lotus Black"
"Dr Lotus Black",
"Ninjastrikers"
]
},
"ooui-copytextlayout-copy": "မိတ္တူကူး",
"ooui-toolbar-more": "ပို၍",
"ooui-toolgroup-expand": "ပို၍",
"ooui-toolgroup-collapse": "ပိုနည်း",
"ooui-item-remove": "ဖယ်ရှားရန်",
"ooui-dialog-message-accept": "အိုကေ",
"ooui-dialog-message-reject": "မလုပ်တော့ပါ",
@ -18,8 +20,8 @@
"ooui-selectfile-button-select-multiple": "ဖိုင်များကို ရွေးပါ",
"ooui-selectfile-not-supported": "ဖိုင်ရွေးချယ်မှုကို မပံ့ပိုးပါ",
"ooui-selectfile-placeholder": "ဖိုင် ရွေးချယ်မထားပါ",
"ooui-selectfile-dragdrop-placeholder": "ဤနေရာတွင် ဖိုင်ပစ်ချပါ",
"ooui-selectfile-dragdrop-placeholder-multiple": "ဤနေရာတွင် ဖိုင်ပစ်ချပါ",
"ooui-selectfile-dragdrop-placeholder": "ဖိုင်ကို ဤနေရာတွင် ချလိုက်ပါ",
"ooui-selectfile-dragdrop-placeholder-multiple": "ဖိုင်များကို ဤနေရာတွင် ချလိုက်ပါ",
"ooui-popup-widget-close-button-aria-label": "ပိတ်ရန်",
"ooui-field-help": "အကူအညီ"
}

View file

@ -4,6 +4,7 @@
"Keresturec"
]
},
"ooui-copytextlayout-copy": "Копировац",
"ooui-outline-control-move-down": "Премесц предмет долу",
"ooui-outline-control-move-up": "Премесц предмет горе",
"ooui-outline-control-remove": "Одстрань предмет",

View file

@ -6,12 +6,18 @@
"Yupik"
]
},
"ooui-copytextlayout-copy": "Máŋge",
"ooui-toolgroup-expand": "Eanet",
"ooui-toolgroup-collapse": "Unnit",
"ooui-item-remove": "Sihko",
"ooui-dialog-message-accept": "OK",
"ooui-dialog-message-reject": "Šluhtte",
"ooui-dialog-process-error": "Juogamii manai endorii",
"ooui-dialog-process-retry": "Geahččal fas",
"ooui-dialog-process-continue": "Joatkke",
"ooui-selectfile-button-select": "Vállje fiilla",
"ooui-selectfile-dragdrop-placeholder": "Luoittte fiilla dása"
"ooui-selectfile-button-select-multiple": "Vállje fiillaid",
"ooui-selectfile-dragdrop-placeholder": "Luoittte fiilla dása",
"ooui-popup-widget-close-button-aria-label": "Gidde",
"ooui-field-help": "Rávvagat"
}

View file

@ -5,6 +5,9 @@
]
},
"ooui-copytextlayout-copy": "نقل کرو",
"ooui-outline-control-move-down": "آئٹم تلے ٹورو",
"ooui-outline-control-move-up": "آئٹم اُتے ٹورو",
"ooui-outline-control-remove": "آئٹم ہٹاؤ",
"ooui-toolbar-more": "ٻئے",
"ooui-toolgroup-expand": "ٻئے",
"ooui-toolgroup-collapse": "گھٹ",
@ -15,6 +18,13 @@
"ooui-dialog-process-dismiss": "مکاؤ",
"ooui-dialog-process-retry": "ولدا کوشش کرو",
"ooui-dialog-process-continue": "جاری رکھو",
"ooui-combobox-button-label": "ٹوگل اختیارات",
"ooui-selectfile-button-select": "فائل چݨو",
"ooui-selectfile-placeholder": "کوئی فائل کائنی چُݨی"
"ooui-selectfile-button-select-multiple": "فائلاں چݨو",
"ooui-selectfile-not-supported": "فائل چݨݨ دی اجازت کائنی",
"ooui-selectfile-placeholder": "کوئی فائل کائنی چُݨی",
"ooui-selectfile-dragdrop-placeholder": "فائلاں اتھ سٹو",
"ooui-selectfile-dragdrop-placeholder-multiple": "فائلاں اتھ سٹو",
"ooui-popup-widget-close-button-aria-label": "بند کرو",
"ooui-field-help": "مدد"
}

View file

@ -1,8 +1,13 @@
{
"@metadata": {
"authors": [
"Seipinne"
"Seipinne",
"Yupik"
]
},
"ooui-copytextlayout-copy": "Kopijist"
"ooui-copytextlayout-copy": "Kopijist",
"ooui-item-remove": "Siho",
"ooui-dialog-message-accept": "OK",
"ooui-dialog-message-reject": "Jooskâ",
"ooui-field-help": "Iše"
}

View file

@ -0,0 +1,30 @@
{
"@metadata": {
"authors": [
"Masiziva"
]
},
"ooui-copytextlayout-copy": "Chenza",
"ooui-outline-control-move-down": "Chichinura chinhu kuzasi",
"ooui-outline-control-move-up": "Chichinura chinhu kumusoro",
"ooui-outline-control-remove": "Bvisa chinhu",
"ooui-toolbar-more": "Zvimwe",
"ooui-toolgroup-expand": "Zvimwe",
"ooui-toolgroup-collapse": "Zvishoma",
"ooui-item-remove": "Bvisa",
"ooui-dialog-message-accept": "BHO",
"ooui-dialog-message-reject": "Dzimura",
"ooui-dialog-process-error": "Pane chinhu chisina kuita mushe",
"ooui-dialog-process-dismiss": "Didiritsa",
"ooui-dialog-process-retry": "Edza zvekare",
"ooui-dialog-process-continue": "Enderera mberi",
"ooui-combobox-button-label": "Zvisaruriko zve Toggle",
"ooui-selectfile-button-select": "Sarudza fayera",
"ooui-selectfile-button-select-multiple": "Sarudza mafayera",
"ooui-selectfile-not-supported": "Chisarudzo che fayera hachina kutsigirwa",
"ooui-selectfile-placeholder": "Hapana fayera rasarudzwa",
"ooui-selectfile-dragdrop-placeholder": "Donhesa fayera pano",
"ooui-selectfile-dragdrop-placeholder-multiple": "Donhesa mafayera pano",
"ooui-popup-widget-close-button-aria-label": "Vhara",
"ooui-field-help": "Rubatsiro"
}

View file

@ -22,7 +22,8 @@
"ooui-selectfile-button-select": "Izaberite datoteku",
"ooui-selectfile-not-supported": "Izbor datoteke nije podržan",
"ooui-selectfile-placeholder": "Datoteka nije izabrana",
"ooui-selectfile-dragdrop-placeholder": "Ovde otpustite datoteku",
"ooui-selectfile-dragdrop-placeholder": "Otpustite datoteku ovde",
"ooui-selectfile-dragdrop-placeholder-multiple": "Otpustite datoteke ovde",
"ooui-popup-widget-close-button-aria-label": "Zatvori",
"ooui-field-help": "Pomoć"
}

View file

@ -13,7 +13,7 @@
"ooui-toolgroup-expand": "Ве",
"ooui-toolgroup-collapse": "Кам",
"ooui-item-remove": "Моле",
"ooui-dialog-message-accept": "ОК",
"ooui-dialog-message-accept": "COK",
"ooui-dialog-message-reject": "Ləğv karde",
"ooui-dialog-process-error": "Чичсә рост ныше",
"ooui-dialog-process-dismiss": "Жәј",

View file

@ -4,6 +4,7 @@
"Ella Lachow"
]
},
"ooui-copytextlayout-copy": "Duuqqa",
"ooui-outline-control-move-down": "Qommuwaa duge yuushsha",
"ooui-outline-control-move-up": "Qommuwaa pude yuushsha",
"ooui-outline-control-remove": "Qommuwaa xayssa",

View file

@ -1,12 +1,12 @@
/*!
* OOUI v0.47.0
* OOUI v0.47.3
* https://www.mediawiki.org/wiki/OOUI
*
* Copyright 20112023 OOUI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2023-05-18T02:15:42Z
* Date: 2023-07-06T18:04:41Z
*/
( function ( OO ) {

View file

@ -1,12 +1,12 @@
/*!
* OOUI v0.47.0
* OOUI v0.47.3
* https://www.mediawiki.org/wiki/OOUI
*
* Copyright 20112023 OOUI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2023-05-18T02:15:45Z
* Date: 2023-07-06T18:04:48Z
*/
.oo-ui-element-hidden {
display: none !important;
@ -883,7 +883,6 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
.oo-ui-popupWidget {
position: absolute;
z-index: 1;
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
}
.oo-ui-popupWidget-popup {
position: relative;
@ -960,7 +959,6 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
}
@supports ( filter: drop-shadow( 0 0 0 ) ) {
.oo-ui-popupWidget {
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
filter: drop-shadow(0 0.15em 0.5em rgba(0, 0, 0, 0.2));
}
.oo-ui-popupWidget-popup {

View file

@ -1,12 +1,12 @@
/*!
* OOUI v0.47.0
* OOUI v0.47.3
* https://www.mediawiki.org/wiki/OOUI
*
* Copyright 20112023 OOUI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2023-05-18T02:15:45Z
* Date: 2023-07-06T18:04:48Z
*/
.oo-ui-element-hidden {
display: none !important;
@ -54,7 +54,6 @@
text-decoration: none;
}
.oo-ui-buttonElement > input.oo-ui-buttonElement-button {
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
-webkit-appearance: none;
}
.oo-ui-buttonElement.oo-ui-labelElement > .oo-ui-buttonElement-button {
@ -1018,7 +1017,6 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
.oo-ui-popupWidget {
position: absolute;
z-index: 1;
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
}
.oo-ui-popupWidget-popup {
position: relative;
@ -1095,7 +1093,6 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
}
@supports ( filter: drop-shadow( 0 0 0 ) ) {
.oo-ui-popupWidget {
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.3));
transform: translateZ(0);
}
@ -1362,9 +1359,7 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
cursor: pointer;
}
.oo-ui-dropdownInputWidget select {
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
-webkit-appearance: none;
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
-moz-appearance: none;
background-color: transparent;
background-position: right 12px center;

View file

@ -1,12 +1,12 @@
/*!
* OOUI v0.47.0
* OOUI v0.47.3
* https://www.mediawiki.org/wiki/OOUI
*
* Copyright 20112023 OOUI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2023-05-18T02:15:42Z
* Date: 2023-07-06T18:04:41Z
*/
( function ( OO ) {
@ -1812,7 +1812,7 @@ OO.ui.Widget.prototype.isDisabled = function () {
*
* When a widget is disabled, it cannot be used and its appearance is updated to reflect this state.
*
* @param {boolean} disabled Disable widget
* @param {boolean} [disabled=false] Disable widget
* @chainable
* @return {OO.ui.Widget} The widget, for chaining
*/
@ -2454,7 +2454,7 @@ OO.ui.mixin.ButtonElement.prototype.toggleFramed = function ( framed ) {
* - {@link OO.ui.ButtonWidget ButtonWidget} when clicking the button would only refresh the page
*
* @protected
* @param {boolean} value Make button active
* @param {boolean} [value=false] Make button active
* @chainable
* @return {OO.ui.Element} The element, for chaining
*/
@ -2668,16 +2668,16 @@ OO.ui.mixin.GroupElement.prototype.insertItem = function ( item, index ) {
* Insert elements into the group
*
* @private
* @param {OO.ui.Element} itemWidget Item to insert
* @param {OO.ui.Element} item Item to insert
* @param {number} index Insertion index
*/
OO.ui.mixin.GroupElement.prototype.insertItemElements = function ( itemWidget, index ) {
OO.ui.mixin.GroupElement.prototype.insertItemElements = function ( item, index ) {
if ( index === undefined || index < 0 || index >= this.items.length ) {
this.$group.append( itemWidget.$element );
this.$group.append( item.$element );
} else if ( index === 0 ) {
this.$group.prepend( itemWidget.$element );
this.$group.prepend( item.$element );
} else {
this.items[ index ].$element.before( itemWidget.$element );
this.items[ index ].$element.before( item.$element );
}
};
@ -2920,7 +2920,7 @@ OO.ui.mixin.LabelElement.prototype.setLabel = function ( label ) {
/**
* Set whether the label should be visually hidden (but still accessible to screen-readers).
*
* @param {boolean} invisibleLabel
* @param {boolean} [invisibleLabel=false]
* @chainable
* @return {OO.ui.Element} The element, for chaining
*/
@ -4139,7 +4139,7 @@ OO.ui.ButtonWidget.prototype.setTarget = function ( target ) {
/**
* Set search engine traversal hint.
*
* @param {boolean} noFollow True if search engines should avoid traversing this hyperlink
* @param {boolean} [noFollow=true] True if search engines should avoid traversing this hyperlink
* @return {OO.ui.Widget} The widget, for chaining
*/
OO.ui.ButtonWidget.prototype.setNoFollow = function ( noFollow ) {
@ -4607,7 +4607,7 @@ OO.ui.MessageWidget.static.iconMap = {
/**
* Set the inline state of the widget.
*
* @param {boolean} inline Widget is inline
* @param {boolean} [inline=false] Widget is inline
*/
OO.ui.MessageWidget.prototype.setInline = function ( inline ) {
inline = !!inline;
@ -6366,7 +6366,7 @@ OO.ui.PopupWidget.prototype.getPosition = function () {
/**
* Set popup auto-flipping.
*
* @param {boolean} autoFlip Whether to automatically switch the popup's position between
* @param {boolean} [autoFlip=false] Whether to automatically switch the popup's position between
* 'above' and 'below', or between 'before' and 'after', if there is not enough space in the
* desired direction to display the popup without clipping
*/
@ -6570,7 +6570,7 @@ OO.mixinClass( OO.ui.mixin.GroupWidget, OO.ui.mixin.GroupElement );
*
* This will also update the disabled state of child widgets.
*
* @param {boolean} disabled Disable widget
* @param {boolean} [disabled=false] Disable widget
* @chainable
* @return {OO.ui.Widget} The widget, for chaining
*/
@ -7553,7 +7553,7 @@ OO.ui.SelectWidget.prototype.findHighlightedItem = function () {
* has not yet let go of the mouse. The item may appear selected, but it will not be selected
* until the user releases the mouse.
*
* @param {boolean} pressed An option is being pressed
* @param {boolean} [pressed] An option is being pressed, omit to toggle
*/
OO.ui.SelectWidget.prototype.togglePressed = function ( pressed ) {
if ( pressed === undefined ) {
@ -7688,23 +7688,21 @@ OO.ui.SelectWidget.prototype.selectItemByData = function ( data ) {
* otherwise, no items will be selected.
* If no item is given, all selected items will be unselected.
*
* @param {OO.ui.OptionWidget} [unselectedItem] Item to unselect
* @param {OO.ui.OptionWidget} [unselectedItem] Item to unselect, or nothing to unselect all
* @fires select
* @chainable
* @return {OO.ui.Widget} The widget, for chaining
*/
OO.ui.SelectWidget.prototype.unselectItem = function ( unselectedItem ) {
if ( unselectedItem ) {
unselectedItem.setSelected( false );
} else {
this.items.forEach( function ( item ) {
if ( item.isSelected() ) {
item.setSelected( false );
}
} );
if ( !unselectedItem ) {
// Unselect all
this.selectItem();
} else if ( unselectedItem.isSelected() ) {
unselectedItem.setSelected();
// Other items might still be selected in multiselect mode
this.emit( 'select', this.findSelectedItems() );
}
this.emit( 'select', this.findSelectedItems() );
return this;
};
@ -7724,6 +7722,7 @@ OO.ui.SelectWidget.prototype.selectItem = function ( item ) {
} else if ( this.multiselect ) {
// We don't care about the state of the other items when multiselect is allowed
item.setSelected( true );
this.emit( 'select', this.findSelectedItems() );
return this;
}
}
@ -7744,13 +7743,11 @@ OO.ui.SelectWidget.prototype.selectItem = function ( item ) {
}
if ( changed ) {
// TODO: When should a non-highlightable element be selected?
if ( item && !item.constructor.static.highlightable ) {
if ( item ) {
this.$focusOwner.attr( 'aria-activedescendant', item.getElementId() );
} else {
this.$focusOwner.removeAttr( 'aria-activedescendant' );
}
// Fall back to the selected instead of the highlighted option (see #highlightItem) only
// when we know highlighting is disabled. Unfortunately we can't know without an item.
// Don't even try when an arbitrary number of options can be selected.
if ( !this.multiselect && item && !item.constructor.static.highlightable ) {
this.$focusOwner.attr( 'aria-activedescendant', item.getElementId() );
}
this.emit( 'select', this.findSelectedItems() );
}
@ -8555,7 +8552,7 @@ OO.ui.MenuSelectWidget.prototype.clearItems = function () {
/**
* Toggle visibility of the menu for screen readers.
*
* @param {boolean} screenReaderMode
* @param {boolean} [screenReaderMode=false]
*/
OO.ui.MenuSelectWidget.prototype.toggleScreenReaderMode = function ( screenReaderMode ) {
screenReaderMode = !!screenReaderMode;
@ -10255,8 +10252,8 @@ OO.ui.CheckboxInputWidget.prototype.onEdit = function () {
/**
* Set selection state of this checkbox.
*
* @param {boolean} state Selected state
* @param {boolean} internal Used for internal calls to suppress events
* @param {boolean} [state=false] Selected state
* @param {boolean} [internal=false] Used for internal calls to suppress events
* @chainable
* @return {OO.ui.CheckboxInputWidget} The widget, for chaining
*/
@ -10298,8 +10295,8 @@ OO.ui.CheckboxInputWidget.prototype.isSelected = function () {
/**
* Set indeterminate state of this checkbox.
*
* @param {boolean} state Indeterminate state
* @param {boolean} internal Used for internal calls to suppress events
* @param {boolean} [state=false] Indeterminate state
* @param {boolean} [internal=false] Used for internal calls to suppress events
* @chainable
* @return {OO.ui.CheckboxInputWidget} The widget, for chaining
*/
@ -11509,7 +11506,7 @@ OO.ui.TextInputWidget.prototype.isReadOnly = function () {
/**
* Set the {@link #readOnly read-only} state of the input.
*
* @param {boolean} state Make input read-only
* @param {boolean} [state=false] Make input read-only
* @chainable
* @return {OO.ui.Widget} The widget, for chaining
*/

File diff suppressed because one or more lines are too long

View file

@ -1,12 +1,12 @@
/*!
* OOUI v0.47.0
* OOUI v0.47.3
* https://www.mediawiki.org/wiki/OOUI
*
* Copyright 20112023 OOUI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2023-05-18T02:15:45Z
* Date: 2023-07-06T18:04:48Z
*/
.oo-ui-icon-arrowNext {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/arrowNext-ltr.svg);
@ -327,6 +327,15 @@
.oo-ui-image-progressive.oo-ui-icon-infoFilled:lang(ar) {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/lightbulb-progressive.svg);
}
.oo-ui-icon-qrCode {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/qrCode.svg);
}
.oo-ui-image-invert.oo-ui-icon-qrCode {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/qrCode-invert.svg);
}
.oo-ui-image-progressive.oo-ui-icon-qrCode {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/qrCode-progressive.svg);
}
.oo-ui-icon-robot {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/robot.svg);
}
@ -2838,6 +2847,15 @@
.oo-ui-image-progressive.oo-ui-icon-userGroup {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/userGroup-ltr-progressive.svg);
}
.oo-ui-icon-userRights {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/userRights-ltr.svg);
}
.oo-ui-image-invert.oo-ui-icon-userRights {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/userRights-ltr-invert.svg);
}
.oo-ui-image-progressive.oo-ui-icon-userRights {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/userRights-ltr-progressive.svg);
}
.oo-ui-icon-userTalk {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/userTalk-ltr.svg);
}
@ -2847,6 +2865,15 @@
.oo-ui-image-progressive.oo-ui-icon-userTalk {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/userTalk-ltr-progressive.svg);
}
.oo-ui-icon-userTemporary {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/userTemporary-ltr.svg);
}
.oo-ui-image-invert.oo-ui-icon-userTemporary {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/userTemporary-ltr-invert.svg);
}
.oo-ui-image-progressive.oo-ui-icon-userTemporary {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/userTemporary-ltr-progressive.svg);
}
.oo-ui-icon-watchlist {
background-image: /* @embed */ url(themes/wikimediaui/images/icons/watchlist-ltr.svg);
}

View file

@ -1,12 +1,12 @@
/*!
* OOUI v0.47.0
* OOUI v0.47.3
* https://www.mediawiki.org/wiki/OOUI
*
* Copyright 20112023 OOUI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2023-05-18T02:15:45Z
* Date: 2023-07-06T18:04:48Z
*/
.oo-ui-tool > .oo-ui-tool-link > .oo-ui-tool-checkIcon {
display: none;

View file

@ -1,12 +1,12 @@
/*!
* OOUI v0.47.0
* OOUI v0.47.3
* https://www.mediawiki.org/wiki/OOUI
*
* Copyright 20112023 OOUI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2023-05-18T02:15:45Z
* Date: 2023-07-06T18:04:48Z
*/
.oo-ui-tool {
box-sizing: border-box;

View file

@ -1,12 +1,12 @@
/*!
* OOUI v0.47.0
* OOUI v0.47.3
* https://www.mediawiki.org/wiki/OOUI
*
* Copyright 20112023 OOUI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2023-05-18T02:15:42Z
* Date: 2023-07-06T18:04:41Z
*/
( function ( OO ) {
@ -415,13 +415,13 @@ OO.ui.Toolbar.prototype.getToolGroupFactory = function () {
/**
* @inheritdoc {OO.ui.mixin.GroupElement}
*/
OO.ui.Toolbar.prototype.insertItemElements = function ( itemWidget ) {
OO.ui.Toolbar.prototype.insertItemElements = function ( item ) {
// Mixin method
OO.ui.mixin.GroupElement.prototype.insertItemElements.apply( this, arguments );
if ( itemWidget.align === 'after' ) {
if ( item.align === 'after' ) {
// Toolbar only ever appends ToolGroups to the end, so we can ignore 'index'
this.$after.append( itemWidget.$element );
this.$after.append( item.$element );
}
};
@ -936,7 +936,7 @@ OO.ui.Tool.prototype.isActive = function () {
* This method should be called within #onSelect or #onUpdateState event handlers to make the tool
* appear pressed or not.
*
* @param {boolean} state Make tool appear active
* @param {boolean} [state=false] Make tool appear active
*/
OO.ui.Tool.prototype.setActive = function ( state ) {
this.active = !!state;
@ -2112,6 +2112,7 @@ OO.ui.PopupToolGroup = function OoUiPopupToolGroup( toolbar, config ) {
$floatableContainer: this.$handle,
hideWhenOutOfView: false,
verticalPosition: this.toolbar.position === 'bottom' ? 'above' : 'below'
// horizontalPosition is set in setActive
}, config ) );
OO.ui.mixin.TabIndexedElement.call( this, $.extend( {
$tabIndexed: this.$handle
@ -2349,7 +2350,7 @@ OO.ui.PopupToolGroup.prototype.isActive = function () {
* When active, the popup is visible. A mouseup event anywhere in the document will trigger
* deactivation.
*
* @param {boolean} value The active state to set
* @param {boolean} [value=false] The active state to set
* @fires active
*/
OO.ui.PopupToolGroup.prototype.setActive = function ( value ) {
@ -2376,13 +2377,18 @@ OO.ui.PopupToolGroup.prototype.setActive = function ( value ) {
this.togglePositioning( true );
this.toggleClipping( true );
// Try anchoring the popup to the left first
this.setHorizontalPosition( 'start' );
// Tools on the left of the toolbar will try to align their
// popups with their left side if possible, and vice-versa.
var preferredSide = this.align === 'before' ? 'start' : 'end';
var otherSide = this.align === 'before' ? 'end' : 'start';
// Try anchoring the popup to the preferred side first
this.setHorizontalPosition( preferredSide );
if ( this.isClippedHorizontally() || this.isFloatableOutOfView() ) {
// Anchoring to the left caused the popup to clip, so anchor it to the
// right instead.
this.setHorizontalPosition( 'end' );
// Anchoring to the preferred side caused the popup to clip, so anchor it
// to the other side instead.
this.setHorizontalPosition( otherSide );
}
if ( this.isClippedHorizontally() || this.isFloatableOutOfView() ) {
// Anchoring to the right also caused the popup to clip, so just make it fill the
@ -2394,7 +2400,7 @@ OO.ui.PopupToolGroup.prototype.setActive = function ( value ) {
this.$clippableScrollableContainer.offset().left;
this.toggleClipping( false );
this.setHorizontalPosition( 'start' );
this.setHorizontalPosition( preferredSide );
this.$clippable.css( {
'margin-left': -( this.$element.offset().left - containerLeft ),

File diff suppressed because one or more lines are too long

View file

@ -1,12 +1,12 @@
/*!
* OOUI v0.47.0
* OOUI v0.47.3
* https://www.mediawiki.org/wiki/OOUI
*
* Copyright 20112023 OOUI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2023-05-18T02:15:45Z
* Date: 2023-07-06T18:04:48Z
*/
.oo-ui-draggableElement-handle:not( .oo-ui-draggableElement-undraggable ),
.oo-ui-draggableElement-handle:not( .oo-ui-draggableElement-undraggable ).oo-ui-widget {
@ -81,9 +81,10 @@
top: 3em;
}
.oo-ui-indexLayout-stackLayout > .oo-ui-panelLayout[hidden] {
width: 0;
height: 0;
padding: 0;
pointer-events: none;
opacity: 0;
overflow: hidden;
}
.oo-ui-indexLayout-stackLayout > .oo-ui-panelLayout {
padding: 1.5em;

View file

@ -1,12 +1,12 @@
/*!
* OOUI v0.47.0
* OOUI v0.47.3
* https://www.mediawiki.org/wiki/OOUI
*
* Copyright 20112023 OOUI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2023-05-18T02:15:45Z
* Date: 2023-07-06T18:04:48Z
*/
.oo-ui-draggableElement-handle:not( .oo-ui-draggableElement-undraggable ),
.oo-ui-draggableElement-handle:not( .oo-ui-draggableElement-undraggable ).oo-ui-widget {
@ -81,9 +81,10 @@
top: 3em;
}
.oo-ui-indexLayout-stackLayout > .oo-ui-panelLayout[hidden] {
width: 0;
height: 0;
padding: 0;
pointer-events: none;
opacity: 0;
overflow: hidden;
}
.oo-ui-indexLayout-stackLayout > .oo-ui-panelLayout {
padding: 20px;

View file

@ -1,12 +1,12 @@
/*!
* OOUI v0.47.0
* OOUI v0.47.3
* https://www.mediawiki.org/wiki/OOUI
*
* Copyright 20112023 OOUI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2023-05-18T02:15:42Z
* Date: 2023-07-06T18:04:41Z
*/
( function ( OO ) {
@ -88,7 +88,7 @@ OO.ui.mixin.DraggableElement.static.cancelButtonMouseDownEvents = false;
* Change the draggable state of this widget.
* This allows users to temporarily halt the dragging operations.
*
* @param {boolean} isDraggable Widget supports draggable operations
* @param {boolean} [isDraggable] Widget supports draggable operations, omit to toggle
* @fires draggable
*/
OO.ui.mixin.DraggableElement.prototype.toggleDraggable = function ( isDraggable ) {
@ -328,7 +328,7 @@ OO.mixinClass( OO.ui.mixin.DraggableGroupElement, OO.ui.mixin.GroupElement );
* Change the draggable state of this widget.
* This allows users to temporarily halt the dragging operations.
*
* @param {boolean} isDraggable Widget supports draggable operations
* @param {boolean} [isDraggable] Widget supports draggable operations, omit to toggle
* @fires draggable
*/
OO.ui.mixin.DraggableGroupElement.prototype.toggleDraggable = function ( isDraggable ) {
@ -812,7 +812,7 @@ OO.ui.mixin.LookupElement.prototype.getLookupMenu = function () {
*
* When lookups are disabled, calls to #populateLookupMenu will be ignored.
*
* @param {boolean} disabled Disable lookups
* @param {boolean} [disabled=false] Disable lookups
*/
OO.ui.mixin.LookupElement.prototype.setLookupsDisabled = function ( disabled ) {
this.lookupsDisabled = !!disabled;
@ -966,7 +966,7 @@ OO.ui.mixin.LookupElement.prototype.getLookupMenuOptionsFromData = null;
*
* This will also disable/enable the lookups functionality.
*
* @param {boolean} readOnly Make input read-only
* @param {boolean} [readOnly=false] Make input read-only
* @chainable
* @return {OO.ui.Element} The element, for chaining
*/
@ -1157,7 +1157,7 @@ OO.ui.TabPanelLayout.prototype.setupTabItem = function () {
* one tab panel at a time. Additional CSS is applied to the tab item to reflect the tab panel's
* active state. Outside of the index context, setting the active state on a tab panel does nothing.
*
* @param {boolean} active Tab panel is active
* @param {boolean} [active=false] Tab panel is active
* @fires active
*/
OO.ui.TabPanelLayout.prototype.setActive = function ( active ) {
@ -1298,7 +1298,7 @@ OO.ui.PageLayout.prototype.setupOutlineItem = function () {
* one page at a time. Additional CSS is applied to the outline item to reflect the page's active
* state. Outside of the booklet context, setting the active state on a page does nothing.
*
* @param {boolean} active Page is active
* @param {boolean} [active=false] Page is active
* @fires active
*/
OO.ui.PageLayout.prototype.setActive = function ( active ) {
@ -1361,14 +1361,11 @@ OO.ui.StackLayout = function OoUiStackLayout( config ) {
// Properties
this.currentItem = null;
this.continuous = !!config.continuous;
this.setContinuous( !!config.continuous );
this.hideUntilFound = !!config.hideUntilFound;
// Initialization
this.$element.addClass( 'oo-ui-stackLayout' );
if ( this.continuous ) {
this.$element.addClass( 'oo-ui-stackLayout-continuous' );
}
this.addItems( config.items || [] );
};
@ -1389,6 +1386,27 @@ OO.mixinClass( OO.ui.StackLayout, OO.ui.mixin.GroupElement );
/* Methods */
/**
* Set the layout to continuous mode or not
*
* @param {boolean} continuous Continuous mode
*/
OO.ui.StackLayout.prototype.setContinuous = function ( continuous ) {
this.continuous = continuous;
this.$element.toggleClass( 'oo-ui-stackLayout-continuous', !!continuous );
// Force an update of the attributes used to hide/show items
this.updateHiddenState( this.items, this.currentItem );
};
/**
* Check if the layout is in continuous mode
*
* @return {boolean} The layout is in continuous mode
*/
OO.ui.StackLayout.prototype.isContinuous = function () {
return this.continuous;
};
/**
* Get the current panel.
*
@ -1540,7 +1558,7 @@ OO.ui.StackLayout.prototype.setItem = function ( item ) {
* @inheritdoc
*/
OO.ui.StackLayout.prototype.resetScroll = function () {
if ( this.continuous ) {
if ( this.isContinuous() ) {
// Parent method
return OO.ui.StackLayout.super.prototype.resetScroll.call( this );
}
@ -1570,19 +1588,31 @@ OO.ui.StackLayout.prototype.resetScroll = function () {
* @param {OO.ui.Layout} [selectedItem] Selected item to show
*/
OO.ui.StackLayout.prototype.updateHiddenState = function ( items, selectedItem ) {
if ( !this.continuous ) {
for ( var i = 0, len = items.length; i < len; i++ ) {
if ( !selectedItem || selectedItem !== items[ i ] ) {
var layout = this;
if ( !this.isContinuous() ) {
items.forEach( function ( item ) {
if ( !selectedItem || selectedItem !== item ) {
// If the panel is a TabPanelLayout which has a disabled tab, then
// fully hide it so we don't search inside it and automatically switch
// to it.
var isDisabled = item instanceof OO.ui.TabPanelLayout &&
item.getTabItem() && item.getTabItem().isDisabled();
var hideUntilFound = !isDisabled && layout.hideUntilFound;
// jQuery "fixes" the value of the hidden attribute to always be "hidden"
// Browsers which don't support 'until-found' will still hide the element
items[ i ].$element[ 0 ].setAttribute( 'hidden', this.hideUntilFound ? 'until-found' : 'hidden' );
items[ i ].$element.attr( 'aria-hidden', 'true' );
item.$element[ 0 ].setAttribute( 'hidden', hideUntilFound ? 'until-found' : 'hidden' );
item.$element.attr( 'aria-hidden', 'true' );
}
}
} );
if ( selectedItem ) {
selectedItem.$element[ 0 ].removeAttribute( 'hidden' );
selectedItem.$element.removeAttr( 'aria-hidden' );
}
} else {
items.forEach( function ( item ) {
item.$element[ 0 ].removeAttribute( 'hidden' );
item.$element.removeAttr( 'aria-hidden' );
} );
}
};
@ -1726,7 +1756,7 @@ OO.inheritClass( OO.ui.MenuLayout, OO.ui.Layout );
/**
* Toggle menu.
*
* @param {boolean} showMenu Show menu, omit to toggle
* @param {boolean} [showMenu] Show menu, omit to toggle
* @chainable
* @return {OO.ui.MenuLayout} The layout, for chaining
*/
@ -2021,7 +2051,7 @@ OO.ui.BookletLayout.prototype.onStackLayoutSet = function ( page ) {
}
var promise;
// For continuous BookletLayouts, scroll the selected page into view first
if ( this.stackLayout.continuous && !this.scrolling ) {
if ( this.stackLayout.isContinuous() && !this.scrolling ) {
promise = page.scrollElementIntoView();
} else {
promise = $.Deferred().resolve();
@ -2383,7 +2413,7 @@ OO.ui.BookletLayout.prototype.setPage = function ( name ) {
// hold focus.
if ( this.autoFocus &&
!OO.ui.isMobile() &&
this.stackLayout.continuous &&
this.stackLayout.isContinuous() &&
OO.ui.findFocusable( page.$element ).length !== 0
) {
$focused = previousPage.$element.find( ':focus' );
@ -2394,7 +2424,7 @@ OO.ui.BookletLayout.prototype.setPage = function ( name ) {
}
page.setActive( true );
this.stackLayout.setItem( page );
if ( !this.stackLayout.continuous && previousPage ) {
if ( !this.stackLayout.isContinuous() && previousPage ) {
// This should not be necessary, since any inputs on the previous page should have
// been blurred when it was hidden, but browsers are not very consistent about
// this.
@ -2417,7 +2447,7 @@ OO.ui.BookletLayout.prototype.resetScroll = function () {
if (
this.outlined &&
this.stackLayout.continuous &&
this.stackLayout.isContinuous() &&
this.outlineSelectWidget.findFirstSelectableItem()
) {
this.scrolling = true;
@ -2917,7 +2947,7 @@ OO.ui.IndexLayout.prototype.setTabPanel = function ( name ) {
if (
this.autoFocus &&
!OO.ui.isMobile() &&
this.stackLayout.continuous &&
this.stackLayout.isContinuous() &&
OO.ui.findFocusable( tabPanel.$element ).length !== 0
) {
$focused = previousTabPanel.$element.find( ':focus' );
@ -2929,7 +2959,7 @@ OO.ui.IndexLayout.prototype.setTabPanel = function ( name ) {
this.currentTabPanelName = name;
tabPanel.setActive( true );
this.stackLayout.setItem( tabPanel );
if ( !this.stackLayout.continuous && previousTabPanel ) {
if ( !this.stackLayout.isContinuous() && previousTabPanel ) {
// This should not be necessary, since any inputs on the previous tab panel should
// have been blurred when it was hidden, but browsers are not very consistent about
// this.
@ -3123,7 +3153,7 @@ OO.ui.ToggleWidget.prototype.getValue = function () {
/**
* Set the state of the toggle: `true` for 'on', `false` for 'off'.
*
* @param {boolean} value The state of the toggle
* @param {boolean} [value=false] The state of the toggle
* @fires change
* @chainable
* @return {OO.ui.Widget} The widget, for chaining
@ -3638,7 +3668,7 @@ OO.ui.OutlineOptionWidget.prototype.getLevel = function () {
*
* Movability is used by {@link OO.ui.OutlineControlsWidget outline controls}.
*
* @param {boolean} movable Item is movable
* @param {boolean} [movable=false] Item is movable
* @chainable
* @return {OO.ui.Widget} The widget, for chaining
*/
@ -3653,7 +3683,7 @@ OO.ui.OutlineOptionWidget.prototype.setMovable = function ( movable ) {
*
* Removability is used by {@link OO.ui.OutlineControlsWidget outline controls}.
*
* @param {boolean} removable Item is removable
* @param {boolean} [removable=false] Item is removable
* @chainable
* @return {OO.ui.Widget} The widget, for chaining
*/
@ -4436,6 +4466,7 @@ OO.ui.TagItemWidget.prototype.isValid = function () {
* the user types into the tag groups to add tags.
* - outline: The input is underneath the tag area.
* - none: No input supplied
* @cfg {string} [placeholder] Placeholder text for the input box
* @cfg {boolean} [allowEditTags=true] Allow editing of the tags by clicking them
* @cfg {boolean} [allowArbitrary=false] Allow data items to be added even if
* not present in the menu.

File diff suppressed because one or more lines are too long

View file

@ -1,12 +1,12 @@
/*!
* OOUI v0.47.0
* OOUI v0.47.3
* https://www.mediawiki.org/wiki/OOUI
*
* Copyright 20112023 OOUI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2023-05-18T02:15:42Z
* Date: 2023-07-06T18:04:41Z
*/
( function ( OO ) {

View file

@ -1,12 +1,12 @@
/*!
* OOUI v0.47.0
* OOUI v0.47.3
* https://www.mediawiki.org/wiki/OOUI
*
* Copyright 20112023 OOUI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2023-05-18T02:15:45Z
* Date: 2023-07-06T18:04:48Z
*/
.oo-ui-window {

View file

@ -1,12 +1,12 @@
/*!
* OOUI v0.47.0
* OOUI v0.47.3
* https://www.mediawiki.org/wiki/OOUI
*
* Copyright 20112023 OOUI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2023-05-18T02:15:45Z
* Date: 2023-07-06T18:04:48Z
*/
.oo-ui-window {

View file

@ -1,12 +1,12 @@
/*!
* OOUI v0.47.0
* OOUI v0.47.3
* https://www.mediawiki.org/wiki/OOUI
*
* Copyright 20112023 OOUI Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
* Date: 2023-05-18T02:15:42Z
* Date: 2023-07-06T18:04:41Z
*/
( function ( OO ) {
@ -1058,9 +1058,9 @@ OO.ui.WindowManager = function OoUiWindowManager( config ) {
// Initialization
this.$element
.addClass( 'oo-ui-windowManager' )
.toggleClass( 'oo-ui-windowManager-modal', this.modal )
.toggleClass( 'oo-ui-windowManager-modal', this.isModal() )
.toggleClass( 'oo-ui-windowManager-forceTrapFocus', !!config.forceTrapFocus );
if ( this.modal ) {
if ( this.isModal() ) {
this.$element
.attr( 'aria-hidden', 'true' )
.attr( 'inert', '' );
@ -1277,7 +1277,7 @@ OO.ui.WindowManager.prototype.getSetupDelay = function () {
* @return {number} Milliseconds to wait
*/
OO.ui.WindowManager.prototype.getReadyDelay = function () {
return this.modal ? OO.ui.theme.getDialogTransitionDuration() : 0;
return this.isModal() ? OO.ui.theme.getDialogTransitionDuration() : 0;
};
/**
@ -1301,7 +1301,7 @@ OO.ui.WindowManager.prototype.getHoldDelay = function () {
* @return {number} Milliseconds to wait
*/
OO.ui.WindowManager.prototype.getTeardownDelay = function () {
return this.modal ? OO.ui.theme.getDialogTransitionDuration() : 0;
return this.isModal() ? OO.ui.theme.getDialogTransitionDuration() : 0;
};
/**
@ -1424,7 +1424,7 @@ OO.ui.WindowManager.prototype.openWindow = function ( win, data, lifecycle, comp
this.preparingToOpen = $.when( this.lifecycle && this.lifecycle.closed );
// Ensure handlers get called after preparingToOpen is set
this.preparingToOpen.done( function () {
if ( manager.modal ) {
if ( manager.isModal() ) {
manager.toggleGlobalEvents( true );
manager.toggleIsolation( true );
}
@ -1552,7 +1552,7 @@ OO.ui.WindowManager.prototype.closeWindow = function ( win, data ) {
setTimeout( function () {
win.teardown( data ).then( function () {
compatClosing.notify( { state: 'teardown' } );
if ( manager.modal ) {
if ( manager.isModal() ) {
manager.toggleGlobalEvents( false );
manager.toggleIsolation( false );
}
@ -1737,7 +1737,7 @@ OO.ui.WindowManager.prototype.updateWindowSize = function ( win ) {
* and the user won't see that we're doing weird things to the scroll position.
*
* @private
* @param {boolean} on
* @param {boolean} [on=false]
* @chainable
* @return {OO.ui.WindowManager} The manager, for chaining
*/
@ -1853,6 +1853,11 @@ OO.ui.WindowManager.prototype.toggleIsolation = function ( isolate ) {
while ( !$el.is( 'body' ) && $el.length ) {
// Hide all siblings at each level, just leaving the path to the manager visible.
var $siblings = $el.siblings().not( 'script' );
// Ensure the path to this manager is visible, as it may have been hidden by
// another manager.
$el
.removeAttr( 'aria-hidden' )
.removeAttr( 'inert' );
// $ariaHidden/$inert exclude elements which already have aria-hidden/inert set,
// as we wouldn't want to reset those attributes when window closes.
// This will also support multiple window managers opening on top of each other,
@ -2461,7 +2466,7 @@ OO.ui.Window.prototype.onFocusTrapFocused = function ( event ) {
/**
* Focus the window
*
* @param {boolean} focusLast Focus the last focusable element in the window, instead of the first
* @param {boolean} [focusLast=false] Focus the last focusable element in the window, instead of the first
* @chainable
* @return {OO.ui.Window} The window, for chaining
*/

File diff suppressed because one or more lines are too long

View file

@ -84,6 +84,9 @@
}
}
},
"qrCode": {
"file": "../wikimediaui/images/icons/qrCode.svg"
},
"robot": {
"file": "../wikimediaui/images/icons/robot.svg"
},

View file

@ -23,12 +23,24 @@
"rtl": "../wikimediaui/images/icons/userGroup-rtl.svg"
}
},
"userRights": {
"file": {
"ltr": "../wikimediaui/images/icons/userRights-ltr.svg",
"rtl": "../wikimediaui/images/icons/userRights-rtl.svg"
}
},
"userTalk": {
"file": {
"ltr": "../wikimediaui/images/icons/userTalk-ltr.svg",
"rtl": "../wikimediaui/images/icons/userTalk-rtl.svg"
}
},
"userTemporary": {
"file": {
"ltr": "../wikimediaui/images/icons/userTemporary-ltr.svg",
"rtl": "../wikimediaui/images/icons/userTemporary-rtl.svg"
}
},
"watchlist": {
"file": {
"ltr": "../wikimediaui/images/icons/watchlist-ltr.svg",

View file

@ -107,6 +107,9 @@
}
}
},
"qrCode": {
"file": "images/icons/qrCode.svg"
},
"robot": {
"file": "images/icons/robot.svg"
},

View file

@ -52,12 +52,24 @@
"rtl": "images/icons/userGroup-rtl.svg"
}
},
"userRights": {
"file": {
"ltr": "images/icons/userRights-ltr.svg",
"rtl": "images/icons/userRights-rtl.svg"
}
},
"userTalk": {
"file": {
"ltr": "images/icons/userTalk-ltr.svg",
"rtl": "images/icons/userTalk-rtl.svg"
}
},
"userTemporary": {
"file": {
"ltr": "images/icons/userTemporary-ltr.svg",
"rtl": "images/icons/userTemporary-rtl.svg"
}
},
"watchlist": {
"file": {
"ltr": "images/icons/watchlist-ltr.svg",

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>
QR code
</title><path fill="#fff" fill-rule="evenodd" d="M3 3h4v4H3V3ZM1 9V1h8v8H1Zm2 4h4v4H3v-4Zm-2 6v-8h8v8H1ZM17 3h-4v4h4V3Zm-6-2v8h8V1h-8Zm2 10h-2v4h2v2h-2v2h2v-2h2v2h4v-4h-2v-2h2v-2h-4v2h-2v-2Zm4 4h-2v2h2v-2Z"/></svg>

After

Width:  |  Height:  |  Size: 355 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>
QR code
</title><path fill="#36c" fill-rule="evenodd" d="M3 3h4v4H3V3ZM1 9V1h8v8H1Zm2 4h4v4H3v-4Zm-2 6v-8h8v8H1ZM17 3h-4v4h4V3Zm-6-2v8h8V1h-8Zm2 10h-2v4h2v2h-2v2h2v-2h2v2h4v-4h-2v-2h2v-2h-4v2h-2v-2Zm4 4h-2v2h2v-2Z"/></svg>

After

Width:  |  Height:  |  Size: 355 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>
QR code
</title><path fill-rule="evenodd" d="M3 3h4v4H3V3ZM1 9V1h8v8H1Zm2 4h4v4H3v-4Zm-2 6v-8h8v8H1ZM17 3h-4v4h4V3Zm-6-2v8h8V1h-8Zm2 10h-2v4h2v2h-2v2h2v-2h2v2h4v-4h-2v-2h2v-2h-4v2h-2v-2Zm4 4h-2v2h2v-2Z"/></svg>

After

Width:  |  Height:  |  Size: 343 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>
user rights
</title><path fill="#fff" d="M14.5 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM20 16.288v-1.632l-1.012-.168c-.055-.22-.164-.437-.324-.76l-.014-.028.619-.844-1.181-1.18-.844.618a3.003 3.003 0 0 0-.788-.338l-.112-1.012h-1.632l-.141.851-.027.161c-.282.056-.507.17-.788.338l-.844-.619-1.18 1.181.562.844c-.106.176-.168.33-.227.49l-.025.07-.01.027c-.024.064-.048.13-.076.2L11 14.6v1.631l1.012.17c.057.28.17.505.338.786l-.563.844.969.969.213.213.32-.213.524-.35c.199.1.443.2.691.3l.05.02.046.018.002.012.167 1h1.687l.167-1 .002-.012c.281-.057.506-.17.787-.338l.477.35.367.27 1.182-1.182-.62-.844c.17-.28.282-.563.338-.788l.844-.168Zm-4.5.843a1.659 1.659 0 0 1-1.688-1.687c0-.956.732-1.688 1.688-1.688s1.688.732 1.688 1.688-.732 1.687-1.688 1.687ZM10 11c.739 0 1.418.047 2.04.133l-1.594 1.596.574.862-1.02.12v3.367l1.098.183-.598.897.842.842H2v-3c0-2 2.083-5 8-5Z"/></svg>

After

Width:  |  Height:  |  Size: 1,007 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>
user rights
</title><path fill="#36c" d="M14.5 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM20 16.288v-1.632l-1.012-.168c-.055-.22-.164-.437-.324-.76l-.014-.028.619-.844-1.181-1.18-.844.618a3.003 3.003 0 0 0-.788-.338l-.112-1.012h-1.632l-.141.851-.027.161c-.282.056-.507.17-.788.338l-.844-.619-1.18 1.181.562.844c-.106.176-.168.33-.227.49l-.025.07-.01.027c-.024.064-.048.13-.076.2L11 14.6v1.631l1.012.17c.057.28.17.505.338.786l-.563.844.969.969.213.213.32-.213.524-.35c.199.1.443.2.691.3l.05.02.046.018.002.012.167 1h1.687l.167-1 .002-.012c.281-.057.506-.17.787-.338l.477.35.367.27 1.182-1.182-.62-.844c.17-.28.282-.563.338-.788l.844-.168Zm-4.5.843a1.659 1.659 0 0 1-1.688-1.687c0-.956.732-1.688 1.688-1.688s1.688.732 1.688 1.688-.732 1.687-1.688 1.687ZM10 11c.739 0 1.418.047 2.04.133l-1.594 1.596.574.862-1.02.12v3.367l1.098.183-.598.897.842.842H2v-3c0-2 2.083-5 8-5Z"/></svg>

After

Width:  |  Height:  |  Size: 1,007 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>
user rights
</title><path d="M14.5 5.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM20 16.288v-1.632l-1.012-.168c-.055-.22-.164-.437-.324-.76l-.014-.028.619-.844-1.181-1.18-.844.618a3.003 3.003 0 0 0-.788-.338l-.112-1.012h-1.632l-.141.851-.027.161c-.282.056-.507.17-.788.338l-.844-.619-1.18 1.181.562.844c-.106.176-.168.33-.227.49l-.025.07-.01.027c-.024.064-.048.13-.076.2L11 14.6v1.631l1.012.17c.057.28.17.505.338.786l-.563.844.969.969.213.213.32-.213.524-.35c.199.1.443.2.691.3l.05.02.046.018.002.012.167 1h1.687l.167-1 .002-.012c.281-.057.506-.17.787-.338l.477.35.367.27 1.182-1.182-.62-.844c.17-.28.282-.563.338-.788l.844-.168Zm-4.5.843a1.659 1.659 0 0 1-1.688-1.687c0-.956.732-1.688 1.688-1.688s1.688.732 1.688 1.688-.732 1.687-1.688 1.687ZM10 11c.739 0 1.418.047 2.04.133l-1.594 1.596.574.862-1.02.12v3.367l1.098.183-.598.897.842.842H2v-3c0-2 2.083-5 8-5Z"/></svg>

After

Width:  |  Height:  |  Size: 995 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>
user rights
</title><path fill="#fff" d="M5.5 5.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0ZM0 16.288v-1.632l1.012-.168c.055-.22.164-.437.324-.76l.014-.028-.619-.844 1.181-1.18.844.618c.245-.15.51-.264.788-.338l.112-1.012h1.632l.141.851.027.161c.282.056.507.17.788.338l.844-.619 1.18 1.181-.562.844c.106.176.168.33.227.49l.025.07.01.027c.024.064.048.13.076.2L9 14.6v1.631l-1.012.17c-.057.28-.17.505-.338.786l.563.844-.969.969-.213.213-.32-.213-.524-.35c-.199.1-.443.2-.691.3l-.05.02-.046.018-.002.012-.167 1H3.544l-.167-1-.002-.012c-.281-.057-.506-.17-.787-.338l-.477.35-.367.27-1.182-1.182.62-.844a2.958 2.958 0 0 1-.338-.788L0 16.288Zm4.5.843a1.658 1.658 0 0 0 1.688-1.687c0-.956-.732-1.688-1.688-1.688s-1.688.732-1.688 1.688.732 1.687 1.688 1.687ZM10 11c-.739 0-1.418.047-2.04.133l1.594 1.596-.574.862 1.02.12v3.367l-1.098.183.598.897-.842.842H18v-3c0-2-2.083-5-8-5Z"/></svg>

After

Width:  |  Height:  |  Size: 1,005 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>
user rights
</title><path fill="#36c" d="M5.5 5.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0ZM0 16.288v-1.632l1.012-.168c.055-.22.164-.437.324-.76l.014-.028-.619-.844 1.181-1.18.844.618c.245-.15.51-.264.788-.338l.112-1.012h1.632l.141.851.027.161c.282.056.507.17.788.338l.844-.619 1.18 1.181-.562.844c.106.176.168.33.227.49l.025.07.01.027c.024.064.048.13.076.2L9 14.6v1.631l-1.012.17c-.057.28-.17.505-.338.786l.563.844-.969.969-.213.213-.32-.213-.524-.35c-.199.1-.443.2-.691.3l-.05.02-.046.018-.002.012-.167 1H3.544l-.167-1-.002-.012c-.281-.057-.506-.17-.787-.338l-.477.35-.367.27-1.182-1.182.62-.844a2.958 2.958 0 0 1-.338-.788L0 16.288Zm4.5.843a1.658 1.658 0 0 0 1.688-1.687c0-.956-.732-1.688-1.688-1.688s-1.688.732-1.688 1.688.732 1.687 1.688 1.687ZM10 11c-.739 0-1.418.047-2.04.133l1.594 1.596-.574.862 1.02.12v3.367l-1.098.183.598.897-.842.842H18v-3c0-2-2.083-5-8-5Z"/></svg>

After

Width:  |  Height:  |  Size: 1,005 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>
user rights
</title><path d="M5.5 5.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0ZM0 16.288v-1.632l1.012-.168c.055-.22.164-.437.324-.76l.014-.028-.619-.844 1.181-1.18.844.618c.245-.15.51-.264.788-.338l.112-1.012h1.632l.141.851.027.161c.282.056.507.17.788.338l.844-.619 1.18 1.181-.562.844c.106.176.168.33.227.49l.025.07.01.027c.024.064.048.13.076.2L9 14.6v1.631l-1.012.17c-.057.28-.17.505-.338.786l.563.844-.969.969-.213.213-.32-.213-.524-.35c-.199.1-.443.2-.691.3l-.05.02-.046.018-.002.012-.167 1H3.544l-.167-1-.002-.012c-.281-.057-.506-.17-.787-.338l-.477.35-.367.27-1.182-1.182.62-.844a2.958 2.958 0 0 1-.338-.788L0 16.288Zm4.5.843a1.658 1.658 0 0 0 1.688-1.687c0-.956-.732-1.688-1.688-1.688s-1.688.732-1.688 1.688.732 1.687 1.688 1.687ZM10 11c-.739 0-1.418.047-2.04.133l1.594 1.596-.574.862 1.02.12v3.367l-1.098.183.598.897-.842.842H18v-3c0-2-2.083-5-8-5Z"/></svg>

After

Width:  |  Height:  |  Size: 993 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>
user temporary
</title><path fill="#fff" d="M18 16c0-2-2.083-5-8-5-.356 0-.698.01-1.026.032l.276 1.986c.239-.012.489-.018.75-.018v4H6v2h2v-2h2v2h8v-3Zm-8-6a4.5 4.5 0 1 0-.878-8.914l.388 1.962C9.667 3.017 9.83 3 10 3v5c-.17 0-.333-.017-.49-.048l-.388 1.962c.284.057.577.086.878.086Zm-2.933 1.29c-.69.149-1.3.35-1.834.59l1.051 1.713c.351-.14.755-.263 1.218-.36l-.435-1.944ZM4 19v-2H2v2h2Zm-1.84-4h2.228c.124-.18.284-.37.49-.557L3.64 12.866c-.78.66-1.254 1.416-1.48 2.134ZM7.5 1.758 8.613 3.42c-.274.183-.51.419-.693.693L6.258 3c.329-.49.751-.913 1.242-1.242ZM5.586 4.622l1.962.388a2.521 2.521 0 0 0 0 .98l-1.962.388a4.52 4.52 0 0 1 0-1.756ZM6.258 8 7.92 6.887c.183.274.419.51.693.693L7.5 9.242A4.525 4.525 0 0 1 6.258 8Z"/></svg>

After

Width:  |  Height:  |  Size: 860 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>
user temporary
</title><path fill="#36c" d="M18 16c0-2-2.083-5-8-5-.356 0-.698.01-1.026.032l.276 1.986c.239-.012.489-.018.75-.018v4H6v2h2v-2h2v2h8v-3Zm-8-6a4.5 4.5 0 1 0-.878-8.914l.388 1.962C9.667 3.017 9.83 3 10 3v5c-.17 0-.333-.017-.49-.048l-.388 1.962c.284.057.577.086.878.086Zm-2.933 1.29c-.69.149-1.3.35-1.834.59l1.051 1.713c.351-.14.755-.263 1.218-.36l-.435-1.944ZM4 19v-2H2v2h2Zm-1.84-4h2.228c.124-.18.284-.37.49-.557L3.64 12.866c-.78.66-1.254 1.416-1.48 2.134ZM7.5 1.758 8.613 3.42c-.274.183-.51.419-.693.693L6.258 3c.329-.49.751-.913 1.242-1.242ZM5.586 4.622l1.962.388a2.521 2.521 0 0 0 0 .98l-1.962.388a4.52 4.52 0 0 1 0-1.756ZM6.258 8 7.92 6.887c.183.274.419.51.693.693L7.5 9.242A4.525 4.525 0 0 1 6.258 8Z"/></svg>

After

Width:  |  Height:  |  Size: 860 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>
user temporary
</title><path d="M18 16c0-2-2.083-5-8-5-.356 0-.698.01-1.026.032l.276 1.986c.239-.012.489-.018.75-.018v4H6v2h2v-2h2v2h8v-3Zm-8-6a4.5 4.5 0 1 0-.878-8.914l.388 1.962C9.667 3.017 9.83 3 10 3v5c-.17 0-.333-.017-.49-.048l-.388 1.962c.284.057.577.086.878.086Zm-2.933 1.29c-.69.149-1.3.35-1.834.59l1.051 1.713c.351-.14.755-.263 1.218-.36l-.435-1.944ZM4 19v-2H2v2h2Zm-1.84-4h2.228c.124-.18.284-.37.49-.557L3.64 12.866c-.78.66-1.254 1.416-1.48 2.134ZM7.5 1.758 8.613 3.42c-.274.183-.51.419-.693.693L6.258 3c.329-.49.751-.913 1.242-1.242ZM5.586 4.622l1.962.388a2.521 2.521 0 0 0 0 .98l-1.962.388a4.52 4.52 0 0 1 0-1.756ZM6.258 8 7.92 6.887c.183.274.419.51.693.693L7.5 9.242A4.525 4.525 0 0 1 6.258 8Z"/></svg>

After

Width:  |  Height:  |  Size: 848 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>
user temporary
</title><path fill="#fff" d="M2 16c0-2 2.083-5 8-5 .356 0 .698.01 1.026.032l-.276 1.986A15.24 15.24 0 0 0 10 13v4h4v2h-2v-2h-2v2H2v-3Zm8-6a4.5 4.5 0 1 1 .878-8.914l-.388 1.962A2.521 2.521 0 0 0 10 3v5c.17 0 .333-.017.49-.048l.388 1.962A4.52 4.52 0 0 1 10 10Zm2.933 1.29c.69.149 1.3.35 1.834.59l-1.051 1.713a7.336 7.336 0 0 0-1.218-.36l.435-1.944ZM16 19v-2h2v2h-2Zm1.84-4h-2.228a3.204 3.204 0 0 0-.49-.557l1.238-1.577c.78.66 1.254 1.416 1.48 2.134ZM12.5 1.758 11.387 3.42c.274.183.51.419.693.693L13.742 3A4.525 4.525 0 0 0 12.5 1.758Zm1.914 2.864-1.962.388a2.524 2.524 0 0 1 0 .98l1.962.388a4.521 4.521 0 0 0 0-1.756ZM13.742 8 12.08 6.887c-.183.274-.419.51-.693.693L12.5 9.242c.49-.329.913-.751 1.242-1.242Z"/></svg>

After

Width:  |  Height:  |  Size: 863 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>
user temporary
</title><path fill="#36c" d="M2 16c0-2 2.083-5 8-5 .356 0 .698.01 1.026.032l-.276 1.986A15.24 15.24 0 0 0 10 13v4h4v2h-2v-2h-2v2H2v-3Zm8-6a4.5 4.5 0 1 1 .878-8.914l-.388 1.962A2.521 2.521 0 0 0 10 3v5c.17 0 .333-.017.49-.048l.388 1.962A4.52 4.52 0 0 1 10 10Zm2.933 1.29c.69.149 1.3.35 1.834.59l-1.051 1.713a7.336 7.336 0 0 0-1.218-.36l.435-1.944ZM16 19v-2h2v2h-2Zm1.84-4h-2.228a3.204 3.204 0 0 0-.49-.557l1.238-1.577c.78.66 1.254 1.416 1.48 2.134ZM12.5 1.758 11.387 3.42c.274.183.51.419.693.693L13.742 3A4.525 4.525 0 0 0 12.5 1.758Zm1.914 2.864-1.962.388a2.524 2.524 0 0 1 0 .98l1.962.388a4.521 4.521 0 0 0 0-1.756ZM13.742 8 12.08 6.887c-.183.274-.419.51-.693.693L12.5 9.242c.49-.329.913-.751 1.242-1.242Z"/></svg>

After

Width:  |  Height:  |  Size: 863 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>
user temporary
</title><path d="M2 16c0-2 2.083-5 8-5 .356 0 .698.01 1.026.032l-.276 1.986A15.24 15.24 0 0 0 10 13v4h4v2h-2v-2h-2v2H2v-3Zm8-6a4.5 4.5 0 1 1 .878-8.914l-.388 1.962A2.521 2.521 0 0 0 10 3v5c.17 0 .333-.017.49-.048l.388 1.962A4.52 4.52 0 0 1 10 10Zm2.933 1.29c.69.149 1.3.35 1.834.59l-1.051 1.713a7.336 7.336 0 0 0-1.218-.36l.435-1.944ZM16 19v-2h2v2h-2Zm1.84-4h-2.228a3.204 3.204 0 0 0-.49-.557l1.238-1.577c.78.66 1.254 1.416 1.48 2.134ZM12.5 1.758 11.387 3.42c.274.183.51.419.693.693L13.742 3A4.525 4.525 0 0 0 12.5 1.758Zm1.914 2.864-1.962.388a2.524 2.524 0 0 1 0 .98l1.962.388a4.521 4.521 0 0 0 0-1.756ZM13.742 8 12.08 6.887c-.183.274-.419.51-.693.693L12.5 9.242c.49-.329.913-.751 1.242-1.242Z"/></svg>

After

Width:  |  Height:  |  Size: 851 B