Jforrester has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/345395 )

Change subject: Update OOjs UI to v0.20.1
......................................................................

Update OOjs UI to v0.20.1

Release notes:
 
https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v0.20.1

Change-Id: I9b50eee459085eaa00819cbabe340ac442a332bd
---
M composer.json
M composer.lock
M composer/autoload_classmap.php
M composer/autoload_static.php
M composer/installed.json
M oojs/oojs-ui/History.md
M oojs/oojs-ui/demos/demo.js
M oojs/oojs-ui/demos/demos.php
M oojs/oojs-ui/demos/index.html
M oojs/oojs-ui/demos/pages/icons.js
M oojs/oojs-ui/i18n/bqi.json
M oojs/oojs-ui/package.json
A oojs/oojs-ui/php/themes/BlankTheme.php
13 files changed, 218 insertions(+), 150 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vendor 
refs/changes/95/345395/1

diff --git a/composer.json b/composer.json
index 1fc7649..9a8de97 100644
--- a/composer.json
+++ b/composer.json
@@ -44,7 +44,7 @@
                "mediawiki/at-ease": "1.1.0",
                "monolog/monolog": "1.18.2",
                "nmred/kafka-php": "0.1.5",
-               "oojs/oojs-ui": "0.20.0",
+               "oojs/oojs-ui": "0.20.1",
                "oyejorge/less.php": "1.7.0.13",
                "pear/console_getopt": "1.4.1",
                "pear/mail": "1.3.0",
diff --git a/composer.lock b/composer.lock
index 58db054..a24e7c7 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at 
https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file";,
         "This file is @generated automatically"
     ],
-    "content-hash": "ada7279bb9f1c2607b1a659dee95bc5f",
+    "content-hash": "f02d563e660b902386d8edbac1edb437",
     "packages": [
         {
             "name": "composer/semver",
@@ -465,16 +465,16 @@
         },
         {
             "name": "oojs/oojs-ui",
-            "version": "v0.20.0",
+            "version": "v0.20.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/wikimedia/oojs-ui.git";,
-                "reference": "4f9b97498a9f67f8cca372d0b84f35988e37d445"
+                "reference": "f3bee4db8ac98b3be5e04cc71557a7bc2d2828f8"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/oojs-ui/zipball/4f9b97498a9f67f8cca372d0b84f35988e37d445";,
-                "reference": "4f9b97498a9f67f8cca372d0b84f35988e37d445",
+                "url": 
"https://api.github.com/repos/wikimedia/oojs-ui/zipball/f3bee4db8ac98b3be5e04cc71557a7bc2d2828f8";,
+                "reference": "f3bee4db8ac98b3be5e04cc71557a7bc2d2828f8",
                 "shasum": ""
             },
             "require": {
@@ -540,7 +540,7 @@
             ],
             "description": "Provides library of common widgets, layouts, and 
windows.",
             "homepage": "https://www.mediawiki.org/wiki/OOjs_UI";,
-            "time": "2017-03-15T16:45:48+00:00"
+            "time": "2017-03-28T21:53:25+00:00"
         },
         {
             "name": "oyejorge/less.php",
diff --git a/composer/autoload_classmap.php b/composer/autoload_classmap.php
index 187b92e..522a35d 100644
--- a/composer/autoload_classmap.php
+++ b/composer/autoload_classmap.php
@@ -508,6 +508,7 @@
     'OOUI\\AccessKeyedElement' => $vendorDir . 
'/oojs/oojs-ui/php/mixins/AccessKeyedElement.php',
     'OOUI\\ActionFieldLayout' => $vendorDir . 
'/oojs/oojs-ui/php/layouts/ActionFieldLayout.php',
     'OOUI\\ApexTheme' => $vendorDir . '/oojs/oojs-ui/php/themes/ApexTheme.php',
+    'OOUI\\BlankTheme' => $vendorDir . 
'/oojs/oojs-ui/php/themes/BlankTheme.php',
     'OOUI\\ButtonElement' => $vendorDir . 
'/oojs/oojs-ui/php/mixins/ButtonElement.php',
     'OOUI\\ButtonGroupWidget' => $vendorDir . 
'/oojs/oojs-ui/php/widgets/ButtonGroupWidget.php',
     'OOUI\\ButtonInputWidget' => $vendorDir . 
'/oojs/oojs-ui/php/widgets/ButtonInputWidget.php',
diff --git a/composer/autoload_static.php b/composer/autoload_static.php
index 7bce4e3..95518f4 100644
--- a/composer/autoload_static.php
+++ b/composer/autoload_static.php
@@ -693,6 +693,7 @@
         'OOUI\\AccessKeyedElement' => __DIR__ . '/..' . 
'/oojs/oojs-ui/php/mixins/AccessKeyedElement.php',
         'OOUI\\ActionFieldLayout' => __DIR__ . '/..' . 
'/oojs/oojs-ui/php/layouts/ActionFieldLayout.php',
         'OOUI\\ApexTheme' => __DIR__ . '/..' . 
'/oojs/oojs-ui/php/themes/ApexTheme.php',
+        'OOUI\\BlankTheme' => __DIR__ . '/..' . 
'/oojs/oojs-ui/php/themes/BlankTheme.php',
         'OOUI\\ButtonElement' => __DIR__ . '/..' . 
'/oojs/oojs-ui/php/mixins/ButtonElement.php',
         'OOUI\\ButtonGroupWidget' => __DIR__ . '/..' . 
'/oojs/oojs-ui/php/widgets/ButtonGroupWidget.php',
         'OOUI\\ButtonInputWidget' => __DIR__ . '/..' . 
'/oojs/oojs-ui/php/widgets/ButtonInputWidget.php',
diff --git a/composer/installed.json b/composer/installed.json
index 111d479..c3ff0f1 100644
--- a/composer/installed.json
+++ b/composer/installed.json
@@ -2070,18 +2070,61 @@
         ]
     },
     {
-        "name": "oojs/oojs-ui",
-        "version": "v0.20.0",
-        "version_normalized": "0.20.0.0",
+        "name": "wikimedia/remex-html",
+        "version": "1.0.1",
+        "version_normalized": "1.0.1.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/wikimedia/oojs-ui.git";,
-            "reference": "4f9b97498a9f67f8cca372d0b84f35988e37d445"
+            "url": "https://github.com/wikimedia/mediawiki-libs-RemexHtml.git";,
+            "reference": "3c596e5c66557ed7f37d8a543bc233d7fa80a52f"
         },
         "dist": {
             "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/oojs-ui/zipball/4f9b97498a9f67f8cca372d0b84f35988e37d445";,
-            "reference": "4f9b97498a9f67f8cca372d0b84f35988e37d445",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-libs-RemexHtml/zipball/3c596e5c66557ed7f37d8a543bc233d7fa80a52f";,
+            "reference": "3c596e5c66557ed7f37d8a543bc233d7fa80a52f",
+            "shasum": ""
+        },
+        "require": {
+            "ext-mbstring": "*",
+            "wikimedia/utfnormal": "1.1.0"
+        },
+        "require-dev": {
+            "mediawiki/mediawiki-codesniffer": "0.7.2",
+            "phpunit/phpunit": "4.*"
+        },
+        "time": "2017-03-14T05:28:14+00:00",
+        "type": "library",
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "RemexHtml\\": "RemexHtml/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/";,
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Tim Starling",
+                "email": "tstarl...@wikimedia.org"
+            }
+        ],
+        "description": "Fast HTML 5 parser"
+    },
+    {
+        "name": "oojs/oojs-ui",
+        "version": "v0.20.1",
+        "version_normalized": "0.20.1.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/wikimedia/oojs-ui.git";,
+            "reference": "f3bee4db8ac98b3be5e04cc71557a7bc2d2828f8"
+        },
+        "dist": {
+            "type": "zip",
+            "url": 
"https://api.github.com/repos/wikimedia/oojs-ui/zipball/f3bee4db8ac98b3be5e04cc71557a7bc2d2828f8";,
+            "reference": "f3bee4db8ac98b3be5e04cc71557a7bc2d2828f8",
             "shasum": ""
         },
         "require": {
@@ -2093,7 +2136,7 @@
             "mediawiki/mediawiki-codesniffer": "0.6.0",
             "phpunit/phpunit": "4.8.21"
         },
-        "time": "2017-03-15T16:45:48+00:00",
+        "time": "2017-03-28T21:53:25+00:00",
         "type": "library",
         "installation-source": "dist",
         "autoload": {
@@ -2149,48 +2192,5 @@
         ],
         "description": "Provides library of common widgets, layouts, and 
windows.",
         "homepage": "https://www.mediawiki.org/wiki/OOjs_UI";
-    },
-    {
-        "name": "wikimedia/remex-html",
-        "version": "1.0.1",
-        "version_normalized": "1.0.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/wikimedia/mediawiki-libs-RemexHtml.git";,
-            "reference": "3c596e5c66557ed7f37d8a543bc233d7fa80a52f"
-        },
-        "dist": {
-            "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-libs-RemexHtml/zipball/3c596e5c66557ed7f37d8a543bc233d7fa80a52f";,
-            "reference": "3c596e5c66557ed7f37d8a543bc233d7fa80a52f",
-            "shasum": ""
-        },
-        "require": {
-            "ext-mbstring": "*",
-            "wikimedia/utfnormal": "1.1.0"
-        },
-        "require-dev": {
-            "mediawiki/mediawiki-codesniffer": "0.7.2",
-            "phpunit/phpunit": "4.*"
-        },
-        "time": "2017-03-14T05:28:14+00:00",
-        "type": "library",
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "RemexHtml\\": "RemexHtml/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/";,
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Tim Starling",
-                "email": "tstarl...@wikimedia.org"
-            }
-        ],
-        "description": "Fast HTML 5 parser"
     }
 ]
diff --git a/oojs/oojs-ui/History.md b/oojs/oojs-ui/History.md
index 65764e8..6852f93 100644
--- a/oojs/oojs-ui/History.md
+++ b/oojs/oojs-ui/History.md
@@ -1,4 +1,39 @@
 # OOjs UI Release History
+## v0.20.1 / 2017-03-28
+### Deprecations
+* [DEPRECATING CHANGE] icons: Deprecate and/or move all the core icons (James 
D. Forrester)
+* [DEPRECATING CHANGE] icons: Rename 'wikitrail' to 'mapTrail' (Volker E)
+* Follow-up b12205ac: Add deprecation notices to icons moved in v0.16.2 (James 
D. Forrester)
+* Follow-up da8d99af: Add deprecation notice to icon moved in v0.14.0 (James 
D. Forrester)
+
+### Features
+* DraggableGroupElement: Make draggable conditional (Moriel Schottlender)
+* build: Implement `grunt add-theme` task to ease theme creation (Bartosz 
Dziewoński)
+
+### Styles
+* ButtonElement: Normalize appearance in Firefox (Volker E)
+* Blank theme: Fix up the 'blank' theme (Bartosz Dziewoński)
+* MediaWiki theme: Position PopupToolGroup indicator similar to other widgets 
(Volker E)
+
+### Code
+* Element: Add special case for document root in getClosestScrollableContainer 
(Bartosz Dziewoński)
+* FloatableElement: Abort positioning if no longer attached (David Lynch)
+* GroupElement: Transform to be an OO.EmitterList mixin (Moriel Schottlender)
+* MenuOptionWidget: Remove inherited, duplicated property (Volker E)
+* OO.ui.isFocusableElement: Update for jQuery 3 deprecations (Bartosz 
Dziewoński)
+* PopupWidget: Add 'ready' event when the popup is ready (Moriel Schottlender)
+* Use Node.DOCUMENT_NODE rather than magic number (Bartosz Dziewoński)
+* Follow-up 4bc67351c5: Unbreak FloatableElement positioning (Roan Kattouw)
+* Follow-up Iaa7dffc13: *Actually* allow `$returnFocusTo` to be `null` (Ed 
Sanders)
+* themes: Reorder Less rules alphabetically (Volker E)
+* MediaWiki theme: Remove obsolete ButtonOptionWidget styles (Volker E)
+* MediaWiki theme: Remove unnecessary OptionWiget `border` property (Volker E)
+* build: Add a new jenkins script (Prateek Saxena)
+* build: Bump grunt-cssjanus to master (Volker E)
+* build: Match file order between tests/index and karma (Timo Tijhof)
+* build/demos: Generalize demos and build so that it's easier to add new 
themes (Bartosz Dziewoński)
+
+
 ## v0.20.0 / 2017-03-15
 ### Breaking changes
 * [BREAKING CHANGE] Element#scrollIntoView: Drop `complete` config option 
(James D. Forrester)
diff --git a/oojs/oojs-ui/demos/demo.js b/oojs/oojs-ui/demos/demo.js
index f861a46..00dda5f 100644
--- a/oojs/oojs-ui/demos/demo.js
+++ b/oojs/oojs-ui/demos/demo.js
@@ -30,10 +30,15 @@
                classes: [ 'demo-pageDropdown' ]
        } );
        this.pageMenu = this.pageDropdown.getMenu();
-       this.themeSelect = new OO.ui.ButtonSelectWidget().addItems( [
-               new OO.ui.ButtonOptionWidget( { data: 'mediawiki', label: 
'MediaWiki' } ),
-               new OO.ui.ButtonOptionWidget( { data: 'apex', label: 'Apex' } )
-       ] );
+       this.themeSelect = new OO.ui.ButtonSelectWidget();
+       Object.keys( this.constructor.static.themes ).forEach( function ( theme 
) {
+               demo.themeSelect.addItems( [
+                       new OO.ui.ButtonOptionWidget( {
+                               data: theme,
+                               label: demo.constructor.static.themes[ theme ]
+                       } )
+               ] );
+       } );
        this.directionSelect = new OO.ui.ButtonSelectWidget().addItems( [
                new OO.ui.ButtonOptionWidget( { data: 'ltr', label: 'LTR' } ),
                new OO.ui.ButtonOptionWidget( { data: 'rtl', label: 'RTL' } )
@@ -87,7 +92,7 @@
        $( 'html' ).attr( 'dir', this.mode.direction );
        $( 'head' ).append( this.stylesheetLinks );
        // eslint-disable-next-line new-cap
-       OO.ui.theme = new ( this.constructor.static.themes[ this.mode.theme 
].theme )();
+       OO.ui.theme = new OO.ui[ this.constructor.static.themes[ 
this.mode.theme ] + 'Theme' ]();
        OO.ui.isMobile = function () {
                return demo.mode.platform === 'mobile';
        };
@@ -113,50 +118,54 @@
 /**
  * Available themes.
  *
- * List of theme descriptions, each containing a `fileSuffix` property used 
for linking to the
- * correct stylesheet file and a `theme` property containing a theme class
+ * Map of lowercase name to proper name. Lowercase names are used for linking 
to the
+ * correct stylesheet file. Proper names are used to find the theme class.
  *
  * @static
- * @property {Object.<string,Object>}
+ * @property {Object.<string,string>}
  */
 Demo.static.themes = {
-       mediawiki: {
-               fileSuffix: '-mediawiki',
-               additionalSuffixes: [
-                       '-icons-movement',
-                       '-icons-content',
-                       '-icons-alerts',
-                       '-icons-interactions',
-                       '-icons-moderation',
-                       '-icons-editing-core',
-                       '-icons-editing-styling',
-                       '-icons-editing-list',
-                       '-icons-editing-advanced',
-                       '-icons-media',
-                       '-icons-location',
-                       '-icons-user',
-                       '-icons-layout',
-                       '-icons-accessibility',
-                       '-icons-wikimedia'
-               ],
-               theme: OO.ui.MediaWikiTheme
-       },
-       apex: {
-               fileSuffix: '-apex',
-               additionalSuffixes: [
-                       '-icons-movement',
-                       '-icons-content',
-                       '-icons-alerts',
-                       '-icons-interactions',
-                       '-icons-moderation',
-                       '-icons-editing-core',
-                       '-icons-editing-styling',
-                       '-icons-editing-list',
-                       '-icons-editing-advanced',
-                       '-icons-media'
-               ],
-               theme: OO.ui.ApexTheme
-       }
+       mediawiki: 'MediaWiki', // Do not change this line or you'll break 
`grunt add-theme`
+       apex: 'Apex'
+};
+
+/**
+ * Additional suffixes for which each theme defines image modules.
+ *
+ * @static
+ * @property {Object.<string,string[]>
+ */
+Demo.static.additionalThemeImagesSuffixes = {
+       mediawiki: [
+               '-icons-movement',
+               '-icons-content',
+               '-icons-alerts',
+               '-icons-interactions',
+               '-icons-moderation',
+               '-icons-editing-core',
+               '-icons-editing-styling',
+               '-icons-editing-list',
+               '-icons-editing-advanced',
+               '-icons-media',
+               '-icons-location',
+               '-icons-user',
+               '-icons-layout',
+               '-icons-accessibility',
+               '-icons-wikimedia'
+       ],
+       apex: [
+               '-icons-movement',
+               '-icons-content',
+               '-icons-alerts',
+               '-icons-interactions',
+               '-icons-moderation',
+               '-icons-editing-core',
+               '-icons-editing-styling',
+               '-icons-editing-list',
+               '-icons-editing-advanced',
+               '-icons-media',
+               '-icons-layout'
+       ]
 };
 
 /**
@@ -282,7 +291,7 @@
                factors[ 0 ][ key ] = key;
        }
        for ( key in this.constructor.static.themes ) {
-               factors[ 1 ][ key ] = this.constructor.static.themes[ key 
].fileSuffix;
+               factors[ 1 ][ key ] = '-' + key;
        }
        for ( key in this.constructor.static.directions ) {
                factors[ 2 ][ key ] = this.constructor.static.directions[ key 
].fileSuffix;
@@ -347,7 +356,7 @@
        var i, len, links, fragments,
                factors = this.getFactors(),
                theme = this.getCurrentFactorValues()[ 1 ],
-               suffixes = this.constructor.static.themes[ theme 
].additionalSuffixes || [],
+               suffixes = 
this.constructor.static.additionalThemeImagesSuffixes[ theme ] || [],
                urls = [];
 
        // Translate modes to filename fragments
diff --git a/oojs/oojs-ui/demos/demos.php b/oojs/oojs-ui/demos/demos.php
index 1b9dc4c..a727a39 100644
--- a/oojs/oojs-ui/demos/demos.php
+++ b/oojs/oojs-ui/demos/demos.php
@@ -9,8 +9,13 @@
        require_once $autoload;
        require_once 'classes/ButtonStyleShowcaseWidget.php';
 
-       $theme = ( isset( $_GET['theme'] ) && $_GET['theme'] === 'apex' ) ? 
'apex' : 'mediawiki';
-       $themeClass = 'OOUI\\' . ( $theme === 'apex' ? 'Apex' : 'MediaWiki' ) . 
'Theme';
+       $themes = [
+               'mediawiki' => 'MediaWiki', // Do not change this line or 
you'll break `grunt add-theme`
+               'apex' => 'Apex',
+       ];
+       $theme = ( isset( $_GET['theme'] ) && isset( $themes[ $_GET['theme'] ] 
) )
+               ? $_GET['theme'] : 'mediawiki';
+       $themeClass = 'OOUI\\' . $themes[ $theme ] . 'Theme';
        OOUI\Theme::setSingleton( new $themeClass() );
 
        $direction = ( isset( $_GET['direction'] ) && $_GET['direction'] === 
'rtl' ) ? 'rtl' : 'ltr';
@@ -18,8 +23,9 @@
        OOUI\Element::setDefaultDir( $direction );
 
        // We will require_once a file by this name later, so this validation 
is important
-       $ok = [ 'widgets' ];
-       $page = ( isset( $_GET['page'] ) && in_array( $_GET['page'], $ok ) ) ? 
$_GET['page'] : 'widgets';
+       $pages = [ 'widgets' ];
+       $page = ( isset( $_GET['page'] ) && in_array( $_GET['page'], $pages ) )
+               ? $_GET['page'] : 'widgets';
 
        $query = [
                'theme' => $theme,
@@ -50,18 +56,13 @@
                        <?php
                                echo new OOUI\ButtonGroupWidget( [
                                        'infusable' => true,
-                                       'items' => [
-                                               new OOUI\ButtonWidget( [
-                                                       'label' => 'MediaWiki',
-                                                       'href' => '?' . 
http_build_query( array_merge( $query, [ 'theme' => 'mediawiki' ] ) ),
-                                                       'active' => 
$query['theme'] === 'mediawiki',
-                                               ] ),
-                                               new OOUI\ButtonWidget( [
-                                                       'label' => 'Apex',
-                                                       'href' => '?' . 
http_build_query( array_merge( $query, [ 'theme' => 'apex' ] ) ),
-                                                       'active' => 
$query['theme'] === 'apex',
-                                               ] ),
-                                       ]
+                                       'items' => array_map( function ( 
$theme, $themeLabel ) use ( $query ) {
+                                               return new OOUI\ButtonWidget( [
+                                                       'label' => $themeLabel,
+                                                       'href' => '?' . 
http_build_query( array_merge( $query, [ 'theme' => $theme ] ) ),
+                                                       'active' => 
$query['theme'] === $theme,
+                                               ] );
+                                       }, array_keys( $themes ), array_values( 
$themes ) ),
                                ] );
                                echo new OOUI\ButtonGroupWidget( [
                                        'infusable' => true,
diff --git a/oojs/oojs-ui/demos/index.html b/oojs/oojs-ui/demos/index.html
index b784d00..b0e9929 100644
--- a/oojs/oojs-ui/demos/index.html
+++ b/oojs/oojs-ui/demos/index.html
@@ -14,8 +14,8 @@
        <script src="node_modules/es5-shim/es5-shim.js"></script>
        <script src="node_modules/oojs/dist/oojs.jquery.js"></script>
        <script src="dist/oojs-ui.js"></script>
+       <script src="dist/oojs-ui-mediawiki.js"></script> <!-- Do not change 
this line or you'll break `grunt add-theme` -->
        <script src="dist/oojs-ui-apex.js"></script>
-       <script src="dist/oojs-ui-mediawiki.js"></script>
        <script src="demo.js"></script>
        <script src="classes/ButtonStyleShowcaseWidget.js"></script>
        <script src="classes/CapsuleNumberPopupMultiselectWidget.js"></script>
diff --git a/oojs/oojs-ui/demos/pages/icons.js 
b/oojs/oojs-ui/demos/pages/icons.js
index 4debb0a..5d50de3 100644
--- a/oojs/oojs-ui/demos/pages/icons.js
+++ b/oojs/oojs-ui/demos/pages/icons.js
@@ -1,34 +1,15 @@
 Demo.static.pages.icons = function ( demo ) {
        var i, len, iconSet, iconsFieldset, iconWidget, selector,
                icons = {
-                       core: [
-                               'advanced',
-                               'alert',
-                               'cancel',
-                               'check',
-                               'circle',
-                               'close',
-                               'collapse',
-                               'comment',
-                               'ellipsis',
-                               'expand',
-                               'help',
-                               'history',
-                               'info',
-                               'menu',
-                               'next',
-                               'notice',
-                               'previous',
-                               'search',
-                               'settings',
-                               'tag',
-                               'window'
-                       ],
                        movement: [
                                'arrowLast',
                                'arrowNext',
                                'downTriangle',
                                'upTriangle',
+                               'previous',
+                               'next',
+                               'expand',
+                               'collapse',
                                'caretLast',
                                'caretNext',
                                'caretDown',
@@ -43,19 +24,26 @@
                                'articleRedirect',
                                'citeArticle',
                                'book',
+                               'history',
+                               'info',
                                'journal',
                                'newspaper',
                                'folderPlaceholder',
                                'die',
                                'download',
-                               'upload'
+                               'tag',
+                               'upload',
+                               'window'
                        ],
                        alerts: [
+                               'alert',
                                'bell',
                                'bellOn',
+                               'comment',
                                'eye',
                                'eyeClosed',
                                'message',
+                               'notice',
                                'signature',
                                'speechBubble',
                                'speechBubbleAdd',
@@ -64,18 +52,26 @@
                        ],
                        interactions: [
                                'add',
+                               'advanced',
                                'bookmark',
                                'browser',
+                               'cancel',
+                               'check',
                                'clear',
                                'clock',
+                               'close',
+                               'ellipsis',
                                'feedback',
                                'funnel',
                                'heart',
+                               'help',
                                'key',
                                'keyboard',
                                'logOut',
                                'newWindow',
                                'printer',
+                               'search',
+                               'settings',
                                'subtract',
                                'sun',
                                'watchlist'
@@ -168,7 +164,7 @@
                                'map',
                                'mapPin',
                                'mapPinAdd',
-                               'wikitrail'
+                               'mapTrail'
                        ],
                        user: [
                                'userActive',
@@ -177,6 +173,7 @@
                                'userTalk'
                        ],
                        layout: [
+                               'menu',
                                'stripeFlow',
                                'stripeSideMenu',
                                'stripeSummary',
diff --git a/oojs/oojs-ui/i18n/bqi.json b/oojs/oojs-ui/i18n/bqi.json
index a84374a..a0e53b3 100644
--- a/oojs/oojs-ui/i18n/bqi.json
+++ b/oojs/oojs-ui/i18n/bqi.json
@@ -4,14 +4,19 @@
                        "Mogoeilor"
                ]
        },
+       "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-retry": "ز نۉ تلاش کونين",
        "ooui-dialog-process-continue": "ديندا گرهڌن",
        "ooui-selectfile-button-select": "گولإڤورچين کردن جانیا",
+       "ooui-selectfile-not-supported": "گول ڤورچی کردن جانیا کونشتکاری 
نڤابیڌ",
        "ooui-selectfile-placeholder": "هيژ جانيایي گولإ ڤورچين نڤابيڌإ",
        "ooui-selectfile-dragdrop-placeholder": "جانيانأ ڤأنين ايچو"
 }
diff --git a/oojs/oojs-ui/package.json b/oojs/oojs-ui/package.json
index 1e34391..de07ec4 100644
--- a/oojs/oojs-ui/package.json
+++ b/oojs/oojs-ui/package.json
@@ -1,6 +1,6 @@
 {
   "name": "oojs-ui",
-  "version": "0.20.0",
+  "version": "0.20.1",
   "description": "User interface classes built on the OOjs framework.",
   "keywords": [
     "oojs-plugin",
@@ -18,7 +18,8 @@
     "doc": "jsduck",
     "postdoc": "grunt copy:jsduck",
     "publish-build": "grunt publish-build",
-    "demos": "grunt publish-build && grunt demos"
+    "demos": "grunt publish-build && grunt demos",
+    "jenkins": "npm test && jsduck && npm run postdoc"
   },
   "dependencies": {
     "es5-shim": "4.5.8",
@@ -37,7 +38,7 @@
     "grunt-contrib-uglify": "2.2.0",
     "grunt-contrib-watch": "1.0.0",
     "grunt-csscomb": 
"git://github.com/jdforrester/grunt-csscomb.git#v3.1.0-wmf.1",
-    "grunt-cssjanus": "0.3.2",
+    "grunt-cssjanus": "0.4.0",
     "grunt-eslint": "19.0.0",
     "grunt-exec": "1.0.1",
     "grunt-file-exists": "0.1.4",
@@ -45,6 +46,7 @@
     "grunt-jsonlint": "1.1.0",
     "grunt-karma": "2.0.0",
     "grunt-promise-q": 
"git://github.com/jdforrester/grunt-promise-q.git#v0.1.1-wmf.1",
+    "grunt-string-replace": "1.3.1",
     "grunt-stylelint": "0.7.0",
     "grunt-svg2png": 
"git://github.com/jdforrester/grunt-svg2png.git#v0.2.7-wmf.1",
     "grunt-tyops": "0.1.0",
diff --git a/oojs/oojs-ui/php/themes/BlankTheme.php 
b/oojs/oojs-ui/php/themes/BlankTheme.php
new file mode 100644
index 0000000..fa27c47
--- /dev/null
+++ b/oojs/oojs-ui/php/themes/BlankTheme.php
@@ -0,0 +1,17 @@
+<?php
+
+namespace OOUI;
+
+class BlankTheme extends Theme {
+
+       /* Methods */
+
+       public function getElementClasses( Element $element ) {
+               // Parent method
+               $classes = parent::getElementClasses( $element );
+
+               // Add classes to $classes['on'] or $classes['off']
+
+               return $classes;
+       }
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/345395
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9b50eee459085eaa00819cbabe340ac442a332bd
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vendor
Gerrit-Branch: master
Gerrit-Owner: Jforrester <jforres...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to