mediawiki-extensions-Visual.../modules/ve/init/mw/styles/ve.init.mw.ViewPageTarget.css
Trevor Parscal f31dc45da8 (bug 43841) Major ve.ui rewrite, especially ve.ui.LinkInspector
Objectives:

* Make the link inspector easier to use
* Try to resolve a few bugs (bug 43841, bug 43063, bug 42986)
* Stop using jquery.multiSuggest (which didn't really understand annotations)
* Better divide MediaWiki specifics from generic implementations

Changes:

VisualEditor.php, modules/ve/test/index.php, demos/ve/index.php
* Updated links to files

ve.Registry
* Fixed mistake where registry was initialized as an array - this didn't cause any errors because you can add arbitrary properties to an array and use it like any other object

ve.Factory
* Removed duplicate initialization of registry property
* Added entries property, which is an array that's appended to for tracking the order of registrations

ve.CommandRegistry
* Added mwLink command which opens the mwLink inspector

ve.ui.TextInputWidget
* Added basic widget class for text inputs

ve.ui.TextInputMenuWidget
* Added widget that provides a menu of options for a text input widget

ve.ui.MWLinkTargetInputWidget
* Added MediaWiki specific link target widget

ve.ui.MenuWidget
* Converted ve.ui.Menu into a widget
* Moved the body of onSelect to onMouseUp

ve.ui.LinkTargetInputWidget
* Added link target widget which adds link annotation functionality to a normal text input

ve.ui.InputWidget
* Added generic input widget which emits reliable and instant change events and synchronizes a value property with the DOM value

ve.ui.Widget
* Added base widget class
* Widgets can be used in any frame

ve.ui.Tool
* Fixed line length issues

ve.ui.InspectorFactory
* Made use of new entries property for factories to select the most recently added inspector if more than one match a given annotation

ve.ui.Inspector
* Added auto-focus on the first visible input element on open
* Moved afterClose event to after re-focus on document on close
* Added documentation

ve.ui.Frame
* Adjusted documentation
* Added binding of $$ to the frame context so it can be passed around
* Added documentation

ve.ui.Context
* Added ve.ui.Widget.css to iframes
* Updated code as per moving of ve.ui.Menu to ve.ui.MenuWidget
* Removed unused positionBelowOverlay method
* Added CSS settings to set overlay left and width properties according to context size
* Added documentation

ve.ui.DropdownTool
* Updated code as per moving of ve.ui.Menu to ve.ui.MenuWidget

ve.ui.FormatDropdownTool
* Added documentation

ve.ui.MWLinkButtonTool
* Added MediaWiki specific version of ve.ui.LinkButtonTool, which opens the mwLink inspector

ve.ui.Widget.css
* Added styles for all widgets

ve.ui.Tool.css, ve.init.sa.css, ve.init.mw.ViewPageTarget.css, ve.init.mw.ViewPageTarget-apex.css
* Updated code as per moving of ve.ui.Menu to ve.ui.MenuWidget

ve.ui.Menu.css
* Deleted (merged into ve.ui.Widget.css)

ve.ui.Menu.css
* Deleted suggest styles (no longer used)

pending.gif, pending.psd
* Added diagonal stripe animation to indicate a pending request to the API

ve.ui.MWLinkInspector
* Added MediaWiki specific inspector which uses MediaWiki specific annotations and widgets

ve.ui.LinkInspector
* Removed mw global hint (not needed anymore)
* Switched from comparing targets to annotations (since the target text is ambiguous in some situations)
* Switched to using input widget, which is configured using a static property
* Removed use of jquery.multiSuggest
* Moved MediaWiki specifics to their own class (ve.ui.MWLinkInspector)

ve.init.mw.ViewPageTarget
* Added MediaWiki specific toolbar and command options

Change-Id: I859b5871a9d2f17d970c002067c8ff24f3513e9f
2013-01-15 15:05:11 -08:00

366 lines
8.5 KiB
CSS

/*!
* VisualEditor MediaWiki initialization ViewPageTarget styles.
*
* @copyright 2011-2012 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
/* VisualEditor */
.ve-ui-menuWidget {
font-size: 0.9em;
}
.ve-init-mw-viewPageTarget-pageTitle {
-webkit-transition: opacity 200ms ease-out;
-moz-transition: opacity 200ms ease-out;
-ms-transition: opacity 200ms ease-out;
-o-transition: opacity 200ms ease-out;
transition: opacity 200ms ease-out;
cursor: default;
}
.ve-init-mw-viewPageTarget-loading {
width: 128px;
height: 15px;
float: right;
}
/* Edit notices */
.ve-init-mw-viewPageTarget-toolbar-editNotices {
display: none;
position: absolute;
right: -0.5em;
top: 30px;
width: 29em;
font-family: sans-serif;
border: solid 1px #ccc;
padding: 0 0.75em 0 0.75em;
border-radius: 0.25em;
background-color: #fff;
box-shadow: 0 0.15em 0.5em 0 rgba(0, 0, 0, 0.2);
z-index: 3;
}
.ve-init-mw-viewPageTarget-toolbar-editNotices-notice {
padding: 0.5em 0;
font-size: 0.8em;
line-height: 1.5em;
border-top: solid 1px #ccc;
margin-top: -1px;
}
/* Tools */
.ve-init-mw-viewPageTarget-tool {
position: relative;
display: inline-block;
vertical-align: top;
line-height: 2.125em;
margin-right: 1em;
padding-left: 30px;
cursor: pointer;
background-repeat: no-repeat;
background-position: left center;
}
.ve-init-mw-viewPageTarget-tool-label {
font-size: 0.8em;
color: #555555;
}
.ve-init-mw-viewPageTarget-tool:hover .ve-init-mw-viewPageTarget-tool-label {
text-decoration: underline;
}
/* Buttons */
.ve-init-mw-viewPageTarget-button {
display: inline-block;
height: 1.8em;
margin: 0.1em 0.25em;
padding: 0 0.75em;
border-radius: 0.25em;
vertical-align: top;
color: #252525;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
text-align: center;
font-size: 1em;
cursor: pointer;
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
/* Gray */
border: 1px #c9c9c9 solid;
background-color: #ffffff;
filter: progid:DXImageTransform.Microsoft.gradient(
GradientType=0,startColorstr=#ffffff, endColorstr=#f0f0f0
);
background-image: -webkit-gradient(
linear, right top, right bottom, color-stop(0%,#ffffff), color-stop(100%,#f0f0f0)
);
background-image: -webkit-linear-gradient(top, #ffffff 0%, #f0f0f0 100%);
background-image: -moz-linear-gradient(top, #ffffff 0%, #f0f0f0 100%);
background-image: -ms-linear-gradient(top, #ffffff 0%, #f0f0f0 100%);
background-image: -o-linear-gradient(top, #ffffff 0%, #f0f0f0 100%);
background-image: linear-gradient(top, #ffffff 0%, #f0f0f0 100%);
}
.ve-init-mw-viewPageTarget-button-constructive {
/* Green */
border: solid 1px #c3e59a;
background-color: #f0fbe1;
filter: progid:DXImageTransform.Microsoft.gradient(
GradientType=0,startColorstr=#f0fbe1, endColorstr=#c3e59a
);
background-image: -webkit-gradient(
linear, right top, right bottom, color-stop(0%,#f0fbe1), color-stop(100%,#c3e59a)
);
background-image: -webkit-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%);
background-image: -moz-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%);
background-image: -ms-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%);
background-image: -o-linear-gradient(top, #f0fbe1 0%, #c3e59a 100%);
background-image: linear-gradient(top, #f0fbe1 0%, #c3e59a 100%);
}
.ve-init-mw-viewPageTarget-button-primary {
/* Blue */
border: solid 1px #b0d9ee;
background-color: #eaf4fa;
filter: progid:DXImageTransform.Microsoft.gradient(
GradientType=0,startColorstr=#eaf4fa, endColorstr=#b0d9ee
);
background-image: -webkit-gradient(
linear, right top, right bottom, color-stop(0%,#eaf4fa), color-stop(100%,#b0d9ee)
);
background-image: -webkit-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%);
background-image: -moz-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%);
background-image: -ms-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%);
background-image: -o-linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%);
background-image: linear-gradient(top, #eaf4fa 0%, #b0d9ee 100%);
}
.ve-init-mw-viewPageTarget-saveDialog-actions .ve-init-mw-viewPageTarget-button {
float: right;
margin: 0 0 0 1em;
}
.ve-init-mw-viewPageTarget-button:hover {
border-color: #aaa;
}
.ve-init-mw-viewPageTarget-button:active {
border-color: #ddd;
box-shadow: inset 0 1px 4px 0 rgba(0, 0, 0, 0.07);
}
.ve-init-mw-viewPageTarget-button-disabled {
filter: alpha(opacity=50);
opacity: 0.5;
cursor: default;
}
.ve-init-mw-viewPageTarget-button-disabled:hover {
border-color: #ccc;
box-shadow: none;
}
.ve-init-mw-viewPageTarget-button-label {
display: inline-block;
vertical-align: middle;
line-height: 2.3em;
font-size: 0.8em;
}
/* Save dialog styles */
.ve-init-mw-viewPageTarget-saveDialog-working {
display: none;
float: right;
height: 2em;
width: 128px;
margin-right: 1em;
background-position: right center;
background-repeat: no-repeat;
}
.ve-init-mw-viewPageTarget-saveDialog {
display: none;
top: 0.25em;
right: 0.5em;
width: 29em;
min-width: 29em;
font-family: sans-serif;
position: absolute;
border: solid 1px #ccc;
border-radius: 0.25em;
background-color: #fff;
box-shadow: 0 0.15em 0.5em 0 rgba(0, 0, 0, 0.2);
padding: 2.5em 0.75em 0.75em 0.75em;
margin: 0 0 0 0.5em;
z-index: 3;
/* slide-diff can get quite long, handle overflow */
/* max-height set from javascript */
overflow-x: auto;
}
.ve-init-mw-viewPageTarget-saveDialog-head {
position: absolute;
top: 0.4em;
left: 0.5em;
right: 0.5em;
}
.ve-init-mw-viewPageTarget-saveDialog-title {
height: 2em;
line-height: 2em;
color: #333;
font-size: 0.9em;
float: left;
margin: 0 0.5em;
}
.ve-init-mw-viewPageTarget-saveDialog-prevButton {
float: left;
position: relative;
top: 0.1em;
width: 1.5em;
height: 1.5em;
cursor: pointer;
filter: alpha(opacity=8);
opacity: 0.8;
/* @see ve.init.mw.Icons */
background-position: left top;
background-repeat: no-repeat;
padding-right: 0.5em;
border-right: 1px solid #eee;
margin-right: 0.5em;
}
.ve-init-mw-viewPageTarget-saveDialog-closeButton {
float: right;
position: relative;
top: 0.1em;
width: 1.5em;
height: 1.5em;
cursor: pointer;
filter: alpha(opacity=8);
opacity: 0.8;
/* @see ve.init.mw.Icons */
background-position: right top;
background-repeat: no-repeat;
}
.ve-init-mw-viewPageTarget-saveDialog-body {
border-top: 1px solid #ddd;
padding-top: 1em;
}
.ve-init-mw-viewPageTarget-saveDialog-slide {
display: none;
}
.ve-init-mw-viewPageTarget-saveDialog-slide-review .ve-init-mw-viewPageTarget-saveDialog-viewer {
margin-bottom: 1em;
}
.ve-init-mw-viewPageTarget-saveDialog-slide-review .ve-init-mw-viewPageTarget-saveDialog-viewer pre {
margin: 0;
}
.ve-init-mw-viewPageTarget-saveDialog-slide-review .ve-init-mw-viewPageTarget-saveDialog-viewer .diff {
font-size: 0.8em;
}
.ve-init-mw-viewPageTarget-saveDialog-foot {
padding-top: 1em;
}
.ve-init-mw-viewPageTarget-saveDialog-license,
.ve-init-mw-viewPageTarget-saveDialog-report-notice {
font-size: 0.7em;
line-height: 1.25em;
padding: 0;
margin: 0;
color: #999;
}
.ve-init-mw-viewPageTarget-saveDialog-summary,
.ve-init-mw-viewPageTarget-saveDialog-report {
background-color: #fff;
border: solid 1px #cccccc;
padding: 0.5em;
border-radius: 0.25em 0.25em 0 0;
}
.ve-init-mw-viewPageTarget-saveDialog-report {
margin-bottom: 1em;
border-radius: 0.25em;
}
.ve-init-mw-viewPageTarget-saveDialog-summary-focused,
.ve-init-mw-viewPageTarget-saveDialog-report-focused {
border-color: #aaa;
}
.ve-init-mw-viewPageTarget-saveDialog-options {
position: relative;
background-color: #f7f7f7;
margin-bottom: 1em;
border: solid 1px #cccccc;
border-top: none;
border-radius: 0 0 0.25em 0.25em;
min-height: 2.25em;
}
.ve-init-mw-viewPageTarget-saveDialog-body label {
font-size: 0.8em;
line-height: 3em;
}
.ve-init-mw-viewPageTarget-saveDialog input[type="checkbox"] {
margin: 0 0.5em 0 1em;
line-height: 3em;
}
.ve-init-mw-viewPageTarget-saveDialog-editSummaryCount {
position: absolute;
right: 0;
top: 0;
bottom: 0;
border-left: solid 1px #eee;
line-height: 3em;
padding: 0 1em;
color: #aaa;
}
.ve-init-mw-viewPageTarget-saveDialog-editSummary,
.ve-init-mw-viewPageTarget-saveDialog-problem {
border: none;
background-color: transparent;
margin: 0;
padding: 0;
resize: none;
font-size: 0.8em;
font-family: sans-serif;
height: 5em;
}
.ve-init-mw-viewPageTarget-saveDialog-editSummary:focus,
.ve-init-mw-viewPageTarget-saveDialog-problem:focus {
outline: none;
}
/* Images */
.ve-init-mw-viewPageTarget-loading,
.ve-init-mw-viewPageTarget-saveDialog-working {
/* @embed */
background-image: url(images/loading.gif);
}