From: James D. Forrester Date: Tue, 9 Jun 2015 22:05:33 +0000 (-0700) Subject: Update OOjs UI to v0.11.4 X-Git-Tag: 1.31.0-rc.0~11134^2 X-Git-Url: http://git.cyclocoop.org/wiki/Target_page?a=commitdiff_plain;h=5cd0a43e5;p=lhc%2Fweb%2Fwiklou.git Update OOjs UI to v0.11.4 Release notes: https://git.wikimedia.org/blob/oojs%2Fui.git/v0.11.4/History.md Change-Id: Id329e753412b33d5b4cf55bfc04ee072843bacc0 --- diff --git a/composer.json b/composer.json index 9222aa4d35..7df8ca0b73 100644 --- a/composer.json +++ b/composer.json @@ -20,7 +20,7 @@ "ext-iconv": "*", "leafo/lessphp": "0.5.0", "liuggio/statsd-php-client": "1.0.12", - "oojs/oojs-ui": "0.11.3", + "oojs/oojs-ui": "0.11.4", "php": ">=5.3.3", "psr/log": "1.0.0", "wikimedia/cdb": "1.0.1", diff --git a/resources/lib/oojs-ui/i18n/as.json b/resources/lib/oojs-ui/i18n/as.json new file mode 100644 index 0000000000..ae853ddd54 --- /dev/null +++ b/resources/lib/oojs-ui/i18n/as.json @@ -0,0 +1,16 @@ +{ + "@metadata": { + "authors": [ + "Gitartha.bordoloi" + ] + }, + "ooui-toolbar-more": "অধিক", + "ooui-toolgroup-expand": "অধিক", + "ooui-toolgroup-collapse": "কম দেখাওক", + "ooui-dialog-message-accept": "শুদ্ধ", + "ooui-dialog-message-reject": "বাতিল কৰক", + "ooui-dialog-process-error": "কিবা ত্ৰুটি হৈছে", + "ooui-dialog-process-dismiss": "বাতিল", + "ooui-dialog-process-retry": "পুনৰ চেষ্টা কৰক", + "ooui-dialog-process-continue": "অব্যাহত ৰাখক" +} diff --git a/resources/lib/oojs-ui/i18n/be-tarask.json b/resources/lib/oojs-ui/i18n/be-tarask.json index c5475f8535..7c40a547e3 100644 --- a/resources/lib/oojs-ui/i18n/be-tarask.json +++ b/resources/lib/oojs-ui/i18n/be-tarask.json @@ -4,10 +4,12 @@ "EugeneZelenko", "Wizardist", "Чаховіч Уладзіслаў", - "Zedlik" + "Zedlik", + "Red Winged Duck" ] }, - "ooui-outline-control-move-down": "Перасунуць ніжэй", - "ooui-outline-control-move-up": "Перасунуць вышэй", - "ooui-toolbar-more": "Болей" + "ooui-outline-control-move-down": "Перасунуць элемэнт ніжэй", + "ooui-outline-control-move-up": "Перасунуць элемэнт вышэй", + "ooui-toolbar-more": "Болей", + "ooui-toolgroup-collapse": "Меней" } diff --git a/resources/lib/oojs-ui/i18n/de.json b/resources/lib/oojs-ui/i18n/de.json index 15624fd479..d5649b00bb 100644 --- a/resources/lib/oojs-ui/i18n/de.json +++ b/resources/lib/oojs-ui/i18n/de.json @@ -24,5 +24,7 @@ "ooui-dialog-process-error": "Etwas ist schief gelaufen", "ooui-dialog-process-dismiss": "Ausblenden", "ooui-dialog-process-retry": "Erneut versuchen", - "ooui-dialog-process-continue": "Fortfahren" + "ooui-dialog-process-continue": "Fortfahren", + "ooui-selectfile-not-supported": "Die Dateiauswahl wird nicht unterstützt", + "ooui-selectfile-placeholder": "Keine Datei ausgewählt" } diff --git a/resources/lib/oojs-ui/i18n/en.json b/resources/lib/oojs-ui/i18n/en.json index 1db3fd8549..9812ec6b47 100644 --- a/resources/lib/oojs-ui/i18n/en.json +++ b/resources/lib/oojs-ui/i18n/en.json @@ -27,5 +27,8 @@ "ooui-dialog-process-error": "Something went wrong", "ooui-dialog-process-dismiss": "Dismiss", "ooui-dialog-process-retry": "Try again", - "ooui-dialog-process-continue": "Continue" + "ooui-dialog-process-continue": "Continue", + "ooui-selectfile-not-supported": "File selection is not supported", + "ooui-selectfile-placeholder": "No file is selected", + "ooui-semicolon-separator": "; " } diff --git a/resources/lib/oojs-ui/i18n/eo.json b/resources/lib/oojs-ui/i18n/eo.json index 8d9714c63b..0f705ad452 100644 --- a/resources/lib/oojs-ui/i18n/eo.json +++ b/resources/lib/oojs-ui/i18n/eo.json @@ -9,5 +9,13 @@ }, "ooui-outline-control-move-down": "Movi eron suben", "ooui-outline-control-move-up": "Movi eron supren", - "ooui-toolbar-more": "Pli" + "ooui-outline-control-remove": "Forigi eron", + "ooui-toolbar-more": "Pli", + "ooui-toolgroup-expand": "Pli", + "ooui-toolgroup-collapse": "Mapli", + "ooui-dialog-message-accept": "Bone", + "ooui-dialog-message-reject": "Nuligi", + "ooui-dialog-process-error": "Io rompiĝis", + "ooui-dialog-process-retry": "Reprovi", + "ooui-dialog-process-continue": "Daŭrigi" } diff --git a/resources/lib/oojs-ui/i18n/es.json b/resources/lib/oojs-ui/i18n/es.json index 915791e645..e5a8e45948 100644 --- a/resources/lib/oojs-ui/i18n/es.json +++ b/resources/lib/oojs-ui/i18n/es.json @@ -29,5 +29,7 @@ "ooui-dialog-process-error": "Algo salió mal", "ooui-dialog-process-dismiss": "Descartar", "ooui-dialog-process-retry": "Intentar de nuevo", - "ooui-dialog-process-continue": "Continuar" + "ooui-dialog-process-continue": "Continuar", + "ooui-selectfile-not-supported": "No se admite la selección de archivos", + "ooui-selectfile-placeholder": "Ningún archivo seleccionado" } diff --git a/resources/lib/oojs-ui/i18n/eu.json b/resources/lib/oojs-ui/i18n/eu.json index e947582d14..d6a06bbb53 100644 --- a/resources/lib/oojs-ui/i18n/eu.json +++ b/resources/lib/oojs-ui/i18n/eu.json @@ -16,5 +16,6 @@ "ooui-dialog-message-reject": "Utzi", "ooui-dialog-process-error": "Zerbaitek huts egin du", "ooui-dialog-process-retry": "Saiatu berriro", - "ooui-dialog-process-continue": "Jarraitu" + "ooui-dialog-process-continue": "Jarraitu", + "ooui-selectfile-placeholder": "Ez da fitxategirik hautatu" } diff --git a/resources/lib/oojs-ui/i18n/fr.json b/resources/lib/oojs-ui/i18n/fr.json index 9144cb0121..ae671cb4e6 100644 --- a/resources/lib/oojs-ui/i18n/fr.json +++ b/resources/lib/oojs-ui/i18n/fr.json @@ -41,5 +41,7 @@ "ooui-dialog-process-error": "Quelque chose a mal tourné", "ooui-dialog-process-dismiss": "Rejeter", "ooui-dialog-process-retry": "Réessayez", - "ooui-dialog-process-continue": "Continuer" + "ooui-dialog-process-continue": "Continuer", + "ooui-selectfile-not-supported": "La sélection de fichier n’est pas prise en charge", + "ooui-selectfile-placeholder": "Aucun fichier sélectionné" } diff --git a/resources/lib/oojs-ui/i18n/gl.json b/resources/lib/oojs-ui/i18n/gl.json index a4339f4724..1283c532c3 100644 --- a/resources/lib/oojs-ui/i18n/gl.json +++ b/resources/lib/oojs-ui/i18n/gl.json @@ -18,5 +18,7 @@ "ooui-dialog-process-error": "Algo foi mal", "ooui-dialog-process-dismiss": "Agochar", "ooui-dialog-process-retry": "Inténteo de novo", - "ooui-dialog-process-continue": "Continuar" + "ooui-dialog-process-continue": "Continuar", + "ooui-selectfile-not-supported": "Non está soportada a selección de ficheiros", + "ooui-selectfile-placeholder": "Non se seleccionou ningún ficheiro" } diff --git a/resources/lib/oojs-ui/i18n/gu.json b/resources/lib/oojs-ui/i18n/gu.json index 2d8315bf4c..3f02e19d69 100644 --- a/resources/lib/oojs-ui/i18n/gu.json +++ b/resources/lib/oojs-ui/i18n/gu.json @@ -3,15 +3,18 @@ "authors": [ "Ashok modhvadia", "KartikMistry", - "The Discoverer" + "The Discoverer", + "NehalDaveND" ] }, "ooui-outline-control-move-down": "વસ્તુ નીચે ખસેડો", "ooui-outline-control-move-up": "વસ્તુ ઉપર ખસેડો", "ooui-outline-control-remove": "વસ્તુ હટાવો", "ooui-toolbar-more": "વધુ", + "ooui-toolgroup-expand": "વધુ", "ooui-dialog-message-accept": "બરાબર", "ooui-dialog-message-reject": "રદ કરો", "ooui-dialog-process-error": "કંઇક ગરબડ થઇ", - "ooui-dialog-process-retry": "ફરી પ્રયત્ન કરો" + "ooui-dialog-process-retry": "ફરી પ્રયત્ન કરો", + "ooui-dialog-process-continue": "ચાલુ રાખો" } diff --git a/resources/lib/oojs-ui/i18n/he.json b/resources/lib/oojs-ui/i18n/he.json index cadc416c3f..de676651b4 100644 --- a/resources/lib/oojs-ui/i18n/he.json +++ b/resources/lib/oojs-ui/i18n/he.json @@ -26,5 +26,7 @@ "ooui-dialog-process-error": "משהו השתבש", "ooui-dialog-process-dismiss": "לוותר", "ooui-dialog-process-retry": "לנסות שוב", - "ooui-dialog-process-continue": "המשך" + "ooui-dialog-process-continue": "המשך", + "ooui-selectfile-not-supported": "בחירת קבצים אינה נתמכת", + "ooui-selectfile-placeholder": "לא נבחר שום קובץ" } diff --git a/resources/lib/oojs-ui/i18n/ksh.json b/resources/lib/oojs-ui/i18n/ksh.json index c975e825b2..792b6fcb18 100644 --- a/resources/lib/oojs-ui/i18n/ksh.json +++ b/resources/lib/oojs-ui/i18n/ksh.json @@ -15,5 +15,7 @@ "ooui-dialog-process-error": "Öhnsjädd es scheif jejange", "ooui-dialog-process-dismiss": "Maach fott, ha_sch jelässe", "ooui-dialog-process-retry": "Norr_ens versöhke", - "ooui-dialog-process-continue": "Wigger maache" + "ooui-dialog-process-continue": "Wigger maache", + "ooui-selectfile-not-supported": "Mer ogerschtözze et Datteij_Ußwähle nit.", + "ooui-selectfile-placeholder": "Kein Dattei es ußjewählt" } diff --git a/resources/lib/oojs-ui/i18n/ku-latn.json b/resources/lib/oojs-ui/i18n/ku-latn.json index be9a8abd09..a2bdbd5351 100644 --- a/resources/lib/oojs-ui/i18n/ku-latn.json +++ b/resources/lib/oojs-ui/i18n/ku-latn.json @@ -1,9 +1,11 @@ { "@metadata": { "authors": [ - "George Animal" + "George Animal", + "Bikarhêner" ] }, + "ooui-toolbar-more": "Bêhtir", "ooui-toolgroup-expand": "Bêhtir", "ooui-toolgroup-collapse": "Kêmtir", "ooui-dialog-message-accept": "Baş e", diff --git a/resources/lib/oojs-ui/i18n/lb.json b/resources/lib/oojs-ui/i18n/lb.json index 119d1be92f..79bb469b42 100644 --- a/resources/lib/oojs-ui/i18n/lb.json +++ b/resources/lib/oojs-ui/i18n/lb.json @@ -21,5 +21,6 @@ "ooui-dialog-process-error": "Et ass eppes schif gaang", "ooui-dialog-process-dismiss": "Verwerfen", "ooui-dialog-process-retry": "Nach eng Kéier probéieren", - "ooui-dialog-process-continue": "Virufueren" + "ooui-dialog-process-continue": "Virufueren", + "ooui-selectfile-placeholder": "Et ass kee Fichier erausgesicht" } diff --git a/resources/lib/oojs-ui/i18n/mk.json b/resources/lib/oojs-ui/i18n/mk.json index 7962336c66..53e5bf4401 100644 --- a/resources/lib/oojs-ui/i18n/mk.json +++ b/resources/lib/oojs-ui/i18n/mk.json @@ -17,5 +17,7 @@ "ooui-dialog-process-error": "Нешто не е во ред", "ooui-dialog-process-dismiss": "Тргни", "ooui-dialog-process-retry": "Обиди се пак", - "ooui-dialog-process-continue": "Продолжи" + "ooui-dialog-process-continue": "Продолжи", + "ooui-selectfile-not-supported": "Изборот на податотеки не е поддржан", + "ooui-selectfile-placeholder": "Немате одбрано податотека" } diff --git a/resources/lib/oojs-ui/i18n/mr.json b/resources/lib/oojs-ui/i18n/mr.json index 70061907cd..6bc94f1eae 100644 --- a/resources/lib/oojs-ui/i18n/mr.json +++ b/resources/lib/oojs-ui/i18n/mr.json @@ -6,10 +6,16 @@ "Praju23", "V.narsikar", "Ydyashad", - "संतोष दहिवळ" + "संतोष दहिवळ", + "NehalDaveND" ] }, "ooui-outline-control-move-down": "घटक (आयटम) खाली सरकवा", "ooui-outline-control-move-up": "घटक (आयटम) वर सरकवा", - "ooui-toolbar-more": "अधिक" + "ooui-toolbar-more": "अधिक", + "ooui-toolgroup-expand": "अधिक", + "ooui-dialog-message-accept": "ठिक आहे", + "ooui-dialog-message-reject": "रद्द करा", + "ooui-dialog-process-dismiss": "रद्द करा", + "ooui-dialog-process-continue": "चालू ठेवा" } diff --git a/resources/lib/oojs-ui/i18n/ms.json b/resources/lib/oojs-ui/i18n/ms.json index 823d49365b..2be1122e47 100644 --- a/resources/lib/oojs-ui/i18n/ms.json +++ b/resources/lib/oojs-ui/i18n/ms.json @@ -10,8 +10,12 @@ "ooui-outline-control-move-up": "Alihkan perkara ke atas", "ooui-outline-control-remove": "Buang perkara", "ooui-toolbar-more": "Selebihnya", + "ooui-toolgroup-expand": "Selengkapnya", + "ooui-toolgroup-collapse": "Secukupnya", + "ooui-dialog-message-accept": "OK", "ooui-dialog-message-reject": "Batal", "ooui-dialog-process-error": "Ada masalah", "ooui-dialog-process-dismiss": "Singkir", - "ooui-dialog-process-retry": "Cuba lagi" + "ooui-dialog-process-retry": "Cuba lagi", + "ooui-dialog-process-continue": "Teruskan" } diff --git a/resources/lib/oojs-ui/i18n/nap.json b/resources/lib/oojs-ui/i18n/nap.json index 9166037329..9c07f410d1 100644 --- a/resources/lib/oojs-ui/i18n/nap.json +++ b/resources/lib/oojs-ui/i18n/nap.json @@ -3,8 +3,22 @@ "authors": [ "Chelin", "Chrisportelli", - "PiRSquared17" + "PiRSquared17", + "C.R." ] }, - "ooui-toolbar-more": "Atro" + "ooui-outline-control-move-down": "Mòve abbascio", + "ooui-outline-control-move-up": "Mòve ncoppa", + "ooui-outline-control-remove": "Leva elemento", + "ooui-toolbar-more": "Atro", + "ooui-toolgroup-expand": "Cchiù", + "ooui-toolgroup-collapse": "Meno", + "ooui-dialog-message-accept": "OK", + "ooui-dialog-message-reject": "Scancella", + "ooui-dialog-process-error": "Cocchosa è ghiuta malamente", + "ooui-dialog-process-dismiss": "Passa 'a vacca", + "ooui-dialog-process-retry": "Prova n'ata vota", + "ooui-dialog-process-continue": "Continua", + "ooui-selectfile-not-supported": "Filtro 'e selezione nun suppurtato", + "ooui-selectfile-placeholder": "Nun s'è scigliuto nisciuno file" } diff --git a/resources/lib/oojs-ui/i18n/pl.json b/resources/lib/oojs-ui/i18n/pl.json index fbd0c8cc62..3023479cb9 100644 --- a/resources/lib/oojs-ui/i18n/pl.json +++ b/resources/lib/oojs-ui/i18n/pl.json @@ -30,5 +30,6 @@ "ooui-dialog-process-error": "Coś poszło nie tak", "ooui-dialog-process-dismiss": "Ukryj", "ooui-dialog-process-retry": "Spróbuj ponownie", - "ooui-dialog-process-continue": "Kontynuuj" + "ooui-dialog-process-continue": "Kontynuuj", + "ooui-selectfile-placeholder": "Nie wybrano pliku" } diff --git a/resources/lib/oojs-ui/i18n/pt.json b/resources/lib/oojs-ui/i18n/pt.json index 7b3176fb4b..aab0aed430 100644 --- a/resources/lib/oojs-ui/i18n/pt.json +++ b/resources/lib/oojs-ui/i18n/pt.json @@ -24,5 +24,7 @@ "ooui-dialog-process-error": "Algo correu mal", "ooui-dialog-process-dismiss": "Ignorar", "ooui-dialog-process-retry": "Tentar novamente", - "ooui-dialog-process-continue": "Continuar" + "ooui-dialog-process-continue": "Continuar", + "ooui-selectfile-not-supported": "A seleção de ficheiros não é suportada", + "ooui-selectfile-placeholder": "Nenhum ficheiro selecionado" } diff --git a/resources/lib/oojs-ui/i18n/qqq.json b/resources/lib/oojs-ui/i18n/qqq.json index c1b794aba9..bef65ed873 100644 --- a/resources/lib/oojs-ui/i18n/qqq.json +++ b/resources/lib/oojs-ui/i18n/qqq.json @@ -31,5 +31,8 @@ "ooui-dialog-process-error": "Title for process dialog error description", "ooui-dialog-process-dismiss": "Label for process dialog dismiss error button, visible when describing errors\n{{Identical|Dismiss}}", "ooui-dialog-process-retry": "Label for process dialog retry action button, visible when describing recoverable errors\n{{Identical|Try again}}", - "ooui-dialog-process-continue": "Label for process dialog retry action button, visible when describing only warnings\n{{Identical|Continue}}" + "ooui-dialog-process-continue": "Label for process dialog retry action button, visible when describing only warnings\n{{Identical|Continue}}", + "ooui-selectfile-not-supported": "Label for the file selection dialog if file selection is not supported", + "ooui-selectfile-placeholder": "Label for the file selection dialog when no file is currently selected", + "ooui-semicolon-separator": "{{optional}} Semicolon used as a separator" } diff --git a/resources/lib/oojs-ui/i18n/ro.json b/resources/lib/oojs-ui/i18n/ro.json index 258f3e742c..970a602616 100644 --- a/resources/lib/oojs-ui/i18n/ro.json +++ b/resources/lib/oojs-ui/i18n/ro.json @@ -19,5 +19,7 @@ "ooui-dialog-process-error": "Ceva nu a funcționat", "ooui-dialog-process-dismiss": "Renunțare", "ooui-dialog-process-retry": "Reîncearcă", - "ooui-dialog-process-continue": "Continuă" + "ooui-dialog-process-continue": "Continuă", + "ooui-selectfile-not-supported": "Selecția de fișiere nu este acceptată", + "ooui-selectfile-placeholder": "Niciun fișier selectat" } diff --git a/resources/lib/oojs-ui/i18n/sa.json b/resources/lib/oojs-ui/i18n/sa.json new file mode 100644 index 0000000000..49f038c73d --- /dev/null +++ b/resources/lib/oojs-ui/i18n/sa.json @@ -0,0 +1,14 @@ +{ + "@metadata": { + "authors": [ + "NehalDaveND" + ] + }, + "ooui-outline-control-remove": "वस्तु निष्कास्यताम्", + "ooui-toolbar-more": "अधिकम्", + "ooui-toolgroup-expand": "अधिकम्", + "ooui-dialog-message-accept": "अस्तु", + "ooui-dialog-message-reject": "निरस्यताम्", + "ooui-dialog-process-retry": "पुनः चेष्ट्यताम्", + "ooui-dialog-process-continue": "निरन्तरम्" +} diff --git a/resources/lib/oojs-ui/i18n/te.json b/resources/lib/oojs-ui/i18n/te.json index d4868706b2..957b0d0f17 100644 --- a/resources/lib/oojs-ui/i18n/te.json +++ b/resources/lib/oojs-ui/i18n/te.json @@ -9,5 +9,14 @@ "Visdaviva", "மதனாஹரன்" ] - } + }, + "ooui-toolbar-more": "మరిన్ని", + "ooui-toolgroup-expand": "మరిన్ని", + "ooui-toolgroup-collapse": "కొన్ని", + "ooui-dialog-message-accept": "సరే", + "ooui-dialog-message-reject": "రద్దుచేయి", + "ooui-dialog-process-error": "ఏదో పొరపాటు జరిగింది", + "ooui-dialog-process-dismiss": "రద్దుచేయి", + "ooui-dialog-process-retry": "మళ్ళీ ప్రయత్నించు", + "ooui-dialog-process-continue": "కొనసాగించు" } diff --git a/resources/lib/oojs-ui/i18n/xmf.json b/resources/lib/oojs-ui/i18n/xmf.json new file mode 100644 index 0000000000..f5bfa2c661 --- /dev/null +++ b/resources/lib/oojs-ui/i18n/xmf.json @@ -0,0 +1,19 @@ +{ + "@metadata": { + "authors": [ + "David1010" + ] + }, + "ooui-outline-control-move-down": "ელემენტის ქვემოთ გადატანა", + "ooui-outline-control-move-up": "ელემენტის ზემოთ გადატანა", + "ooui-outline-control-remove": "ელემენტის წაშლა", + "ooui-toolbar-more": "უმოსი", + "ooui-toolgroup-expand": "უმოსი", + "ooui-toolgroup-collapse": "რამდენიმე", + "ooui-dialog-message-accept": "ჯგირი", + "ooui-dialog-message-reject": "გოუქვაფა", + "ooui-dialog-process-error": "მოხდა რაღაც შეცდომა", + "ooui-dialog-process-dismiss": "დამალვა", + "ooui-dialog-process-retry": "კიდევ სცადეთ", + "ooui-dialog-process-continue": "გაგრძელება" +} diff --git a/resources/lib/oojs-ui/i18n/zh-hans.json b/resources/lib/oojs-ui/i18n/zh-hans.json index ed2f61e43f..7247d938e0 100644 --- a/resources/lib/oojs-ui/i18n/zh-hans.json +++ b/resources/lib/oojs-ui/i18n/zh-hans.json @@ -30,5 +30,7 @@ "ooui-dialog-process-error": "发生一些错误", "ooui-dialog-process-dismiss": "解除", "ooui-dialog-process-retry": "重试", - "ooui-dialog-process-continue": "继续" + "ooui-dialog-process-continue": "继续", + "ooui-selectfile-not-supported": "文件选择不受支持", + "ooui-selectfile-placeholder": "没有选定文件" } diff --git a/resources/lib/oojs-ui/oojs-ui-apex-noimages.css b/resources/lib/oojs-ui/oojs-ui-apex-noimages.css index fad3c283eb..13e9d27a2d 100644 --- a/resources/lib/oojs-ui/oojs-ui-apex-noimages.css +++ b/resources/lib/oojs-ui/oojs-ui-apex-noimages.css @@ -1,12 +1,12 @@ /*! - * OOjs UI v0.11.3 + * OOjs UI v0.11.4 * https://www.mediawiki.org/wiki/OOjs_UI * * Copyright 2011–2015 OOjs Team and other contributors. * Released under the MIT license * http://oojs.mit-license.org * - * Date: 2015-05-12T12:15:44Z + * Date: 2015-06-09T22:03:21Z */ @-webkit-keyframes oo-ui-progressBarWidget-slide { from { @@ -178,9 +178,8 @@ background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #ffffff), color-stop(100%, #dddddd)); background-image: -webkit-linear-gradient(top, #ffffff 0%, #dddddd 100%); background-image: -moz-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: -ms-linear-gradient(top, #ffffff 0%, #dddddd 100%); background-image: -o-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: linear-gradient(top, #ffffff 0%, #dddddd 100%); + background-image: linear-gradient(to bottom, #ffffff 0%, #dddddd 100%); } .oo-ui-buttonElement-framed > .oo-ui-buttonElement-button:hover, .oo-ui-buttonElement-framed > .oo-ui-buttonElement-button:focus { @@ -202,9 +201,8 @@ background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #dddddd), color-stop(100%, #ffffff)); background-image: -webkit-linear-gradient(top, #dddddd 0%, #ffffff 100%); background-image: -moz-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: -ms-linear-gradient(top, #dddddd 0%, #ffffff 100%); background-image: -o-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: linear-gradient(top, #dddddd 0%, #ffffff 100%); + background-image: linear-gradient(to bottom, #dddddd 0%, #ffffff 100%); } .oo-ui-buttonElement-framed.oo-ui-iconElement > .oo-ui-buttonElement-button > .oo-ui-iconElement-icon { margin-left: -0.5em; @@ -230,9 +228,8 @@ background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #eaf4fa), color-stop(100%, #b0d9ee)); background-image: -webkit-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); background-image: -moz-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: -ms-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); background-image: -o-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); + background-image: linear-gradient(to bottom, #eaf4fa 0%, #b0d9ee 100%); } .oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover, .oo-ui-buttonElement-framed.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { @@ -247,9 +244,8 @@ background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #b0d9ee), color-stop(100%, #eaf4fa)); background-image: -webkit-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); background-image: -moz-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: -ms-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); background-image: -o-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); + background-image: linear-gradient(to bottom, #b0d9ee 0%, #eaf4fa 100%); } .oo-ui-buttonElement-framed.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button { border: 1px solid #b8d892; @@ -258,9 +254,8 @@ background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f0fbe1), color-stop(100%, #c3e59a)); background-image: -webkit-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%); background-image: -moz-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%); - background-image: -ms-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%); background-image: -o-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%); - background-image: linear-gradient(top, #f0fbe1 0%, #c3e59a 100%); + background-image: linear-gradient(to bottom, #f0fbe1 0%, #c3e59a 100%); } .oo-ui-buttonElement-framed.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button:hover, .oo-ui-buttonElement-framed.oo-ui-flaggedElement-constructive > .oo-ui-buttonElement-button:focus { @@ -275,9 +270,8 @@ background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #c3e59a), color-stop(100%, #f0fbe1)); background-image: -webkit-linear-gradient(top, #c3e59a 0%, #f0fbe1 100%); background-image: -moz-linear-gradient(top, #c3e59a 0%, #f0fbe1 100%); - background-image: -ms-linear-gradient(top, #c3e59a 0%, #f0fbe1 100%); background-image: -o-linear-gradient(top, #c3e59a 0%, #f0fbe1 100%); - background-image: linear-gradient(top, #c3e59a 0%, #f0fbe1 100%); + background-image: linear-gradient(to bottom, #c3e59a 0%, #f0fbe1 100%); } .oo-ui-buttonElement-framed.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: #d45353; @@ -465,11 +459,6 @@ .oo-ui-fieldLayout-disabled .oo-ui-labelElement-label { color: #cccccc; } -.oo-ui-actionFieldLayout-field { - display: table; - table-layout: fixed; - width: 100%; -} .oo-ui-actionFieldLayout-input, .oo-ui-actionFieldLayout-button { display: table-cell; @@ -771,9 +760,8 @@ background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f1f7fb), color-stop(100%, #ffffff)); background-image: -webkit-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); background-image: -moz-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -ms-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); background-image: -o-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: linear-gradient(top, #f1f7fb 0%, #ffffff 100%); + background-image: linear-gradient(to bottom, #f1f7fb 0%, #ffffff 100%); } .oo-ui-barToolGroup.oo-ui-widget-enabled > .oo-ui-toolGroup-tools > .oo-ui-tool.oo-ui-tool-active.oo-ui-widget-enabled + .oo-ui-tool-active.oo-ui-widget-enabled { border-left-color: rgba(0, 0, 0, 0.1); @@ -909,9 +897,8 @@ background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f1f7fb), color-stop(100%, #ffffff)); background-image: -webkit-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); background-image: -moz-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -ms-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); background-image: -o-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: linear-gradient(top, #f1f7fb 0%, #ffffff 100%); + background-image: linear-gradient(to bottom, #f1f7fb 0%, #ffffff 100%); } .oo-ui-popupToolGroup .oo-ui-toolGroup-tools { top: 2.5em; @@ -969,9 +956,8 @@ background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f1f7fb), color-stop(100%, #ffffff)); background-image: -webkit-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); background-image: -moz-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: -ms-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); background-image: -o-linear-gradient(top, #f1f7fb 0%, #ffffff 100%); - background-image: linear-gradient(top, #f1f7fb 0%, #ffffff 100%); + background-image: linear-gradient(to bottom, #f1f7fb 0%, #ffffff 100%); } .oo-ui-listToolGroup .oo-ui-tool-active.oo-ui-widget-enabled + .oo-ui-tool-active.oo-ui-widget-enabled { border-top-color: rgba(0, 0, 0, 0.1); @@ -1110,9 +1096,8 @@ background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #ffffff), color-stop(100%, #f1f7fb)); background-image: -webkit-linear-gradient(top, #ffffff 0%, #f1f7fb 100%); background-image: -moz-linear-gradient(top, #ffffff 0%, #f1f7fb 100%); - background-image: -ms-linear-gradient(top, #ffffff 0%, #f1f7fb 100%); background-image: -o-linear-gradient(top, #ffffff 0%, #f1f7fb 100%); - background-image: linear-gradient(top, #ffffff 0%, #f1f7fb 100%); + background-image: linear-gradient(to bottom, #ffffff 0%, #f1f7fb 100%); } .oo-ui-toolbar-bar .oo-ui-toolbar-bar { border: none; @@ -1364,9 +1349,8 @@ background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #dddddd), color-stop(100%, #ffffff)); background-image: -webkit-linear-gradient(top, #dddddd 0%, #ffffff 100%); background-image: -moz-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: -ms-linear-gradient(top, #dddddd 0%, #ffffff 100%); background-image: -o-linear-gradient(top, #dddddd 0%, #ffffff 100%); - background-image: linear-gradient(top, #dddddd 0%, #ffffff 100%); + background-image: linear-gradient(to bottom, #dddddd 0%, #ffffff 100%); } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { cursor: default; @@ -1418,9 +1402,8 @@ background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #ffffff), color-stop(100%, #dddddd)); background-image: -webkit-linear-gradient(top, #ffffff 0%, #dddddd 100%); background-image: -moz-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: -ms-linear-gradient(top, #ffffff 0%, #dddddd 100%); background-image: -o-linear-gradient(top, #ffffff 0%, #dddddd 100%); - background-image: linear-gradient(top, #ffffff 0%, #dddddd 100%); + background-image: linear-gradient(to bottom, #ffffff 0%, #dddddd 100%); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { @@ -1439,9 +1422,8 @@ background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #b0d9ee), color-stop(100%, #eaf4fa)); background-image: -webkit-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); background-image: -moz-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: -ms-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); background-image: -o-linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); - background-image: linear-gradient(top, #b0d9ee 0%, #eaf4fa 100%); + background-image: linear-gradient(to bottom, #b0d9ee 0%, #eaf4fa 100%); } .oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-glow { opacity: 1; @@ -1477,9 +1459,8 @@ background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #eaf4fa), color-stop(100%, #b0d9ee)); background-image: -webkit-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); background-image: -moz-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: -ms-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); background-image: -o-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); - background-image: linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%); + background-image: linear-gradient(to bottom, #eaf4fa 0%, #b0d9ee 100%); } .oo-ui-progressBarWidget-indeterminate .oo-ui-progressBarWidget-bar { -webkit-animation: oo-ui-progressBarWidget-slide 2s infinite linear; @@ -1630,6 +1611,7 @@ box-sizing: border-box; } .oo-ui-dropdownInputWidget select { + background: #ffffff; height: 2.5em; padding: 0.5em; font-size: inherit; @@ -1647,6 +1629,9 @@ border-color: #dddddd; background-color: #f3f3f3; } +.oo-ui-radioSelectInputWidget .oo-ui-fieldLayout { + margin-bottom: 0; +} .oo-ui-textInputWidget { position: relative; vertical-align: middle; @@ -1709,6 +1694,7 @@ .oo-ui-textInputWidget input, .oo-ui-textInputWidget textarea { padding: 0.5em; + line-height: 1.275em; font-size: inherit; font-family: inherit; background-color: #ffffff; @@ -1911,6 +1897,148 @@ .oo-ui-dropdownWidget.oo-ui-indicatorElement .oo-ui-dropdownWidget-handle .oo-ui-labelElement-label { margin-right: 2em; } +.oo-ui-selectFileWidget { + display: inline-block; + position: relative; + vertical-align: middle; + margin: 0.25em 0; + width: 100%; + max-width: 50em; + margin-right: 0.5em; +} +.oo-ui-selectFileWidget-handle { + width: 100%; + display: inline-block; + cursor: pointer; + overflow: hidden; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.oo-ui-selectFileWidget-handle > .oo-ui-indicatorElement-indicator, +.oo-ui-selectFileWidget-handle > .oo-ui-iconElement-icon, +.oo-ui-selectFileWidget-handle > .oo-ui-selectFileWidget-clearButton { + position: absolute; + background-position: center center; + background-repeat: no-repeat; +} +.oo-ui-selectFileWidget-handle > input[type="file"] { + position: absolute; + margin: 0; + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 100%; + height: 100%; + opacity: 0; + z-index: 1; + cursor: pointer; +} +.oo-ui-selectFileWidget-handle > .oo-ui-selectFileWidget-clearButton { + z-index: 2; +} +.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-handle, +.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-handle { + cursor: default; +} +.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-handle > input[type="file"], +.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-handle > input[type="file"] { + display: none; +} +.oo-ui-selectFileWidget-empty .oo-ui-selectFileWidget-clearButton, +.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-clearButton { + display: none; +} +.oo-ui-selectFileWidget:last-child { + margin-right: 0; +} +.oo-ui-selectFileWidget-handle { + height: 2.5em; + border: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 0.25em; + padding: 0 0.5em; +} +.oo-ui-selectFileWidget-handle > .oo-ui-indicatorElement-indicator { + right: 0; +} +.oo-ui-selectFileWidget-handle > .oo-ui-iconElement-icon { + left: 0.25em; +} +.oo-ui-selectFileWidget-handle .oo-ui-selectFileWidget-label { + line-height: 2.5em; + margin: 0; + display: inline-block; + overflow: hidden; + width: 100%; + white-space: nowrap; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + text-overflow: ellipsis; +} +.oo-ui-selectFileWidget-handle .oo-ui-selectFileWidget-clearButton { + top: 0; + width: 1.875em; + height: 1.875em; + margin: 0.3em; +} +.oo-ui-selectFileWidget-handle > .oo-ui-indicatorElement-indicator { + top: 0; + width: 0.9375em; + height: 0.9375em; + margin: 0.775em; +} +.oo-ui-selectFileWidget-handle > .oo-ui-iconElement-icon { + top: 0; + width: 1.875em; + height: 1.875em; + margin: 0.3em; +} +.oo-ui-selectFileWidget:hover .oo-ui-selectFileWidget-handle { + border-color: #aaaaaa; +} +.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-handle { + color: #cccccc; + text-shadow: 0 1px 1px #ffffff; + border-color: #dddddd; + background-color: #f3f3f3; +} +.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-handle > .oo-ui-iconElement-icon, +.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-handle > .oo-ui-indicatorElement-indicator { + opacity: 0.2; +} +.oo-ui-selectFileWidget-empty .oo-ui-selectFileWidget-label { + color: #cccccc; +} +.oo-ui-selectFileWidget.oo-ui-iconElement .oo-ui-selectFileWidget-handle { + padding-left: 3em; +} +.oo-ui-selectFileWidget .oo-ui-selectFileWidget-handle { + padding-right: 3em; +} +.oo-ui-selectFileWidget .oo-ui-selectFileWidget-handle .oo-ui-selectFileWidget-clearButton { + right: 0; +} +.oo-ui-selectFileWidget.oo-ui-indicatorElement .oo-ui-selectFileWidget-handle { + padding-right: 5em; +} +.oo-ui-selectFileWidget.oo-ui-indicatorElement .oo-ui-selectFileWidget-handle .oo-ui-selectFileWidget-clearButton { + right: 2em; +} +.oo-ui-selectFileWidget-empty .oo-ui-selectFileWidget-handle, +.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-handle { + padding-right: 1em; +} +.oo-ui-selectFileWidget-empty.oo-ui-indicatorElement .oo-ui-selectFileWidget-handle, +.oo-ui-selectFileWidget-notsupported.oo-ui-indicatorElement .oo-ui-selectFileWidget-handle { + padding-right: 2em; +} .oo-ui-outlineOptionWidget { position: relative; cursor: pointer; @@ -2101,6 +2229,48 @@ padding: 1em; line-height: 0; } +.oo-ui-numberInputWidget { + display: inline-block; + position: relative; + max-width: 50em; +} +.oo-ui-numberInputWidget-field { + display: table; + table-layout: fixed; + width: 100%; +} +.oo-ui-numberInputWidget-field > .oo-ui-buttonWidget, +.oo-ui-numberInputWidget-field > .oo-ui-textInputWidget { + display: table-cell; + vertical-align: middle; +} +.oo-ui-numberInputWidget-field > .oo-ui-textInputWidget { + width: 100%; +} +.oo-ui-numberInputWidget-field > .oo-ui-buttonWidget { + white-space: nowrap; +} +.oo-ui-numberInputWidget-field > .oo-ui-buttonWidget > .oo-ui-buttonElement-button { + box-sizing: border-box; +} +.oo-ui-numberInputWidget-field > .oo-ui-buttonWidget, +.oo-ui-numberInputWidget-field > .oo-ui-buttonWidget > .oo-ui-buttonElement-button { + margin: 0; + width: 2.5em; +} +.oo-ui-numberInputWidget-minusButton.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right-width: 0; +} +.oo-ui-numberInputWidget-plusButton.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left-width: 0; +} +.oo-ui-numberInputWidget .oo-ui-textInputWidget input { + border-radius: 0; +} .oo-ui-window { background-color: transparent; background-image: none; @@ -2216,18 +2386,24 @@ } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right: 1px solid #e5e5e5; + margin: 0; } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget:last-child { border-right-width: 0; } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom: 1px solid #e5e5e5; + margin: 0; } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget:last-child { border-bottom-width: 0; } .oo-ui-messageDialog-actions .oo-ui-actionWidget { height: 3.4em; + margin-right: 0; +} +.oo-ui-messageDialog-actions .oo-ui-actionWidget:last-child { + margin-right: 0; } .oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-labelElement .oo-ui-labelElement-label { text-align: center; diff --git a/resources/lib/oojs-ui/oojs-ui-apex.js b/resources/lib/oojs-ui/oojs-ui-apex.js index d997f8c64c..9bdac7b4c2 100644 --- a/resources/lib/oojs-ui/oojs-ui-apex.js +++ b/resources/lib/oojs-ui/oojs-ui-apex.js @@ -1,12 +1,12 @@ /*! - * OOjs UI v0.11.3 + * OOjs UI v0.11.4 * https://www.mediawiki.org/wiki/OOjs_UI * * Copyright 2011–2015 OOjs Team and other contributors. * Released under the MIT license * http://oojs.mit-license.org * - * Date: 2015-05-12T12:15:37Z + * Date: 2015-06-09T22:03:14Z */ /** * @class diff --git a/resources/lib/oojs-ui/oojs-ui-mediawiki-noimages.css b/resources/lib/oojs-ui/oojs-ui-mediawiki-noimages.css index 12e80c11b3..72cc1e3661 100644 --- a/resources/lib/oojs-ui/oojs-ui-mediawiki-noimages.css +++ b/resources/lib/oojs-ui/oojs-ui-mediawiki-noimages.css @@ -1,12 +1,12 @@ /*! - * OOjs UI v0.11.3 + * OOjs UI v0.11.4 * https://www.mediawiki.org/wiki/OOjs_UI * * Copyright 2011–2015 OOjs Team and other contributors. * Released under the MIT license * http://oojs.mit-license.org * - * Date: 2015-05-12T12:15:44Z + * Date: 2015-06-09T22:03:21Z */ @-webkit-keyframes oo-ui-progressBarWidget-slide { from { @@ -544,11 +544,6 @@ .oo-ui-fieldLayout-disabled .oo-ui-labelElement-label { color: #cccccc; } -.oo-ui-actionFieldLayout-field { - display: table; - table-layout: fixed; - width: 100%; -} .oo-ui-actionFieldLayout-input, .oo-ui-actionFieldLayout-button { display: table-cell; @@ -1705,8 +1700,8 @@ box-sizing: border-box; } .oo-ui-dropdownInputWidget select { - height: 2.5em; - padding: 0.5em; + background: #ffffff; + height: 2.275em; font-size: inherit; font-family: inherit; -webkit-box-sizing: border-box; @@ -1793,6 +1788,9 @@ background-image: linear-gradient(transparent, transparent), /* @embed */ url("themes/mediawiki/images/icons/circle-invert.svg"); background-image: -o-linear-gradient(transparent, transparent), url("themes/mediawiki/images/icons/circle-invert.png"); } +.oo-ui-radioSelectInputWidget .oo-ui-fieldLayout { + margin-bottom: 0; +} .oo-ui-textInputWidget { position: relative; vertical-align: middle; @@ -1855,6 +1853,7 @@ .oo-ui-textInputWidget input, .oo-ui-textInputWidget textarea { padding: 0.5em; + line-height: 1.275em; margin: 0; font-size: inherit; font-family: inherit; @@ -2050,7 +2049,7 @@ margin-right: 0; } .oo-ui-dropdownWidget-handle { - height: 2.5em; + padding: 0.5em 0; border: 1px solid #cccccc; border-radius: 0.1em; } @@ -2061,7 +2060,7 @@ left: 0.25em; } .oo-ui-dropdownWidget-handle .oo-ui-labelElement-label { - line-height: 2.5em; + line-height: 1.275em; margin: 0 1em; } .oo-ui-dropdownWidget-handle .oo-ui-indicatorElement-indicator { @@ -2097,6 +2096,148 @@ .oo-ui-dropdownWidget .oo-ui-selectWidget { border-top-color: #ffffff; } +.oo-ui-selectFileWidget { + display: inline-block; + position: relative; + vertical-align: middle; + margin: 0.25em 0; + width: 100%; + max-width: 50em; + margin-right: 0.5em; +} +.oo-ui-selectFileWidget-handle { + width: 100%; + display: inline-block; + cursor: pointer; + overflow: hidden; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.oo-ui-selectFileWidget-handle > .oo-ui-indicatorElement-indicator, +.oo-ui-selectFileWidget-handle > .oo-ui-iconElement-icon, +.oo-ui-selectFileWidget-handle > .oo-ui-selectFileWidget-clearButton { + position: absolute; + background-position: center center; + background-repeat: no-repeat; +} +.oo-ui-selectFileWidget-handle > input[type="file"] { + position: absolute; + margin: 0; + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 100%; + height: 100%; + opacity: 0; + z-index: 1; + cursor: pointer; +} +.oo-ui-selectFileWidget-handle > .oo-ui-selectFileWidget-clearButton { + z-index: 2; +} +.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-handle, +.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-handle { + cursor: default; +} +.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-handle > input[type="file"], +.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-handle > input[type="file"] { + display: none; +} +.oo-ui-selectFileWidget-empty .oo-ui-selectFileWidget-clearButton, +.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-clearButton { + display: none; +} +.oo-ui-selectFileWidget:last-child { + margin-right: 0; +} +.oo-ui-selectFileWidget-handle { + height: 2.5em; + border: 1px solid #cccccc; + border-radius: 0.1em; + padding: 0 1em; +} +.oo-ui-selectFileWidget-handle > .oo-ui-indicatorElement-indicator { + right: 0; +} +.oo-ui-selectFileWidget-handle > .oo-ui-iconElement-icon { + left: 0.25em; +} +.oo-ui-selectFileWidget-handle .oo-ui-selectFileWidget-label { + line-height: 2.5em; + margin: 0; + display: inline-block; + overflow: hidden; + width: 100%; + white-space: nowrap; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + text-overflow: ellipsis; +} +.oo-ui-selectFileWidget-handle .oo-ui-selectFileWidget-clearButton { + top: 0; + width: 1.875em; + height: 1.875em; + margin: 0.3em; +} +.oo-ui-selectFileWidget-handle > .oo-ui-indicatorElement-indicator { + top: 0; + width: 0.9375em; + height: 0.9375em; + margin: 0.775em; +} +.oo-ui-selectFileWidget-handle > .oo-ui-iconElement-icon { + top: 0; + width: 1.875em; + height: 1.875em; + margin: 0.3em; +} +.oo-ui-selectFileWidget:hover .oo-ui-selectFileWidget-handle { + border-color: #aaaaaa; +} +.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-handle { + color: #cccccc; + text-shadow: 0 1px 1px #ffffff; + border-color: #dddddd; + background-color: #f3f3f3; +} +.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-handle > .oo-ui-iconElement-icon, +.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-handle > .oo-ui-indicatorElement-indicator { + opacity: 0.2; +} +.oo-ui-selectFileWidget-empty .oo-ui-selectFileWidget-label { + color: #cccccc; +} +.oo-ui-selectFileWidget.oo-ui-iconElement .oo-ui-selectFileWidget-handle { + padding-left: 3em; +} +.oo-ui-selectFileWidget .oo-ui-selectFileWidget-handle { + padding-right: 3em; +} +.oo-ui-selectFileWidget .oo-ui-selectFileWidget-handle .oo-ui-selectFileWidget-clearButton { + right: 0; +} +.oo-ui-selectFileWidget.oo-ui-indicatorElement .oo-ui-selectFileWidget-handle { + padding-right: 5em; +} +.oo-ui-selectFileWidget.oo-ui-indicatorElement .oo-ui-selectFileWidget-handle .oo-ui-selectFileWidget-clearButton { + right: 2em; +} +.oo-ui-selectFileWidget-empty .oo-ui-selectFileWidget-handle, +.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-handle { + padding-right: 1em; +} +.oo-ui-selectFileWidget-empty.oo-ui-indicatorElement .oo-ui-selectFileWidget-handle, +.oo-ui-selectFileWidget-notsupported.oo-ui-indicatorElement .oo-ui-selectFileWidget-handle { + padding-right: 2em; +} .oo-ui-outlineOptionWidget { position: relative; cursor: pointer; @@ -2272,6 +2413,48 @@ padding: 1em; line-height: 0; } +.oo-ui-numberInputWidget { + display: inline-block; + position: relative; + max-width: 50em; +} +.oo-ui-numberInputWidget-field { + display: table; + table-layout: fixed; + width: 100%; +} +.oo-ui-numberInputWidget-field > .oo-ui-buttonWidget, +.oo-ui-numberInputWidget-field > .oo-ui-textInputWidget { + display: table-cell; + vertical-align: middle; +} +.oo-ui-numberInputWidget-field > .oo-ui-textInputWidget { + width: 100%; +} +.oo-ui-numberInputWidget-field > .oo-ui-buttonWidget { + white-space: nowrap; +} +.oo-ui-numberInputWidget-field > .oo-ui-buttonWidget > .oo-ui-buttonElement-button { + box-sizing: border-box; +} +.oo-ui-numberInputWidget-field > .oo-ui-buttonWidget, +.oo-ui-numberInputWidget-field > .oo-ui-buttonWidget > .oo-ui-buttonElement-button { + margin: 0; + width: 2.5em; +} +.oo-ui-numberInputWidget-minusButton.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right-width: 0; +} +.oo-ui-numberInputWidget-plusButton.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left-width: 0; +} +.oo-ui-numberInputWidget .oo-ui-textInputWidget input { + border-radius: 0; +} .oo-ui-window { background: transparent; } @@ -2383,18 +2566,24 @@ } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right: 1px solid #e5e5e5; + margin: 0; } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget:last-child { border-right-width: 0; } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom: 1px solid #e5e5e5; + margin: 0; } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget:last-child { border-bottom-width: 0; } .oo-ui-messageDialog-actions .oo-ui-actionWidget { height: 3.4em; + margin-right: 0; +} +.oo-ui-messageDialog-actions .oo-ui-actionWidget:last-child { + margin-right: 0; } .oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-labelElement .oo-ui-labelElement-label { text-align: center; diff --git a/resources/lib/oojs-ui/oojs-ui-mediawiki.js b/resources/lib/oojs-ui/oojs-ui-mediawiki.js index eaca1f15a8..db175a51b4 100644 --- a/resources/lib/oojs-ui/oojs-ui-mediawiki.js +++ b/resources/lib/oojs-ui/oojs-ui-mediawiki.js @@ -1,12 +1,12 @@ /*! - * OOjs UI v0.11.3 + * OOjs UI v0.11.4 * https://www.mediawiki.org/wiki/OOjs_UI * * Copyright 2011–2015 OOjs Team and other contributors. * Released under the MIT license * http://oojs.mit-license.org * - * Date: 2015-05-12T12:15:37Z + * Date: 2015-06-09T22:03:14Z */ /** * @class diff --git a/resources/lib/oojs-ui/oojs-ui.js b/resources/lib/oojs-ui/oojs-ui.js index 9692d5cfac..e824a8f48d 100644 --- a/resources/lib/oojs-ui/oojs-ui.js +++ b/resources/lib/oojs-ui/oojs-ui.js @@ -1,12 +1,12 @@ /*! - * OOjs UI v0.11.3 + * OOjs UI v0.11.4 * https://www.mediawiki.org/wiki/OOjs_UI * * Copyright 2011–2015 OOjs Team and other contributors. * Released under the MIT license * http://oojs.mit-license.org * - * Date: 2015-05-12T12:15:37Z + * Date: 2015-06-09T22:03:14Z */ ( function ( OO ) { @@ -44,6 +44,21 @@ OO.ui.Keys = { SPACE: 32 }; +/** + * @property {Number} + */ +OO.ui.elementId = 0; + +/** + * Generate a unique ID for element + * + * @return {String} [id] + */ +OO.ui.generateElementId = function () { + OO.ui.elementId += 1; + return 'oojsui-' + OO.ui.elementId; +}; + /** * Check if an element is focusable. * Inspired from :focusable in jQueryUI v1.11.4 - 2015-04-14 @@ -230,7 +245,13 @@ OO.ui.infuse = function ( idOrNode ) { // Label for process dialog retry action button, visible when describing only recoverable errors 'ooui-dialog-process-retry': 'Try again', // Label for process dialog retry action button, visible when describing only warnings - 'ooui-dialog-process-continue': 'Continue' + 'ooui-dialog-process-continue': 'Continue', + // Default placeholder for file selection widgets + 'ooui-selectfile-not-supported': 'File selection is not supported', + // Default placeholder for file selection widgets + 'ooui-selectfile-placeholder': 'No file is selected', + // Semicolon separator + 'ooui-semicolon-separator': '; ' }; /** @@ -299,8 +320,72 @@ OO.ui.infuse = function ( idOrNode ) { } )(); +/*! + * Mixin namespace. + */ + +/** + * Namespace for OOjs UI mixins. + * + * Mixins are named according to the type of object they are intended to + * be mixed in to. For example, OO.ui.mixin.GroupElement is intended to be + * mixed in to an instance of OO.ui.Element, and OO.ui.mixin.GroupWidget + * is intended to be mixed in to an instance of OO.ui.Widget. + * + * @class + * @singleton + */ +OO.ui.mixin = {}; + /** - * Element that can be marked as pending. + * PendingElement is a mixin that is used to create elements that notify users that something is happening + * and that they should wait before proceeding. The pending state is visually represented with a pending + * texture that appears in the head of a pending {@link OO.ui.ProcessDialog process dialog} or in the input + * field of a {@link OO.ui.TextInputWidget text input widget}. + * + * Currently, {@link OO.ui.ActionWidget Action widgets}, which mix in this class, can also be marked as pending, but only when + * used in {@link OO.ui.MessageDialog message dialogs}. The behavior is not currently supported for action widgets used + * in process dialogs. + * + * @example + * function MessageDialog( config ) { + * MessageDialog.super.call( this, config ); + * } + * OO.inheritClass( MessageDialog, OO.ui.MessageDialog ); + * + * MessageDialog.static.actions = [ + * { action: 'save', label: 'Done', flags: 'primary' }, + * { label: 'Cancel', flags: 'safe' } + * ]; + * + * MessageDialog.prototype.initialize = function () { + * MessageDialog.super.prototype.initialize.apply( this, arguments ); + * this.content = new OO.ui.PanelLayout( { $: this.$, padded: true } ); + * this.content.$element.append( '

Click the \'Done\' action widget to see its pending state. Note that action widgets can be marked pending in message dialogs but not process dialogs.

' ); + * this.$body.append( this.content.$element ); + * }; + * MessageDialog.prototype.getBodyHeight = function () { + * return 100; + * } + * MessageDialog.prototype.getActionProcess = function ( action ) { + * var dialog = this; + * if ( action === 'save' ) { + * dialog.getActions().get({actions: 'save'})[0].pushPending(); + * return new OO.ui.Process() + * .next( 1000 ) + * .next( function () { + * dialog.getActions().get({actions: 'save'})[0].popPending(); + * } ); + * } + * return MessageDialog.super.prototype.getActionProcess.call( this, action ); + * }; + * + * var windowManager = new OO.ui.WindowManager(); + * $( 'body' ).append( windowManager.$element ); + * + * var dialog = new MessageDialog(); + * windowManager.addWindows( [ dialog ] ); + * windowManager.openWindow( dialog ); * * @abstract * @class @@ -309,7 +394,7 @@ OO.ui.infuse = function ( idOrNode ) { * @param {Object} [config] Configuration options * @cfg {jQuery} [$pending] Element to mark as pending, defaults to this.$element */ -OO.ui.PendingElement = function OoUiPendingElement( config ) { +OO.ui.mixin.PendingElement = function OoUiMixinPendingElement( config ) { // Configuration initialization config = config || {}; @@ -323,7 +408,7 @@ OO.ui.PendingElement = function OoUiPendingElement( config ) { /* Setup */ -OO.initClass( OO.ui.PendingElement ); +OO.initClass( OO.ui.mixin.PendingElement ); /* Methods */ @@ -332,7 +417,7 @@ OO.initClass( OO.ui.PendingElement ); * * @param {jQuery} $pending The element to set to pending. */ -OO.ui.PendingElement.prototype.setPendingElement = function ( $pending ) { +OO.ui.mixin.PendingElement.prototype.setPendingElement = function ( $pending ) { if ( this.$pending ) { this.$pending.removeClass( 'oo-ui-pendingElement-pending' ); } @@ -344,20 +429,21 @@ OO.ui.PendingElement.prototype.setPendingElement = function ( $pending ) { }; /** - * Check if input is pending. + * Check if an element is pending. * - * @return {boolean} + * @return {boolean} Element is pending */ -OO.ui.PendingElement.prototype.isPending = function () { +OO.ui.mixin.PendingElement.prototype.isPending = function () { return !!this.pending; }; /** - * Increase the pending stack. + * Increase the pending counter. The pending state will remain active until the counter is zero + * (i.e., the number of calls to #pushPending and #popPending is the same). * * @chainable */ -OO.ui.PendingElement.prototype.pushPending = function () { +OO.ui.mixin.PendingElement.prototype.pushPending = function () { if ( this.pending === 0 ) { this.$pending.addClass( 'oo-ui-pendingElement-pending' ); this.updateThemeClasses(); @@ -368,13 +454,12 @@ OO.ui.PendingElement.prototype.pushPending = function () { }; /** - * Reduce the pending stack. - * - * Clamped at zero. + * Decrease the pending counter. The pending state will remain active until the counter is zero + * (i.e., the number of calls to #pushPending and #popPending is the same). * * @chainable */ -OO.ui.PendingElement.prototype.popPending = function () { +OO.ui.mixin.PendingElement.prototype.popPending = function () { if ( this.pending === 1 ) { this.$pending.removeClass( 'oo-ui-pendingElement-pending' ); this.updateThemeClasses(); @@ -1458,7 +1543,10 @@ OO.ui.Element.static.scrollIntoView = function ( el, config ) { * @param {HTMLElement} el Element to reconsider the scrollbars on */ OO.ui.Element.static.reconsiderScrollbars = function ( el ) { - var i, len, nodes = []; + var i, len, scrollLeft, scrollTop, nodes = []; + // Save scroll position + scrollLeft = el.scrollLeft; + scrollTop = el.scrollTop; // Detach all children while ( el.firstChild ) { nodes.push( el.firstChild ); @@ -1470,6 +1558,9 @@ OO.ui.Element.static.reconsiderScrollbars = function ( el ) { for ( i = 0, len = nodes.length; i < len; i++ ) { el.appendChild( nodes[ i ] ); } + // Restore scroll position (no-op if scrollbars disappeared) + el.scrollLeft = scrollLeft; + el.scrollTop = scrollTop; }; /* Methods */ @@ -1612,7 +1703,7 @@ OO.ui.Element.prototype.getClosestScrollableElementContainer = function () { /** * Get group element is in. * - * @return {OO.ui.GroupElement|null} Group element, null if none + * @return {OO.ui.mixin.GroupElement|null} Group element, null if none */ OO.ui.Element.prototype.getElementGroup = function () { return this.elementGroup; @@ -1621,7 +1712,7 @@ OO.ui.Element.prototype.getElementGroup = function () { /** * Set group element is in. * - * @param {OO.ui.GroupElement|null} group Group element, null if none + * @param {OO.ui.mixin.GroupElement|null} group Group element, null if none * @chainable */ OO.ui.Element.prototype.setElementGroup = function ( group ) { @@ -1711,6 +1802,19 @@ OO.ui.Widget = function OoUiWidget( config ) { OO.inheritClass( OO.ui.Widget, OO.ui.Element ); OO.mixinClass( OO.ui.Widget, OO.EventEmitter ); +/* Static Properties */ + +/** + * Whether this widget will behave reasonably when wrapped in a HTML `