Add 'mediawiki.skinning.logo' module
[lhc/web/wiklou.git] / resources / Resources.php
index 54f3c90..7b7a31c 100644 (file)
@@ -39,6 +39,7 @@ return array(
                'group' => 'noscript',
        ),
        'filepage' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderWikiModule',
                'styles' => array( 'MediaWiki:Filepage.css' ),
        ),
@@ -58,6 +59,9 @@ return array(
        // Scripts for the dynamic language specific data, like grammar forms.
        'mediawiki.language.data' => array( 'class' => 'ResourceLoaderLanguageDataModule' ),
 
+       // Dynamic data for mediawiki.jqueryMsg, such as allowed tags
+       'mediawiki.jqueryMsg.data' => array( 'class' => 'ResourceLoaderJqueryMsgDataModule' ),
+
        /* MediaWiki base skinning modules */
 
        /**
@@ -90,19 +94,23 @@ return array(
         * including more than one of them into your skin as this will result in duplicate CSS.
         */
        'mediawiki.skinning.elements' => array(
+               'position' => 'top',
                'styles' => array(
                        'resources/src/mediawiki.skinning/elements.css' => array( 'media' => 'screen' ),
                ),
        ),
        'mediawiki.skinning.content' => array(
+               'position' => 'top',
                'styles' => array(
                        'resources/src/mediawiki.skinning/elements.css' => array( 'media' => 'screen' ),
                        'resources/src/mediawiki.skinning/content.css' => array( 'media' => 'screen' ),
                ),
        ),
+       // Used in the web installer. Test it after modifying this definition!
        'mediawiki.skinning.interface' => array(
+               'position' => 'top',
+               // Display wiki logo on .mw-wiki-logo elements.
                'class' => 'ResourceLoaderSkinModule',
-               // Used in the web installer. Test it after modifying this definition!
                'styles' => array(
                        'resources/src/mediawiki.skinning/elements.css' => array( 'media' => 'screen' ),
                        'resources/src/mediawiki.skinning/content.css' => array( 'media' => 'screen' ),
@@ -111,6 +119,7 @@ return array(
        ),
 
        'mediawiki.skinning.content.parsoid' => array(
+               'position' => 'top',
                // Style Parsoid HTML+RDFa output consistent with wikitext from PHP parser
                // with the interface.css styles; skinStyles should be used if your
                // skin over-rides common content styling.
@@ -121,11 +130,19 @@ return array(
        ),
 
        'mediawiki.skinning.content.externallinks' => array(
+               'position' => 'bottom',
                'styles' => array(
                        'resources/src/mediawiki.skinning/content.externallinks.css' => array( 'media' => 'screen' ),
                ),
        ),
 
+       // Display wiki logo on .mw-wiki-logo elements.
+       // This is also part of 'mediawiki.skinning.interface' module; the skin shouldn't load them both.
+       'mediawiki.skinning.logo' => array(
+               'position' => 'top',
+               'class' => 'ResourceLoaderSkinModule',
+       ),
+
        /* jQuery */
 
        'jquery' => array(
@@ -335,6 +352,13 @@ return array(
 
        'jquery.ui.core' => array(
                'scripts' => 'resources/lib/jquery.ui/jquery.ui.core.js',
+               'dependencies' => array(
+                       'jquery.ui.core.styles',
+               ),
+               'group' => 'jquery.ui',
+       ),
+       'jquery.ui.core.styles' => array(
+               'position' => 'top',
                'skinStyles' => array(
                        'default' => array(
                                'resources/lib/jquery.ui/themes/smoothness/jquery.ui.core.css',
@@ -773,14 +797,15 @@ return array(
        /* MediaWiki */
 
        'mediawiki' => array(
+               'class' => 'ResourceLoaderRawFileModule',
                // Keep maintenance/jsduck/eg-iframe.html in sync
                'scripts' => array(
+                       'resources/lib/phpjs-sha1/sha1.js',
                        'resources/src/mediawiki/mediawiki.js',
                        'resources/src/mediawiki/mediawiki.errorLogger.js',
                        'resources/src/mediawiki/mediawiki.startUp.js',
                ),
                'debugScripts' => 'resources/src/mediawiki/mediawiki.log.js',
-               'raw' => true,
                'targets' => array( 'desktop', 'mobile' ),
        ),
        'mediawiki.apihelp' => array(
@@ -847,6 +872,7 @@ return array(
                ),
        ),
        'mediawiki.content.json' => array(
+               'position' => 'top',
                'styles' => 'resources/src/mediawiki/mediawiki.content.json.css',
        ),
        'mediawiki.confirmCloseWindow' => array(
@@ -919,6 +945,7 @@ return array(
        ),
 
        'mediawiki.helplink' => array(
+               'position' => 'top',
                'styles' => array(
                        'resources/src/mediawiki/mediawiki.helplink.less',
                ),
@@ -1023,6 +1050,7 @@ return array(
                ),
        ),
        'mediawiki.sectionAnchor' => array(
+               'position' => 'top',
                // Back-compat to hide it on cached pages (T18691; Ie9e334e973; 2015-03-17)
                'styles' => 'resources/src/mediawiki/mediawiki.sectionAnchor.css',
                'targets' => array( 'desktop', 'mobile' ),
@@ -1098,8 +1126,8 @@ return array(
                'position' => 'top',
        ),
        'mediawiki.action.edit.styles' => array(
-               'styles' => 'resources/src/mediawiki.action/mediawiki.action.edit.styles.css',
                'position' => 'top',
+               'styles' => 'resources/src/mediawiki.action/mediawiki.action.edit.styles.css',
        ),
        'mediawiki.action.edit.collapsibleFooter' => array(
                'scripts' => 'resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js',
@@ -1145,18 +1173,18 @@ return array(
                ),
        ),
        'mediawiki.action.history' => array(
+               'position' => 'top',
                'scripts' => 'resources/src/mediawiki.action/mediawiki.action.history.js',
                'styles' => 'resources/src/mediawiki.action/mediawiki.action.history.css',
-               'group' => 'mediawiki.action.history',
        ),
        'mediawiki.action.history.diff' => array(
+               'position' => 'top',
                'styles' => array(
                        'resources/src/mediawiki.action/mediawiki.action.history.diff.css',
                        'resources/src/mediawiki.action/mediawiki.action.history.diff.print.css' => array(
                                'media' => 'print'
                        ),
                ),
-               'group' => 'mediawiki.action.history',
                'targets' => array( 'desktop', 'mobile' ),
        ),
        'mediawiki.action.view.dblClickEdit' => array(
@@ -1176,6 +1204,7 @@ return array(
                ),
        ),
        'mediawiki.action.view.categoryPage.styles' => array(
+               'position' => 'top',
                'styles' => 'resources/src/mediawiki.action/mediawiki.action.view.categoryPage.less',
                'targets' => array( 'desktop', 'mobile' )
        ),
@@ -1201,8 +1230,8 @@ return array(
                'position' => 'top',
        ),
        'mediawiki.action.view.redirectPage' => array(
-               'styles' => 'resources/src/mediawiki.action/mediawiki.action.view.redirectPage.css',
                'position' => 'top',
+               'styles' => 'resources/src/mediawiki.action/mediawiki.action.view.redirectPage.css',
        ),
        'mediawiki.action.view.rightClickEdit' => array(
                'scripts' => 'resources/src/mediawiki.action/mediawiki.action.view.rightClickEdit.js',
@@ -1277,6 +1306,7 @@ return array(
        'mediawiki.jqueryMsg' => array(
                'scripts' => 'resources/src/mediawiki/mediawiki.jqueryMsg.js',
                'dependencies' => array(
+                       'mediawiki.jqueryMsg.data',
                        'mediawiki.util',
                        'mediawiki.language',
                        'dom-level2-shim',
@@ -1380,6 +1410,7 @@ return array(
        /* MediaWiki Special pages */
 
        'mediawiki.special' => array(
+               'position' => 'top',
                'scripts' => 'resources/src/mediawiki.special/mediawiki.special.js',
                'styles' => 'resources/src/mediawiki.special/mediawiki.special.css',
        ),
@@ -1398,9 +1429,11 @@ return array(
                ),
        ),
        'mediawiki.special.changeslist' => array(
+               'position' => 'top',
                'styles' => 'resources/src/mediawiki.special/mediawiki.special.changeslist.css',
        ),
        'mediawiki.special.changeslist.legend' => array(
+               'position' => 'top',
                'styles' => 'resources/src/mediawiki.special/mediawiki.special.changeslist.legend.css',
        ),
        'mediawiki.special.changeslist.legend.js' => array(
@@ -1411,6 +1444,7 @@ return array(
                ),
        ),
        'mediawiki.special.changeslist.enhanced' => array(
+               'position' => 'top',
                'styles' => 'resources/src/mediawiki.special/mediawiki.special.changeslist.enhanced.css',
        ),
        'mediawiki.special.edittags' => array(
@@ -1438,6 +1472,7 @@ return array(
                'scripts' => 'resources/src/mediawiki.special/mediawiki.special.pageLanguage.js',
        ),
        'mediawiki.special.pagesWithProp' => array(
+               'position' => 'top',
                'styles' => 'resources/src/mediawiki.special/mediawiki.special.pagesWithProp.css',
        ),
        'mediawiki.special.preferences' => array(
@@ -1460,6 +1495,7 @@ return array(
                'position' => 'top',
        ),
        'mediawiki.special.search' => array(
+               'position' => 'top',
                'scripts' => 'resources/src/mediawiki.special/mediawiki.special.search.js',
                'styles' => 'resources/src/mediawiki.special/mediawiki.special.search.css',
                'messages' => array(
@@ -1504,16 +1540,16 @@ return array(
                'position' => 'top',
        ),
        'mediawiki.special.userlogin.signup.styles' => array(
+               'position' => 'top',
                'styles' => array(
                        'resources/src/mediawiki.special/mediawiki.special.userlogin.signup.css',
                ),
-               'position' => 'top',
        ),
        'mediawiki.special.userlogin.login.styles' => array(
+               'position' => 'top',
                'styles' => array(
                        'resources/src/mediawiki.special/mediawiki.special.userlogin.login.css',
                ),
-               'position' => 'top',
        ),
        'mediawiki.special.userlogin.common.js' => array(
                'scripts' => array(
@@ -1574,8 +1610,8 @@ return array(
 
        /* MediaWiki Installer */
 
+       // Used in the web installer. Test it after modifying this definition!
        'mediawiki.legacy.config' => array(
-               // Used in the web installer. Test it after modifying this definition!
                // These files are not actually loaded via ResourceLoader, so dependencies etc. won't work.
                'scripts' => 'mw-config/config.js',
                'styles' => 'mw-config/config.css',
@@ -1592,6 +1628,7 @@ return array(
                'position' => 'top',
        ),
        'mediawiki.legacy.commonPrint' => array(
+               'position' => 'top',
                'styles' => array(
                        'resources/src/mediawiki.legacy/commonPrint.css' => array( 'media' => 'print' )
                ),
@@ -1601,13 +1638,15 @@ return array(
                'dependencies' => 'jquery.byteLimit',
                'messages' => array( 'protect-unchain-permissions' )
        ),
+       // Used in the web installer. Test it after modifying this definition!
        'mediawiki.legacy.shared' => array(
-               // Used in the web installer. Test it after modifying this definition!
+               'position' => 'top',
                'styles' => array(
                        'resources/src/mediawiki.legacy/shared.css' => array( 'media' => 'screen' )
                ),
        ),
        'mediawiki.legacy.oldshared' => array(
+               'position' => 'top',
                'styles' => array(
                        'resources/src/mediawiki.legacy/oldshared.css' => array( 'media' => 'screen' )
                ),
@@ -1621,78 +1660,78 @@ return array(
        /* MediaWiki UI */
 
        'mediawiki.ui' => array(
+               'position' => 'top',
                'skinStyles' => array(
                        'default' => array(
                                'resources/src/mediawiki.ui/default.less',
                        ),
                ),
-               'position' => 'top',
                'targets' => array( 'desktop', 'mobile' ),
        ),
        'mediawiki.ui.checkbox' => array(
+               'position' => 'top',
                'skinStyles' => array(
                        'default' => array(
                                'resources/src/mediawiki.ui/components/checkbox.less',
                        ),
                ),
-               'position' => 'top',
                'targets' => array( 'desktop', 'mobile' ),
        ),
        'mediawiki.ui.radio' => array(
+               'position' => 'top',
                'skinStyles' => array(
                        'default' => array(
                                'resources/src/mediawiki.ui/components/radio.less',
                        ),
                ),
-               'position' => 'top',
                'targets' => array( 'desktop', 'mobile' ),
        ),
        // Lightweight module for anchor styles
        'mediawiki.ui.anchor' => array(
+               'position' => 'top',
                'skinStyles' => array(
                        'default' => array(
                                'resources/src/mediawiki.ui/components/anchors.less',
                        ),
                ),
-               'position' => 'top',
                'targets' => array( 'desktop', 'mobile' ),
        ),
        // Lightweight module for button styles
        'mediawiki.ui.button' => array(
+               'position' => 'top',
                'skinStyles' => array(
                        'default' => array(
                                'resources/src/mediawiki.ui/components/buttons.less',
                        ),
                ),
-               'position' => 'top',
                'targets' => array( 'desktop', 'mobile' ),
        ),
        'mediawiki.ui.input' => array(
+               'position' => 'top',
                'skinStyles' => array(
                        'default' => array(
                                'resources/src/mediawiki.ui/components/inputs.less',
                        ),
                ),
-               'position' => 'top',
                'targets' => array( 'desktop', 'mobile' ),
        ),
        'mediawiki.ui.icon' => array(
+               'position' => 'top',
                'skinStyles' => array(
                        'default' => array(
                                'resources/src/mediawiki.ui/components/icons.less',
                        ),
                ),
-               'position' => 'top',
                'targets' => array( 'desktop', 'mobile' ),
        ),
        // Lightweight module for text styles
        'mediawiki.ui.text' => array(
+               'position' => 'top',
                'skinStyles' => array(
                        'default' => array(
                                'resources/src/mediawiki.ui/components/text.less',
                        ),
                ),
-               'position' => 'top',
                'targets' => array( 'desktop', 'mobile' ),
        ),
 
@@ -1771,119 +1810,136 @@ return array(
        ),
 
        'oojs-ui.styles.icons' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'icons.json',
                'selectorWithoutVariant' => '.oo-ui-icon-{name}, .mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before',
-               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before',
+               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before, .mw-ui-hovericon:hover .mw-ui-icon-{name}-{variant}-hover:before, .mw-ui-hovericon.mw-ui-icon-{name}-{variant}-hover:hover:before',
        ),
        'oojs-ui.styles.indicators' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'indicators.json',
        ),
        'oojs-ui.styles.textures' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'textures.json',
        ),
        'oojs-ui.styles.icons-alerts' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'icons-alerts.json',
                'selectorWithoutVariant' => '.oo-ui-icon-{name}, .mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before',
-               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before',
+               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before, .mw-ui-hovericon:hover .mw-ui-icon-{name}-{variant}-hover:before, .mw-ui-hovericon.mw-ui-icon-{name}-{variant}-hover:hover:before',
        ),
        'oojs-ui.styles.icons-content' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'icons-content.json',
                'selectorWithoutVariant' => '.oo-ui-icon-{name}, .mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before',
-               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before',
+               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before, .mw-ui-hovericon:hover .mw-ui-icon-{name}-{variant}-hover:before, .mw-ui-hovericon.mw-ui-icon-{name}-{variant}-hover:hover:before',
        ),
        'oojs-ui.styles.icons-editing-advanced' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'icons-editing-advanced.json',
                'selectorWithoutVariant' => '.oo-ui-icon-{name}, .mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before',
-               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before',
+               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before, .mw-ui-hovericon:hover .mw-ui-icon-{name}-{variant}-hover:before, .mw-ui-hovericon.mw-ui-icon-{name}-{variant}-hover:hover:before',
        ),
        'oojs-ui.styles.icons-editing-core' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'icons-editing-core.json',
                'selectorWithoutVariant' => '.oo-ui-icon-{name}, .mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before',
-               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before',
+               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before, .mw-ui-hovericon:hover .mw-ui-icon-{name}-{variant}-hover:before, .mw-ui-hovericon.mw-ui-icon-{name}-{variant}-hover:hover:before',
        ),
        'oojs-ui.styles.icons-editing-list' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'icons-editing-list.json',
                'selectorWithoutVariant' => '.oo-ui-icon-{name}, .mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before',
-               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before',
+               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before, .mw-ui-hovericon:hover .mw-ui-icon-{name}-{variant}-hover:before, .mw-ui-hovericon.mw-ui-icon-{name}-{variant}-hover:hover:before',
        ),
        'oojs-ui.styles.icons-editing-styling' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'icons-editing-styling.json',
                'selectorWithoutVariant' => '.oo-ui-icon-{name}, .mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before',
-               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before',
+               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before, .mw-ui-hovericon:hover .mw-ui-icon-{name}-{variant}-hover:before, .mw-ui-hovericon.mw-ui-icon-{name}-{variant}-hover:hover:before',
        ),
        'oojs-ui.styles.icons-interactions' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'icons-interactions.json',
                'selectorWithoutVariant' => '.oo-ui-icon-{name}, .mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before',
-               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before',
+               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before, .mw-ui-hovericon:hover .mw-ui-icon-{name}-{variant}-hover:before, .mw-ui-hovericon.mw-ui-icon-{name}-{variant}-hover:hover:before',
        ),
        'oojs-ui.styles.icons-layout' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'icons-layout.json',
                'selectorWithoutVariant' => '.oo-ui-icon-{name}, .mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before',
-               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before',
+               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before, .mw-ui-hovericon:hover .mw-ui-icon-{name}-{variant}-hover:before, .mw-ui-hovericon.mw-ui-icon-{name}-{variant}-hover:hover:before',
        ),
        'oojs-ui.styles.icons-location' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'icons-location.json',
                'selectorWithoutVariant' => '.oo-ui-icon-{name}, .mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before',
-               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before',
+               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before, .mw-ui-hovericon:hover .mw-ui-icon-{name}-{variant}-hover:before, .mw-ui-hovericon.mw-ui-icon-{name}-{variant}-hover:hover:before',
        ),
        'oojs-ui.styles.icons-media' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'icons-media.json',
                'selectorWithoutVariant' => '.oo-ui-icon-{name}, .mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before',
-               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before',
+               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before, .mw-ui-hovericon:hover .mw-ui-icon-{name}-{variant}-hover:before, .mw-ui-hovericon.mw-ui-icon-{name}-{variant}-hover:hover:before',
        ),
        'oojs-ui.styles.icons-moderation' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'icons-moderation.json',
                'selectorWithoutVariant' => '.oo-ui-icon-{name}, .mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before',
-               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before',
+               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before, .mw-ui-hovericon:hover .mw-ui-icon-{name}-{variant}-hover:before, .mw-ui-hovericon.mw-ui-icon-{name}-{variant}-hover:hover:before',
        ),
        'oojs-ui.styles.icons-movement' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'icons-movement.json',
                'selectorWithoutVariant' => '.oo-ui-icon-{name}, .mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before',
-               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before',
+               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before, .mw-ui-hovericon:hover .mw-ui-icon-{name}-{variant}-hover:before, .mw-ui-hovericon.mw-ui-icon-{name}-{variant}-hover:hover:before',
        ),
        'oojs-ui.styles.icons-user' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'icons-user.json',
                'selectorWithoutVariant' => '.oo-ui-icon-{name}, .mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before',
-               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before',
+               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before, .mw-ui-hovericon:hover .mw-ui-icon-{name}-{variant}-hover:before, .mw-ui-hovericon.mw-ui-icon-{name}-{variant}-hover:hover:before',
        ),
        'oojs-ui.styles.icons-wikimedia' => array(
+               'position' => 'top',
                'class' => 'ResourceLoaderImageModule',
                'localBasePath' => "$IP/resources/lib/oojs-ui/themes/mediawiki",
                'data' => 'icons-wikimedia.json',
                'selectorWithoutVariant' => '.oo-ui-icon-{name}, .mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before',
-               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before',
+               'selectorWithVariant' => '.oo-ui-image-{variant} .oo-ui-icon-{name}, .oo-ui-image-{variant}.oo-ui-icon-{name}, .mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before, .mw-ui-hovericon:hover .mw-ui-icon-{name}-{variant}-hover:before, .mw-ui-hovericon.mw-ui-icon-{name}-{variant}-hover:hover:before',
        ),
 
 );