mediawiki-extensions-Visual.../modules/ve/ui/styles/ve.ui.Tool.css
Trevor Parscal fb22e4df50 Group, Select, Option, Outline and MenuSection widgets
Objective: Refactor menu widgets so that the majority of their code can be reused, and then add an outline widget which shares the same base classes.

ve.ui.Dialog.css
* Make dialog a fixed width and have a minimum and maximum height while always being centered in the window.
* Add style for the outline panel
* Add border below the title
* Move font-size adjustment to child elements to preserve layout scale

ve.ui.Inspector.css
* Make inspectors fade in when being opened (will happen after the size transition is complete)
* Add initial size for inspector to prevent the default size of the unfinished contents from making it too large while loading

ve.ui.Tool.css
* Update classes according to changes in labeled widgets

ve.ui.Widget.css
* Add display: block to widget labels to support use of autoEllipsis on them
* Update classes according to changes in labeled widgets
* Add styles for new select, option and outline item widgets
* Remove unused group and items classes for menu widgets (which are now subclasses of the select widget and no longer have grouping built-in)

ve.ui.Window.css.js
* Moved selection disabling rules up to the head to prevent selection drawing around the title

ve.ui.GroupWidget.js
* New widget that manages "items", allowing getting, adding, removing and clearing

ve.ui.MenuSectionItemWidget.js
* New widget that can be used inside a menu to create an unselectable, unhighlightable item that describes a section of the menu

ve.ui.OptionWidget.js
* New widget to be used with select widgets, provides select and highlight functionality

ve.ui.OutlineItemWidget.js
* New widget to be used with outline widgets, extends option and adds support for an icon to be rendered to the left of the label

ve.ui.OutlineWidget.js
* New widget that provides a vertically stacked list of mutually exclusive options, extends select

ve.ui.SelectWidget.js
* New widget that implements most of what menu once did, only now it also handles all the events for it's child elements internally

ve.ui.MetaDialog.js
* Hacked in support for an outline widget in the outline pane
* Added classes for styling purposes

ve.ui.FormatDropDownTool.js
* Modified call to menu item constructor as per changes therein
* Reorganized options config to make construction simpler
* Changed to setLabel after selecting the item to prevent the label from being changed to the wrong value as a side-effect of setting the item

ve.ui.DropDownTool.js
* Added $$ in config for menu widget - just in case later on we use a drop-down inside of a frame
* Using jQuery .text() method to propagate the selected item's text to the label rather than keeping around a plain text copy of the label in a property

ve.ui.Context.js
* Improve context/inspector behavior in regards to initial sizing

ve.ui.js
* Added context property to $$ returned by get$$ so it's easy to get the document object (for event binding) wherever you have a $$

ve.ui.Window.js
* Fixed incorrect case for boolean type in comment
* Added getFrame method

ve.ui.ButtonWidget.js
* Removed extra class being set on label

ve.ui.LabeledWidget.js
* Added class on label
* Added fitLabel method which uses autoEllipsis internally

ve.ui.MenuItemWidget.js
* Moved nearly all of the implementation to option so it could be reused

ve.ui.Menu.js
* Moved most of the implementation to select and group

ve.ui.MWLinkTargetInputWidget
* Prevent aborting and re-querying if the value hasn't actually changed
* Updated populateMenu method as per changes in menu class

*.php
* Added links to new files

Change-Id: I2271b5cc0554973b13cfbff94caf16901c02caa5
2013-03-20 22:55:32 +00:00

174 lines
3.5 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.ButtonTool */
.ve-ui-buttonTool {
display: inline-block;
border: solid 1px transparent;
border-radius: 0.125em;
cursor: pointer;
vertical-align: top;
}
.ve-ui-buttonTool {
padding: 0.25em;
height: 1.5em;
width: 1.5em;
margin: 0.05em;
}
.ve-ui-buttonTool:hover {
border-color: #eee;
}
.ve-ui-buttonTool-active:hover {
border-color: #ccc;
}
.ve-ui-buttonTool:active,
.ve-ui-buttonTool-active {
border-color: #ddd;
/* @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);
}
.ve-ui-widget-disabled.ve-ui-buttonTool:active {
background-image: none;
box-shadow: none;
}
.ve-ui-widget-disabled.ve-ui-buttonTool {
filter: alpha(opacity=25);
opacity: 0.25;
}
.ve-ui-widget-disabled.ve-ui-buttonTool:hover {
border-color: transparent;
}
.ve-ui-buttonTool-icon {
display: block;
height: 1.5em;
width: 1.5em;
background-position: center center;
background-repeat: no-repeat;
filter: alpha(opacity=80);
opacity: 0.8;
}
.ve-ui-buttonTool:hover .ve-ui-buttonTool-icon {
filter: alpha(opacity=100);
opacity: 1;
}
.ve-ui-widget-disabled .ve-ui-buttonTool-icon {
filter: alpha(opacity=80);
opacity: 0.8;
}
/* ve.ui.DropdownTool */
.ve-ui-dropdownTool {
position: relative;
display: inline-block;
cursor: pointer;
vertical-align: top;
border: solid 1px #ddd;
border-radius: 0.25em;
background-color: white;
box-shadow: inset 0 0.07em 0.07em 0 rgba(0, 0, 0, 0.07);
}
.ve-ui-dropdownTool:hover {
border-color: #ccc;
}
.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: 50% 50%;
background-repeat: no-repeat;
filter: alpha(opacity=80);
opacity: 0.8;
}
.ve-ui-dropdownTool:hover .ve-ui-dropdownTool-icon {
filter: alpha(opacity=100);
opacity: 1;
}
.ve-ui-dropdownTool .ve-ui-menuWidget {
left: -1px;
top: 2.5em;
}
.ve-ui-dropdownTool .ve-ui-labeledWidget-label {
display: block;
padding: 0.33em 0 0.33em 0;
}
.ve-ui-dropdownTool-format {
width: 8em;
}
.ve-ui-dropdownTool-format .ve-ui-optionWidget[rel="paragraph"] .ve-ui-labeledWidget-label {
font-weight: normal;
}
.ve-ui-dropdownTool-format .ve-ui-optionWidget[rel="heading-1"] .ve-ui-labeledWidget-label {
font-size: 188%;
font-weight: normal;
}
.ve-ui-dropdownTool-format .ve-ui-optionWidget[rel="heading-2"] .ve-ui-labeledWidget-label {
font-size: 150%;
font-weight: normal;
}
.ve-ui-dropdownTool-format .ve-ui-optionWidget[rel="heading-3"] .ve-ui-labeledWidget-label {
font-size: 132%;
font-weight: bold;
}
.ve-ui-dropdownTool-format .ve-ui-optionWidget[rel="heading-4"] .ve-ui-labeledWidget-label {
font-size: 116%;
font-weight: bold;
}
.ve-ui-dropdownTool-format .ve-ui-optionWidget[rel="heading-5"] .ve-ui-labeledWidget-label {
font-size: 100%;
font-weight: bold;
}
.ve-ui-dropdownTool-format .ve-ui-optionWidget[rel="heading-6"] .ve-ui-labeledWidget-label {
font-size: 80%;
font-weight: bold;
}
.ve-ui-dropdownTool-format .ve-ui-optionWidget[rel="preformatted"] .ve-ui-labeledWidget-label {
font-family: monospace, "Courier New";
}