jenkins-bot has submitted this change and it was merged.

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


Update OOjs UI to v0.2.2

Release notes:
 https://git.wikimedia.org/blob/oojs%2Fui.git/v0.2.2/History.md

Change-Id: I889b41ca2cee87ab9aab373a11e64de9a536b095
---
M lib/oojs-ui/i18n/ce.json
A lib/oojs-ui/i18n/crh-cyrl.json
A lib/oojs-ui/i18n/crh-latn.json
M lib/oojs-ui/i18n/hy.json
M lib/oojs-ui/oojs-ui-apex.css
M lib/oojs-ui/oojs-ui-apex.js
M lib/oojs-ui/oojs-ui-apex.rtl.css
M lib/oojs-ui/oojs-ui-apex.svg.css
M lib/oojs-ui/oojs-ui-apex.svg.rtl.css
M lib/oojs-ui/oojs-ui-mediawiki.css
M lib/oojs-ui/oojs-ui-mediawiki.js
M lib/oojs-ui/oojs-ui-mediawiki.rtl.css
M lib/oojs-ui/oojs-ui-mediawiki.svg.css
M lib/oojs-ui/oojs-ui-mediawiki.svg.rtl.css
M lib/oojs-ui/oojs-ui.js
15 files changed, 303 insertions(+), 342 deletions(-)

Approvals:
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/lib/oojs-ui/i18n/ce.json b/lib/oojs-ui/i18n/ce.json
index 25fb5f5..1247241 100644
--- a/lib/oojs-ui/i18n/ce.json
+++ b/lib/oojs-ui/i18n/ce.json
@@ -10,5 +10,6 @@
        "ooui-outline-control-remove": "ДӀадаха меттиг",
        "ooui-toolbar-more": "Кхин",
        "ooui-dialog-message-accept": "ХӀаъ",
-       "ooui-dialog-message-reject": "Цаоьшу"
+       "ooui-dialog-message-reject": "Цаоьшу",
+       "ooui-dialog-process-continue": "Кхин дӀа"
 }
diff --git a/lib/oojs-ui/i18n/crh-cyrl.json b/lib/oojs-ui/i18n/crh-cyrl.json
new file mode 100644
index 0000000..ccc0026
--- /dev/null
+++ b/lib/oojs-ui/i18n/crh-cyrl.json
@@ -0,0 +1,8 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Don Alessandro"
+               ]
+       },
+       "ooui-toolbar-more": "Даа зияде"
+}
diff --git a/lib/oojs-ui/i18n/crh-latn.json b/lib/oojs-ui/i18n/crh-latn.json
new file mode 100644
index 0000000..7ad7b0b
--- /dev/null
+++ b/lib/oojs-ui/i18n/crh-latn.json
@@ -0,0 +1,8 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Don Alessandro"
+               ]
+       },
+       "ooui-toolbar-more": "Daa ziyade"
+}
diff --git a/lib/oojs-ui/i18n/hy.json b/lib/oojs-ui/i18n/hy.json
index ebb2860..2aaf4e4 100644
--- a/lib/oojs-ui/i18n/hy.json
+++ b/lib/oojs-ui/i18n/hy.json
@@ -10,9 +10,12 @@
        "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-retry": "Կրկին փորձել",
+       "ooui-dialog-process-continue": "Շարունակել"
 }
diff --git a/lib/oojs-ui/oojs-ui-apex.css b/lib/oojs-ui/oojs-ui-apex.css
index 11a5c74..f8916e8 100644
--- a/lib/oojs-ui/oojs-ui-apex.css
+++ b/lib/oojs-ui/oojs-ui-apex.css
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (9ed4cf2557)
+ * OOjs UI v0.2.2
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2014-11-22T01:18:44Z
+ * Date: 2014-11-25T01:13:20Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-left: -40%;
@@ -93,7 +93,7 @@
        display: inline-block;
        position: relative;
 }
-.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -102,7 +102,7 @@
        vertical-align: top;
        text-align: center;
 }
-.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-framed.oo-ui-labelElement > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -149,6 +149,8 @@
 }
 .oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
        color: #333333;
+}
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        margin-left: 0.25em;
 }
 .oo-ui-buttonElement-frameless.oo-ui-flaggedElement-primary > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
@@ -653,6 +655,17 @@
 .oo-ui-popupToolGroup.oo-ui-indicatorElement.oo-ui-iconElement {
        min-width: 3.5em;
 }
+.oo-ui-popupToolGroup.oo-ui-labelElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
+       line-height: 2.6em;
+       font-size: 0.8em;
+       margin: 0 1em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-iconElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-left: 3em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-indicatorElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-right: 2.25em;
+}
 .oo-ui-popupToolGroup-handle .oo-ui-indicatorElement-indicator,
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        top: 0;
@@ -665,11 +678,6 @@
 }
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        left: 0.25em;
-}
-.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
-       line-height: 2.6em;
-       font-size: 0.8em;
-       margin: 0 1em;
 }
 .oo-ui-popupToolGroup-header {
        line-height: 2.6em;
@@ -689,12 +697,6 @@
        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%);
-}
-.oo-ui-popupToolGroup.oo-ui-iconElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-left: 3em;
-}
-.oo-ui-popupToolGroup.oo-ui-indicatorElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-right: 2.25em;
 }
 .oo-ui-popupToolGroup .oo-ui-toolGroup-tools {
        top: 2em;
@@ -906,13 +908,13 @@
        position: relative;
        display: block;
        cursor: pointer;
-       padding: 0.5em 2em 0.5em 3em;
+       padding: 0.25em 0.5em;
        border: none;
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        cursor: default;
 }
-.oo-ui-optionWidget .oo-ui-labelElement-label {
+.oo-ui-optionWidget.oo-ui-labelElement .oo-ui-labelElement-label {
        display: block;
        white-space: nowrap;
        text-overflow: ellipsis;
@@ -932,6 +934,9 @@
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        color: #cccccc;
+}
+.oo-ui-decoratedOptionWidget {
+       padding: 0.5em 2em 0.5em 3em;
 }
 .oo-ui-decoratedOptionWidget .oo-ui-iconElement-icon,
 .oo-ui-decoratedOptionWidget .oo-ui-indicatorElement-indicator {
@@ -1834,7 +1839,10 @@
 .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget:last-child {
        border-bottom-width: 0;
 }
-.oo-ui-messageDialog-actions .oo-ui-actionWidget .oo-ui-labelElement-label {
+.oo-ui-messageDialog-actions .oo-ui-actionWidget {
+       height: 3.4em;
+}
+.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-labelElement 
.oo-ui-labelElement-label {
        text-align: center;
        line-height: 3.4em;
        padding: 0 2em;
@@ -1931,8 +1939,6 @@
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-buttonElement-button {
-       padding-top: 0.75em;
-       padding-bottom: 0.75em;
        min-width: 1.9em;
        min-height: 1.9em;
 }
@@ -1940,12 +1946,10 @@
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-labelElement-label,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-labelElement-label {
        line-height: 1.9em;
-       padding: 0 1em;
 }
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget .oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-other .oo-ui-actionWidget .oo-ui-iconElement-icon 
{
-       position: absolute;
+.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
        margin-top: -0.125em;
 }
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed,
@@ -1956,7 +1960,7 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button {
-       padding: 0;
+       padding: 0 1em;
        vertical-align: middle;
 }
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget:hover,
@@ -2003,18 +2007,6 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active {
        background-color: rgba(212, 83, 83, 0.1);
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       left: 0.5em;
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-left: 2.25em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       right: 0.5em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-right: 2.25em;
 }
 .oo-ui-processDialog > .oo-ui-window-frame {
        min-height: 5em;
@@ -2105,7 +2097,7 @@
 .oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-load {
        opacity: 1;
 }
-.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-ready > 
.oo-ui-window-frame {
+.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-setup > 
.oo-ui-window-frame {
        -webkit-transform: scale(1);
           -moz-transform: scale(1);
            -ms-transform: scale(1);
diff --git a/lib/oojs-ui/oojs-ui-apex.js b/lib/oojs-ui/oojs-ui-apex.js
index d2244ac..2a62964 100644
--- a/lib/oojs-ui/oojs-ui-apex.js
+++ b/lib/oojs-ui/oojs-ui-apex.js
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (9ed4cf2557)
+ * OOjs UI v0.2.2
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2014-11-22T01:18:34Z
+ * Date: 2014-11-25T01:13:13Z
  */
 /* Instantiation */
 
diff --git a/lib/oojs-ui/oojs-ui-apex.rtl.css b/lib/oojs-ui/oojs-ui-apex.rtl.css
index c3c7b0a..f0dc53b 100644
--- a/lib/oojs-ui/oojs-ui-apex.rtl.css
+++ b/lib/oojs-ui/oojs-ui-apex.rtl.css
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (9ed4cf2557)
+ * OOjs UI v0.2.2
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2014-11-22T01:18:44Z
+ * Date: 2014-11-25T01:13:20Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-right: -40%;
@@ -93,7 +93,7 @@
        display: inline-block;
        position: relative;
 }
-.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -102,7 +102,7 @@
        vertical-align: top;
        text-align: center;
 }
-.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-framed.oo-ui-labelElement > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -149,6 +149,8 @@
 }
 .oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
        color: #333333;
+}
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        margin-right: 0.25em;
 }
 .oo-ui-buttonElement-frameless.oo-ui-flaggedElement-primary > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
@@ -653,6 +655,17 @@
 .oo-ui-popupToolGroup.oo-ui-indicatorElement.oo-ui-iconElement {
        min-width: 3.5em;
 }
+.oo-ui-popupToolGroup.oo-ui-labelElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
+       line-height: 2.6em;
+       font-size: 0.8em;
+       margin: 0 1em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-iconElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-right: 3em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-indicatorElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-left: 2.25em;
+}
 .oo-ui-popupToolGroup-handle .oo-ui-indicatorElement-indicator,
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        top: 0;
@@ -665,11 +678,6 @@
 }
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        right: 0.25em;
-}
-.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
-       line-height: 2.6em;
-       font-size: 0.8em;
-       margin: 0 1em;
 }
 .oo-ui-popupToolGroup-header {
        line-height: 2.6em;
@@ -689,12 +697,6 @@
        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%);
-}
-.oo-ui-popupToolGroup.oo-ui-iconElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-right: 3em;
-}
-.oo-ui-popupToolGroup.oo-ui-indicatorElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-left: 2.25em;
 }
 .oo-ui-popupToolGroup .oo-ui-toolGroup-tools {
        top: 2em;
@@ -906,13 +908,13 @@
        position: relative;
        display: block;
        cursor: pointer;
-       padding: 0.5em 3em 0.5em 2em;
+       padding: 0.25em 0.5em;
        border: none;
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        cursor: default;
 }
-.oo-ui-optionWidget .oo-ui-labelElement-label {
+.oo-ui-optionWidget.oo-ui-labelElement .oo-ui-labelElement-label {
        display: block;
        white-space: nowrap;
        text-overflow: ellipsis;
@@ -932,6 +934,9 @@
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        color: #cccccc;
+}
+.oo-ui-decoratedOptionWidget {
+       padding: 0.5em 3em 0.5em 2em;
 }
 .oo-ui-decoratedOptionWidget .oo-ui-iconElement-icon,
 .oo-ui-decoratedOptionWidget .oo-ui-indicatorElement-indicator {
@@ -1834,7 +1839,10 @@
 .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget:last-child {
        border-bottom-width: 0;
 }
-.oo-ui-messageDialog-actions .oo-ui-actionWidget .oo-ui-labelElement-label {
+.oo-ui-messageDialog-actions .oo-ui-actionWidget {
+       height: 3.4em;
+}
+.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-labelElement 
.oo-ui-labelElement-label {
        text-align: center;
        line-height: 3.4em;
        padding: 0 2em;
@@ -1931,8 +1939,6 @@
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-buttonElement-button {
-       padding-top: 0.75em;
-       padding-bottom: 0.75em;
        min-width: 1.9em;
        min-height: 1.9em;
 }
@@ -1940,12 +1946,10 @@
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-labelElement-label,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-labelElement-label {
        line-height: 1.9em;
-       padding: 0 1em;
 }
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget .oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-other .oo-ui-actionWidget .oo-ui-iconElement-icon 
{
-       position: absolute;
+.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
        margin-top: -0.125em;
 }
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed,
@@ -1956,7 +1960,7 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button {
-       padding: 0;
+       padding: 0 1em;
        vertical-align: middle;
 }
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget:hover,
@@ -2003,18 +2007,6 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active {
        background-color: rgba(212, 83, 83, 0.1);
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       right: 0.5em;
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-right: 2.25em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       left: 0.5em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-left: 2.25em;
 }
 .oo-ui-processDialog > .oo-ui-window-frame {
        min-height: 5em;
@@ -2105,7 +2097,7 @@
 .oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-load {
        opacity: 1;
 }
-.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-ready > 
.oo-ui-window-frame {
+.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-setup > 
.oo-ui-window-frame {
        -webkit-transform: scale(1);
           -moz-transform: scale(1);
            -ms-transform: scale(1);
diff --git a/lib/oojs-ui/oojs-ui-apex.svg.css b/lib/oojs-ui/oojs-ui-apex.svg.css
index 758fdd3..26a4c0b 100644
--- a/lib/oojs-ui/oojs-ui-apex.svg.css
+++ b/lib/oojs-ui/oojs-ui-apex.svg.css
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (9ed4cf2557)
+ * OOjs UI v0.2.2
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2014-11-22T01:18:44Z
+ * Date: 2014-11-25T01:13:20Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-left: -40%;
@@ -93,7 +93,7 @@
        display: inline-block;
        position: relative;
 }
-.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -102,7 +102,7 @@
        vertical-align: top;
        text-align: center;
 }
-.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-framed.oo-ui-labelElement > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -149,6 +149,8 @@
 }
 .oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
        color: #333333;
+}
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        margin-left: 0.25em;
 }
 .oo-ui-buttonElement-frameless.oo-ui-flaggedElement-primary > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
@@ -653,6 +655,17 @@
 .oo-ui-popupToolGroup.oo-ui-indicatorElement.oo-ui-iconElement {
        min-width: 3.5em;
 }
+.oo-ui-popupToolGroup.oo-ui-labelElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
+       line-height: 2.6em;
+       font-size: 0.8em;
+       margin: 0 1em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-iconElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-left: 3em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-indicatorElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-right: 2.25em;
+}
 .oo-ui-popupToolGroup-handle .oo-ui-indicatorElement-indicator,
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        top: 0;
@@ -665,11 +678,6 @@
 }
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        left: 0.25em;
-}
-.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
-       line-height: 2.6em;
-       font-size: 0.8em;
-       margin: 0 1em;
 }
 .oo-ui-popupToolGroup-header {
        line-height: 2.6em;
@@ -689,12 +697,6 @@
        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%);
-}
-.oo-ui-popupToolGroup.oo-ui-iconElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-left: 3em;
-}
-.oo-ui-popupToolGroup.oo-ui-indicatorElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-right: 2.25em;
 }
 .oo-ui-popupToolGroup .oo-ui-toolGroup-tools {
        top: 2em;
@@ -906,13 +908,13 @@
        position: relative;
        display: block;
        cursor: pointer;
-       padding: 0.5em 2em 0.5em 3em;
+       padding: 0.25em 0.5em;
        border: none;
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        cursor: default;
 }
-.oo-ui-optionWidget .oo-ui-labelElement-label {
+.oo-ui-optionWidget.oo-ui-labelElement .oo-ui-labelElement-label {
        display: block;
        white-space: nowrap;
        text-overflow: ellipsis;
@@ -932,6 +934,9 @@
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        color: #cccccc;
+}
+.oo-ui-decoratedOptionWidget {
+       padding: 0.5em 2em 0.5em 3em;
 }
 .oo-ui-decoratedOptionWidget .oo-ui-iconElement-icon,
 .oo-ui-decoratedOptionWidget .oo-ui-indicatorElement-indicator {
@@ -1834,7 +1839,10 @@
 .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget:last-child {
        border-bottom-width: 0;
 }
-.oo-ui-messageDialog-actions .oo-ui-actionWidget .oo-ui-labelElement-label {
+.oo-ui-messageDialog-actions .oo-ui-actionWidget {
+       height: 3.4em;
+}
+.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-labelElement 
.oo-ui-labelElement-label {
        text-align: center;
        line-height: 3.4em;
        padding: 0 2em;
@@ -1931,8 +1939,6 @@
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-buttonElement-button {
-       padding-top: 0.75em;
-       padding-bottom: 0.75em;
        min-width: 1.9em;
        min-height: 1.9em;
 }
@@ -1940,12 +1946,10 @@
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-labelElement-label,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-labelElement-label {
        line-height: 1.9em;
-       padding: 0 1em;
 }
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget .oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-other .oo-ui-actionWidget .oo-ui-iconElement-icon 
{
-       position: absolute;
+.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
        margin-top: -0.125em;
 }
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed,
@@ -1956,7 +1960,7 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button {
-       padding: 0;
+       padding: 0 1em;
        vertical-align: middle;
 }
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget:hover,
@@ -2003,18 +2007,6 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active {
        background-color: rgba(212, 83, 83, 0.1);
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       left: 0.5em;
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-left: 2.25em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       right: 0.5em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-right: 2.25em;
 }
 .oo-ui-processDialog > .oo-ui-window-frame {
        min-height: 5em;
@@ -2105,7 +2097,7 @@
 .oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-load {
        opacity: 1;
 }
-.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-ready > 
.oo-ui-window-frame {
+.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-setup > 
.oo-ui-window-frame {
        -webkit-transform: scale(1);
           -moz-transform: scale(1);
            -ms-transform: scale(1);
diff --git a/lib/oojs-ui/oojs-ui-apex.svg.rtl.css 
b/lib/oojs-ui/oojs-ui-apex.svg.rtl.css
index 471e01a..98dd242 100644
--- a/lib/oojs-ui/oojs-ui-apex.svg.rtl.css
+++ b/lib/oojs-ui/oojs-ui-apex.svg.rtl.css
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (9ed4cf2557)
+ * OOjs UI v0.2.2
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2014-11-22T01:18:44Z
+ * Date: 2014-11-25T01:13:20Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-right: -40%;
@@ -93,7 +93,7 @@
        display: inline-block;
        position: relative;
 }
-.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -102,7 +102,7 @@
        vertical-align: top;
        text-align: center;
 }
-.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-framed.oo-ui-labelElement > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -149,6 +149,8 @@
 }
 .oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
        color: #333333;
+}
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        margin-right: 0.25em;
 }
 .oo-ui-buttonElement-frameless.oo-ui-flaggedElement-primary > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
@@ -653,6 +655,17 @@
 .oo-ui-popupToolGroup.oo-ui-indicatorElement.oo-ui-iconElement {
        min-width: 3.5em;
 }
+.oo-ui-popupToolGroup.oo-ui-labelElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
+       line-height: 2.6em;
+       font-size: 0.8em;
+       margin: 0 1em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-iconElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-right: 3em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-indicatorElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-left: 2.25em;
+}
 .oo-ui-popupToolGroup-handle .oo-ui-indicatorElement-indicator,
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        top: 0;
@@ -665,11 +678,6 @@
 }
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        right: 0.25em;
-}
-.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
-       line-height: 2.6em;
-       font-size: 0.8em;
-       margin: 0 1em;
 }
 .oo-ui-popupToolGroup-header {
        line-height: 2.6em;
@@ -689,12 +697,6 @@
        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%);
-}
-.oo-ui-popupToolGroup.oo-ui-iconElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-right: 3em;
-}
-.oo-ui-popupToolGroup.oo-ui-indicatorElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-left: 2.25em;
 }
 .oo-ui-popupToolGroup .oo-ui-toolGroup-tools {
        top: 2em;
@@ -906,13 +908,13 @@
        position: relative;
        display: block;
        cursor: pointer;
-       padding: 0.5em 3em 0.5em 2em;
+       padding: 0.25em 0.5em;
        border: none;
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        cursor: default;
 }
-.oo-ui-optionWidget .oo-ui-labelElement-label {
+.oo-ui-optionWidget.oo-ui-labelElement .oo-ui-labelElement-label {
        display: block;
        white-space: nowrap;
        text-overflow: ellipsis;
@@ -932,6 +934,9 @@
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        color: #cccccc;
+}
+.oo-ui-decoratedOptionWidget {
+       padding: 0.5em 3em 0.5em 2em;
 }
 .oo-ui-decoratedOptionWidget .oo-ui-iconElement-icon,
 .oo-ui-decoratedOptionWidget .oo-ui-indicatorElement-indicator {
@@ -1834,7 +1839,10 @@
 .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget:last-child {
        border-bottom-width: 0;
 }
-.oo-ui-messageDialog-actions .oo-ui-actionWidget .oo-ui-labelElement-label {
+.oo-ui-messageDialog-actions .oo-ui-actionWidget {
+       height: 3.4em;
+}
+.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-labelElement 
.oo-ui-labelElement-label {
        text-align: center;
        line-height: 3.4em;
        padding: 0 2em;
@@ -1931,8 +1939,6 @@
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-buttonElement-button {
-       padding-top: 0.75em;
-       padding-bottom: 0.75em;
        min-width: 1.9em;
        min-height: 1.9em;
 }
@@ -1940,12 +1946,10 @@
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-labelElement-label,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-labelElement-label {
        line-height: 1.9em;
-       padding: 0 1em;
 }
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget .oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-other .oo-ui-actionWidget .oo-ui-iconElement-icon 
{
-       position: absolute;
+.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
        margin-top: -0.125em;
 }
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed,
@@ -1956,7 +1960,7 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button {
-       padding: 0;
+       padding: 0 1em;
        vertical-align: middle;
 }
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget:hover,
@@ -2003,18 +2007,6 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active {
        background-color: rgba(212, 83, 83, 0.1);
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       right: 0.5em;
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-right: 2.25em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       left: 0.5em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-left: 2.25em;
 }
 .oo-ui-processDialog > .oo-ui-window-frame {
        min-height: 5em;
@@ -2105,7 +2097,7 @@
 .oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-load {
        opacity: 1;
 }
-.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-ready > 
.oo-ui-window-frame {
+.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-setup > 
.oo-ui-window-frame {
        -webkit-transform: scale(1);
           -moz-transform: scale(1);
            -ms-transform: scale(1);
diff --git a/lib/oojs-ui/oojs-ui-mediawiki.css 
b/lib/oojs-ui/oojs-ui-mediawiki.css
index 4d9e3fd..a70e18a 100644
--- a/lib/oojs-ui/oojs-ui-mediawiki.css
+++ b/lib/oojs-ui/oojs-ui-mediawiki.css
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (9ed4cf2557)
+ * OOjs UI v0.2.2
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2014-11-22T01:18:44Z
+ * Date: 2014-11-25T01:13:20Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-left: -40%;
@@ -93,7 +93,7 @@
        display: inline-block;
        position: relative;
 }
-.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -102,7 +102,7 @@
        vertical-align: top;
        text-align: center;
 }
-.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-framed.oo-ui-labelElement > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -141,7 +141,7 @@
 .oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:focus {
        outline: none;
 }
-.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        margin-left: 0.25em;
 }
 .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
@@ -604,6 +604,17 @@
 .oo-ui-popupToolGroup.oo-ui-indicatorElement.oo-ui-iconElement {
        min-width: 3.5em;
 }
+.oo-ui-popupToolGroup.oo-ui-labelElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
+       line-height: 2.6em;
+       font-size: 0.8em;
+       margin: 0 1em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-iconElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-left: 3em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-indicatorElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-right: 2.25em;
+}
 .oo-ui-popupToolGroup-handle .oo-ui-indicatorElement-indicator,
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        top: 0;
@@ -617,22 +628,11 @@
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        left: 0.25em;
 }
-.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
-       line-height: 2.6em;
-       font-size: 0.8em;
-       margin: 0 1em;
-}
 .oo-ui-popupToolGroup-header {
        line-height: 2.6em;
        font-size: 0.8em;
        margin: 0 0.6em;
        font-weight: bold;
-}
-.oo-ui-popupToolGroup.oo-ui-iconElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-left: 3em;
-}
-.oo-ui-popupToolGroup.oo-ui-indicatorElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-right: 2.25em;
 }
 .oo-ui-popupToolGroup .oo-ui-toolGroup-tools {
        top: 2em;
@@ -817,13 +817,13 @@
        position: relative;
        display: block;
        cursor: pointer;
-       padding: 0.5em 2em 0.5em 3em;
+       padding: 0.25em 0.5em;
        border: none;
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        cursor: default;
 }
-.oo-ui-optionWidget .oo-ui-labelElement-label {
+.oo-ui-optionWidget.oo-ui-labelElement .oo-ui-labelElement-label {
        display: block;
        white-space: nowrap;
        text-overflow: ellipsis;
@@ -841,6 +841,9 @@
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        color: #cccccc;
+}
+.oo-ui-decoratedOptionWidget {
+       padding: 0.5em 2em 0.5em 3em;
 }
 .oo-ui-decoratedOptionWidget .oo-ui-iconElement-icon,
 .oo-ui-decoratedOptionWidget .oo-ui-indicatorElement-indicator {
@@ -1705,7 +1708,10 @@
 .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget:last-child {
        border-bottom-width: 0;
 }
-.oo-ui-messageDialog-actions .oo-ui-actionWidget .oo-ui-labelElement-label {
+.oo-ui-messageDialog-actions .oo-ui-actionWidget {
+       height: 3.4em;
+}
+.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-labelElement 
.oo-ui-labelElement-label {
        text-align: center;
        line-height: 3.4em;
        padding: 0 2em;
@@ -1802,8 +1808,6 @@
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-buttonElement-button {
-       padding-top: 0.75em;
-       padding-bottom: 0.75em;
        min-width: 1.9em;
        min-height: 1.9em;
 }
@@ -1811,12 +1815,10 @@
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-labelElement-label,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-labelElement-label {
        line-height: 1.9em;
-       padding: 0 1em;
 }
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget .oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-other .oo-ui-actionWidget .oo-ui-iconElement-icon 
{
-       position: absolute;
+.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
        margin-top: -0.125em;
 }
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed,
@@ -1827,7 +1829,7 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button {
-       padding: 0;
+       padding: 0 1em;
        vertical-align: middle;
 }
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget:hover,
@@ -1874,18 +1876,6 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active {
        background-color: rgba(212, 83, 83, 0.1);
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       left: 0.5em;
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-left: 2.25em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       right: 0.5em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-right: 2.25em;
 }
 .oo-ui-processDialog > .oo-ui-window-frame {
        min-height: 5em;
@@ -1976,7 +1966,7 @@
 .oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-load {
        opacity: 1;
 }
-.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-ready > 
.oo-ui-window-frame {
+.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-setup > 
.oo-ui-window-frame {
        -webkit-transform: scale(1);
           -moz-transform: scale(1);
            -ms-transform: scale(1);
diff --git a/lib/oojs-ui/oojs-ui-mediawiki.js b/lib/oojs-ui/oojs-ui-mediawiki.js
index d0a7777..9a57c66 100644
--- a/lib/oojs-ui/oojs-ui-mediawiki.js
+++ b/lib/oojs-ui/oojs-ui-mediawiki.js
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (9ed4cf2557)
+ * OOjs UI v0.2.2
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2014-11-22T01:18:34Z
+ * Date: 2014-11-25T01:13:13Z
  */
 /**
  * @class
diff --git a/lib/oojs-ui/oojs-ui-mediawiki.rtl.css 
b/lib/oojs-ui/oojs-ui-mediawiki.rtl.css
index 8d4e03e..9c31f6b 100644
--- a/lib/oojs-ui/oojs-ui-mediawiki.rtl.css
+++ b/lib/oojs-ui/oojs-ui-mediawiki.rtl.css
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (9ed4cf2557)
+ * OOjs UI v0.2.2
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2014-11-22T01:18:44Z
+ * Date: 2014-11-25T01:13:20Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-right: -40%;
@@ -93,7 +93,7 @@
        display: inline-block;
        position: relative;
 }
-.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -102,7 +102,7 @@
        vertical-align: top;
        text-align: center;
 }
-.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-framed.oo-ui-labelElement > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -141,7 +141,7 @@
 .oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:focus {
        outline: none;
 }
-.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        margin-right: 0.25em;
 }
 .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
@@ -604,6 +604,17 @@
 .oo-ui-popupToolGroup.oo-ui-indicatorElement.oo-ui-iconElement {
        min-width: 3.5em;
 }
+.oo-ui-popupToolGroup.oo-ui-labelElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
+       line-height: 2.6em;
+       font-size: 0.8em;
+       margin: 0 1em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-iconElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-right: 3em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-indicatorElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-left: 2.25em;
+}
 .oo-ui-popupToolGroup-handle .oo-ui-indicatorElement-indicator,
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        top: 0;
@@ -617,22 +628,11 @@
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        right: 0.25em;
 }
-.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
-       line-height: 2.6em;
-       font-size: 0.8em;
-       margin: 0 1em;
-}
 .oo-ui-popupToolGroup-header {
        line-height: 2.6em;
        font-size: 0.8em;
        margin: 0 0.6em;
        font-weight: bold;
-}
-.oo-ui-popupToolGroup.oo-ui-iconElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-right: 3em;
-}
-.oo-ui-popupToolGroup.oo-ui-indicatorElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-left: 2.25em;
 }
 .oo-ui-popupToolGroup .oo-ui-toolGroup-tools {
        top: 2em;
@@ -817,13 +817,13 @@
        position: relative;
        display: block;
        cursor: pointer;
-       padding: 0.5em 3em 0.5em 2em;
+       padding: 0.25em 0.5em;
        border: none;
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        cursor: default;
 }
-.oo-ui-optionWidget .oo-ui-labelElement-label {
+.oo-ui-optionWidget.oo-ui-labelElement .oo-ui-labelElement-label {
        display: block;
        white-space: nowrap;
        text-overflow: ellipsis;
@@ -841,6 +841,9 @@
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        color: #cccccc;
+}
+.oo-ui-decoratedOptionWidget {
+       padding: 0.5em 3em 0.5em 2em;
 }
 .oo-ui-decoratedOptionWidget .oo-ui-iconElement-icon,
 .oo-ui-decoratedOptionWidget .oo-ui-indicatorElement-indicator {
@@ -1705,7 +1708,10 @@
 .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget:last-child {
        border-bottom-width: 0;
 }
-.oo-ui-messageDialog-actions .oo-ui-actionWidget .oo-ui-labelElement-label {
+.oo-ui-messageDialog-actions .oo-ui-actionWidget {
+       height: 3.4em;
+}
+.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-labelElement 
.oo-ui-labelElement-label {
        text-align: center;
        line-height: 3.4em;
        padding: 0 2em;
@@ -1802,8 +1808,6 @@
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-buttonElement-button {
-       padding-top: 0.75em;
-       padding-bottom: 0.75em;
        min-width: 1.9em;
        min-height: 1.9em;
 }
@@ -1811,12 +1815,10 @@
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-labelElement-label,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-labelElement-label {
        line-height: 1.9em;
-       padding: 0 1em;
 }
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget .oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-other .oo-ui-actionWidget .oo-ui-iconElement-icon 
{
-       position: absolute;
+.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
        margin-top: -0.125em;
 }
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed,
@@ -1827,7 +1829,7 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button {
-       padding: 0;
+       padding: 0 1em;
        vertical-align: middle;
 }
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget:hover,
@@ -1874,18 +1876,6 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active {
        background-color: rgba(212, 83, 83, 0.1);
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       right: 0.5em;
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-right: 2.25em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       left: 0.5em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-left: 2.25em;
 }
 .oo-ui-processDialog > .oo-ui-window-frame {
        min-height: 5em;
@@ -1976,7 +1966,7 @@
 .oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-load {
        opacity: 1;
 }
-.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-ready > 
.oo-ui-window-frame {
+.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-setup > 
.oo-ui-window-frame {
        -webkit-transform: scale(1);
           -moz-transform: scale(1);
            -ms-transform: scale(1);
diff --git a/lib/oojs-ui/oojs-ui-mediawiki.svg.css 
b/lib/oojs-ui/oojs-ui-mediawiki.svg.css
index 1204849..f38a637 100644
--- a/lib/oojs-ui/oojs-ui-mediawiki.svg.css
+++ b/lib/oojs-ui/oojs-ui-mediawiki.svg.css
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (9ed4cf2557)
+ * OOjs UI v0.2.2
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2014-11-22T01:18:44Z
+ * Date: 2014-11-25T01:13:20Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-left: -40%;
@@ -93,7 +93,7 @@
        display: inline-block;
        position: relative;
 }
-.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -102,7 +102,7 @@
        vertical-align: top;
        text-align: center;
 }
-.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-framed.oo-ui-labelElement > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -141,7 +141,7 @@
 .oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:focus {
        outline: none;
 }
-.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        margin-left: 0.25em;
 }
 .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
@@ -604,6 +604,17 @@
 .oo-ui-popupToolGroup.oo-ui-indicatorElement.oo-ui-iconElement {
        min-width: 3.5em;
 }
+.oo-ui-popupToolGroup.oo-ui-labelElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
+       line-height: 2.6em;
+       font-size: 0.8em;
+       margin: 0 1em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-iconElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-left: 3em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-indicatorElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-right: 2.25em;
+}
 .oo-ui-popupToolGroup-handle .oo-ui-indicatorElement-indicator,
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        top: 0;
@@ -617,22 +628,11 @@
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        left: 0.25em;
 }
-.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
-       line-height: 2.6em;
-       font-size: 0.8em;
-       margin: 0 1em;
-}
 .oo-ui-popupToolGroup-header {
        line-height: 2.6em;
        font-size: 0.8em;
        margin: 0 0.6em;
        font-weight: bold;
-}
-.oo-ui-popupToolGroup.oo-ui-iconElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-left: 3em;
-}
-.oo-ui-popupToolGroup.oo-ui-indicatorElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-right: 2.25em;
 }
 .oo-ui-popupToolGroup .oo-ui-toolGroup-tools {
        top: 2em;
@@ -817,13 +817,13 @@
        position: relative;
        display: block;
        cursor: pointer;
-       padding: 0.5em 2em 0.5em 3em;
+       padding: 0.25em 0.5em;
        border: none;
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        cursor: default;
 }
-.oo-ui-optionWidget .oo-ui-labelElement-label {
+.oo-ui-optionWidget.oo-ui-labelElement .oo-ui-labelElement-label {
        display: block;
        white-space: nowrap;
        text-overflow: ellipsis;
@@ -841,6 +841,9 @@
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        color: #cccccc;
+}
+.oo-ui-decoratedOptionWidget {
+       padding: 0.5em 2em 0.5em 3em;
 }
 .oo-ui-decoratedOptionWidget .oo-ui-iconElement-icon,
 .oo-ui-decoratedOptionWidget .oo-ui-indicatorElement-indicator {
@@ -1705,7 +1708,10 @@
 .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget:last-child {
        border-bottom-width: 0;
 }
-.oo-ui-messageDialog-actions .oo-ui-actionWidget .oo-ui-labelElement-label {
+.oo-ui-messageDialog-actions .oo-ui-actionWidget {
+       height: 3.4em;
+}
+.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-labelElement 
.oo-ui-labelElement-label {
        text-align: center;
        line-height: 3.4em;
        padding: 0 2em;
@@ -1802,8 +1808,6 @@
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-buttonElement-button {
-       padding-top: 0.75em;
-       padding-bottom: 0.75em;
        min-width: 1.9em;
        min-height: 1.9em;
 }
@@ -1811,12 +1815,10 @@
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-labelElement-label,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-labelElement-label {
        line-height: 1.9em;
-       padding: 0 1em;
 }
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget .oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-other .oo-ui-actionWidget .oo-ui-iconElement-icon 
{
-       position: absolute;
+.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
        margin-top: -0.125em;
 }
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed,
@@ -1827,7 +1829,7 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button {
-       padding: 0;
+       padding: 0 1em;
        vertical-align: middle;
 }
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget:hover,
@@ -1874,18 +1876,6 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active {
        background-color: rgba(212, 83, 83, 0.1);
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       left: 0.5em;
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-left: 2.25em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       right: 0.5em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-right: 2.25em;
 }
 .oo-ui-processDialog > .oo-ui-window-frame {
        min-height: 5em;
@@ -1976,7 +1966,7 @@
 .oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-load {
        opacity: 1;
 }
-.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-ready > 
.oo-ui-window-frame {
+.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-setup > 
.oo-ui-window-frame {
        -webkit-transform: scale(1);
           -moz-transform: scale(1);
            -ms-transform: scale(1);
diff --git a/lib/oojs-ui/oojs-ui-mediawiki.svg.rtl.css 
b/lib/oojs-ui/oojs-ui-mediawiki.svg.rtl.css
index 1ee49b9..6d63768 100644
--- a/lib/oojs-ui/oojs-ui-mediawiki.svg.rtl.css
+++ b/lib/oojs-ui/oojs-ui-mediawiki.svg.rtl.css
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (9ed4cf2557)
+ * OOjs UI v0.2.2
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2014-11-22T01:18:44Z
+ * Date: 2014-11-25T01:13:20Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-right: -40%;
@@ -93,7 +93,7 @@
        display: inline-block;
        position: relative;
 }
-.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -102,7 +102,7 @@
        vertical-align: top;
        text-align: center;
 }
-.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-framed.oo-ui-labelElement > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
        display: inline-block;
        vertical-align: middle;
 }
@@ -141,7 +141,7 @@
 .oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button:focus {
        outline: none;
 }
-.oo-ui-buttonElement-frameless > .oo-ui-buttonElement-button > 
.oo-ui-labelElement-label {
+.oo-ui-buttonElement-frameless.oo-ui-labelElement > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        margin-right: 0.25em;
 }
 .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > 
.oo-ui-buttonElement-button > .oo-ui-labelElement-label {
@@ -604,6 +604,17 @@
 .oo-ui-popupToolGroup.oo-ui-indicatorElement.oo-ui-iconElement {
        min-width: 3.5em;
 }
+.oo-ui-popupToolGroup.oo-ui-labelElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
+       line-height: 2.6em;
+       font-size: 0.8em;
+       margin: 0 1em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-iconElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-right: 3em;
+}
+.oo-ui-popupToolGroup.oo-ui-labelElement.oo-ui-indicatorElement 
.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+       margin-left: 2.25em;
+}
 .oo-ui-popupToolGroup-handle .oo-ui-indicatorElement-indicator,
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        top: 0;
@@ -617,22 +628,11 @@
 .oo-ui-popupToolGroup-handle .oo-ui-iconElement-icon {
        right: 0.25em;
 }
-.oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
-       line-height: 2.6em;
-       font-size: 0.8em;
-       margin: 0 1em;
-}
 .oo-ui-popupToolGroup-header {
        line-height: 2.6em;
        font-size: 0.8em;
        margin: 0 0.6em;
        font-weight: bold;
-}
-.oo-ui-popupToolGroup.oo-ui-iconElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-right: 3em;
-}
-.oo-ui-popupToolGroup.oo-ui-indicatorElement .oo-ui-popupToolGroup-handle 
.oo-ui-labelElement-label {
-       margin-left: 2.25em;
 }
 .oo-ui-popupToolGroup .oo-ui-toolGroup-tools {
        top: 2em;
@@ -817,13 +817,13 @@
        position: relative;
        display: block;
        cursor: pointer;
-       padding: 0.5em 3em 0.5em 2em;
+       padding: 0.25em 0.5em;
        border: none;
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        cursor: default;
 }
-.oo-ui-optionWidget .oo-ui-labelElement-label {
+.oo-ui-optionWidget.oo-ui-labelElement .oo-ui-labelElement-label {
        display: block;
        white-space: nowrap;
        text-overflow: ellipsis;
@@ -841,6 +841,9 @@
 }
 .oo-ui-optionWidget.oo-ui-widget-disabled {
        color: #cccccc;
+}
+.oo-ui-decoratedOptionWidget {
+       padding: 0.5em 3em 0.5em 2em;
 }
 .oo-ui-decoratedOptionWidget .oo-ui-iconElement-icon,
 .oo-ui-decoratedOptionWidget .oo-ui-indicatorElement-indicator {
@@ -1705,7 +1708,10 @@
 .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget:last-child {
        border-bottom-width: 0;
 }
-.oo-ui-messageDialog-actions .oo-ui-actionWidget .oo-ui-labelElement-label {
+.oo-ui-messageDialog-actions .oo-ui-actionWidget {
+       height: 3.4em;
+}
+.oo-ui-messageDialog-actions .oo-ui-actionWidget.oo-ui-labelElement 
.oo-ui-labelElement-label {
        text-align: center;
        line-height: 3.4em;
        padding: 0 2em;
@@ -1802,8 +1808,6 @@
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-buttonElement-button {
-       padding-top: 0.75em;
-       padding-bottom: 0.75em;
        min-width: 1.9em;
        min-height: 1.9em;
 }
@@ -1811,12 +1815,10 @@
 .oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-labelElement-label,
 .oo-ui-processDialog-actions-other .oo-ui-actionWidget 
.oo-ui-labelElement-label {
        line-height: 1.9em;
-       padding: 0 1em;
 }
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget .oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget 
.oo-ui-iconElement-icon,
-.oo-ui-processDialog-actions-other .oo-ui-actionWidget .oo-ui-iconElement-icon 
{
-       position: absolute;
+.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon,
+.oo-ui-processDialog-actions-other .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
        margin-top: -0.125em;
 }
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed,
@@ -1827,7 +1829,7 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button,
 .oo-ui-processDialog-actions-other 
.oo-ui-actionWidget.oo-ui-buttonElement-framed .oo-ui-buttonElement-button {
-       padding: 0;
+       padding: 0 1em;
        vertical-align: middle;
 }
 .oo-ui-processDialog-actions-safe .oo-ui-actionWidget:hover,
@@ -1874,18 +1876,6 @@
 .oo-ui-processDialog-actions-safe 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active,
 .oo-ui-processDialog-actions-primary 
.oo-ui-actionWidget.oo-ui-flaggedElement-destructive:active {
        background-color: rgba(212, 83, 83, 0.1);
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       right: 0.5em;
-}
-.oo-ui-processDialog-actions-safe .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-right: 2.25em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-iconElement-icon {
-       left: 0.5em;
-}
-.oo-ui-processDialog-actions-primary .oo-ui-actionWidget.oo-ui-iconElement 
.oo-ui-labelElement-label {
-       padding-left: 2.25em;
 }
 .oo-ui-processDialog > .oo-ui-window-frame {
        min-height: 5em;
@@ -1976,7 +1966,7 @@
 .oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-load {
        opacity: 1;
 }
-.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-ready > 
.oo-ui-window-frame {
+.oo-ui-windowManager-modal > .oo-ui-dialog.oo-ui-window-setup > 
.oo-ui-window-frame {
        -webkit-transform: scale(1);
           -moz-transform: scale(1);
            -ms-transform: scale(1);
diff --git a/lib/oojs-ui/oojs-ui.js b/lib/oojs-ui/oojs-ui.js
index ab9cb69..2e2a011 100644
--- a/lib/oojs-ui/oojs-ui.js
+++ b/lib/oojs-ui/oojs-ui.js
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0-pre (9ed4cf2557)
+ * OOjs UI v0.2.2
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2014-11-22T01:18:34Z
+ * Date: 2014-11-25T01:13:13Z
  */
 ( function ( OO ) {
 
@@ -4541,7 +4541,6 @@
        } else {
                this.$label.empty();
        }
-       this.$label.css( 'display', !label ? 'none' : '' );
 };
 
 /**
@@ -5909,7 +5908,7 @@
  */
 OO.ui.MessageDialog.prototype.onActionResize = function ( action ) {
        this.fitActions();
-       return OO.ui.ProcessDialog.super.prototype.onActionResize.call( this, 
action );
+       return OO.ui.MessageDialog.super.prototype.onActionResize.call( this, 
action );
 };
 
 /**
@@ -6035,10 +6034,9 @@
                special.primary.toggleFramed( false );
        }
 
+       this.manager.updateWindowSize( this );
        this.fitActions();
-       if ( !this.isOpening() ) {
-               this.manager.updateWindowSize( this );
-       }
+
        this.$body.css( 'bottom', this.$foot.outerHeight( true ) );
 };
 
@@ -6404,19 +6402,34 @@
  * @param {OO.ui.PanelLayout|null} page The page panel that is now the current 
panel
  */
 OO.ui.BookletLayout.prototype.onStackLayoutSet = function ( page ) {
-       var $input, layout = this;
+       var layout = this;
        if ( page ) {
                page.scrollElementIntoView( { complete: function () {
                        if ( layout.autoFocus ) {
-                               // Set focus to the first input if nothing on 
the page is focused yet
-                               if ( !page.$element.find( ':focus' ).length ) {
-                                       $input = page.$element.find( 
':input:first' );
-                                       if ( $input.length ) {
-                                               $input[0].focus();
-                                       }
-                               }
+                               layout.focus();
                        }
                } } );
+       }
+};
+
+/**
+ * Focus the first input in the current page.
+ *
+ * If no page is selected, the first selectable page will be selected.
+ * If the focus is already in an element on the current page, nothing will 
happen.
+ */
+OO.ui.BookletLayout.prototype.focus = function () {
+       var $input, page = this.stackLayout.getCurrentItem();
+       if ( !page ) {
+               this.selectFirstSelectablePage();
+               page = this.stackLayout.getCurrentItem();
+       }
+       // Only change the focus if is not already in the current page
+       if ( !page.$element.find( ':focus' ).length ) {
+               $input = page.$element.find( ':input:first' );
+               if ( $input.length ) {
+                       $input[0].focus();
+               }
        }
 };
 
@@ -6594,7 +6607,7 @@
 
        if ( this.outlined && items.length ) {
                this.outlineSelectWidget.addItems( items, index );
-               this.updateOutlineSelectWidget();
+               this.selectFirstSelectablePage();
        }
        this.stackLayout.addItems( pages, index );
        this.emit( 'add', pages, index );
@@ -6623,7 +6636,7 @@
        }
        if ( this.outlined && items.length ) {
                this.outlineSelectWidget.removeItems( items );
-               this.updateOutlineSelectWidget();
+               this.selectFirstSelectablePage();
        }
        this.stackLayout.removeItems( pages );
        this.emit( 'remove', pages );
@@ -6696,12 +6709,11 @@
 };
 
 /**
- * Call this after adding or removing items from the OutlineSelectWidget.
+ * Select the first selectable page.
  *
  * @chainable
  */
-OO.ui.BookletLayout.prototype.updateOutlineSelectWidget = function () {
-       // Auto-select first item when nothing is selected anymore
+OO.ui.BookletLayout.prototype.selectFirstSelectablePage = function () {
        if ( !this.outlineSelectWidget.getSelectedItem() ) {
                this.outlineSelectWidget.selectItem( 
this.outlineSelectWidget.getFirstSelectableItem() );
        }
@@ -10053,6 +10065,7 @@
  *
  * @constructor
  * @param {Object} [config] Configuration options
+ * @cfg {OO.ui.InputWidget} [input] Input widget this label is for
  */
 OO.ui.LabelWidget = function OoUiLabelWidget( config ) {
        // Configuration initialization

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ic59067c506838dfd52efeb6b4936e75eb473638b
Gerrit-PatchSet: 2
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Jforrester <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to