mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-11-25 14:56:20 +00:00
332e31fb00
Objectives: * Make it possible to add items to toolbars without having to have all toolbars know about the items in advance * Make it possible to specialize an existing tool and have it be used instead of the base implementation Approach: * Tools are named using a path-style category/id/ext system, making them selectable, the latter component being used to differentiate extended tools from their base classes, but is ignored during selection * Toolbars have ToolGroups, which include or exclude tools by category or category/id, and order them by promoting and demoting selections of tools by category or category/id Future: * Add a way to place available but not yet placed tools in an "overflow" group * Add a mode to ToolGroup to make the tools a multi-column drop-down style list with labels so tools with less obvious icons are easier to identify - and probably use this as the overflow group Change-Id: I7625f861435a99ce3d7a2b1ece9731aaab1776f8
198 lines
4.3 KiB
CSS
198 lines
4.3 KiB
CSS
/*!
|
|
* VisualEditor UserInterface Tool styles.
|
|
*
|
|
* @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
|
|
* @license The MIT License (MIT); see LICENSE.txt
|
|
*/
|
|
|
|
/* ve.ui.Tool */
|
|
|
|
.ve-ui-tool {
|
|
position: relative;
|
|
display: inline-block;
|
|
margin: -1px 0 -1px -1px;
|
|
}
|
|
|
|
.ve-ui-tool:first-child {
|
|
border-top-left-radius: 0.25em;
|
|
border-bottom-left-radius: 0.25em;
|
|
}
|
|
|
|
.ve-ui-tool:last-child {
|
|
margin-right: -1px;
|
|
border-top-right-radius: 0.25em;
|
|
border-bottom-right-radius: 0.25em;
|
|
}
|
|
|
|
/* ve.ui.ToolGroup */
|
|
|
|
.ve-ui-toolGroup {
|
|
display: inline-block;
|
|
margin: 0.3em;
|
|
vertical-align: middle;
|
|
border-radius: 0.25em;
|
|
border: solid 1px transparent;
|
|
-webkit-transition: border-color 300ms;
|
|
-moz-transition: border-color 300ms;
|
|
-ms-transition: border-color 300ms;
|
|
-o-transition: border-color 300ms;
|
|
transition: border-color 300ms;
|
|
}
|
|
|
|
.ve-ui-toolGroup:hover {
|
|
border-color: rgba(0,0,0,0.1);
|
|
}
|
|
|
|
.ve-ui-toolGroup .ve-ui-labeledWidget-label {
|
|
display: inline-block;
|
|
padding: 0.5em 0.75em;
|
|
line-height: 22px;
|
|
font-size: 0.8em;
|
|
color: #555;
|
|
vertical-align: top;
|
|
}
|
|
|
|
/* ve.ui.ButtonTool */
|
|
/* ve.ui.DropdownTool */
|
|
|
|
.ve-ui-buttonTool-active:not(.ve-ui-widget-disabled) + .ve-ui-buttonTool-active:not(.ve-ui-widget-disabled) {
|
|
border-left-color: rgba(0,0,0,0.1);
|
|
}
|
|
|
|
.ve-ui-dropdownTool,
|
|
.ve-ui-buttonTool {
|
|
border: solid 1px transparent;
|
|
cursor: pointer;
|
|
vertical-align: top;
|
|
}
|
|
|
|
.ve-ui-dropdownTool {
|
|
border-color: rgba(0,0,0,0.1);
|
|
}
|
|
|
|
.ve-ui-buttonTool {
|
|
padding: 0.25em;
|
|
height: 1.5em;
|
|
width: 1.5em;
|
|
}
|
|
|
|
.ve-ui-buttonTool-icon {
|
|
display: block;
|
|
height: 1.5em;
|
|
width: 1.5em;
|
|
background-position: center center;
|
|
background-repeat: no-repeat;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.ve-ui-dropdownTool-label {
|
|
overflow: hidden;
|
|
height: 2em;
|
|
padding-right: 0.25em;
|
|
padding-left: 0.75em;
|
|
line-height: 2em;
|
|
}
|
|
|
|
.ve-ui-dropdownTool-label span {
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
.ve-ui-dropdownTool-icon {
|
|
position: absolute;
|
|
right: 0;
|
|
width: 2em;
|
|
height: 2em;
|
|
/* @see ve.ui.Icons */
|
|
background-position: center center;
|
|
background-repeat: no-repeat;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.ve-ui-dropdownTool .ve-ui-menuWidget {
|
|
left: -1px;
|
|
top: 2.5em;
|
|
z-index: 4;
|
|
}
|
|
|
|
.ve-ui-dropdownTool .ve-ui-labeledElement-label {
|
|
display: block;
|
|
padding: 0.33em 0 0.33em 0;
|
|
}
|
|
|
|
.ve-ui-buttonTool:hover:not(.ve-ui-widget-disabled),
|
|
.ve-ui-dropdownTool:hover:not(.ve-ui-widget-disabled) {
|
|
border-color: rgba(0,0,0,0.2);
|
|
}
|
|
|
|
.ve-ui-buttonTool:hover:not(.ve-ui-widget-disabled) .ve-ui-buttonTool-icon,
|
|
.ve-ui-dropdownTool:hover:not(.ve-ui-widget-disabled) .ve-ui-dropdownTool-icon {
|
|
opacity: 1;
|
|
}
|
|
|
|
.ve-ui-buttonTool:active:not(.ve-ui-widget-disabled),
|
|
.ve-ui-buttonTool-active:not(.ve-ui-widget-disabled),
|
|
.ve-ui-dropdownTool:active:not(.ve-ui-widget-disabled),
|
|
.ve-ui-dropdownTool-active:not(.ve-ui-widget-disabled) {
|
|
/* @embed */
|
|
background-image: url(images/fade-down.png);
|
|
background-position: left top;
|
|
background-repeat: repeat-x;
|
|
box-shadow: inset 0 0.07em 0.07em 0 rgba(0, 0, 0, 0.07);
|
|
border-color: rgba(0,0,0,0.2);
|
|
}
|
|
|
|
.ve-ui-buttonTool.ve-ui-widget-disabled,
|
|
.ve-ui-dropdownTool.ve-ui-widget-disabled {
|
|
cursor: default;
|
|
}
|
|
|
|
.ve-ui-widget-disabled .ve-ui-buttonTool-icon,
|
|
.ve-ui-widget-disabled .ve-ui-dropdownTool-icon {
|
|
opacity: 0.2;
|
|
}
|
|
|
|
/* ve.ui.FormatDropdownTool */
|
|
|
|
.ve-ui-formatDropdownTool {
|
|
width: 8em;
|
|
}
|
|
|
|
.ve-ui-formatDropdownTool .ve-ui-optionWidget[rel="paragraph"] .ve-ui-labeledElement-label {
|
|
font-weight: normal;
|
|
}
|
|
|
|
.ve-ui-formatDropdownTool .ve-ui-optionWidget[rel="heading-1"] .ve-ui-labeledElement-label {
|
|
font-size: 188%;
|
|
font-weight: normal;
|
|
}
|
|
|
|
.ve-ui-formatDropdownTool .ve-ui-optionWidget[rel="heading-2"] .ve-ui-labeledElement-label {
|
|
font-size: 150%;
|
|
font-weight: normal;
|
|
}
|
|
|
|
.ve-ui-formatDropdownTool .ve-ui-optionWidget[rel="heading-3"] .ve-ui-labeledElement-label {
|
|
font-size: 132%;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.ve-ui-formatDropdownTool .ve-ui-optionWidget[rel="heading-4"] .ve-ui-labeledElement-label {
|
|
font-size: 116%;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.ve-ui-formatDropdownTool .ve-ui-optionWidget[rel="heading-5"] .ve-ui-labeledElement-label {
|
|
font-size: 100%;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.ve-ui-formatDropdownTool .ve-ui-optionWidget[rel="heading-6"] .ve-ui-labeledElement-label {
|
|
font-size: 80%;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.ve-ui-formatDropdownTool .ve-ui-optionWidget[rel="preformatted"] .ve-ui-labeledElement-label {
|
|
font-family: monospace, "Courier New";
|
|
}
|
|
|