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

Change subject: Update OOjs UI to v0.1.0-pre (1fa4eb7a73)
......................................................................


Update OOjs UI to v0.1.0-pre (1fa4eb7a73)

New changes:
549ff9a [BREAKING CHANGE] Rename *Menu and *MenuItem widgets

Update changes:
Changes were generated by running this script:
https://gist.github.com/catrope/ff387517a61fd0ad22af

File changes:

Scripts (src/ui/widgets)
- ve.ui.ContextMenuWidget.js → ve.ui.ContextSelectWidget.js
- ve.ui.ContextItemWidget.js → ve.ui.ContextOptionWidget.js
- ve.ui.MobileContextItemWidget.js → ve.ui.MobileContextOptionWidget.js

Styles (src/ui/styles/widgets)
- ve.ui.ContextMenuWidget.css → ve.ui.ContextSelectWidget.css
- ve.ui.ContextItemWidget.css → ve.ui.ContextOptionWidget.css
- ve.ui.MobileContextItemWidget.css → ve.ui.MobileContextOptionWidget.css

File content changes:

Scripts (*.js)
- ContextMenuWidget → ContextSelectWidget
- ContextItemWidget → ContextOptionWidget
- TextInputMenuWidget → TextInputMenuSelectWidget
- MenuWidget → MenuSelectWidget
- MenuItemWidget → MenuOptionWidget
- MenuSectionItemWidget → MenuSectionOptionWidget
- OutlineWidget → OutlineSelectWidget
- OutlineItemWidget → OutlineOptionWidget

Styles (*.less)
- contextMenuWidget → contextSelectWidget
- contextItemWidget → contextOptionWidget
- textInputMenuWidget → textInputMenuSelectWidget
- menuWidget → menuSelectWidget
- menuItemWidget → menuOptionWidget
- menuSectionItemWidget → menuSectionOptionWidget
- outlineWidget → outlineSelectWidget
- outlineItemWidget → outlineOptionWidget

Change-Id: I1347f16c10fe8252c53cc37f58d7ab5a47ab14ca
---
M .docs/eg-iframe.html
M build/modules.json
M demos/ve/demo.js
M demos/ve/desktop.html
M demos/ve/mobile.html
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
M src/init/sa/styles/ve.init.sa.css
D src/ui/styles/widgets/ve.ui.ContextItemWidget.css
A src/ui/styles/widgets/ve.ui.ContextOptionWidget.css
R src/ui/styles/widgets/ve.ui.ContextSelectWidget.css
R src/ui/styles/widgets/ve.ui.MobileContextOptionWidget.css
M src/ui/ve.ui.Context.js
M src/ui/ve.ui.MobileContext.js
M src/ui/ve.ui.TableContext.js
R src/ui/widgets/ve.ui.ContextOptionWidget.js
R src/ui/widgets/ve.ui.ContextSelectWidget.js
M src/ui/widgets/ve.ui.ContextWidget.js
D src/ui/widgets/ve.ui.MobileContextItemWidget.js
A src/ui/widgets/ve.ui.MobileContextOptionWidget.js
M tests/index.html
30 files changed, 388 insertions(+), 388 deletions(-)

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



diff --git a/.docs/eg-iframe.html b/.docs/eg-iframe.html
index 819e94f..9562a05 100644
--- a/.docs/eg-iframe.html
+++ b/.docs/eg-iframe.html
@@ -29,8 +29,8 @@
                <link rel=stylesheet 
href="../src/ui/styles/tools/ve.ui.FormatTool.css">
                <link rel=stylesheet 
href="../src/ui/styles/widgets/ve.ui.LanguageInputWidget.css">
                <link rel=stylesheet 
href="../src/ui/styles/widgets/ve.ui.LanguageSearchWidget.css">
-               <link rel=stylesheet 
href="../src/ui/styles/widgets/ve.ui.ContextItemWidget.css">
-               <link rel=stylesheet 
href="../src/ui/styles/widgets/ve.ui.ContextMenuWidget.css">
+               <link rel=stylesheet 
href="../src/ui/styles/widgets/ve.ui.ContextOptionWidget.css">
+               <link rel=stylesheet 
href="../src/ui/styles/widgets/ve.ui.ContextSelectWidget.css">
                <link rel=stylesheet 
href="../src/ui/styles/widgets/ve.ui.DimensionsWidget.css">
                <link rel=stylesheet 
href="../src/ui/styles/widgets/ve.ui.MediaSizeWidget.css">
                <link rel=stylesheet 
href="../src/ui/styles/inspectors/ve.ui.CommentInspector.css">
@@ -313,8 +313,8 @@
                <script 
src="../src/ui/widgets/ve.ui.LanguageInputWidget.js"></script>
                <script src="../src/ui/widgets/ve.ui.SurfaceWidget.js"></script>
                <script 
src="../src/ui/widgets/ve.ui.LinkTargetInputWidget.js"></script>
-               <script 
src="../src/ui/widgets/ve.ui.ContextMenuWidget.js"></script>
-               <script 
src="../src/ui/widgets/ve.ui.ContextItemWidget.js"></script>
+               <script 
src="../src/ui/widgets/ve.ui.ContextSelectWidget.js"></script>
+               <script 
src="../src/ui/widgets/ve.ui.ContextOptionWidget.js"></script>
                <script 
src="../src/ui/widgets/ve.ui.DimensionsWidget.js"></script>
                <script 
src="../src/ui/widgets/ve.ui.MediaSizeWidget.js"></script>
                <script 
src="../src/ui/widgets/ve.ui.WhitespacePreservingTextInputWidget.js"></script>
diff --git a/build/modules.json b/build/modules.json
index 8e77260..c96abff 100644
--- a/build/modules.json
+++ b/build/modules.json
@@ -339,8 +339,8 @@
                        "src/ui/widgets/ve.ui.LanguageInputWidget.js",
                        "src/ui/widgets/ve.ui.SurfaceWidget.js",
                        "src/ui/widgets/ve.ui.LinkTargetInputWidget.js",
-                       "src/ui/widgets/ve.ui.ContextMenuWidget.js",
-                       "src/ui/widgets/ve.ui.ContextItemWidget.js",
+                       "src/ui/widgets/ve.ui.ContextSelectWidget.js",
+                       "src/ui/widgets/ve.ui.ContextOptionWidget.js",
                        "src/ui/widgets/ve.ui.DimensionsWidget.js",
                        "src/ui/widgets/ve.ui.MediaSizeWidget.js",
                        
"src/ui/widgets/ve.ui.WhitespacePreservingTextInputWidget.js",
@@ -380,8 +380,8 @@
                        "src/ui/styles/tools/ve.ui.FormatTool.css",
                        "src/ui/styles/widgets/ve.ui.LanguageInputWidget.css",
                        "src/ui/styles/widgets/ve.ui.LanguageSearchWidget.css",
-                       "src/ui/styles/widgets/ve.ui.ContextItemWidget.css",
-                       "src/ui/styles/widgets/ve.ui.ContextMenuWidget.css",
+                       "src/ui/styles/widgets/ve.ui.ContextOptionWidget.css",
+                       "src/ui/styles/widgets/ve.ui.ContextSelectWidget.css",
                        "src/ui/styles/widgets/ve.ui.DimensionsWidget.css",
                        "src/ui/styles/widgets/ve.ui.MediaSizeWidget.css",
                        "src/ui/styles/inspectors/ve.ui.CommentInspector.css",
@@ -512,11 +512,11 @@
                        "src/ui/ve.ui.MobileSurface.js",
                        "src/ui/ve.ui.MobileContext.js",
                        "src/ui/ve.ui.MobileWindowManager.js",
-                       "src/ui/widgets/ve.ui.MobileContextItemWidget.js"
+                       "src/ui/widgets/ve.ui.MobileContextOptionWidget.js"
                ],
                "styles": [
                        "src/ui/styles/ve.ui.MobileSurface.css",
-                       
"src/ui/styles/widgets/ve.ui.MobileContextItemWidget.css"
+                       
"src/ui/styles/widgets/ve.ui.MobileContextOptionWidget.css"
                ],
                "dependencies": [
                        "visualEditor.core.build"
diff --git a/demos/ve/demo.js b/demos/ve/demo.js
index e642867..8346d01 100644
--- a/demos/ve/demo.js
+++ b/demos/ve/demo.js
@@ -11,7 +11,7 @@
                        var name, items = [];
                        for ( name in ve.demoPages ) {
                                items.push(
-                                       new OO.ui.MenuItemWidget( 
ve.demoPages[name],  { label: name } )
+                                       new OO.ui.MenuOptionWidget( 
ve.demoPages[name],  { label: name } )
                                );
                        }
                        return items;
diff --git a/demos/ve/desktop.html b/demos/ve/desktop.html
index 8641a09..41ab04d 100644
--- a/demos/ve/desktop.html
+++ b/demos/ve/desktop.html
@@ -38,8 +38,8 @@
                <link rel=stylesheet 
href="../../src/ui/styles/tools/ve.ui.FormatTool.css">
                <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.LanguageInputWidget.css">
                <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.LanguageSearchWidget.css">
-               <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.ContextItemWidget.css">
-               <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.ContextMenuWidget.css">
+               <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.ContextOptionWidget.css">
+               <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.ContextSelectWidget.css">
                <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.DimensionsWidget.css">
                <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.MediaSizeWidget.css">
                <link rel=stylesheet 
href="../../src/ui/styles/inspectors/ve.ui.CommentInspector.css">
@@ -326,8 +326,8 @@
                <script 
src="../../src/ui/widgets/ve.ui.LanguageInputWidget.js"></script>
                <script 
src="../../src/ui/widgets/ve.ui.SurfaceWidget.js"></script>
                <script 
src="../../src/ui/widgets/ve.ui.LinkTargetInputWidget.js"></script>
-               <script 
src="../../src/ui/widgets/ve.ui.ContextMenuWidget.js"></script>
-               <script 
src="../../src/ui/widgets/ve.ui.ContextItemWidget.js"></script>
+               <script 
src="../../src/ui/widgets/ve.ui.ContextSelectWidget.js"></script>
+               <script 
src="../../src/ui/widgets/ve.ui.ContextOptionWidget.js"></script>
                <script 
src="../../src/ui/widgets/ve.ui.DimensionsWidget.js"></script>
                <script 
src="../../src/ui/widgets/ve.ui.MediaSizeWidget.js"></script>
                <script 
src="../../src/ui/widgets/ve.ui.WhitespacePreservingTextInputWidget.js"></script>
diff --git a/demos/ve/mobile.html b/demos/ve/mobile.html
index 3fc0487..ed878ed 100644
--- a/demos/ve/mobile.html
+++ b/demos/ve/mobile.html
@@ -38,8 +38,8 @@
                <link rel=stylesheet 
href="../../src/ui/styles/tools/ve.ui.FormatTool.css">
                <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.LanguageInputWidget.css">
                <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.LanguageSearchWidget.css">
-               <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.ContextItemWidget.css">
-               <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.ContextMenuWidget.css">
+               <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.ContextOptionWidget.css">
+               <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.ContextSelectWidget.css">
                <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.DimensionsWidget.css">
                <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.MediaSizeWidget.css">
                <link rel=stylesheet 
href="../../src/ui/styles/inspectors/ve.ui.CommentInspector.css">
@@ -55,7 +55,7 @@
 
                <!-- visualEditor.mobile.build -->
                <link rel=stylesheet 
href="../../src/ui/styles/ve.ui.MobileSurface.css">
-               <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.MobileContextItemWidget.css">
+               <link rel=stylesheet 
href="../../src/ui/styles/widgets/ve.ui.MobileContextOptionWidget.css">
 
                <!-- visualEditor.standalone.demo -->
                <link rel=stylesheet href="../../demos/ve/demo.css">
@@ -327,8 +327,8 @@
                <script 
src="../../src/ui/widgets/ve.ui.LanguageInputWidget.js"></script>
                <script 
src="../../src/ui/widgets/ve.ui.SurfaceWidget.js"></script>
                <script 
src="../../src/ui/widgets/ve.ui.LinkTargetInputWidget.js"></script>
-               <script 
src="../../src/ui/widgets/ve.ui.ContextMenuWidget.js"></script>
-               <script 
src="../../src/ui/widgets/ve.ui.ContextItemWidget.js"></script>
+               <script 
src="../../src/ui/widgets/ve.ui.ContextSelectWidget.js"></script>
+               <script 
src="../../src/ui/widgets/ve.ui.ContextOptionWidget.js"></script>
                <script 
src="../../src/ui/widgets/ve.ui.DimensionsWidget.js"></script>
                <script 
src="../../src/ui/widgets/ve.ui.MediaSizeWidget.js"></script>
                <script 
src="../../src/ui/widgets/ve.ui.WhitespacePreservingTextInputWidget.js"></script>
@@ -354,7 +354,7 @@
                <script src="../../src/ui/ve.ui.MobileSurface.js"></script>
                <script src="../../src/ui/ve.ui.MobileContext.js"></script>
                <script 
src="../../src/ui/ve.ui.MobileWindowManager.js"></script>
-               <script 
src="../../src/ui/widgets/ve.ui.MobileContextItemWidget.js"></script>
+               <script 
src="../../src/ui/widgets/ve.ui.MobileContextOptionWidget.js"></script>
 
                <!-- visualEditor.standalone.demo -->
                <script src="../../demos/ve/demo.js"></script>
diff --git a/lib/oojs-ui/oojs-ui-apex.css b/lib/oojs-ui/oojs-ui-apex.css
index 275d47f..1b1f7b4 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 (7922a50558)
+ * OOjs UI v0.1.0-pre (1fa4eb7a73)
  * 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-19T23:17:39Z
+ * Date: 2014-11-19T23:32:54Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-left: -40%;
@@ -316,7 +316,7 @@
 .oo-ui-bookletLayout-stackLayout .oo-ui-panelLayout-padded {
        padding: 2em;
 }
-.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineWidget {
+.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineSelectWidget {
        position: absolute;
        top: 0;
        left: 0;
@@ -1416,7 +1416,7 @@
        width: 1.5em;
        background-position: left center;
 }
-.oo-ui-menuWidget {
+.oo-ui-menuSelectWidget {
        position: absolute;
        background: #ffffff;
        margin-top: -1px;
@@ -1424,33 +1424,33 @@
        border-radius: 0 0 0.25em 0.25em;
        box-shadow: 0 0.15em 1em 0 rgba(0, 0, 0, 0.2);
 }
-.oo-ui-menuWidget input {
+.oo-ui-menuSelectWidget input {
        position: absolute;
        width: 0;
        height: 0;
        overflow: hidden;
        opacity: 0;
 }
-.oo-ui-menuItemWidget {
+.oo-ui-menuOptionWidget {
        position: relative;
 }
-.oo-ui-menuItemWidget .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget .oo-ui-iconElement-icon {
        display: none;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
        display: block;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-highlighted,
-.oo-ui-menuItemWidget.oo-ui-optionWidget-highlighted.oo-ui-optionWidget-selected
 {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted,
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted.oo-ui-optionWidget-selected
 {
        background-color: #e1f3ff;
 }
-.oo-ui-menuSectionItemWidget {
+.oo-ui-menuSectionOptionWidget {
        cursor: default;
        padding: 0.33em 0.75em;
        color: #888888;
@@ -1481,7 +1481,7 @@
        background-position: center center;
        background-repeat: no-repeat;
 }
-.oo-ui-dropdownWidget .oo-ui-menuWidget {
+.oo-ui-dropdownWidget .oo-ui-menuSelectWidget {
        z-index: 1;
        width: 100%;
 }
@@ -1528,7 +1528,7 @@
 .oo-ui-dropdownWidget.oo-ui-indicatorElement .oo-ui-dropdownWidget-handle 
.oo-ui-labelElement-label {
        margin-right: 2em;
 }
-.oo-ui-outlineItemWidget {
+.oo-ui-outlineOptionWidget {
        position: relative;
        cursor: pointer;
        -webkit-touch-callout: none;
@@ -1539,44 +1539,44 @@
        font-size: 1.1em;
        padding: 0.75em;
 }
-.oo-ui-outlineItemWidget.oo-ui-indicatorElement .oo-ui-labelElement-label {
+.oo-ui-outlineOptionWidget.oo-ui-indicatorElement .oo-ui-labelElement-label {
        padding-right: 1.5em;
 }
-.oo-ui-outlineItemWidget.oo-ui-indicatorElement 
.oo-ui-indicatorElement-indicator {
+.oo-ui-outlineOptionWidget.oo-ui-indicatorElement 
.oo-ui-indicatorElement-indicator {
        opacity: 0.5;
 }
-.oo-ui-outlineItemWidget-level-0 {
+.oo-ui-outlineOptionWidget-level-0 {
        padding-left: 3.5em;
 }
-.oo-ui-outlineItemWidget-level-0 .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget-level-0 .oo-ui-iconElement-icon {
        left: 1em;
 }
-.oo-ui-outlineItemWidget-level-1 {
+.oo-ui-outlineOptionWidget-level-1 {
        padding-left: 5em;
 }
-.oo-ui-outlineItemWidget-level-1 .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget-level-1 .oo-ui-iconElement-icon {
        left: 2.5em;
 }
-.oo-ui-outlineItemWidget-level-2 {
+.oo-ui-outlineOptionWidget-level-2 {
        padding-left: 6.5em;
 }
-.oo-ui-outlineItemWidget-level-2 .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget-level-2 .oo-ui-iconElement-icon {
        left: 4em;
 }
-.oo-ui-selectWidget-depressed 
.oo-ui-outlineItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-selectWidget-depressed 
.oo-ui-outlineOptionWidget.oo-ui-optionWidget-selected {
        background-color: #a7dcff;
        text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-important {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-important {
        font-weight: bold;
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-placeholder {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-placeholder {
        font-style: italic;
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-empty .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-empty .oo-ui-iconElement-icon {
        opacity: 0.5;
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-empty .oo-ui-labelElement-label {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-empty 
.oo-ui-labelElement-label {
        color: #777777;
 }
 .oo-ui-outlineControlsWidget {
diff --git a/lib/oojs-ui/oojs-ui-apex.js b/lib/oojs-ui/oojs-ui-apex.js
index ebf886f..9c785cd 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 (7922a50558)
+ * OOjs UI v0.1.0-pre (1fa4eb7a73)
  * 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-19T23:17:32Z
+ * Date: 2014-11-19T23:32:47Z
  */
 /* Instantiation */
 
diff --git a/lib/oojs-ui/oojs-ui-apex.rtl.css b/lib/oojs-ui/oojs-ui-apex.rtl.css
index 5345df5..8590386 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 (7922a50558)
+ * OOjs UI v0.1.0-pre (1fa4eb7a73)
  * 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-19T23:17:39Z
+ * Date: 2014-11-19T23:32:54Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-right: -40%;
@@ -316,7 +316,7 @@
 .oo-ui-bookletLayout-stackLayout .oo-ui-panelLayout-padded {
        padding: 2em;
 }
-.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineWidget {
+.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineSelectWidget {
        position: absolute;
        top: 0;
        right: 0;
@@ -1416,7 +1416,7 @@
        width: 1.5em;
        background-position: right center;
 }
-.oo-ui-menuWidget {
+.oo-ui-menuSelectWidget {
        position: absolute;
        background: #ffffff;
        margin-top: -1px;
@@ -1424,33 +1424,33 @@
        border-radius: 0 0 0.25em 0.25em;
        box-shadow: 0 0.15em 1em 0 rgba(0, 0, 0, 0.2);
 }
-.oo-ui-menuWidget input {
+.oo-ui-menuSelectWidget input {
        position: absolute;
        width: 0;
        height: 0;
        overflow: hidden;
        opacity: 0;
 }
-.oo-ui-menuItemWidget {
+.oo-ui-menuOptionWidget {
        position: relative;
 }
-.oo-ui-menuItemWidget .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget .oo-ui-iconElement-icon {
        display: none;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
        display: block;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-highlighted,
-.oo-ui-menuItemWidget.oo-ui-optionWidget-highlighted.oo-ui-optionWidget-selected
 {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted,
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted.oo-ui-optionWidget-selected
 {
        background-color: #e1f3ff;
 }
-.oo-ui-menuSectionItemWidget {
+.oo-ui-menuSectionOptionWidget {
        cursor: default;
        padding: 0.33em 0.75em;
        color: #888888;
@@ -1481,7 +1481,7 @@
        background-position: center center;
        background-repeat: no-repeat;
 }
-.oo-ui-dropdownWidget .oo-ui-menuWidget {
+.oo-ui-dropdownWidget .oo-ui-menuSelectWidget {
        z-index: 1;
        width: 100%;
 }
@@ -1528,7 +1528,7 @@
 .oo-ui-dropdownWidget.oo-ui-indicatorElement .oo-ui-dropdownWidget-handle 
.oo-ui-labelElement-label {
        margin-left: 2em;
 }
-.oo-ui-outlineItemWidget {
+.oo-ui-outlineOptionWidget {
        position: relative;
        cursor: pointer;
        -webkit-touch-callout: none;
@@ -1539,44 +1539,44 @@
        font-size: 1.1em;
        padding: 0.75em;
 }
-.oo-ui-outlineItemWidget.oo-ui-indicatorElement .oo-ui-labelElement-label {
+.oo-ui-outlineOptionWidget.oo-ui-indicatorElement .oo-ui-labelElement-label {
        padding-left: 1.5em;
 }
-.oo-ui-outlineItemWidget.oo-ui-indicatorElement 
.oo-ui-indicatorElement-indicator {
+.oo-ui-outlineOptionWidget.oo-ui-indicatorElement 
.oo-ui-indicatorElement-indicator {
        opacity: 0.5;
 }
-.oo-ui-outlineItemWidget-level-0 {
+.oo-ui-outlineOptionWidget-level-0 {
        padding-right: 3.5em;
 }
-.oo-ui-outlineItemWidget-level-0 .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget-level-0 .oo-ui-iconElement-icon {
        right: 1em;
 }
-.oo-ui-outlineItemWidget-level-1 {
+.oo-ui-outlineOptionWidget-level-1 {
        padding-right: 5em;
 }
-.oo-ui-outlineItemWidget-level-1 .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget-level-1 .oo-ui-iconElement-icon {
        right: 2.5em;
 }
-.oo-ui-outlineItemWidget-level-2 {
+.oo-ui-outlineOptionWidget-level-2 {
        padding-right: 6.5em;
 }
-.oo-ui-outlineItemWidget-level-2 .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget-level-2 .oo-ui-iconElement-icon {
        right: 4em;
 }
-.oo-ui-selectWidget-depressed 
.oo-ui-outlineItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-selectWidget-depressed 
.oo-ui-outlineOptionWidget.oo-ui-optionWidget-selected {
        background-color: #a7dcff;
        text-shadow: 0 -1px 1px rgba(255, 255, 255, 0.5);
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-important {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-important {
        font-weight: bold;
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-placeholder {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-placeholder {
        font-style: italic;
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-empty .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-empty .oo-ui-iconElement-icon {
        opacity: 0.5;
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-empty .oo-ui-labelElement-label {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-empty 
.oo-ui-labelElement-label {
        color: #777777;
 }
 .oo-ui-outlineControlsWidget {
diff --git a/lib/oojs-ui/oojs-ui-apex.svg.css b/lib/oojs-ui/oojs-ui-apex.svg.css
index 29cf17c..f33e3f4 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 (7922a50558)
+ * OOjs UI v0.1.0-pre (1fa4eb7a73)
  * 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-19T23:17:39Z
+ * Date: 2014-11-19T23:32:54Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-left: -40%;
@@ -316,7 +316,7 @@
 .oo-ui-bookletLayout-stackLayout .oo-ui-panelLayout-padded {
        padding: 2em;
 }
-.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineWidget {
+.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineSelectWidget {
        position: absolute;
        top: 0;
        left: 0;
@@ -1416,7 +1416,7 @@
        width: 1.5em;
        background-position: left center;
 }
-.oo-ui-menuWidget {
+.oo-ui-menuSelectWidget {
        position: absolute;
        background: #ffffff;
        margin-top: -1px;
@@ -1424,33 +1424,33 @@
        border-radius: 0 0 0.25em 0.25em;
        box-shadow: 0 0.15em 1em 0 rgba(0, 0, 0, 0.2);
 }
-.oo-ui-menuWidget input {
+.oo-ui-menuSelectWidget input {
        position: absolute;
        width: 0;
        height: 0;
        overflow: hidden;
        opacity: 0;
 }
-.oo-ui-menuItemWidget {
+.oo-ui-menuOptionWidget {
        position: relative;
 }
-.oo-ui-menuItemWidget .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget .oo-ui-iconElement-icon {
        display: none;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
        display: block;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-highlighted,
-.oo-ui-menuItemWidget.oo-ui-optionWidget-highlighted.oo-ui-optionWidget-selected
 {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted,
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted.oo-ui-optionWidget-selected
 {
        background-color: #e1f3ff;
 }
-.oo-ui-menuSectionItemWidget {
+.oo-ui-menuSectionOptionWidget {
        cursor: default;
        padding: 0.33em 0.75em;
        color: #888888;
@@ -1481,7 +1481,7 @@
        background-position: center center;
        background-repeat: no-repeat;
 }
-.oo-ui-dropdownWidget .oo-ui-menuWidget {
+.oo-ui-dropdownWidget .oo-ui-menuSelectWidget {
        z-index: 1;
        width: 100%;
 }
@@ -1528,7 +1528,7 @@
 .oo-ui-dropdownWidget.oo-ui-indicatorElement .oo-ui-dropdownWidget-handle 
.oo-ui-labelElement-label {
        margin-right: 2em;
 }
-.oo-ui-outlineItemWidget {
+.oo-ui-outlineOptionWidget {
        position: relative;
        cursor: pointer;
        -webkit-touch-callout: none;
@@ -1539,44 +1539,44 @@
        font-size: 1.1em;
        padding: 0.75em;
 }
-.oo-ui-outlineItemWidget.oo-ui-indicatorElement .oo-ui-labelElement-label {
+.oo-ui-outlineOptionWidget.oo-ui-indicatorElement .oo-ui-labelElement-label {
        padding-right: 1.5em;
 }
-.oo-ui-outlineItemWidget.oo-ui-indicatorElement 
.oo-ui-indicatorElement-indicator {
+.oo-ui-outlineOptionWidget.oo-ui-indicatorElement 
.oo-ui-indicatorElement-indicator {
        opacity: 0.5;
 }
-.oo-ui-outlineItemWidget-level-0 {
+.oo-ui-outlineOptionWidget-level-0 {
        padding-left: 3.5em;
 }
-.oo-ui-outlineItemWidget-level-0 .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget-level-0 .oo-ui-iconElement-icon {
        left: 1em;
 }
-.oo-ui-outlineItemWidget-level-1 {
+.oo-ui-outlineOptionWidget-level-1 {
        padding-left: 5em;
 }
-.oo-ui-outlineItemWidget-level-1 .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget-level-1 .oo-ui-iconElement-icon {
        left: 2.5em;
 }
-.oo-ui-outlineItemWidget-level-2 {
+.oo-ui-outlineOptionWidget-level-2 {
        padding-left: 6.5em;
 }
-.oo-ui-outlineItemWidget-level-2 .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget-level-2 .oo-ui-iconElement-icon {
        left: 4em;
 }
-.oo-ui-selectWidget-depressed 
.oo-ui-outlineItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-selectWidget-depressed 
.oo-ui-outlineOptionWidget.oo-ui-optionWidget-selected {
        background-color: #a7dcff;
        text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-important {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-important {
        font-weight: bold;
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-placeholder {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-placeholder {
        font-style: italic;
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-empty .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-empty .oo-ui-iconElement-icon {
        opacity: 0.5;
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-empty .oo-ui-labelElement-label {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-empty 
.oo-ui-labelElement-label {
        color: #777777;
 }
 .oo-ui-outlineControlsWidget {
diff --git a/lib/oojs-ui/oojs-ui-apex.svg.rtl.css 
b/lib/oojs-ui/oojs-ui-apex.svg.rtl.css
index 1418a03..6167a2a 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 (7922a50558)
+ * OOjs UI v0.1.0-pre (1fa4eb7a73)
  * 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-19T23:17:39Z
+ * Date: 2014-11-19T23:32:54Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-right: -40%;
@@ -316,7 +316,7 @@
 .oo-ui-bookletLayout-stackLayout .oo-ui-panelLayout-padded {
        padding: 2em;
 }
-.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineWidget {
+.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineSelectWidget {
        position: absolute;
        top: 0;
        right: 0;
@@ -1416,7 +1416,7 @@
        width: 1.5em;
        background-position: right center;
 }
-.oo-ui-menuWidget {
+.oo-ui-menuSelectWidget {
        position: absolute;
        background: #ffffff;
        margin-top: -1px;
@@ -1424,33 +1424,33 @@
        border-radius: 0 0 0.25em 0.25em;
        box-shadow: 0 0.15em 1em 0 rgba(0, 0, 0, 0.2);
 }
-.oo-ui-menuWidget input {
+.oo-ui-menuSelectWidget input {
        position: absolute;
        width: 0;
        height: 0;
        overflow: hidden;
        opacity: 0;
 }
-.oo-ui-menuItemWidget {
+.oo-ui-menuOptionWidget {
        position: relative;
 }
-.oo-ui-menuItemWidget .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget .oo-ui-iconElement-icon {
        display: none;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
        display: block;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-highlighted,
-.oo-ui-menuItemWidget.oo-ui-optionWidget-highlighted.oo-ui-optionWidget-selected
 {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted,
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted.oo-ui-optionWidget-selected
 {
        background-color: #e1f3ff;
 }
-.oo-ui-menuSectionItemWidget {
+.oo-ui-menuSectionOptionWidget {
        cursor: default;
        padding: 0.33em 0.75em;
        color: #888888;
@@ -1481,7 +1481,7 @@
        background-position: center center;
        background-repeat: no-repeat;
 }
-.oo-ui-dropdownWidget .oo-ui-menuWidget {
+.oo-ui-dropdownWidget .oo-ui-menuSelectWidget {
        z-index: 1;
        width: 100%;
 }
@@ -1528,7 +1528,7 @@
 .oo-ui-dropdownWidget.oo-ui-indicatorElement .oo-ui-dropdownWidget-handle 
.oo-ui-labelElement-label {
        margin-left: 2em;
 }
-.oo-ui-outlineItemWidget {
+.oo-ui-outlineOptionWidget {
        position: relative;
        cursor: pointer;
        -webkit-touch-callout: none;
@@ -1539,44 +1539,44 @@
        font-size: 1.1em;
        padding: 0.75em;
 }
-.oo-ui-outlineItemWidget.oo-ui-indicatorElement .oo-ui-labelElement-label {
+.oo-ui-outlineOptionWidget.oo-ui-indicatorElement .oo-ui-labelElement-label {
        padding-left: 1.5em;
 }
-.oo-ui-outlineItemWidget.oo-ui-indicatorElement 
.oo-ui-indicatorElement-indicator {
+.oo-ui-outlineOptionWidget.oo-ui-indicatorElement 
.oo-ui-indicatorElement-indicator {
        opacity: 0.5;
 }
-.oo-ui-outlineItemWidget-level-0 {
+.oo-ui-outlineOptionWidget-level-0 {
        padding-right: 3.5em;
 }
-.oo-ui-outlineItemWidget-level-0 .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget-level-0 .oo-ui-iconElement-icon {
        right: 1em;
 }
-.oo-ui-outlineItemWidget-level-1 {
+.oo-ui-outlineOptionWidget-level-1 {
        padding-right: 5em;
 }
-.oo-ui-outlineItemWidget-level-1 .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget-level-1 .oo-ui-iconElement-icon {
        right: 2.5em;
 }
-.oo-ui-outlineItemWidget-level-2 {
+.oo-ui-outlineOptionWidget-level-2 {
        padding-right: 6.5em;
 }
-.oo-ui-outlineItemWidget-level-2 .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget-level-2 .oo-ui-iconElement-icon {
        right: 4em;
 }
-.oo-ui-selectWidget-depressed 
.oo-ui-outlineItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-selectWidget-depressed 
.oo-ui-outlineOptionWidget.oo-ui-optionWidget-selected {
        background-color: #a7dcff;
        text-shadow: 0 -1px 1px rgba(255, 255, 255, 0.5);
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-important {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-important {
        font-weight: bold;
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-placeholder {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-placeholder {
        font-style: italic;
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-empty .oo-ui-iconElement-icon {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-empty .oo-ui-iconElement-icon {
        opacity: 0.5;
 }
-.oo-ui-outlineItemWidget.oo-ui-flaggedElement-empty .oo-ui-labelElement-label {
+.oo-ui-outlineOptionWidget.oo-ui-flaggedElement-empty 
.oo-ui-labelElement-label {
        color: #777777;
 }
 .oo-ui-outlineControlsWidget {
diff --git a/lib/oojs-ui/oojs-ui-mediawiki.css 
b/lib/oojs-ui/oojs-ui-mediawiki.css
index 2a56dad..bc8b5ee 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 (7922a50558)
+ * OOjs UI v0.1.0-pre (1fa4eb7a73)
  * 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-19T23:17:39Z
+ * Date: 2014-11-19T23:32:54Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-left: -40%;
@@ -302,7 +302,7 @@
 .oo-ui-bookletLayout-stackLayout .oo-ui-panelLayout-padded {
        padding: 2em;
 }
-.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineWidget {
+.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineSelectWidget {
        position: absolute;
        top: 0;
        left: 0;
@@ -1350,7 +1350,7 @@
        height: 100%;
        background-position: left center;
 }
-.oo-ui-menuWidget {
+.oo-ui-menuSelectWidget {
        position: absolute;
        background: #ffffff;
        margin-top: -1px;
@@ -1359,32 +1359,32 @@
        padding-bottom: 0.25em;
        box-shadow: inset 0 -0.2em 0 0 rgba(0, 0, 0, 0.2), 0 0.1em 0 0 rgba(0, 
0, 0, 0.2);
 }
-.oo-ui-menuWidget input {
+.oo-ui-menuSelectWidget input {
        position: absolute;
        width: 0;
        height: 0;
        overflow: hidden;
        opacity: 0;
 }
-.oo-ui-menuItemWidget {
+.oo-ui-menuOptionWidget {
        position: relative;
 }
-.oo-ui-menuItemWidget .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget .oo-ui-iconElement-icon {
        display: none;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
        display: block;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-highlighted {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted {
        background-color: #eeeeee;
 }
-.oo-ui-menuSectionItemWidget {
+.oo-ui-menuSectionOptionWidget {
        cursor: default;
        padding: 0.33em 0.75em;
        color: #888888;
@@ -1415,7 +1415,7 @@
        background-position: center center;
        background-repeat: no-repeat;
 }
-.oo-ui-dropdownWidget .oo-ui-menuWidget {
+.oo-ui-dropdownWidget .oo-ui-menuSelectWidget {
        z-index: 1;
        width: 100%;
 }
@@ -1464,7 +1464,7 @@
 .oo-ui-dropdownWidget .oo-ui-selectWidget {
        border-top-color: #ffffff;
 }
-.oo-ui-outlineItemWidget {
+.oo-ui-outlineOptionWidget {
        position: relative;
        cursor: pointer;
        -webkit-touch-callout: none;
diff --git a/lib/oojs-ui/oojs-ui-mediawiki.js b/lib/oojs-ui/oojs-ui-mediawiki.js
index 3274421..c9bc2d8 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 (7922a50558)
+ * OOjs UI v0.1.0-pre (1fa4eb7a73)
  * 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-19T23:17:32Z
+ * Date: 2014-11-19T23:32:47Z
  */
 /**
  * @class
diff --git a/lib/oojs-ui/oojs-ui-mediawiki.rtl.css 
b/lib/oojs-ui/oojs-ui-mediawiki.rtl.css
index 543b4f2..5c7c34d 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 (7922a50558)
+ * OOjs UI v0.1.0-pre (1fa4eb7a73)
  * 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-19T23:17:39Z
+ * Date: 2014-11-19T23:32:54Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-right: -40%;
@@ -302,7 +302,7 @@
 .oo-ui-bookletLayout-stackLayout .oo-ui-panelLayout-padded {
        padding: 2em;
 }
-.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineWidget {
+.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineSelectWidget {
        position: absolute;
        top: 0;
        right: 0;
@@ -1350,7 +1350,7 @@
        height: 100%;
        background-position: right center;
 }
-.oo-ui-menuWidget {
+.oo-ui-menuSelectWidget {
        position: absolute;
        background: #ffffff;
        margin-top: -1px;
@@ -1359,32 +1359,32 @@
        padding-bottom: 0.25em;
        box-shadow: inset 0 -0.2em 0 0 rgba(0, 0, 0, 0.2), 0 0.1em 0 0 rgba(0, 
0, 0, 0.2);
 }
-.oo-ui-menuWidget input {
+.oo-ui-menuSelectWidget input {
        position: absolute;
        width: 0;
        height: 0;
        overflow: hidden;
        opacity: 0;
 }
-.oo-ui-menuItemWidget {
+.oo-ui-menuOptionWidget {
        position: relative;
 }
-.oo-ui-menuItemWidget .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget .oo-ui-iconElement-icon {
        display: none;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
        display: block;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-highlighted {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted {
        background-color: #eeeeee;
 }
-.oo-ui-menuSectionItemWidget {
+.oo-ui-menuSectionOptionWidget {
        cursor: default;
        padding: 0.33em 0.75em;
        color: #888888;
@@ -1415,7 +1415,7 @@
        background-position: center center;
        background-repeat: no-repeat;
 }
-.oo-ui-dropdownWidget .oo-ui-menuWidget {
+.oo-ui-dropdownWidget .oo-ui-menuSelectWidget {
        z-index: 1;
        width: 100%;
 }
@@ -1464,7 +1464,7 @@
 .oo-ui-dropdownWidget .oo-ui-selectWidget {
        border-top-color: #ffffff;
 }
-.oo-ui-outlineItemWidget {
+.oo-ui-outlineOptionWidget {
        position: relative;
        cursor: pointer;
        -webkit-touch-callout: none;
diff --git a/lib/oojs-ui/oojs-ui-mediawiki.svg.css 
b/lib/oojs-ui/oojs-ui-mediawiki.svg.css
index f7253ab..81c1849 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 (7922a50558)
+ * OOjs UI v0.1.0-pre (1fa4eb7a73)
  * 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-19T23:17:39Z
+ * Date: 2014-11-19T23:32:54Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-left: -40%;
@@ -302,7 +302,7 @@
 .oo-ui-bookletLayout-stackLayout .oo-ui-panelLayout-padded {
        padding: 2em;
 }
-.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineWidget {
+.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineSelectWidget {
        position: absolute;
        top: 0;
        left: 0;
@@ -1350,7 +1350,7 @@
        height: 100%;
        background-position: left center;
 }
-.oo-ui-menuWidget {
+.oo-ui-menuSelectWidget {
        position: absolute;
        background: #ffffff;
        margin-top: -1px;
@@ -1359,32 +1359,32 @@
        padding-bottom: 0.25em;
        box-shadow: inset 0 -0.2em 0 0 rgba(0, 0, 0, 0.2), 0 0.1em 0 0 rgba(0, 
0, 0, 0.2);
 }
-.oo-ui-menuWidget input {
+.oo-ui-menuSelectWidget input {
        position: absolute;
        width: 0;
        height: 0;
        overflow: hidden;
        opacity: 0;
 }
-.oo-ui-menuItemWidget {
+.oo-ui-menuOptionWidget {
        position: relative;
 }
-.oo-ui-menuItemWidget .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget .oo-ui-iconElement-icon {
        display: none;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
        display: block;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-highlighted {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted {
        background-color: #eeeeee;
 }
-.oo-ui-menuSectionItemWidget {
+.oo-ui-menuSectionOptionWidget {
        cursor: default;
        padding: 0.33em 0.75em;
        color: #888888;
@@ -1415,7 +1415,7 @@
        background-position: center center;
        background-repeat: no-repeat;
 }
-.oo-ui-dropdownWidget .oo-ui-menuWidget {
+.oo-ui-dropdownWidget .oo-ui-menuSelectWidget {
        z-index: 1;
        width: 100%;
 }
@@ -1464,7 +1464,7 @@
 .oo-ui-dropdownWidget .oo-ui-selectWidget {
        border-top-color: #ffffff;
 }
-.oo-ui-outlineItemWidget {
+.oo-ui-outlineOptionWidget {
        position: relative;
        cursor: pointer;
        -webkit-touch-callout: none;
diff --git a/lib/oojs-ui/oojs-ui-mediawiki.svg.rtl.css 
b/lib/oojs-ui/oojs-ui-mediawiki.svg.rtl.css
index f741c03..d5dc7c1 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 (7922a50558)
+ * OOjs UI v0.1.0-pre (1fa4eb7a73)
  * 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-19T23:17:39Z
+ * Date: 2014-11-19T23:32:54Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-right: -40%;
@@ -302,7 +302,7 @@
 .oo-ui-bookletLayout-stackLayout .oo-ui-panelLayout-padded {
        padding: 2em;
 }
-.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineWidget {
+.oo-ui-bookletLayout-outlinePanel-editable .oo-ui-outlineSelectWidget {
        position: absolute;
        top: 0;
        right: 0;
@@ -1350,7 +1350,7 @@
        height: 100%;
        background-position: right center;
 }
-.oo-ui-menuWidget {
+.oo-ui-menuSelectWidget {
        position: absolute;
        background: #ffffff;
        margin-top: -1px;
@@ -1359,32 +1359,32 @@
        padding-bottom: 0.25em;
        box-shadow: inset 0 -0.2em 0 0 rgba(0, 0, 0, 0.2), 0 0.1em 0 0 rgba(0, 
0, 0, 0.2);
 }
-.oo-ui-menuWidget input {
+.oo-ui-menuSelectWidget input {
        position: absolute;
        width: 0;
        height: 0;
        overflow: hidden;
        opacity: 0;
 }
-.oo-ui-menuItemWidget {
+.oo-ui-menuOptionWidget {
        position: relative;
 }
-.oo-ui-menuItemWidget .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget .oo-ui-iconElement-icon {
        display: none;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected .oo-ui-iconElement-icon {
        display: block;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-selected {
        background-color: transparent;
 }
-.oo-ui-menuItemWidget.oo-ui-optionWidget-highlighted {
+.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted {
        background-color: #eeeeee;
 }
-.oo-ui-menuSectionItemWidget {
+.oo-ui-menuSectionOptionWidget {
        cursor: default;
        padding: 0.33em 0.75em;
        color: #888888;
@@ -1415,7 +1415,7 @@
        background-position: center center;
        background-repeat: no-repeat;
 }
-.oo-ui-dropdownWidget .oo-ui-menuWidget {
+.oo-ui-dropdownWidget .oo-ui-menuSelectWidget {
        z-index: 1;
        width: 100%;
 }
@@ -1464,7 +1464,7 @@
 .oo-ui-dropdownWidget .oo-ui-selectWidget {
        border-top-color: #ffffff;
 }
-.oo-ui-outlineItemWidget {
+.oo-ui-outlineOptionWidget {
        position: relative;
        cursor: pointer;
        -webkit-touch-callout: none;
diff --git a/lib/oojs-ui/oojs-ui.js b/lib/oojs-ui/oojs-ui.js
index 7f61fdc..658f4b2 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 (7922a50558)
+ * OOjs UI v0.1.0-pre (1fa4eb7a73)
  * 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-19T23:17:32Z
+ * Date: 2014-11-19T23:32:47Z
  */
 ( function ( OO ) {
 
@@ -6244,7 +6244,7 @@
        if ( this.outlined ) {
                this.editable = !!config.editable;
                this.outlineControlsWidget = null;
-               this.outlineWidget = new OO.ui.OutlineWidget( { $: this.$ } );
+               this.outlineSelectWidget = new OO.ui.OutlineSelectWidget( { $: 
this.$ } );
                this.outlinePanel = new OO.ui.PanelLayout( { $: this.$, 
scrollable: true } );
                this.gridLayout = new OO.ui.GridLayout(
                        [ this.outlinePanel, this.stackLayout ],
@@ -6253,7 +6253,7 @@
                this.outlineVisible = true;
                if ( this.editable ) {
                        this.outlineControlsWidget = new 
OO.ui.OutlineControlsWidget(
-                               this.outlineWidget, { $: this.$ }
+                               this.outlineSelectWidget, { $: this.$ }
                        );
                }
        }
@@ -6261,7 +6261,7 @@
        // Events
        this.stackLayout.connect( this, { set: 'onStackLayoutSet' } );
        if ( this.outlined ) {
-               this.outlineWidget.connect( this, { select: 
'onOutlineWidgetSelect' } );
+               this.outlineSelectWidget.connect( this, { select: 
'onOutlineSelectWidgetSelect' } );
        }
        if ( this.autoFocus ) {
                // Event 'focus' does not bubble, but 'focusin' does
@@ -6274,7 +6274,7 @@
        if ( this.outlined ) {
                this.outlinePanel.$element
                        .addClass( 'oo-ui-bookletLayout-outlinePanel' )
-                       .append( this.outlineWidget.$element );
+                       .append( this.outlineSelectWidget.$element );
                if ( this.editable ) {
                        this.outlinePanel.$element
                                .addClass( 
'oo-ui-bookletLayout-outlinePanel-editable' )
@@ -6356,7 +6356,7 @@
  *
  * @param {OO.ui.OptionWidget|null} item Selected item
  */
-OO.ui.BookletLayout.prototype.onOutlineWidgetSelect = function ( item ) {
+OO.ui.BookletLayout.prototype.onOutlineSelectWidgetSelect = function ( item ) {
        if ( item ) {
                this.setPage( item.getData() );
        }
@@ -6421,16 +6421,16 @@
                prev = pages[index - 1];
                // Prefer adjacent pages at the same level
                if ( this.outlined ) {
-                       level = this.outlineWidget.getItemFromData( 
page.getName() ).getLevel();
+                       level = this.outlineSelectWidget.getItemFromData( 
page.getName() ).getLevel();
                        if (
                                prev &&
-                               level === this.outlineWidget.getItemFromData( 
prev.getName() ).getLevel()
+                               level === 
this.outlineSelectWidget.getItemFromData( prev.getName() ).getLevel()
                        ) {
                                return prev;
                        }
                        if (
                                next &&
-                               level === this.outlineWidget.getItemFromData( 
next.getName() ).getLevel()
+                               level === 
this.outlineSelectWidget.getItemFromData( next.getName() ).getLevel()
                        ) {
                                return next;
                        }
@@ -6442,10 +6442,10 @@
 /**
  * Get the outline widget.
  *
- * @return {OO.ui.OutlineWidget|null} Outline widget, or null if boolet has no 
outline
+ * @return {OO.ui.OutlineSelectWidget|null} Outline widget, or null if boolet 
has no outline
  */
 OO.ui.BookletLayout.prototype.getOutline = function () {
-       return this.outlineWidget;
+       return this.outlineSelectWidget;
 };
 
 /**
@@ -6517,15 +6517,15 @@
                name = page.getName();
                this.pages[page.getName()] = page;
                if ( this.outlined ) {
-                       item = new OO.ui.OutlineItemWidget( name, page, { $: 
this.$ } );
+                       item = new OO.ui.OutlineOptionWidget( name, page, { $: 
this.$ } );
                        page.setOutlineItem( item );
                        items.push( item );
                }
        }
 
        if ( this.outlined && items.length ) {
-               this.outlineWidget.addItems( items, index );
-               this.updateOutlineWidget();
+               this.outlineSelectWidget.addItems( items, index );
+               this.updateOutlineSelectWidget();
        }
        this.stackLayout.addItems( pages, index );
        this.emit( 'add', pages, index );
@@ -6548,13 +6548,13 @@
                name = page.getName();
                delete this.pages[name];
                if ( this.outlined ) {
-                       items.push( this.outlineWidget.getItemFromData( name ) 
);
+                       items.push( this.outlineSelectWidget.getItemFromData( 
name ) );
                        page.setOutlineItem( null );
                }
        }
        if ( this.outlined && items.length ) {
-               this.outlineWidget.removeItems( items );
-               this.updateOutlineWidget();
+               this.outlineSelectWidget.removeItems( items );
+               this.updateOutlineSelectWidget();
        }
        this.stackLayout.removeItems( pages );
        this.emit( 'remove', pages );
@@ -6575,7 +6575,7 @@
        this.pages = {};
        this.currentPageName = null;
        if ( this.outlined ) {
-               this.outlineWidget.clearItems();
+               this.outlineSelectWidget.clearItems();
                for ( i = 0, len = pages.length; i < len; i++ ) {
                        pages[i].setOutlineItem( null );
                }
@@ -6600,9 +6600,9 @@
 
        if ( name !== this.currentPageName ) {
                if ( this.outlined ) {
-                       selectedItem = this.outlineWidget.getSelectedItem();
+                       selectedItem = 
this.outlineSelectWidget.getSelectedItem();
                        if ( selectedItem && selectedItem.getData() !== name ) {
-                               this.outlineWidget.selectItem( 
this.outlineWidget.getItemFromData( name ) );
+                               this.outlineSelectWidget.selectItem( 
this.outlineSelectWidget.getItemFromData( name ) );
                        }
                }
                if ( page ) {
@@ -6627,14 +6627,14 @@
 };
 
 /**
- * Call this after adding or removing items from the OutlineWidget.
+ * Call this after adding or removing items from the OutlineSelectWidget.
  *
  * @chainable
  */
-OO.ui.BookletLayout.prototype.updateOutlineWidget = function () {
+OO.ui.BookletLayout.prototype.updateOutlineSelectWidget = function () {
        // Auto-select first item when nothing is selected anymore
-       if ( !this.outlineWidget.getSelectedItem() ) {
-               this.outlineWidget.selectItem( 
this.outlineWidget.getFirstSelectableItem() );
+       if ( !this.outlineSelectWidget.getSelectedItem() ) {
+               this.outlineSelectWidget.selectItem( 
this.outlineSelectWidget.getFirstSelectableItem() );
        }
 
        return this;
@@ -7143,7 +7143,7 @@
 /**
  * Get outline item.
  *
- * @return {OO.ui.OutlineItemWidget|null} Outline item widget
+ * @return {OO.ui.OutlineOptionWidget|null} Outline item widget
  */
 OO.ui.PageLayout.prototype.getOutlineItem = function () {
        return this.outlineItem;
@@ -7155,9 +7155,9 @@
  * @localdoc Subclasses should override #setupOutlineItem instead of this 
method to adjust the
  *   outline item as desired; this method is called for setting (with an 
object) and unsetting
  *   (with null) and overriding methods would have to check the value of 
`outlineItem` to avoid
- *   operating on null instead of an OO.ui.OutlineItemWidget object.
+ *   operating on null instead of an OO.ui.OutlineOptionWidget object.
  *
- * @param {OO.ui.OutlineItemWidget|null} outlineItem Outline item widget, null 
to clear
+ * @param {OO.ui.OutlineOptionWidget|null} outlineItem Outline item widget, 
null to clear
  * @chainable
  */
 OO.ui.PageLayout.prototype.setOutlineItem = function ( outlineItem ) {
@@ -7173,7 +7173,7 @@
  *
  * @localdoc Subclasses should override this method to adjust the outline item 
as desired.
  *
- * @param {OO.ui.OutlineItemWidget} outlineItem Outline item widget to setup
+ * @param {OO.ui.OutlineOptionWidget} outlineItem Outline item widget to setup
  * @chainable
  */
 OO.ui.PageLayout.prototype.setupOutlineItem = function () {
@@ -7932,7 +7932,7 @@
        // Properties
        this.lookupInput = input;
        this.$overlay = config.$overlay || this.$element;
-       this.lookupMenu = new OO.ui.TextInputMenuWidget( this, {
+       this.lookupMenu = new OO.ui.TextInputMenuSelectWidget( this, {
                $: OO.ui.Element.getJQuery( this.$overlay ),
                input: this.lookupInput,
                $container: config.$container
@@ -8014,7 +8014,7 @@
        if ( !visible ) {
                // When the menu is hidden, abort any active request and clear 
the menu.
                // This has to be done here in addition to closeLookupMenu(), 
because
-               // MenuWidget will close itself when the user presses Esc.
+               // MenuSelectWidget will close itself when the user presses Esc.
                this.abortLookupRequest();
                this.lookupMenu.clearItems();
        }
@@ -8023,7 +8023,7 @@
 /**
  * Get lookup menu.
  *
- * @return {OO.ui.TextInputMenuWidget}
+ * @return {OO.ui.TextInputMenuSelectWidget}
  */
 OO.ui.LookupInputWidget.prototype.getLookupMenu = function () {
        return this.lookupMenu;
@@ -8200,7 +8200,7 @@
  *
  * @abstract
  * @param {Mixed} data Cached result data, usually an array
- * @return {OO.ui.MenuItemWidget[]} Menu items
+ * @return {OO.ui.MenuOptionWidget[]} Menu items
  */
 OO.ui.LookupInputWidget.prototype.getLookupMenuItemsFromData = function () {
        // Stub, implemented in subclass
@@ -8220,7 +8220,7 @@
 };
 
 /**
- * Set of controls for an OO.ui.OutlineWidget.
+ * Set of controls for an OO.ui.OutlineSelectWidget.
  *
  * Controls include moving items up and down, removing items, and adding 
different kinds of items.
  *
@@ -8230,7 +8230,7 @@
  * @mixins OO.ui.IconElement
  *
  * @constructor
- * @param {OO.ui.OutlineWidget} outline Outline to control
+ * @param {OO.ui.OutlineSelectWidget} outline Outline to control
  * @param {Object} [config] Configuration options
  */
 OO.ui.OutlineControlsWidget = function OoUiOutlineControlsWidget( outline, 
config ) {
@@ -8859,7 +8859,7 @@
  * Dropdown menus provide a control for accessing a menu and compose a menu 
within the widget, which
  * can be accessed using the #getMenu method.
  *
- * Use with OO.ui.MenuItemWidget.
+ * Use with OO.ui.MenuOptionWidget.
  *
  * @class
  * @extends OO.ui.Widget
@@ -8886,7 +8886,7 @@
        OO.ui.TitledElement.call( this, $.extend( {}, config, { $titled: 
this.$label } ) );
 
        // Properties
-       this.menu = new OO.ui.MenuWidget( $.extend( { $: this.$, widget: this 
}, config.menu ) );
+       this.menu = new OO.ui.MenuSelectWidget( $.extend( { $: this.$, widget: 
this }, config.menu ) );
        this.$handle = this.$( '<span>' );
 
        // Events
@@ -8915,7 +8915,7 @@
 /**
  * Get the menu.
  *
- * @return {OO.ui.MenuWidget} Menu of widget
+ * @return {OO.ui.MenuSelectWidget} Menu of widget
  */
 OO.ui.DropdownWidget.prototype.getMenu = function () {
        return this.menu;
@@ -8924,7 +8924,7 @@
 /**
  * Handles menu select events.
  *
- * @param {OO.ui.MenuItemWidget} item Selected menu item
+ * @param {OO.ui.MenuOptionWidget} item Selected menu item
  */
 OO.ui.DropdownWidget.prototype.onMenuSelect = function ( item ) {
        var selectedLabel;
@@ -9786,7 +9786,7 @@
                { $: this.$, indicator: 'down', disabled: this.isDisabled() },
                config.input
        ) );
-       this.menu = new OO.ui.TextInputMenuWidget( this.input, $.extend(
+       this.menu = new OO.ui.TextInputMenuSelectWidget( this.input, $.extend(
                {
                        $: OO.ui.Element.getJQuery( this.$overlay ),
                        widget: this,
@@ -10230,7 +10230,7 @@
 };
 
 /**
- * Item of an OO.ui.MenuWidget.
+ * Item of an OO.ui.MenuSelectWidget.
  *
  * @class
  * @extends OO.ui.DecoratedOptionWidget
@@ -10239,25 +10239,25 @@
  * @param {Mixed} data Item data
  * @param {Object} [config] Configuration options
  */
-OO.ui.MenuItemWidget = function OoUiMenuItemWidget( data, config ) {
+OO.ui.MenuOptionWidget = function OoUiMenuOptionWidget( data, config ) {
        // Configuration initialization
        config = $.extend( { icon: 'check' }, config );
 
        // Parent constructor
-       OO.ui.MenuItemWidget.super.call( this, data, config );
+       OO.ui.MenuOptionWidget.super.call( this, data, config );
 
        // Initialization
        this.$element
                .attr( 'role', 'menuitem' )
-               .addClass( 'oo-ui-menuItemWidget' );
+               .addClass( 'oo-ui-menuOptionWidget' );
 };
 
 /* Setup */
 
-OO.inheritClass( OO.ui.MenuItemWidget, OO.ui.DecoratedOptionWidget );
+OO.inheritClass( OO.ui.MenuOptionWidget, OO.ui.DecoratedOptionWidget );
 
 /**
- * Section to group one or more items in a OO.ui.MenuWidget.
+ * Section to group one or more items in a OO.ui.MenuSelectWidget.
  *
  * @class
  * @extends OO.ui.DecoratedOptionWidget
@@ -10266,26 +10266,26 @@
  * @param {Mixed} data Item data
  * @param {Object} [config] Configuration options
  */
-OO.ui.MenuSectionItemWidget = function OoUiMenuSectionItemWidget( data, config 
) {
+OO.ui.MenuSectionOptionWidget = function OoUiMenuSectionOptionWidget( data, 
config ) {
        // Parent constructor
-       OO.ui.MenuSectionItemWidget.super.call( this, data, config );
+       OO.ui.MenuSectionOptionWidget.super.call( this, data, config );
 
        // Initialization
-       this.$element.addClass( 'oo-ui-menuSectionItemWidget' );
+       this.$element.addClass( 'oo-ui-menuSectionOptionWidget' );
 };
 
 /* Setup */
 
-OO.inheritClass( OO.ui.MenuSectionItemWidget, OO.ui.DecoratedOptionWidget );
+OO.inheritClass( OO.ui.MenuSectionOptionWidget, OO.ui.DecoratedOptionWidget );
 
 /* Static Properties */
 
-OO.ui.MenuSectionItemWidget.static.selectable = false;
+OO.ui.MenuSectionOptionWidget.static.selectable = false;
 
-OO.ui.MenuSectionItemWidget.static.highlightable = false;
+OO.ui.MenuSectionOptionWidget.static.highlightable = false;
 
 /**
- * Items for an OO.ui.OutlineWidget.
+ * Items for an OO.ui.OutlineSelectWidget.
  *
  * @class
  * @extends OO.ui.DecoratedOptionWidget
@@ -10296,12 +10296,12 @@
  * @cfg {number} [level] Indentation level
  * @cfg {boolean} [movable] Allow modification from outline controls
  */
-OO.ui.OutlineItemWidget = function OoUiOutlineItemWidget( data, config ) {
+OO.ui.OutlineOptionWidget = function OoUiOutlineOptionWidget( data, config ) {
        // Configuration initialization
        config = config || {};
 
        // Parent constructor
-       OO.ui.OutlineItemWidget.super.call( this, data, config );
+       OO.ui.OutlineOptionWidget.super.call( this, data, config );
 
        // Properties
        this.level = 0;
@@ -10309,23 +10309,23 @@
        this.removable = !!config.removable;
 
        // Initialization
-       this.$element.addClass( 'oo-ui-outlineItemWidget' );
+       this.$element.addClass( 'oo-ui-outlineOptionWidget' );
        this.setLevel( config.level );
 };
 
 /* Setup */
 
-OO.inheritClass( OO.ui.OutlineItemWidget, OO.ui.DecoratedOptionWidget );
+OO.inheritClass( OO.ui.OutlineOptionWidget, OO.ui.DecoratedOptionWidget );
 
 /* Static Properties */
 
-OO.ui.OutlineItemWidget.static.highlightable = false;
+OO.ui.OutlineOptionWidget.static.highlightable = false;
 
-OO.ui.OutlineItemWidget.static.scrollIntoViewOnSelect = true;
+OO.ui.OutlineOptionWidget.static.scrollIntoViewOnSelect = true;
 
-OO.ui.OutlineItemWidget.static.levelClass = 'oo-ui-outlineItemWidget-level-';
+OO.ui.OutlineOptionWidget.static.levelClass = 
'oo-ui-outlineOptionWidget-level-';
 
-OO.ui.OutlineItemWidget.static.levels = 3;
+OO.ui.OutlineOptionWidget.static.levels = 3;
 
 /* Methods */
 
@@ -10336,7 +10336,7 @@
  *
  * @return {boolean} Item is movable
  */
-OO.ui.OutlineItemWidget.prototype.isMovable = function () {
+OO.ui.OutlineOptionWidget.prototype.isMovable = function () {
        return this.movable;
 };
 
@@ -10347,7 +10347,7 @@
  *
  * @return {boolean} Item is removable
  */
-OO.ui.OutlineItemWidget.prototype.isRemovable = function () {
+OO.ui.OutlineOptionWidget.prototype.isRemovable = function () {
        return this.removable;
 };
 
@@ -10356,7 +10356,7 @@
  *
  * @return {number} Indentation level
  */
-OO.ui.OutlineItemWidget.prototype.getLevel = function () {
+OO.ui.OutlineOptionWidget.prototype.getLevel = function () {
        return this.level;
 };
 
@@ -10368,7 +10368,7 @@
  * @param {boolean} movable Item is movable
  * @chainable
  */
-OO.ui.OutlineItemWidget.prototype.setMovable = function ( movable ) {
+OO.ui.OutlineOptionWidget.prototype.setMovable = function ( movable ) {
        this.movable = !!movable;
        this.updateThemeClasses();
        return this;
@@ -10382,7 +10382,7 @@
  * @param {boolean} movable Item is removable
  * @chainable
  */
-OO.ui.OutlineItemWidget.prototype.setRemovable = function ( removable ) {
+OO.ui.OutlineOptionWidget.prototype.setRemovable = function ( removable ) {
        this.removable = !!removable;
        this.updateThemeClasses();
        return this;
@@ -10394,7 +10394,7 @@
  * @param {number} [level=0] Indentation level, in the range of [0,#maxLevel]
  * @chainable
  */
-OO.ui.OutlineItemWidget.prototype.setLevel = function ( level ) {
+OO.ui.OutlineOptionWidget.prototype.setLevel = function ( level ) {
        var levels = this.constructor.static.levels,
                levelClass = this.constructor.static.levelClass,
                i = levels;
@@ -11471,7 +11471,7 @@
  * Menus are clipped to the visible viewport. They do not provide a control 
for opening or closing
  * the menu.
  *
- * Use together with OO.ui.MenuItemWidget.
+ * Use together with OO.ui.MenuOptionWidget.
  *
  * @class
  * @extends OO.ui.SelectWidget
@@ -11483,12 +11483,12 @@
  * @cfg {OO.ui.Widget} [widget] Widget to bind mouse handlers to
  * @cfg {boolean} [autoHide=true] Hide the menu when the mouse is pressed 
outside the menu
  */
-OO.ui.MenuWidget = function OoUiMenuWidget( config ) {
+OO.ui.MenuSelectWidget = function OoUiMenuSelectWidget( config ) {
        // Configuration initialization
        config = config || {};
 
        // Parent constructor
-       OO.ui.MenuWidget.super.call( this, config );
+       OO.ui.MenuSelectWidget.super.call( this, config );
 
        // Mixin constructors
        OO.ui.ClippableElement.call( this, $.extend( {}, config, { $clippable: 
this.$group } ) );
@@ -11509,13 +11509,13 @@
        this.$element
                .hide()
                .attr( 'role', 'menu' )
-               .addClass( 'oo-ui-menuWidget' );
+               .addClass( 'oo-ui-menuSelectWidget' );
 };
 
 /* Setup */
 
-OO.inheritClass( OO.ui.MenuWidget, OO.ui.SelectWidget );
-OO.mixinClass( OO.ui.MenuWidget, OO.ui.ClippableElement );
+OO.inheritClass( OO.ui.MenuSelectWidget, OO.ui.SelectWidget );
+OO.mixinClass( OO.ui.MenuSelectWidget, OO.ui.ClippableElement );
 
 /* Methods */
 
@@ -11524,7 +11524,7 @@
  *
  * @param {jQuery.Event} e Key down event
  */
-OO.ui.MenuWidget.prototype.onDocumentMouseDown = function ( e ) {
+OO.ui.MenuSelectWidget.prototype.onDocumentMouseDown = function ( e ) {
        if (
                !OO.ui.contains( this.$element[0], e.target, true ) &&
                ( !this.$widget || !OO.ui.contains( this.$widget[0], e.target, 
true ) )
@@ -11538,7 +11538,7 @@
  *
  * @param {jQuery.Event} e Key down event
  */
-OO.ui.MenuWidget.prototype.onKeyDown = function ( e ) {
+OO.ui.MenuSelectWidget.prototype.onKeyDown = function ( e ) {
        var nextItem,
                handled = false,
                highlightItem = this.getHighlightedItem();
@@ -11585,7 +11585,7 @@
 /**
  * Bind key down listener.
  */
-OO.ui.MenuWidget.prototype.bindKeyDownListener = function () {
+OO.ui.MenuSelectWidget.prototype.bindKeyDownListener = function () {
        if ( this.$input ) {
                this.$input.on( 'keydown', this.onKeyDownHandler );
        } else {
@@ -11597,7 +11597,7 @@
 /**
  * Unbind key down listener.
  */
-OO.ui.MenuWidget.prototype.unbindKeyDownListener = function () {
+OO.ui.MenuSelectWidget.prototype.unbindKeyDownListener = function () {
        if ( this.$input ) {
                this.$input.off( 'keydown' );
        } else {
@@ -11613,11 +11613,11 @@
  * @param {OO.ui.OptionWidget} item Item to choose
  * @chainable
  */
-OO.ui.MenuWidget.prototype.chooseItem = function ( item ) {
+OO.ui.MenuSelectWidget.prototype.chooseItem = function ( item ) {
        var widget = this;
 
        // Parent method
-       OO.ui.MenuWidget.super.prototype.chooseItem.call( this, item );
+       OO.ui.MenuSelectWidget.super.prototype.chooseItem.call( this, item );
 
        if ( item && !this.flashing ) {
                this.flashing = true;
@@ -11635,11 +11635,11 @@
 /**
  * @inheritdoc
  */
-OO.ui.MenuWidget.prototype.addItems = function ( items, index ) {
+OO.ui.MenuSelectWidget.prototype.addItems = function ( items, index ) {
        var i, len, item;
 
        // Parent method
-       OO.ui.MenuWidget.super.prototype.addItems.call( this, items, index );
+       OO.ui.MenuSelectWidget.super.prototype.addItems.call( this, items, 
index );
 
        // Auto-initialize
        if ( !this.newItems ) {
@@ -11665,9 +11665,9 @@
 /**
  * @inheritdoc
  */
-OO.ui.MenuWidget.prototype.removeItems = function ( items ) {
+OO.ui.MenuSelectWidget.prototype.removeItems = function ( items ) {
        // Parent method
-       OO.ui.MenuWidget.super.prototype.removeItems.call( this, items );
+       OO.ui.MenuSelectWidget.super.prototype.removeItems.call( this, items );
 
        // Reevaluate clipping
        this.clip();
@@ -11678,9 +11678,9 @@
 /**
  * @inheritdoc
  */
-OO.ui.MenuWidget.prototype.clearItems = function () {
+OO.ui.MenuSelectWidget.prototype.clearItems = function () {
        // Parent method
-       OO.ui.MenuWidget.super.prototype.clearItems.call( this );
+       OO.ui.MenuSelectWidget.super.prototype.clearItems.call( this );
 
        // Reevaluate clipping
        this.clip();
@@ -11691,7 +11691,7 @@
 /**
  * @inheritdoc
  */
-OO.ui.MenuWidget.prototype.toggle = function ( visible ) {
+OO.ui.MenuSelectWidget.prototype.toggle = function ( visible ) {
        visible = ( visible === undefined ? !this.visible : !!visible ) && 
!!this.items.length;
 
        var i, len,
@@ -11700,7 +11700,7 @@
                widgetDoc = this.$widget ? this.$widget[0].ownerDocument : null;
 
        // Parent method
-       OO.ui.MenuWidget.super.prototype.toggle.call( this, visible );
+       OO.ui.MenuSelectWidget.super.prototype.toggle.call( this, visible );
 
        if ( change ) {
                if ( visible ) {
@@ -11761,19 +11761,19 @@
  * menu is toggled or the window is resized.
  *
  * @class
- * @extends OO.ui.MenuWidget
+ * @extends OO.ui.MenuSelectWidget
  *
  * @constructor
  * @param {OO.ui.TextInputWidget} input Text input widget to provide menu for
  * @param {Object} [config] Configuration options
  * @cfg {jQuery} [$container=input.$element] Element to render menu under
  */
-OO.ui.TextInputMenuWidget = function OoUiTextInputMenuWidget( input, config ) {
+OO.ui.TextInputMenuSelectWidget = function OoUiTextInputMenuSelectWidget( 
input, config ) {
        // Configuration intialization
        config = config || {};
 
        // Parent constructor
-       OO.ui.TextInputMenuWidget.super.call( this, config );
+       OO.ui.TextInputMenuSelectWidget.super.call( this, config );
 
        // Properties
        this.input = input;
@@ -11781,12 +11781,12 @@
        this.onWindowResizeHandler = this.onWindowResize.bind( this );
 
        // Initialization
-       this.$element.addClass( 'oo-ui-textInputMenuWidget' );
+       this.$element.addClass( 'oo-ui-textInputMenuSelectWidget' );
 };
 
 /* Setup */
 
-OO.inheritClass( OO.ui.TextInputMenuWidget, OO.ui.MenuWidget );
+OO.inheritClass( OO.ui.TextInputMenuSelectWidget, OO.ui.MenuSelectWidget );
 
 /* Methods */
 
@@ -11795,14 +11795,14 @@
  *
  * @param {jQuery.Event} e Window resize event
  */
-OO.ui.TextInputMenuWidget.prototype.onWindowResize = function () {
+OO.ui.TextInputMenuSelectWidget.prototype.onWindowResize = function () {
        this.position();
 };
 
 /**
  * @inheritdoc
  */
-OO.ui.TextInputMenuWidget.prototype.toggle = function ( visible ) {
+OO.ui.TextInputMenuSelectWidget.prototype.toggle = function ( visible ) {
        visible = visible === undefined ? !this.isVisible() : !!visible;
 
        var change = visible !== this.isVisible();
@@ -11815,7 +11815,7 @@
        }
 
        // Parent method
-       OO.ui.TextInputMenuWidget.super.prototype.toggle.call( this, visible );
+       OO.ui.TextInputMenuSelectWidget.super.prototype.toggle.call( this, 
visible );
 
        if ( change ) {
                if ( this.isVisible() ) {
@@ -11834,7 +11834,7 @@
  *
  * @chainable
  */
-OO.ui.TextInputMenuWidget.prototype.position = function () {
+OO.ui.TextInputMenuSelectWidget.prototype.position = function () {
        var $container = this.$container,
                pos = OO.ui.Element.getRelativePosition( $container, 
this.$element.offsetParent() );
 
@@ -11853,7 +11853,7 @@
 /**
  * Structured list of items.
  *
- * Use with OO.ui.OutlineItemWidget.
+ * Use with OO.ui.OutlineOptionWidget.
  *
  * @class
  * @extends OO.ui.SelectWidget
@@ -11861,20 +11861,20 @@
  * @constructor
  * @param {Object} [config] Configuration options
  */
-OO.ui.OutlineWidget = function OoUiOutlineWidget( config ) {
+OO.ui.OutlineSelectWidget = function OoUiOutlineSelectWidget( config ) {
        // Configuration initialization
        config = config || {};
 
        // Parent constructor
-       OO.ui.OutlineWidget.super.call( this, config );
+       OO.ui.OutlineSelectWidget.super.call( this, config );
 
        // Initialization
-       this.$element.addClass( 'oo-ui-outlineWidget' );
+       this.$element.addClass( 'oo-ui-outlineSelectWidget' );
 };
 
 /* Setup */
 
-OO.inheritClass( OO.ui.OutlineWidget, OO.ui.SelectWidget );
+OO.inheritClass( OO.ui.OutlineSelectWidget, OO.ui.SelectWidget );
 
 /**
  * Switch that slides on and off.
diff --git a/src/init/sa/styles/ve.init.sa.css 
b/src/init/sa/styles/ve.init.sa.css
index 0c43360..1a49273 100644
--- a/src/init/sa/styles/ve.init.sa.css
+++ b/src/init/sa/styles/ve.init.sa.css
@@ -8,6 +8,6 @@
        font-size: 0.8em;
 }
 
-.oo-ui-menuWidget {
+.oo-ui-menuSelectWidget {
        font-size: 0.9em;
 }
diff --git a/src/ui/styles/widgets/ve.ui.ContextItemWidget.css 
b/src/ui/styles/widgets/ve.ui.ContextItemWidget.css
deleted file mode 100644
index 4fa40da..0000000
--- a/src/ui/styles/widgets/ve.ui.ContextItemWidget.css
+++ /dev/null
@@ -1,31 +0,0 @@
-/*!
- * VisualEditor UserInterface ContextItemWidget styles.
- *
- * @copyright 2011-2014 VisualEditor Team and others; see 
http://ve.mit-license.org
- */
-
-.ve-ui-contextItemWidget {
-       padding: 0.5em 1em 0.5em 3em;
-}
-
-.ve-ui-contextItemWidget .oo-ui-labelElement-label {
-       color: #666;
-       /* Size required to match menu and inspector widths */
-       max-width: 19.4em;
-       text-overflow: ellipsis;
-       overflow: hidden;
-}
-
-.ve-ui-contextItemWidget .oo-ui-iconElement-icon {
-       opacity: 0.8;
-}
-
-.ve-ui-contextItemWidget.oo-ui-optionWidget-highlighted,
-.ve-ui-contextItemWidget.oo-ui-optionWidget-selected,
-.ve-ui-contextItemWidget.oo-ui-optionWidget-pressed {
-       background-color: transparent;
-}
-
-.ve-ui-contextItemWidget.oo-ui-optionWidget-highlighted 
.oo-ui-iconElement-icon {
-       opacity: 1;
-}
diff --git a/src/ui/styles/widgets/ve.ui.ContextOptionWidget.css 
b/src/ui/styles/widgets/ve.ui.ContextOptionWidget.css
new file mode 100644
index 0000000..2660ea9
--- /dev/null
+++ b/src/ui/styles/widgets/ve.ui.ContextOptionWidget.css
@@ -0,0 +1,31 @@
+/*!
+ * VisualEditor UserInterface ContextItemWidget styles.
+ *
+ * @copyright 2011-2014 VisualEditor Team and others; see 
http://ve.mit-license.org
+ */
+
+.ve-ui-contextOptionWidget {
+       padding: 0.5em 1em 0.5em 3em;
+}
+
+.ve-ui-contextOptionWidget .oo-ui-labelElement-label {
+       color: #666;
+       /* Size required to match menu and inspector widths */
+       max-width: 19.4em;
+       text-overflow: ellipsis;
+       overflow: hidden;
+}
+
+.ve-ui-contextOptionWidget .oo-ui-iconElement-icon {
+       opacity: 0.8;
+}
+
+.ve-ui-contextOptionWidget.oo-ui-optionWidget-highlighted,
+.ve-ui-contextOptionWidget.oo-ui-optionWidget-selected,
+.ve-ui-contextOptionWidget.oo-ui-optionWidget-pressed {
+       background-color: transparent;
+}
+
+.ve-ui-contextOptionWidget.oo-ui-optionWidget-highlighted 
.oo-ui-iconElement-icon {
+       opacity: 1;
+}
diff --git a/src/ui/styles/widgets/ve.ui.ContextMenuWidget.css 
b/src/ui/styles/widgets/ve.ui.ContextSelectWidget.css
similarity index 85%
rename from src/ui/styles/widgets/ve.ui.ContextMenuWidget.css
rename to src/ui/styles/widgets/ve.ui.ContextSelectWidget.css
index 5dae605..fd02ff3 100644
--- a/src/ui/styles/widgets/ve.ui.ContextMenuWidget.css
+++ b/src/ui/styles/widgets/ve.ui.ContextSelectWidget.css
@@ -4,6 +4,6 @@
  * @copyright 2011-2014 VisualEditor Team and others; see 
http://ve.mit-license.org
  */
 
-.ve-ui-contextMenuWidget {
+.ve-ui-contextSelectWidget {
        padding: 0;
 }
diff --git a/src/ui/styles/widgets/ve.ui.MobileContextItemWidget.css 
b/src/ui/styles/widgets/ve.ui.MobileContextOptionWidget.css
similarity index 100%
rename from src/ui/styles/widgets/ve.ui.MobileContextItemWidget.css
rename to src/ui/styles/widgets/ve.ui.MobileContextOptionWidget.css
diff --git a/src/ui/ve.ui.Context.js b/src/ui/ve.ui.Context.js
index f92c488..65f16a6 100644
--- a/src/ui/ve.ui.Context.js
+++ b/src/ui/ve.ui.Context.js
@@ -24,7 +24,7 @@
        this.visible = false;
        this.inspector = null;
        this.inspectors = this.createInspectorWindowManager();
-       this.menu = new ve.ui.ContextMenuWidget( { $: this.$ } );
+       this.menu = new ve.ui.ContextSelectWidget( { $: this.$ } );
        this.lastSelectedNode = null;
        this.afterContextChangeTimeout = null;
        this.afterContextChangeHandler = this.afterContextChange.bind( this );
@@ -180,7 +180,7 @@
 /**
  * Handle context item choose events.
  *
- * @param {ve.ui.ContextItemWidget} item Chosen item
+ * @param {ve.ui.ContextOptionWidget} item Chosen item
  */
 ve.ui.Context.prototype.onContextItemChoose = function ( item ) {
        if ( item ) {
@@ -263,7 +263,7 @@
 /**
  * Get context menu.
  *
- * @return {ve.ui.ContextMenuWidget}
+ * @return {ve.ui.ContextSelectWidget}
  */
 ve.ui.Context.prototype.getMenu = function () {
        return this.menu;
@@ -285,10 +285,10 @@
  * Create a context item widget
  *
  * @param {Object} tool Object containing tool and model properties.
- * @return {ve.ui.ContextItemWidget} Context item widget
+ * @return {ve.ui.ContextOptionWidget} Context item widget
  */
 ve.ui.Context.prototype.createItem = function ( tool ) {
-       return new ve.ui.ContextItemWidget(
+       return new ve.ui.ContextOptionWidget(
                tool.tool.static.name, tool.tool, tool.model, { $: this.$ }
        );
 };
diff --git a/src/ui/ve.ui.MobileContext.js b/src/ui/ve.ui.MobileContext.js
index 880219a..e0d8c0b 100644
--- a/src/ui/ve.ui.MobileContext.js
+++ b/src/ui/ve.ui.MobileContext.js
@@ -59,7 +59,7 @@
  * @inheritdoc
  */
 ve.ui.Context.prototype.createItem = function ( tool ) {
-       return new ve.ui.MobileContextItemWidget(
+       return new ve.ui.MobileContextOptionWidget(
                tool.tool.static.name, tool.tool, tool.model, { $: this.$ }
        );
 };
diff --git a/src/ui/ve.ui.TableContext.js b/src/ui/ve.ui.TableContext.js
index cfc77ed..273a2c1 100644
--- a/src/ui/ve.ui.TableContext.js
+++ b/src/ui/ve.ui.TableContext.js
@@ -34,7 +34,7 @@
                classes: ['ve-ui-tableContext-indicator'],
                indicator: config.indicator
        } );
-       this.menu = new ve.ui.ContextMenuWidget( { $: this.$ } );
+       this.menu = new ve.ui.ContextSelectWidget( { $: this.$ } );
        this.popup = new OO.ui.PopupWidget( {
                $: this.$,
                $container: this.surface.$element,
@@ -70,7 +70,7 @@
        this.menu.clearItems();
        for ( i = 0, l = toolList.length; i < l; i++ ) {
                tool = ve.ui.toolFactory.lookup( toolList[i] );
-               items.push( new ve.ui.ContextItemWidget(
+               items.push( new ve.ui.ContextOptionWidget(
                        tool.static.name, tool, this.tableNode.getModel(), { $: 
this.$ }
                ) );
        }
@@ -80,7 +80,7 @@
 /**
  * Handle context item choose events.
  *
- * @param {ve.ui.ContextItemWidget} item Chosen item
+ * @param {ve.ui.ContextOptionWidget} item Chosen item
  */
 ve.ui.TableContext.prototype.onContextItemChoose = function ( item ) {
        if ( item ) {
diff --git a/src/ui/widgets/ve.ui.ContextItemWidget.js 
b/src/ui/widgets/ve.ui.ContextOptionWidget.js
similarity index 74%
rename from src/ui/widgets/ve.ui.ContextItemWidget.js
rename to src/ui/widgets/ve.ui.ContextOptionWidget.js
index 073aa3b..244465a 100644
--- a/src/ui/widgets/ve.ui.ContextItemWidget.js
+++ b/src/ui/widgets/ve.ui.ContextOptionWidget.js
@@ -7,7 +7,7 @@
 /**
  * Proxy for a tool, displaying information about the current context.
  *
- * Use with ve.ui.ContextMenuWidget.
+ * Use with ve.ui.ContextSelectWidget.
  *
  * @class
  * @extends OO.ui.DecoratedOptionWidget
@@ -18,19 +18,19 @@
  * @param {ve.dm.Node|ve.dm.Annotation} model Node or annotation item is 
related to
  * @param {Object} [config] Configuration options
  */
-ve.ui.ContextItemWidget = function VeUiContextItemWidget( data, tool, model, 
config ) {
+ve.ui.ContextOptionWidget = function VeUiContextOptionWidget( data, tool, 
model, config ) {
        // Config intialization
        config = config || {};
 
        // Parent constructor
-       ve.ui.ContextItemWidget.super.call( this, data, config );
+       ve.ui.ContextOptionWidget.super.call( this, data, config );
 
        // Properties
        this.tool = tool;
        this.model = model;
 
        // Initialization
-       this.$element.addClass( 've-ui-contextItemWidget' );
+       this.$element.addClass( 've-ui-contextOptionWidget' );
        this.setIcon( this.tool.static.icon );
 
        this.setLabel( this.getDescription() );
@@ -38,7 +38,7 @@
 
 /* Setup */
 
-OO.inheritClass( ve.ui.ContextItemWidget, OO.ui.DecoratedOptionWidget );
+OO.inheritClass( ve.ui.ContextOptionWidget, OO.ui.DecoratedOptionWidget );
 
 /* Methods */
 
@@ -47,7 +47,7 @@
  *
  * @return {string} Description of model
  */
-ve.ui.ContextItemWidget.prototype.getDescription = function () {
+ve.ui.ContextOptionWidget.prototype.getDescription = function () {
        var description;
 
        if ( this.model instanceof ve.dm.Annotation ) {
@@ -67,6 +67,6 @@
  *
  * @return {ve.ui.Command} Command
  */
-ve.ui.ContextItemWidget.prototype.getCommand = function () {
+ve.ui.ContextOptionWidget.prototype.getCommand = function () {
        return ve.ui.commandRegistry.lookup( this.tool.static.commandName );
 };
diff --git a/src/ui/widgets/ve.ui.ContextMenuWidget.js 
b/src/ui/widgets/ve.ui.ContextSelectWidget.js
similarity index 62%
rename from src/ui/widgets/ve.ui.ContextMenuWidget.js
rename to src/ui/widgets/ve.ui.ContextSelectWidget.js
index e2b1b8f..54aaa53 100644
--- a/src/ui/widgets/ve.ui.ContextMenuWidget.js
+++ b/src/ui/widgets/ve.ui.ContextSelectWidget.js
@@ -7,7 +7,7 @@
 /**
  * Menu of items, each an inspectablec attribute of the current context.
  *
- * Use with ve.ui.ContextItemWidget.
+ * Use with ve.ui.ContextOptionWidget.
  *
  * @class
  * @extends OO.ui.SelectWidget
@@ -15,29 +15,29 @@
  * @constructor
  * @param {Object} [config] Configuration options
  */
-ve.ui.ContextMenuWidget = function VeUiContextMenuWidget( config ) {
+ve.ui.ContextSelectWidget = function VeUiContextSelectWidget( config ) {
        // Config intialization
        config = config || {};
 
        // Parent constructor
-       ve.ui.ContextMenuWidget.super.call( this, config );
+       ve.ui.ContextSelectWidget.super.call( this, config );
 
        this.connect( this, { choose: 'onChooseItem' } );
 
        // Initialization
-       this.$element.addClass( 've-ui-contextMenuWidget' );
+       this.$element.addClass( 've-ui-contextMenuSelectWidget' );
 };
 
 /* Setup */
 
-OO.inheritClass( ve.ui.ContextMenuWidget, OO.ui.SelectWidget );
+OO.inheritClass( ve.ui.ContextSelectWidget, OO.ui.SelectWidget );
 
 /* Methods */
 
 /**
  * Handle choose item events.
  */
-ve.ui.ContextMenuWidget.prototype.onChooseItem = function () {
+ve.ui.ContextSelectWidget.prototype.onChooseItem = function () {
        // Auto-deselect
        this.selectItem( null );
 };
diff --git a/src/ui/widgets/ve.ui.ContextWidget.js 
b/src/ui/widgets/ve.ui.ContextWidget.js
index 7a7b640..eefbfe2 100644
--- a/src/ui/widgets/ve.ui.ContextWidget.js
+++ b/src/ui/widgets/ve.ui.ContextWidget.js
@@ -7,7 +7,7 @@
 /**
  * List of context items, displaying information about the current context.
  *
- * Use with ve.ui.ContextItemWidget.
+ * Use with ve.ui.ContextOptionWidget.
  *
  * @class
  * @extends OO.ui.SelectWidget
diff --git a/src/ui/widgets/ve.ui.MobileContextItemWidget.js 
b/src/ui/widgets/ve.ui.MobileContextItemWidget.js
deleted file mode 100644
index a33b6f8..0000000
--- a/src/ui/widgets/ve.ui.MobileContextItemWidget.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/*!
- * VisualEditor Mobile Context Item widget class.
- *
- * @copyright 2011-2014 VisualEditor Team and others; see 
http://ve.mit-license.org
- */
-
-/**
- * Mobile version of context item widget
- *
- * @class
- * @extends ve.ui.ContextItemWidget
- *
- * @constructor
- * @param {Object} data
- * @param {Function} tool
- * @param {ve.dm.Node|ve.dm.Annotation} model
- * @param {Object} [config]
- */
-ve.ui.MobileContextItemWidget = function VeUiContextItemWidget() {
-       // Parent constructor
-       ve.ui.MobileContextItemWidget.super.apply( this, arguments );
-
-       this.$element.addClass( 've-ui-mobileContextItemWidget' );
-       this.setLabel(
-               this.$( '<span>' ).addClass( 
've-ui-mobileContextItemWidget-label-secondary' )
-                       .text( ve.msg( 
'visualeditor-contextitemwidget-label-secondary' ) )
-                       .add(
-                               this.$( '<span>' ).addClass( 
've-ui-mobileContextItemWidget-label-primary' )
-                                       .text( this.getDescription() )
-                       )
-       );
-};
-
-/* Setup */
-
-OO.inheritClass( ve.ui.MobileContextItemWidget, ve.ui.ContextItemWidget );
diff --git a/src/ui/widgets/ve.ui.MobileContextOptionWidget.js 
b/src/ui/widgets/ve.ui.MobileContextOptionWidget.js
new file mode 100644
index 0000000..0540767
--- /dev/null
+++ b/src/ui/widgets/ve.ui.MobileContextOptionWidget.js
@@ -0,0 +1,36 @@
+/*!
+ * VisualEditor Mobile Context Item widget class.
+ *
+ * @copyright 2011-2014 VisualEditor Team and others; see 
http://ve.mit-license.org
+ */
+
+/**
+ * Mobile version of context item widget
+ *
+ * @class
+ * @extends ve.ui.ContextOptionWidget
+ *
+ * @constructor
+ * @param {Object} data
+ * @param {Function} tool
+ * @param {ve.dm.Node|ve.dm.Annotation} model
+ * @param {Object} [config]
+ */
+ve.ui.MobileContextOptionWidget = function VeUiContextOptionWidget() {
+       // Parent constructor
+       ve.ui.MobileContextOptionWidget.super.apply( this, arguments );
+
+       this.$element.addClass( 've-ui-mobileContextOptionWidget' );
+       this.setLabel(
+               this.$( '<span>' ).addClass( 
've-ui-mobileContextOptionWidget-label-secondary' )
+                       .text( ve.msg( 
'visualeditor-contextitemwidget-label-secondary' ) )
+                       .add(
+                               this.$( '<span>' ).addClass( 
've-ui-mobileContextOptionWidget-label-primary' )
+                                       .text( this.getDescription() )
+                       )
+       );
+};
+
+/* Setup */
+
+OO.inheritClass( ve.ui.MobileContextOptionWidget, ve.ui.ContextOptionWidget );
diff --git a/tests/index.html b/tests/index.html
index f35fb53..4778413 100644
--- a/tests/index.html
+++ b/tests/index.html
@@ -276,8 +276,8 @@
                <script 
src="../src/ui/widgets/ve.ui.LanguageInputWidget.js"></script>
                <script src="../src/ui/widgets/ve.ui.SurfaceWidget.js"></script>
                <script 
src="../src/ui/widgets/ve.ui.LinkTargetInputWidget.js"></script>
-               <script 
src="../src/ui/widgets/ve.ui.ContextMenuWidget.js"></script>
-               <script 
src="../src/ui/widgets/ve.ui.ContextItemWidget.js"></script>
+               <script 
src="../src/ui/widgets/ve.ui.ContextSelectWidget.js"></script>
+               <script 
src="../src/ui/widgets/ve.ui.ContextOptionWidget.js"></script>
                <script 
src="../src/ui/widgets/ve.ui.DimensionsWidget.js"></script>
                <script 
src="../src/ui/widgets/ve.ui.MediaSizeWidget.js"></script>
                <script 
src="../src/ui/widgets/ve.ui.WhitespacePreservingTextInputWidget.js"></script>

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I1347f16c10fe8252c53cc37f58d7ab5a47ab14ca
Gerrit-PatchSet: 5
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Trevor Parscal <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to