jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/311356 )
Change subject: themes: Reorder Less rules alphabetically
......................................................................
themes: Reorder Less rules alphabetically
Reordering Less elements, widgets & tools main rules
alphabetically to address historically grown clutter.
Bug: T145995
Change-Id: If6305c530088acc559bd0d65578e460210b8cd3f
---
M src/themes/apex/elements.less
M src/themes/apex/tools.less
M src/themes/apex/widgets.less
M src/themes/blank/elements.less
M src/themes/blank/tools.less
M src/themes/blank/widgets.less
M src/themes/mediawiki/elements.less
M src/themes/mediawiki/tools.less
M src/themes/mediawiki/widgets.less
9 files changed, 2,189 insertions(+), 2,190 deletions(-)
Approvals:
jenkins-bot: Verified
Jforrester: Looks good to me, approved
diff --git a/src/themes/apex/elements.less b/src/themes/apex/elements.less
index d0dbda3..cd31617 100644
--- a/src/themes/apex/elements.less
+++ b/src/themes/apex/elements.less
@@ -213,15 +213,15 @@
.theme-oo-ui-clippableElement () {}
-.theme-oo-ui-floatableElement () {}
+.theme-oo-ui-draggableElement () {}
+
+.theme-oo-ui-draggableGroupElement () {}
.theme-oo-ui-flaggedElement () {}
-.theme-oo-ui-draggableElement () {}
+.theme-oo-ui-floatableElement () {}
.theme-oo-ui-groupElement () {}
-
-.theme-oo-ui-draggableGroupElement () {}
.theme-oo-ui-iconElement () {
.oo-ui-iconElement-icon,
@@ -245,14 +245,14 @@
.theme-oo-ui-lookupElement () {}
-.theme-oo-ui-popupElement () {}
-
-.theme-oo-ui-tabIndexedElement () {}
-
-.theme-oo-ui-titledElement () {}
-
.theme-oo-ui-pendingElement () {
&-pending {
.oo-ui-background-image('@{oo-ui-default-image-path}/textures/pending.gif');
}
}
+
+.theme-oo-ui-popupElement () {}
+
+.theme-oo-ui-tabIndexedElement () {}
+
+.theme-oo-ui-titledElement () {}
diff --git a/src/themes/apex/tools.less b/src/themes/apex/tools.less
index d62ff31..20cb3b1 100644
--- a/src/themes/apex/tools.less
+++ b/src/themes/apex/tools.less
@@ -206,135 +206,6 @@
}
}
-.theme-oo-ui-popupToolGroup () {
- height: 2.5em;
- min-width: 2.5em;
-
- .oo-ui-toolbar-narrow & {
- min-width: 1.875em;
- }
-
- &.oo-ui-iconElement {
- min-width: 3.125em;
-
- .oo-ui-toolbar-narrow & {
- min-width: 2.5em;
- }
- }
-
- &.oo-ui-indicatorElement.oo-ui-iconElement {
- min-width: 4.375em;
-
- .oo-ui-toolbar-narrow & {
- min-width: 3.75em;
- }
- }
-
- &.oo-ui-labelElement {
- .oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
- line-height: 2.6em;
- margin: 0 1em;
-
- .oo-ui-toolbar-narrow & {
- margin: 0 0.5em;
- }
- }
-
- &.oo-ui-iconElement .oo-ui-popupToolGroup-handle
.oo-ui-labelElement-label {
- margin-left: 3em;
-
- .oo-ui-toolbar-narrow & {
- margin-left: 2.5em;
- }
- }
-
- &.oo-ui-indicatorElement .oo-ui-popupToolGroup-handle
.oo-ui-labelElement-label {
- margin-right: 2.25em;
-
- .oo-ui-toolbar-narrow & {
- margin-right: 1.75em;
- }
- }
- }
-
- &-handle {
- .oo-ui-indicatorElement-indicator {
- width: 0.9375em;
- height: 0.9375em;
- margin: 0.78125em;
- top: 0;
- right: 0;
-
- .oo-ui-toolbar-narrow & {
- right: -0.3125em;
- }
- }
- .oo-ui-iconElement-icon {
- width: 1.875em;
- height: 1.875em;
- margin: 0.3125em;
- top: 0;
- left: 0.3125em;
-
- .oo-ui-toolbar-narrow & {
- left: 0;
- }
- }
- }
-
- &-header {
- line-height: 2.6em;
- margin: 0 0.6em;
- font-weight: bold;
- }
-
- &-active.oo-ui-widget-enabled {
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0;
- box-shadow: inset 0 0.0875em 0.0875em 0 rgba( 0, 0, 0, 0.07 );
-
- .oo-ui-vertical-gradient(#F1F7FB, #fff);
- }
-
- .oo-ui-toolGroup-tools {
- margin: 0 -1px;
- border: 1px solid #ccc;
- background-color: #fff;
- box-shadow: 0 0.3125em 1.25em rgba( 0, 0, 0, 0.25 );
-
- .oo-ui-toolbar-position-top & {
- top: 2.5em;
- }
-
- .oo-ui-toolbar-position-bottom & {
- bottom: 2.5em;
- }
- }
-
- .oo-ui-tool-link {
- padding: 0.3125em 0 0.3125em 0.3125em;
-
- .oo-ui-iconElement-icon {
- height: 1.875em;
- width: 1.875em;
- min-width: 1.875em;
- }
-
- .oo-ui-tool-title {
- padding-left: 0.5em;
- }
-
- .oo-ui-tool-accel,
- .oo-ui-tool-title {
- line-height: 2em;
- }
-
- .oo-ui-tool-accel {
- color: #888;
- }
- }
-}
-
.theme-oo-ui-listToolGroup () {
.oo-ui-toolGroup-tools {
padding: 0.3125em;
@@ -467,3 +338,132 @@
}
}
}
+
+.theme-oo-ui-popupToolGroup () {
+ height: 2.5em;
+ min-width: 2.5em;
+
+ .oo-ui-toolbar-narrow & {
+ min-width: 1.875em;
+ }
+
+ &.oo-ui-iconElement {
+ min-width: 3.125em;
+
+ .oo-ui-toolbar-narrow & {
+ min-width: 2.5em;
+ }
+ }
+
+ &.oo-ui-indicatorElement.oo-ui-iconElement {
+ min-width: 4.375em;
+
+ .oo-ui-toolbar-narrow & {
+ min-width: 3.75em;
+ }
+ }
+
+ &.oo-ui-labelElement {
+ .oo-ui-popupToolGroup-handle .oo-ui-labelElement-label {
+ line-height: 2.6em;
+ margin: 0 1em;
+
+ .oo-ui-toolbar-narrow & {
+ margin: 0 0.5em;
+ }
+ }
+
+ &.oo-ui-iconElement .oo-ui-popupToolGroup-handle
.oo-ui-labelElement-label {
+ margin-left: 3em;
+
+ .oo-ui-toolbar-narrow & {
+ margin-left: 2.5em;
+ }
+ }
+
+ &.oo-ui-indicatorElement .oo-ui-popupToolGroup-handle
.oo-ui-labelElement-label {
+ margin-right: 2.25em;
+
+ .oo-ui-toolbar-narrow & {
+ margin-right: 1.75em;
+ }
+ }
+ }
+
+ &-handle {
+ .oo-ui-indicatorElement-indicator {
+ width: 0.9375em;
+ height: 0.9375em;
+ margin: 0.78125em;
+ top: 0;
+ right: 0;
+
+ .oo-ui-toolbar-narrow & {
+ right: -0.3125em;
+ }
+ }
+ .oo-ui-iconElement-icon {
+ width: 1.875em;
+ height: 1.875em;
+ margin: 0.3125em;
+ top: 0;
+ left: 0.3125em;
+
+ .oo-ui-toolbar-narrow & {
+ left: 0;
+ }
+ }
+ }
+
+ &-header {
+ line-height: 2.6em;
+ margin: 0 0.6em;
+ font-weight: bold;
+ }
+
+ &-active.oo-ui-widget-enabled {
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+ box-shadow: inset 0 0.0875em 0.0875em 0 rgba( 0, 0, 0, 0.07 );
+
+ .oo-ui-vertical-gradient(#F1F7FB, #fff);
+ }
+
+ .oo-ui-toolGroup-tools {
+ margin: 0 -1px;
+ border: 1px solid #ccc;
+ background-color: #fff;
+ box-shadow: 0 0.3125em 1.25em rgba( 0, 0, 0, 0.25 );
+
+ .oo-ui-toolbar-position-top & {
+ top: 2.5em;
+ }
+
+ .oo-ui-toolbar-position-bottom & {
+ bottom: 2.5em;
+ }
+ }
+
+ .oo-ui-tool-link {
+ padding: 0.3125em 0 0.3125em 0.3125em;
+
+ .oo-ui-iconElement-icon {
+ height: 1.875em;
+ width: 1.875em;
+ min-width: 1.875em;
+ }
+
+ .oo-ui-tool-title {
+ padding-left: 0.5em;
+ }
+
+ .oo-ui-tool-accel,
+ .oo-ui-tool-title {
+ line-height: 2em;
+ }
+
+ .oo-ui-tool-accel {
+ color: #888;
+ }
+ }
+}
diff --git a/src/themes/apex/widgets.less b/src/themes/apex/widgets.less
index be39cd1..7f39148 100644
--- a/src/themes/apex/widgets.less
+++ b/src/themes/apex/widgets.less
@@ -2,26 +2,15 @@
.theme-oo-ui-widget () {}
-.theme-oo-ui-outlineControlsWidget () {
- height: 3em;
- background-color: @background-color-main;
-
- &-items,
- &-movers {
- height: 2em;
- margin: 0.5em 0.5em 0.5em 0;
- padding: 0;
- }
-
- > .oo-ui-iconElement-icon {
- width: 1.5em;
- height: 2em;
- margin: 0.5em 0 0.5em 0.5em;
- opacity: 0.2;
+.theme-oo-ui-actionWidget () {
+ &.oo-ui-pendingElement-pending {
+
.oo-ui-background-image('@{oo-ui-default-image-path}/textures/pending.gif');
}
}
-.theme-oo-ui-toggleWidget () {}
+.theme-oo-ui-buttonWidget () {
+ .oo-ui-inline-spacing(0.5em);
+}
.theme-oo-ui-buttonGroupWidget () {
display: inline-block;
@@ -52,57 +41,236 @@
}
}
-.theme-oo-ui-buttonWidget () {
- .oo-ui-inline-spacing(0.5em);
-}
+.theme-oo-ui-buttonInputWidget () {}
-.theme-oo-ui-actionWidget () {
- &.oo-ui-pendingElement-pending {
-
.oo-ui-background-image('@{oo-ui-default-image-path}/textures/pending.gif');
+.theme-oo-ui-buttonOptionWidget () {
+ padding: 0;
+ background-color: transparent;
+
+ &.oo-ui-optionWidget-selected,
+ &.oo-ui-optionWidget-pressed,
+ &.oo-ui-optionWidget-highlighted {
+ background-color: transparent;
}
}
-.theme-oo-ui-popupButtonWidget () {
- &-frameless-popup {
- &.oo-ui-popupWidget-anchored-top,
- &.oo-ui-popupWidget-anchored-bottom {
- .oo-ui-popupWidget-anchor {
- // Compensate for icon being inset
- margin-left: @size-icon / 2;
+.theme-oo-ui-buttonSelectWidget () {
+ border-radius: 0.3em;
+
+ .oo-ui-inline-spacing(0.5em);
+
+ .oo-ui-buttonOptionWidget {
+ .oo-ui-buttonElement-button {
+ border-radius: 0;
+ margin-left: -1px;
+ }
+
+ &:first-child .oo-ui-buttonElement-button {
+ border-bottom-left-radius: 0.3em;
+ border-top-left-radius: 0.3em;
+ margin-left: 0;
+ }
+
+ &:last-child .oo-ui-buttonElement-button {
+ border-bottom-right-radius: 0.3em;
+ border-top-right-radius: 0.3em;
+ }
+ }
+}
+
+.theme-oo-ui-checkboxInputWidget () {}
+
+.theme-oo-ui-checkboxMultioptionWidget () {
+ padding: 0;
+
+ &.oo-ui-labelElement .oo-ui-labelElement-label {
+ padding-left: 0.5em;
+ }
+
+ .oo-ui-checkboxInputWidget {
+ margin-right: 0;
+ }
+}
+
+.theme-oo-ui-checkboxMultiselectWidget () {}
+
+.theme-oo-ui-checkboxMultiselectInputWidget () {
+ .oo-ui-fieldLayout {
+ margin-bottom: 0;
+ }
+}
+
+.theme-oo-ui-capsuleItemWidget () {
+ width: auto;
+ max-width: 100%;
+ .oo-ui-box-sizing(border-box);
+ vertical-align: middle;
+ padding: 0 0.4em;
+ margin: 0.1em;
+ height: 1.7em;
+ line-height: 1.7em;
+ .oo-ui-vertical-gradient(#fff, #ddd);
+ border: 1px solid #ccc;
+ color: #555;
+ border-radius: 0.25em;
+
+ &:focus {
+ outline: 0;
+
+ border-color: @progressive;
+ }
+
+ &.oo-ui-widget-disabled {
+ opacity: 0.5;
+ // Opacity causes 1px measurement errors in Chrome, so force
GPU rendering
+ .oo-ui-force-gpu-composite-layer();
+ box-shadow: none;
+ color: #333;
+ background: #eee;
+ border-color: #ccc;
+ }
+
+ > .oo-ui-buttonElement {
+ margin-top: -1.25em;
+ padding-left: 0.3em;
+ }
+}
+
+.theme-oo-ui-capsuleMultiselectWidget () {
+ width: 100%;
+ max-width: @max-width-input-default;
+
+ &-handle {
+ background-color: @background-color-main;
+ cursor: text;
+ min-height: 2.4em;
+
+ .oo-ui-inline-spacing(0.5em);
+
+ padding: 0.15em 0.25em;
+ border: 1px solid rgba( 0, 0, 0, 0.1 );
+ border-radius: 0.25em;
+
+ .oo-ui-box-sizing(border-box);
+
+ > .oo-ui-capsuleMultiselectWidget-content {
+ > input {
+ border: 0;
+ line-height: 1.675em;
+ margin: 0;
+ margin-left: 0.2em;
+ padding: 0;
+ font-size: inherit;
+ font-family: inherit;
+ background-color: transparent;
+ color: #000;
+ vertical-align: middle;
+
+ .apex-placeholder();
+
+ &:focus {
+ // For Chrome
+ outline: 0;
+ }
}
}
}
- &-framed-popup {
- &.oo-ui-popupWidget-anchored-top,
- &.oo-ui-popupWidget-anchored-bottom {
- .oo-ui-popupWidget-anchor {
- // Compensate for icon being inset
- // Button has padding-left: 0.8em;, icon has
margin-left: -0.5em;
- margin-left: @size-icon / 2 + 0.8em - 0.5em;
+ &.oo-ui-iconElement &-handle {
+ padding-left: @size-icon + 2 * 0.3em;
+
+ > .oo-ui-iconElement-icon {
+ left: 0;
+ margin: 0 0.3em;
+ }
+ }
+
+ &.oo-ui-indicatorElement &-handle {
+ padding-right: @size-indicator + 2 * 0.775em;
+
+ > .oo-ui-indicatorElement-indicator {
+ right: 0;
+ margin: 0 0.775em;
+ }
+ }
+
+ &:hover &-handle {
+ border-color: rgba( 0, 0, 0, 0.2 );
+ }
+
+ &.oo-ui-widget-disabled &-handle {
+ color: #ccc;
+ text-shadow: 0 1px 1px #fff;
+ border-color: #ddd;
+ background-color: #f3f3f3;
+ cursor: default;
+
+ > .oo-ui-iconElement-icon,
+ > .oo-ui-indicatorElement-indicator {
+ opacity: 0.2;
+ }
+ }
+
+ &-popup {
+ > .oo-ui-popupWidget-popup {
+ border: 0;
+ }
+ }
+}
+
+.theme-oo-ui-comboBoxInputWidget () {
+ width: 100%;
+ max-width: @max-width-input-default;
+ .oo-ui-inline-spacing( 0.5em );
+
+ &-dropdownButton {
+ position: absolute;
+ top: 0;
+ right: 0;
+ visibility: hidden;
+
+ .oo-ui-buttonElement-button {
+ padding: 0;
+
+ .oo-ui-indicatorElement-indicator.oo-ui-indicator-down {
+ visibility: visible;
+ margin: 0.775em;
+ }
+ }
+ }
+
+ &.oo-ui-widget-disabled {
+ .oo-ui-textInputWidget.oo-ui-indicatorElement {
+ .oo-ui-indicatorElement-indicator {
+ cursor: default;
+ opacity: 0.2;
}
}
}
}
-.theme-oo-ui-toggleButtonWidget () {
- .oo-ui-inline-spacing(0.5em);
-}
+.theme-oo-ui-decoratedOptionWidget () {
+ padding: 0.5em 2em 0.5em 3em;
-.theme-oo-ui-iconWidget () {
- line-height: 2.5em;
-
- &.oo-ui-widget-disabled {
- opacity: 0.2;
+ &.oo-ui-iconElement .oo-ui-iconElement-icon,
+ &.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator {
+ top: 0;
+ height: 100%;
}
-}
-.theme-oo-ui-indicatorWidget () {
- line-height: 2.5em;
- margin: @size-indicator / 2;
+ &.oo-ui-iconElement .oo-ui-iconElement-icon {
+ left: 0.5em;
+ }
+
+ &.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator {
+ right: 0.5em;
+ }
&.oo-ui-widget-disabled {
- opacity: 0.2;
+ .oo-ui-iconElement-icon,
+ .oo-ui-indicatorElement-indicator {
+ opacity: 0.2;
+ }
}
}
@@ -161,6 +329,474 @@
margin-right: 2em;
}
}
+
+.theme-oo-ui-dropdownInputWidget () {
+ width: 100%;
+ max-width: @max-width-input-default;
+
+ select {
+ background-color: @background-color-main;
+ height: 2.5em;
+ padding: 0.5em;
+ font-size: inherit;
+ font-family: inherit;
+ border: 1px solid rgba( 0, 0, 0, 0.1 );
+ border-radius: 0.25em;
+ }
+
+ option {
+ font-size: inherit;
+ font-family: inherit;
+ height: 1.5em;
+ padding: 0.5em 1em;
+ }
+
+ &.oo-ui-widget-enabled {
+ select:hover,
+ select:focus {
+ border-color: rgba( 0, 0, 0, 0.2 );
+ outline: 0;
+
+ }
+ }
+
+ &.oo-ui-widget-disabled {
+ select {
+ color: #ccc;
+ border-color: #ddd;
+ background-color: #f3f3f3;
+ }
+ }
+}
+
+.theme-oo-ui-floatingMenuSelectWidget () {}
+
+.theme-oo-ui-iconWidget () {
+ line-height: 2.5em;
+
+ &.oo-ui-widget-disabled {
+ opacity: 0.2;
+ }
+}
+
+.theme-oo-ui-indicatorWidget () {
+ line-height: 2.5em;
+ margin: @size-indicator / 2;
+
+ &.oo-ui-widget-disabled {
+ opacity: 0.2;
+ }
+}
+
+.theme-oo-ui-inputWidget () {
+ .oo-ui-inline-spacing(0.5em);
+}
+
+.theme-oo-ui-labelWidget () {
+ padding: 0.5em 0;
+}
+
+.theme-oo-ui-menuOptionWidget () {
+ &.oo-ui-optionWidget {
+ &-selected {
+ background-color: transparent;
+ }
+ &-highlighted,
+ &-highlighted.oo-ui-optionWidget-selected {
+ background-color: #e1f3ff;
+ }
+ }
+}
+
+.theme-oo-ui-menuSectionOptionWidget () {
+ padding: 0.33em 0.75em;
+ color: #888;
+}
+
+.theme-oo-ui-menuSelectWidget () {
+ background-color: @background-color-main;
+ margin-top: -1px;
+ border: 1px solid #ccc;
+ border-radius: 0 0 0.25em 0.25em;
+ box-shadow: 0 0.15em 1em 0 rgba( 0, 0, 0, 0.2 );
+}
+
+.theme-oo-ui-multioptionWidget () {
+ .oo-ui-labelElement-label {
+ line-height: 1.5em;
+ }
+
+ &.oo-ui-widget-disabled {
+ color: #ccc;
+ }
+}
+
+.theme-oo-ui-multiselectWidget () {}
+
+.theme-oo-ui-numberInputWidget () {
+ max-width: @max-width-input-default;
+
+ &-field > .oo-ui-buttonWidget {
+ width: 2.25em;
+ }
+
+ &-minusButton.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ border-right-width: 0;
+ }
+
+ &-plusButton.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ border-left-width: 0;
+ }
+
+ &-buttoned .oo-ui-textInputWidget input {
+ border-radius: 0;
+ }
+}
+
+.theme-oo-ui-optionWidget () {
+ padding: 0.25em 0.5em;
+ border: 0;
+
+ &-highlighted {
+ background-color: #e1f3ff;
+ }
+
+ .oo-ui-labelElement-label {
+ line-height: 1.5em;
+ }
+
+ .oo-ui-selectWidget-depressed &-selected {
+ background-color: #a7dcff;
+ }
+
+ .oo-ui-selectWidget-pressed &-pressed,
+ .oo-ui-selectWidget-pressed &-pressed&-highlighted,
+ .oo-ui-selectWidget-pressed &-pressed&-highlighted&-selected {
+ background-color: #a7dcff;
+ }
+
+ &.oo-ui-widget-disabled {
+ color: #ccc;
+ }
+}
+
+.theme-oo-ui-outlineControlsWidget () {
+ height: 3em;
+ background-color: @background-color-main;
+
+ &-items,
+ &-movers {
+ height: 2em;
+ margin: 0.5em 0.5em 0.5em 0;
+ padding: 0;
+ }
+
+ > .oo-ui-iconElement-icon {
+ width: 1.5em;
+ height: 2em;
+ margin: 0.5em 0 0.5em 0.5em;
+ opacity: 0.2;
+ }
+}
+
+.theme-oo-ui-outlineOptionWidget () {
+ font-size: 1.1em;
+ padding: 0.75em;
+
+ .oo-ui-iconElement-icon {
+ // Undoes the parent change, because the theme's icons expect
to be
+ // 24px, and don't scale incredibly well.
+ font-size: 90.90909%;
+ }
+
+ &.oo-ui-indicatorElement {
+ .oo-ui-labelElement-label {
+ padding-right: 1.5em;
+ }
+
+ .oo-ui-indicatorElement-indicator {
+ opacity: 0.5;
+ }
+ }
+
+ &-level-0.oo-ui-iconElement {
+ padding-left: 2.5em;
+ }
+
+ &-level-1 {
+ padding-left: 2.5em;
+
+ &.oo-ui-iconElement {
+ padding-left: 4.5em;
+
+ .oo-ui-iconElement-icon {
+ left: 2.5em;
+ }
+ }
+ }
+
+ &-level-2 {
+ padding-left: 5em;
+
+ &.oo-ui-iconElement {
+ padding-left: 7em;
+
+ .oo-ui-iconElement-icon {
+ left: 5em;
+ }
+ }
+ }
+
+ .oo-ui-selectWidget-depressed &.oo-ui-optionWidget-selected {
+ background-color: #a7dcff;
+ text-shadow: 0 1px 1px rgba( 255, 255, 255, 0.5 );
+ }
+}
+
+.theme-oo-ui-outlineSelectWidget () {}
+
+.theme-oo-ui-popupWidget () {
+ &-popup {
+ background-color: @background-color-main;
+ border: 1px solid #ccc;
+ border-radius: 0.25em;
+ box-shadow: 0 0.15em 0.5em 0 rgba( 0, 0, 0, 0.2 );
+ }
+
+ &-anchored-top {
+ margin-top: @size-anchor;
+
+ .oo-ui-popupWidget-anchor {
+ top: -@size-anchor;
+
+ &:before {
+ bottom: -@size-anchor - 1px;
+ left: -@size-anchor;
+ border-bottom-color: #aaa;
+ border-width: @size-anchor + 1px;
+ }
+
+ &:after {
+ bottom: -@size-anchor - 1px;
+ left: -@size-anchor + 1px;
+ border-bottom-color: #fff;
+ border-width: @size-anchor;
+ }
+ }
+ }
+
+ &-anchored-bottom {
+ margin-bottom: @size-anchor;
+
+ .oo-ui-popupWidget-anchor {
+ bottom: -@size-anchor;
+
+ &:before {
+ top: -@size-anchor - 1px;
+ left: -@size-anchor;
+ border-top-color: #aaa;
+ border-width: @size-anchor + 1px;
+ }
+
+ &:after {
+ top: -@size-anchor - 1px;
+ left: -@size-anchor + 1px;
+ border-top-color: #fff;
+ border-width: @size-anchor;
+ }
+ }
+ }
+
+ &-anchored-start {
+ margin-left: @size-anchor;
+
+ .oo-ui-popupWidget-anchor {
+ left: -@size-anchor;
+
+ &:before {
+ right: -@size-anchor - 1px;
+ top: -@size-anchor;
+ border-right-color: #aaa;
+ border-width: @size-anchor + 1px;
+ }
+
+ &:after {
+ right: -@size-anchor - 1px;
+ top: -@size-anchor + 1px;
+ border-right-color: #fff;
+ border-width: @size-anchor;
+ }
+ }
+ }
+
+ &-anchored-end {
+ margin-right: @size-anchor;
+
+ .oo-ui-popupWidget-anchor {
+ right: -@size-anchor;
+
+ &:before {
+ left: -@size-anchor - 1px;
+ top: -@size-anchor;
+ border-left-color: #aaa;
+ border-width: @size-anchor + 1px;
+ }
+
+ &:after {
+ left: -@size-anchor - 1px;
+ top: -@size-anchor + 1px;
+ border-left-color: #fff;
+ border-width: @size-anchor;
+ }
+ }
+ }
+
+ &-transitioning .oo-ui-popupWidget-popup {
+ .oo-ui-transition(width @quick-ease, height @quick-ease, left
@quick-ease);
+ }
+
+ &-head {
+ height: 2.5em;
+
+ > .oo-ui-buttonWidget {
+ margin: 0.25em;
+ }
+
+ > .oo-ui-labelElement-label {
+ margin: 0.75em 1em;
+ }
+ }
+
+ &-body {
+ line-height: 1.4;
+ }
+
+ &-body-padded {
+ // Use 'margin' rather than 'padding' to allow the margin to
collapse with
+ // the margin of <p> elements etc. inside the popup
+ margin: 0.75em 1em;
+ }
+}
+
+.theme-oo-ui-popupButtonWidget () {
+ &-frameless-popup {
+ &.oo-ui-popupWidget-anchored-top,
+ &.oo-ui-popupWidget-anchored-bottom {
+ .oo-ui-popupWidget-anchor {
+ // Compensate for icon being inset
+ margin-left: @size-icon / 2;
+ }
+ }
+ }
+
+ &-framed-popup {
+ &.oo-ui-popupWidget-anchored-top,
+ &.oo-ui-popupWidget-anchored-bottom {
+ .oo-ui-popupWidget-anchor {
+ // Compensate for icon being inset
+ // Button has padding-left: 0.8em;, icon has
margin-left: -0.5em;
+ margin-left: @size-icon / 2 + 0.8em - 0.5em;
+ }
+ }
+ }
+}
+
+.theme-oo-ui-progressBarWidget () {
+ max-width: @max-width-input-default;
+ background-color: @background-color-main;
+ border: 1px solid #ccc;
+ border-radius: 0.25em;
+ overflow: hidden;
+
+ &-bar {
+ height: 1em;
+ border-right: 1px solid #ccc;
+ .oo-ui-transition(width @medium-ease);
+ .oo-ui-vertical-gradient(@progressive-gradient-start,
@progressive-gradient-end);
+ }
+ &-indeterminate {
+ .oo-ui-progressBarWidget-bar {
+ .oo-ui-animation(oo-ui-progressBarWidget-slide 2s
infinite linear);
+ width: 40%;
+ .oo-ui-transform( translate( -25% ) );
+ border-left: 1px solid @progressive-border;
+ }
+ }
+ &.oo-ui-widget-disabled {
+ opacity: 0.6;
+ }
+
+ .oo-ui-progressBarWidget-slide-frames () {
+ from {
+ .oo-ui-transform( translate( -100% ) );
+ }
+ to {
+ .oo-ui-transform( translate( 350% ) );
+ }
+ }
+ @-webkit-keyframes oo-ui-progressBarWidget-slide {
+ .oo-ui-progressBarWidget-slide-frames;
+ }
+ @-moz-keyframes oo-ui-progressBarWidget-slide {
+ .oo-ui-progressBarWidget-slide-frames;
+ }
+ @keyframes oo-ui-progressBarWidget-slide {
+ .oo-ui-progressBarWidget-slide-frames;
+ }
+}
+
+.theme-oo-ui-radioInputWidget () {}
+
+.theme-oo-ui-radioOptionWidget () {
+ padding: 0;
+ background-color: transparent;
+
+ &.oo-ui-optionWidget-selected,
+ &.oo-ui-optionWidget-pressed,
+ &.oo-ui-optionWidget-highlighted {
+ background-color: transparent;
+ }
+
+ &.oo-ui-labelElement .oo-ui-labelElement-label {
+ padding-left: 0.5em;
+ }
+
+ .oo-ui-radioInputWidget {
+ margin-right: 0;
+ }
+}
+
+.theme-oo-ui-radioSelectWidget () {}
+
+.theme-oo-ui-radioSelectInputWidget () {
+ .oo-ui-fieldLayout {
+ margin-bottom: 0;
+ }
+}
+
+.theme-oo-ui-searchWidget () {
+ &-query {
+ height: 4em;
+ padding: 0 1em;
+ box-shadow: 0 0 0.5em rgba( 0, 0, 0, 0.2 );
+
+ .oo-ui-textInputWidget {
+ margin: 0.75em 0;
+ }
+ }
+
+ &-results {
+ top: 4em;
+ padding: 1em;
+ line-height: 0;
+ }
+}
+
+.theme-oo-ui-selectWidget () {}
.theme-oo-ui-selectFileWidget () {
width: 100%;
@@ -305,66 +941,50 @@
}
}
-.theme-oo-ui-inputWidget () {
- .oo-ui-inline-spacing(0.5em);
-}
+.theme-oo-ui-tabOptionWidget () {
+ padding: 0.5em 1em;
+ margin: 0.5em 0 0 0.75em;
+ border: 1px solid transparent;
+ border-bottom: 0;
+ border-top-left-radius: 0.5em;
+ border-top-right-radius: 0.5em;
-.theme-oo-ui-buttonInputWidget () {}
-
-.theme-oo-ui-checkboxInputWidget () {}
-
-.theme-oo-ui-checkboxMultiselectInputWidget () {
- .oo-ui-fieldLayout {
- margin-bottom: 0;
- }
-}
-
-.theme-oo-ui-dropdownInputWidget () {
- width: 100%;
- max-width: @max-width-input-default;
-
- select {
- background-color: @background-color-main;
- height: 2.5em;
- padding: 0.5em;
- font-size: inherit;
- font-family: inherit;
- border: 1px solid rgba( 0, 0, 0, 0.1 );
- border-radius: 0.25em;
+ &.oo-ui-indicatorElement .oo-ui-labelElement-label {
+ padding-right: 1.5em;
}
- option {
- font-size: inherit;
- font-family: inherit;
- height: 1.5em;
- padding: 0.5em 1em;
+ &.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator {
+ opacity: 0.5;
+ }
+
+ .oo-ui-selectWidget-pressed &.oo-ui-optionWidget-pressed {
+ background-color: transparent;
}
&.oo-ui-widget-enabled {
- select:hover,
- select:focus {
- border-color: rgba( 0, 0, 0, 0.2 );
- outline: 0;
-
- }
- }
-
- &.oo-ui-widget-disabled {
- select {
- color: #ccc;
+ &:hover {
+ background-color: rgba( 255, 255, 255, 0.2 );
border-color: #ddd;
- background-color: #f3f3f3;
+ }
+
+ &:active {
+ background-color: @background-color-main;
+ border-color: #ddd;
}
}
-}
-.theme-oo-ui-radioSelectInputWidget () {
- .oo-ui-fieldLayout {
- margin-bottom: 0;
+ .oo-ui-selectWidget-pressed &.oo-ui-optionWidget-selected,
+ .oo-ui-selectWidget-depressed &.oo-ui-optionWidget-selected,
+ &.oo-ui-optionWidget-selected:hover {
+ background-color: @background-color-main;
+ border-color: #ddd;
}
}
-.theme-oo-ui-radioInputWidget () {}
+.theme-oo-ui-tabSelectWidget () {
+ background-color: #eee;
+ box-shadow: inset 0 -0.015em 0.1em rgba( 0, 0, 0, 0.1 );
+}
.theme-oo-ui-textInputWidget () {
width: 100%;
@@ -473,560 +1093,10 @@
}
}
-.theme-oo-ui-comboBoxInputWidget () {
- width: 100%;
- max-width: @max-width-input-default;
- .oo-ui-inline-spacing( 0.5em );
+.theme-oo-ui-toggleWidget () {}
- &-dropdownButton {
- position: absolute;
- top: 0;
- right: 0;
- visibility: hidden;
-
- .oo-ui-buttonElement-button {
- padding: 0;
-
- .oo-ui-indicatorElement-indicator.oo-ui-indicator-down {
- visibility: visible;
- margin: 0.775em;
- }
- }
- }
-
- &.oo-ui-widget-disabled {
- .oo-ui-textInputWidget.oo-ui-indicatorElement {
- .oo-ui-indicatorElement-indicator {
- cursor: default;
- opacity: 0.2;
- }
- }
- }
-}
-
-.theme-oo-ui-capsuleMultiselectWidget () {
- width: 100%;
- max-width: @max-width-input-default;
-
- &-handle {
- background-color: @background-color-main;
- cursor: text;
- min-height: 2.4em;
-
- .oo-ui-inline-spacing(0.5em);
-
- padding: 0.15em 0.25em;
- border: 1px solid rgba( 0, 0, 0, 0.1 );
- border-radius: 0.25em;
-
- .oo-ui-box-sizing(border-box);
-
- > .oo-ui-capsuleMultiselectWidget-content {
- > input {
- border: 0;
- line-height: 1.675em;
- margin: 0;
- margin-left: 0.2em;
- padding: 0;
- font-size: inherit;
- font-family: inherit;
- background-color: transparent;
- color: #000;
- vertical-align: middle;
-
- .apex-placeholder();
-
- &:focus {
- // For Chrome
- outline: 0;
- }
- }
- }
- }
-
- &.oo-ui-iconElement &-handle {
- padding-left: @size-icon + 2 * 0.3em;
-
- > .oo-ui-iconElement-icon {
- left: 0;
- margin: 0 0.3em;
- }
- }
-
- &.oo-ui-indicatorElement &-handle {
- padding-right: @size-indicator + 2 * 0.775em;
-
- > .oo-ui-indicatorElement-indicator {
- right: 0;
- margin: 0 0.775em;
- }
- }
-
- &:hover &-handle {
- border-color: rgba( 0, 0, 0, 0.2 );
- }
-
- &.oo-ui-widget-disabled &-handle {
- color: #ccc;
- text-shadow: 0 1px 1px #fff;
- border-color: #ddd;
- background-color: #f3f3f3;
- cursor: default;
-
- > .oo-ui-iconElement-icon,
- > .oo-ui-indicatorElement-indicator {
- opacity: 0.2;
- }
- }
-
- &-popup {
- > .oo-ui-popupWidget-popup {
- border: 0;
- }
- }
-}
-
-.theme-oo-ui-capsuleItemWidget () {
- width: auto;
- max-width: 100%;
- .oo-ui-box-sizing(border-box);
- vertical-align: middle;
- padding: 0 0.4em;
- margin: 0.1em;
- height: 1.7em;
- line-height: 1.7em;
- .oo-ui-vertical-gradient(#fff, #ddd);
- border: 1px solid #ccc;
- color: #555;
- border-radius: 0.25em;
-
- &:focus {
- outline: 0;
-
- border-color: @progressive;
- }
-
- &.oo-ui-widget-disabled {
- opacity: 0.5;
- // Opacity causes 1px measurement errors in Chrome, so force
GPU rendering
- .oo-ui-force-gpu-composite-layer();
- box-shadow: none;
- color: #333;
- background: #eee;
- border-color: #ccc;
- }
-
- > .oo-ui-buttonElement {
- margin-top: -1.25em;
- padding-left: 0.3em;
- }
-}
-
-.theme-oo-ui-labelWidget () {
- padding: 0.5em 0;
-}
-
-.theme-oo-ui-optionWidget () {
- padding: 0.25em 0.5em;
- border: 0;
-
- &-highlighted {
- background-color: #e1f3ff;
- }
-
- .oo-ui-labelElement-label {
- line-height: 1.5em;
- }
-
- .oo-ui-selectWidget-depressed &-selected {
- background-color: #a7dcff;
- }
-
- .oo-ui-selectWidget-pressed &-pressed,
- .oo-ui-selectWidget-pressed &-pressed&-highlighted,
- .oo-ui-selectWidget-pressed &-pressed&-highlighted&-selected {
- background-color: #a7dcff;
- }
-
- &.oo-ui-widget-disabled {
- color: #ccc;
- }
-}
-
-.theme-oo-ui-decoratedOptionWidget () {
- padding: 0.5em 2em 0.5em 3em;
-
- &.oo-ui-iconElement .oo-ui-iconElement-icon,
- &.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator {
- top: 0;
- height: 100%;
- }
-
- &.oo-ui-iconElement .oo-ui-iconElement-icon {
- left: 0.5em;
- }
-
- &.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator {
- right: 0.5em;
- }
-
- &.oo-ui-widget-disabled {
- .oo-ui-iconElement-icon,
- .oo-ui-indicatorElement-indicator {
- opacity: 0.2;
- }
- }
-}
-
-.theme-oo-ui-buttonOptionWidget () {
- padding: 0;
- background-color: transparent;
-
- &.oo-ui-optionWidget-selected,
- &.oo-ui-optionWidget-pressed,
- &.oo-ui-optionWidget-highlighted {
- background-color: transparent;
- }
-}
-
-.theme-oo-ui-radioOptionWidget () {
- padding: 0;
- background-color: transparent;
-
- &.oo-ui-optionWidget-selected,
- &.oo-ui-optionWidget-pressed,
- &.oo-ui-optionWidget-highlighted {
- background-color: transparent;
- }
-
- &.oo-ui-labelElement .oo-ui-labelElement-label {
- padding-left: 0.5em;
- }
-
- .oo-ui-radioInputWidget {
- margin-right: 0;
- }
-}
-
-.theme-oo-ui-menuOptionWidget () {
- &.oo-ui-optionWidget {
- &-selected {
- background-color: transparent;
- }
- &-highlighted,
- &-highlighted.oo-ui-optionWidget-selected {
- background-color: #e1f3ff;
- }
- }
-}
-
-.theme-oo-ui-menuSectionOptionWidget () {
- padding: 0.33em 0.75em;
- color: #888;
-}
-
-.theme-oo-ui-outlineOptionWidget () {
- font-size: 1.1em;
- padding: 0.75em;
-
- .oo-ui-iconElement-icon {
- // Undoes the parent change, because the theme's icons expect
to be
- // 24px, and don't scale incredibly well.
- font-size: 90.90909%;
- }
-
- &.oo-ui-indicatorElement {
- .oo-ui-labelElement-label {
- padding-right: 1.5em;
- }
-
- .oo-ui-indicatorElement-indicator {
- opacity: 0.5;
- }
- }
-
- &-level-0.oo-ui-iconElement {
- padding-left: 2.5em;
- }
-
- &-level-1 {
- padding-left: 2.5em;
-
- &.oo-ui-iconElement {
- padding-left: 4.5em;
-
- .oo-ui-iconElement-icon {
- left: 2.5em;
- }
- }
- }
-
- &-level-2 {
- padding-left: 5em;
-
- &.oo-ui-iconElement {
- padding-left: 7em;
-
- .oo-ui-iconElement-icon {
- left: 5em;
- }
- }
- }
-
- .oo-ui-selectWidget-depressed &.oo-ui-optionWidget-selected {
- background-color: #a7dcff;
- text-shadow: 0 1px 1px rgba( 255, 255, 255, 0.5 );
- }
-}
-
-.theme-oo-ui-tabOptionWidget () {
- padding: 0.5em 1em;
- margin: 0.5em 0 0 0.75em;
- border: 1px solid transparent;
- border-bottom: 0;
- border-top-left-radius: 0.5em;
- border-top-right-radius: 0.5em;
-
- &.oo-ui-indicatorElement .oo-ui-labelElement-label {
- padding-right: 1.5em;
- }
-
- &.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator {
- opacity: 0.5;
- }
-
- .oo-ui-selectWidget-pressed &.oo-ui-optionWidget-pressed {
- background-color: transparent;
- }
-
- &.oo-ui-widget-enabled {
- &:hover {
- background-color: rgba( 255, 255, 255, 0.2 );
- border-color: #ddd;
- }
-
- &:active {
- background-color: @background-color-main;
- border-color: #ddd;
- }
- }
-
- .oo-ui-selectWidget-pressed &.oo-ui-optionWidget-selected,
- .oo-ui-selectWidget-depressed &.oo-ui-optionWidget-selected,
- &.oo-ui-optionWidget-selected:hover {
- background-color: @background-color-main;
- border-color: #ddd;
- }
-}
-
-.theme-oo-ui-popupWidget () {
- &-popup {
- background-color: @background-color-main;
- border: 1px solid #ccc;
- border-radius: 0.25em;
- box-shadow: 0 0.15em 0.5em 0 rgba( 0, 0, 0, 0.2 );
- }
-
- &-anchored-top {
- margin-top: @size-anchor;
-
- .oo-ui-popupWidget-anchor {
- top: -@size-anchor;
-
- &:before {
- bottom: -@size-anchor - 1px;
- left: -@size-anchor;
- border-bottom-color: #aaa;
- border-width: @size-anchor + 1px;
- }
-
- &:after {
- bottom: -@size-anchor - 1px;
- left: -@size-anchor + 1px;
- border-bottom-color: #fff;
- border-width: @size-anchor;
- }
- }
- }
-
- &-anchored-bottom {
- margin-bottom: @size-anchor;
-
- .oo-ui-popupWidget-anchor {
- bottom: -@size-anchor;
-
- &:before {
- top: -@size-anchor - 1px;
- left: -@size-anchor;
- border-top-color: #aaa;
- border-width: @size-anchor + 1px;
- }
-
- &:after {
- top: -@size-anchor - 1px;
- left: -@size-anchor + 1px;
- border-top-color: #fff;
- border-width: @size-anchor;
- }
- }
- }
-
- &-anchored-start {
- margin-left: @size-anchor;
-
- .oo-ui-popupWidget-anchor {
- left: -@size-anchor;
-
- &:before {
- right: -@size-anchor - 1px;
- top: -@size-anchor;
- border-right-color: #aaa;
- border-width: @size-anchor + 1px;
- }
-
- &:after {
- right: -@size-anchor - 1px;
- top: -@size-anchor + 1px;
- border-right-color: #fff;
- border-width: @size-anchor;
- }
- }
- }
-
- &-anchored-end {
- margin-right: @size-anchor;
-
- .oo-ui-popupWidget-anchor {
- right: -@size-anchor;
-
- &:before {
- left: -@size-anchor - 1px;
- top: -@size-anchor;
- border-left-color: #aaa;
- border-width: @size-anchor + 1px;
- }
-
- &:after {
- left: -@size-anchor - 1px;
- top: -@size-anchor + 1px;
- border-left-color: #fff;
- border-width: @size-anchor;
- }
- }
- }
-
- &-transitioning .oo-ui-popupWidget-popup {
- .oo-ui-transition(width @quick-ease, height @quick-ease, left
@quick-ease);
- }
-
- &-head {
- height: 2.5em;
-
- > .oo-ui-buttonWidget {
- margin: 0.25em;
- }
-
- > .oo-ui-labelElement-label {
- margin: 0.75em 1em;
- }
- }
-
- &-body {
- line-height: 1.4;
- }
-
- &-body-padded {
- // Use 'margin' rather than 'padding' to allow the margin to
collapse with
- // the margin of <p> elements etc. inside the popup
- margin: 0.75em 1em;
- }
-}
-
-.theme-oo-ui-searchWidget () {
- &-query {
- height: 4em;
- padding: 0 1em;
- box-shadow: 0 0 0.5em rgba( 0, 0, 0, 0.2 );
-
- .oo-ui-textInputWidget {
- margin: 0.75em 0;
- }
- }
-
- &-results {
- top: 4em;
- padding: 1em;
- line-height: 0;
- }
-}
-
-.theme-oo-ui-selectWidget () {}
-
-.theme-oo-ui-buttonSelectWidget () {
- border-radius: 0.3em;
-
+.theme-oo-ui-toggleButtonWidget () {
.oo-ui-inline-spacing(0.5em);
-
- .oo-ui-buttonOptionWidget {
- .oo-ui-buttonElement-button {
- border-radius: 0;
- margin-left: -1px;
- }
-
- &:first-child .oo-ui-buttonElement-button {
- border-bottom-left-radius: 0.3em;
- border-top-left-radius: 0.3em;
- margin-left: 0;
- }
-
- &:last-child .oo-ui-buttonElement-button {
- border-bottom-right-radius: 0.3em;
- border-top-right-radius: 0.3em;
- }
- }
-}
-
-.theme-oo-ui-radioSelectWidget () {}
-
-.theme-oo-ui-menuSelectWidget () {
- background-color: @background-color-main;
- margin-top: -1px;
- border: 1px solid #ccc;
- border-radius: 0 0 0.25em 0.25em;
- box-shadow: 0 0.15em 1em 0 rgba( 0, 0, 0, 0.2 );
-}
-
-.theme-oo-ui-floatingMenuSelectWidget () {}
-
-.theme-oo-ui-outlineSelectWidget () {}
-
-.theme-oo-ui-tabSelectWidget () {
- background-color: #eee;
- box-shadow: inset 0 -0.015em 0.1em rgba( 0, 0, 0, 0.1 );
-}
-
-.theme-oo-ui-numberInputWidget () {
- max-width: @max-width-input-default;
-
- &-field > .oo-ui-buttonWidget {
- width: 2.25em;
- }
-
- &-minusButton.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- border-right-width: 0;
- }
-
- &-plusButton.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
- border-left-width: 0;
- }
-
- &-buttoned .oo-ui-textInputWidget input {
- border-radius: 0;
- }
}
.theme-oo-ui-toggleSwitchWidget () {
@@ -1095,76 +1165,6 @@
left: @travelDistance + 0.25em;
margin-left: -2px;
}
- }
-}
-
-.theme-oo-ui-progressBarWidget () {
- max-width: @max-width-input-default;
- background-color: @background-color-main;
- border: 1px solid #ccc;
- border-radius: 0.25em;
- overflow: hidden;
-
- &-bar {
- height: 1em;
- border-right: 1px solid #ccc;
- .oo-ui-transition(width @medium-ease);
- .oo-ui-vertical-gradient(@progressive-gradient-start,
@progressive-gradient-end);
- }
- &-indeterminate {
- .oo-ui-progressBarWidget-bar {
- .oo-ui-animation(oo-ui-progressBarWidget-slide 2s
infinite linear);
- width: 40%;
- .oo-ui-transform( translate( -25% ) );
- border-left: 1px solid @progressive-border;
- }
- }
- &.oo-ui-widget-disabled {
- opacity: 0.6;
- }
-
- .oo-ui-progressBarWidget-slide-frames () {
- from {
- .oo-ui-transform( translate( -100% ) );
- }
- to {
- .oo-ui-transform( translate( 350% ) );
- }
- }
- @-webkit-keyframes oo-ui-progressBarWidget-slide {
- .oo-ui-progressBarWidget-slide-frames;
- }
- @-moz-keyframes oo-ui-progressBarWidget-slide {
- .oo-ui-progressBarWidget-slide-frames;
- }
- @keyframes oo-ui-progressBarWidget-slide {
- .oo-ui-progressBarWidget-slide-frames;
- }
-}
-
-.theme-oo-ui-multiselectWidget () {}
-
-.theme-oo-ui-multioptionWidget () {
- .oo-ui-labelElement-label {
- line-height: 1.5em;
- }
-
- &.oo-ui-widget-disabled {
- color: #ccc;
- }
-}
-
-.theme-oo-ui-checkboxMultiselectWidget () {}
-
-.theme-oo-ui-checkboxMultioptionWidget () {
- padding: 0;
-
- &.oo-ui-labelElement .oo-ui-labelElement-label {
- padding-left: 0.5em;
- }
-
- .oo-ui-checkboxInputWidget {
- margin-right: 0;
}
}
diff --git a/src/themes/blank/elements.less b/src/themes/blank/elements.less
index 0ee10db..5d5a5b5 100644
--- a/src/themes/blank/elements.less
+++ b/src/themes/blank/elements.less
@@ -6,15 +6,15 @@
.theme-oo-ui-clippableElement () {}
-.theme-oo-ui-floatableElement () {}
-
.theme-oo-ui-draggableElement () {}
+
+.theme-oo-ui-draggableGroupElement () {}
.theme-oo-ui-flaggedElement () {}
-.theme-oo-ui-groupElement () {}
+.theme-oo-ui-floatableElement () {}
-.theme-oo-ui-draggableGroupElement () {}
+.theme-oo-ui-groupElement () {}
.theme-oo-ui-iconElement () {}
@@ -24,10 +24,10 @@
.theme-oo-ui-lookupElement () {}
+.theme-oo-ui-pendingElement () {}
+
.theme-oo-ui-popupElement () {}
.theme-oo-ui-tabIndexedElement () {}
.theme-oo-ui-titledElement () {}
-
-.theme-oo-ui-pendingElement () {}
diff --git a/src/themes/blank/tools.less b/src/themes/blank/tools.less
index 923b0ad..aaaf5ac 100644
--- a/src/themes/blank/tools.less
+++ b/src/themes/blank/tools.less
@@ -12,9 +12,8 @@
.theme-oo-ui-barToolGroup () {}
-.theme-oo-ui-popupToolGroup () {}
-
.theme-oo-ui-listToolGroup () {}
.theme-oo-ui-menuToolGroup () {}
+.theme-oo-ui-popupToolGroup () {}
diff --git a/src/themes/blank/widgets.less b/src/themes/blank/widgets.less
index 5c10ca1..882261e 100644
--- a/src/themes/blank/widgets.less
+++ b/src/themes/blank/widgets.less
@@ -2,96 +2,96 @@
.theme-oo-ui-widget () {}
-.theme-oo-ui-outlineControlsWidget () {}
-
-.theme-oo-ui-toggleWidget () {}
-
-.theme-oo-ui-buttonGroupWidget () {}
+.theme-oo-ui-actionWidget () {}
.theme-oo-ui-buttonWidget () {}
-.theme-oo-ui-actionWidget () {}
+.theme-oo-ui-buttonGroupWidget () {}
-.theme-oo-ui-popupButtonWidget () {}
+.theme-oo-ui-buttonInputWidget () {}
-.theme-oo-ui-toggleButtonWidget () {}
+.theme-oo-ui-buttonOptionWidget () {}
+
+.theme-oo-ui-buttonSelectWidget () {}
+
+.theme-oo-ui-capsuleItemWidget () {}
+
+.theme-oo-ui-capsuleMultiselectWidget () {}
+
+.theme-oo-ui-checkboxInputWidget () {}
+
+.theme-oo-ui-checkboxMultioptionWidget () {}
+
+.theme-oo-ui-checkboxMultiselectWidget () {}
+
+.theme-oo-ui-checkboxMultiselectInputWidget () {}
+
+.theme-oo-ui-comboBoxInputWidget () {}
+
+.theme-oo-ui-decoratedOptionWidget () {}
+
+.theme-oo-ui-dropdownWidget () {}
+
+.theme-oo-ui-dropdownInputWidget () {}
+
+.theme-oo-ui-floatingMenuSelectWidget () {}
.theme-oo-ui-iconWidget () {}
.theme-oo-ui-indicatorWidget () {}
-.theme-oo-ui-dropdownWidget () {}
-
-.theme-oo-ui-selectFileWidget () {}
-
.theme-oo-ui-inputWidget () {}
-.theme-oo-ui-buttonInputWidget () {}
-
-.theme-oo-ui-checkboxInputWidget () {}
-
-.theme-oo-ui-checkboxMultiselectInputWidget () {}
-
-.theme-oo-ui-dropdownInputWidget () {}
-
-.theme-oo-ui-radioInputWidget () {}
-
-.theme-oo-ui-radioSelectInputWidget () {}
-
-.theme-oo-ui-textInputWidget () {}
-
-.theme-oo-ui-comboBoxInputWidget () {}
-
-.theme-oo-ui-capsuleMultiselectWidget () {}
-
-.theme-oo-ui-capsuleItemWidget () {}
-
.theme-oo-ui-labelWidget () {}
-
-.theme-oo-ui-optionWidget () {}
-
-.theme-oo-ui-decoratedOptionWidget () {}
-
-.theme-oo-ui-buttonOptionWidget () {}
-
-.theme-oo-ui-radioOptionWidget () {}
.theme-oo-ui-menuOptionWidget () {}
.theme-oo-ui-menuSectionOptionWidget () {}
+.theme-oo-ui-menuSelectWidget () {}
+
+.theme-oo-ui-multioptionWidget () {}
+
+.theme-oo-ui-multiselectWidget () {}
+
+.theme-oo-ui-numberInputWidget () {}
+
+.theme-oo-ui-optionWidget () {}
+
+.theme-oo-ui-outlineControlsWidget () {}
+
.theme-oo-ui-outlineOptionWidget () {}
-.theme-oo-ui-tabOptionWidget () {}
+.theme-oo-ui-outlineSelectWidget () {}
.theme-oo-ui-popupWidget () {}
+
+.theme-oo-ui-popupButtonWidget () {}
+
+.theme-oo-ui-progressBarWidget () {}
+
+.theme-oo-ui-radioInputWidget () {}
+
+.theme-oo-ui-radioOptionWidget () {}
+
+.theme-oo-ui-radioSelectWidget () {}
+
+.theme-oo-ui-radioSelectInputWidget () {}
.theme-oo-ui-searchWidget () {}
.theme-oo-ui-selectWidget () {}
-.theme-oo-ui-buttonSelectWidget () {}
+.theme-oo-ui-selectFileWidget () {}
-.theme-oo-ui-radioSelectWidget () {}
-
-.theme-oo-ui-menuSelectWidget () {}
-
-.theme-oo-ui-floatingMenuSelectWidget () {}
-
-.theme-oo-ui-outlineSelectWidget () {}
+.theme-oo-ui-tabOptionWidget () {}
.theme-oo-ui-tabSelectWidget () {}
-.theme-oo-ui-numberInputWidget () {}
+.theme-oo-ui-textInputWidget () {}
+
+.theme-oo-ui-toggleWidget () {}
+
+.theme-oo-ui-toggleButtonWidget () {}
.theme-oo-ui-toggleSwitchWidget () {}
-
-.theme-oo-ui-progressBarWidget () {}
-
-.theme-oo-ui-multiselectWidget () {}
-
-.theme-oo-ui-multioptionWidget () {}
-
-.theme-oo-ui-checkboxMultiselectWidget () {}
-
-.theme-oo-ui-checkboxMultioptionWidget () {}
diff --git a/src/themes/mediawiki/elements.less
b/src/themes/mediawiki/elements.less
index 6785e5b..26d2a0d 100644
--- a/src/themes/mediawiki/elements.less
+++ b/src/themes/mediawiki/elements.less
@@ -387,10 +387,6 @@
.theme-oo-ui-clippableElement () {}
-.theme-oo-ui-floatableElement () {}
-
-.theme-oo-ui-flaggedElement () {}
-
.theme-oo-ui-draggableElement () {
&-handle:focus {
border-radius: @border-radius-default;
@@ -399,9 +395,13 @@
}
}
-.theme-oo-ui-groupElement () {}
-
.theme-oo-ui-draggableGroupElement () {}
+
+.theme-oo-ui-flaggedElement () {}
+
+.theme-oo-ui-floatableElement () {}
+
+.theme-oo-ui-groupElement () {}
.theme-oo-ui-iconElement () {}
@@ -415,14 +415,14 @@
.theme-oo-ui-lookupElement () {}
-.theme-oo-ui-popupElement () {}
-
-.theme-oo-ui-tabIndexedElement () {}
-
-.theme-oo-ui-titledElement () {}
-
.theme-oo-ui-pendingElement () {
&-pending {
.oo-ui-background-image(
'@{oo-ui-default-image-path}/textures/pending.gif' );
}
}
+
+.theme-oo-ui-popupElement () {}
+
+.theme-oo-ui-tabIndexedElement () {}
+
+.theme-oo-ui-titledElement () {}
diff --git a/src/themes/mediawiki/tools.less b/src/themes/mediawiki/tools.less
index df0aaf2..2b5a834 100644
--- a/src/themes/mediawiki/tools.less
+++ b/src/themes/mediawiki/tools.less
@@ -156,6 +156,95 @@
}
}
+.theme-oo-ui-listToolGroup () {
+ .oo-ui-tool {
+ &.oo-ui-widget-enabled {
+ &:hover {
+ background-color: @background-color-tool-hover;
+
+ .oo-ui-tool-link .oo-ui-iconElement-icon {
+ opacity: 0.9;
+ }
+ }
+ }
+
+ &-active {
+ &.oo-ui-widget-enabled {
+ background-color: @background-color-tool-active;
+
+ &:first-child {
+ box-shadow: inset 0 0.07em 0.07em 0
rgba( 0, 0, 0, 0.07 );
+ }
+
+ &:hover {
+ background-color:
@background-color-tool-active-hover;
+ }
+
+ .oo-ui-tool-link .oo-ui-tool-title {
+ color: @color-tool-active;
+ }
+ }
+ }
+ }
+
+ &.oo-ui-widget-disabled,
+ .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-title {
+ color: @color-disabled;
+ }
+
+ &.oo-ui-widget-disabled .oo-ui-indicatorElement-indicator,
+ &.oo-ui-widget-disabled .oo-ui-iconElement-icon,
+ .oo-ui-tool.oo-ui-widget-disabled .oo-ui-iconElement-icon {
+ opacity: @opacity-disabled-tool;
+ }
+}
+
+.theme-oo-ui-menuToolGroup () {
+ .oo-ui-popupToolGroup-handle {
+ min-width: 10em;
+
+ .oo-ui-toolbar-narrow & {
+ min-width: 8.125em;
+ }
+ }
+
+ .oo-ui-tool {
+ &-link {
+ .oo-ui-iconElement-icon {
+ background-image: none;
+ }
+ }
+
+ &-active .oo-ui-tool-link .oo-ui-iconElement-icon {
+ .oo-ui-background-image-svg(
'@{oo-ui-default-image-path}/icons/check-progressive' );
+ background-size: contain;
+ background-position: center center;
+ background-repeat: no-repeat;
+ }
+
+ &.oo-ui-widget-enabled {
+ &:hover {
+ background-color:
@background-color-tool-active-hover;
+ }
+ }
+
+ &-name-menuTool.oo-ui-tool-active {
+ background-color: @background-color-tool-active;
+ }
+ }
+
+ &.oo-ui-widget-disabled,
+ .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-title {
+ color: @color-disabled;
+ }
+
+ &.oo-ui-widget-disabled .oo-ui-indicatorElement-indicator,
+ &.oo-ui-widget-disabled .oo-ui-iconElement-icon,
+ .oo-ui-tool.oo-ui-widget-disabled .oo-ui-iconElement-icon {
+ opacity: @opacity-disabled-tool;
+ }
+}
+
.theme-oo-ui-popupToolGroup () {
height: 3.125em;
min-width: 2em;
@@ -303,94 +392,5 @@
background-color: @background-color-tool-active;
}
}
- }
-}
-
-.theme-oo-ui-listToolGroup () {
- .oo-ui-tool {
- &.oo-ui-widget-enabled {
- &:hover {
- background-color: @background-color-tool-hover;
-
- .oo-ui-tool-link .oo-ui-iconElement-icon {
- opacity: 0.9;
- }
- }
- }
-
- &-active {
- &.oo-ui-widget-enabled {
- background-color: @background-color-tool-active;
-
- &:first-child {
- box-shadow: inset 0 0.07em 0.07em 0
rgba( 0, 0, 0, 0.07 );
- }
-
- &:hover {
- background-color:
@background-color-tool-active-hover;
- }
-
- .oo-ui-tool-link .oo-ui-tool-title {
- color: @color-tool-active;
- }
- }
- }
- }
-
- &.oo-ui-widget-disabled,
- .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-title {
- color: @color-disabled;
- }
-
- &.oo-ui-widget-disabled .oo-ui-indicatorElement-indicator,
- &.oo-ui-widget-disabled .oo-ui-iconElement-icon,
- .oo-ui-tool.oo-ui-widget-disabled .oo-ui-iconElement-icon {
- opacity: @opacity-disabled-tool;
- }
-}
-
-.theme-oo-ui-menuToolGroup () {
- .oo-ui-popupToolGroup-handle {
- min-width: 10em;
-
- .oo-ui-toolbar-narrow & {
- min-width: 8.125em;
- }
- }
-
- .oo-ui-tool {
- &-link {
- .oo-ui-iconElement-icon {
- background-image: none;
- }
- }
-
- &-active .oo-ui-tool-link .oo-ui-iconElement-icon {
- .oo-ui-background-image-svg(
'@{oo-ui-default-image-path}/icons/check-progressive' );
- background-size: contain;
- background-position: center center;
- background-repeat: no-repeat;
- }
-
- &.oo-ui-widget-enabled {
- &:hover {
- background-color:
@background-color-tool-active-hover;
- }
- }
-
- &-name-menuTool.oo-ui-tool-active {
- background-color: @background-color-tool-active;
- }
- }
-
- &.oo-ui-widget-disabled,
- .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-title {
- color: @color-disabled;
- }
-
- &.oo-ui-widget-disabled .oo-ui-indicatorElement-indicator,
- &.oo-ui-widget-disabled .oo-ui-iconElement-icon,
- .oo-ui-tool.oo-ui-widget-disabled .oo-ui-iconElement-icon {
- opacity: @opacity-disabled-tool;
}
}
diff --git a/src/themes/mediawiki/widgets.less
b/src/themes/mediawiki/widgets.less
index b1a14fc..83d3f89 100644
--- a/src/themes/mediawiki/widgets.less
+++ b/src/themes/mediawiki/widgets.less
@@ -2,26 +2,11 @@
.theme-oo-ui-widget () {}
-.theme-oo-ui-outlineControlsWidget () {
- height: 3em;
- background-color: @background-color-default;
+.theme-oo-ui-actionWidget () {}
- &-items,
- &-movers {
- height: 2em;
- margin: 0.5em 0.5em 0.5em 0;
- padding: 0;
- }
-
- > .oo-ui-iconElement-icon {
- width: 1.5em;
- height: 2em;
- margin: 0.5em 0 0.5em 0.5em;
- opacity: 0.2;
- }
+.theme-oo-ui-buttonWidget () {
+ .oo-ui-inline-spacing( 0.5em );
}
-
-.theme-oo-ui-toggleWidget () {}
.theme-oo-ui-buttonGroupWidget () {
display: inline-block;
@@ -78,54 +63,455 @@
}
}
-.theme-oo-ui-buttonWidget () {
- .oo-ui-inline-spacing( 0.5em );
+.theme-oo-ui-buttonInputWidget () {}
+
+.theme-oo-ui-buttonOptionWidget () {
+ padding: 0;
+
+ &.oo-ui-optionWidget-selected,
+ &.oo-ui-optionWidget-pressed,
+ &.oo-ui-optionWidget-highlighted {
+ background-color: transparent;
+ }
}
-.theme-oo-ui-actionWidget () {}
+.theme-oo-ui-buttonSelectWidget () {
+ border-radius: @border-radius-default;
+ .oo-ui-inline-spacing( 0.5em );
+ // Create a stacking context, so that we can use `z-index` below
without leaking out
+ z-index: 0;
+ position: relative;
-.theme-oo-ui-popupButtonWidget () {
- &-frameless-popup {
- &.oo-ui-popupWidget-anchored-top,
- &.oo-ui-popupWidget-anchored-bottom {
- .oo-ui-popupWidget-anchor {
- // Compensate for icon being inset
- margin-left: @size-icon / 2;
- }
- }
+ &:focus {
+ outline: 0;
}
- &-framed-popup {
- &.oo-ui-popupWidget-anchored-top,
- &.oo-ui-popupWidget-anchored-bottom {
- .oo-ui-popupWidget-anchor {
- // Compensate for icon being inset
- // elements.less positions the icon with left:
1.5em - @size-icon / 2; , so we need:
- // @size-icon / 2 + ( 1.5em - @size-icon / 2 )
which is 1.5em.
- margin-left: 1.5em;
+ .oo-ui-buttonOptionWidget {
+ .oo-ui-buttonElement-button {
+ border-radius: 0;
+ margin-left: -1px;
+ }
+
+ &:first-child .oo-ui-buttonElement-button {
+ border-bottom-left-radius: @border-radius-default;
+ border-top-left-radius: @border-radius-default;
+ margin-left: 0;
+ }
+
+ &:last-child .oo-ui-buttonElement-button {
+ border-bottom-right-radius: @border-radius-default;
+ border-top-right-radius: @border-radius-default;
+ }
+
+ }
+
+ &.oo-ui-widget-enabled {
+ &:focus {
+ .oo-ui-buttonOptionWidget.oo-ui-optionWidget-selected {
+ .oo-ui-buttonElement-button {
+ border-color:
@border-color-default-focus;
+ box-shadow:
@box-shadow-progressive-focus;
+ }
+ }
+ }
+
+ // Give hovered/focussed/active buttons higher `z-index`, so
that borders display right.
+ // Identical to .theme-oo-ui-buttonGroupWidget, except we don't
need `:focus` selector.
+ .oo-ui-buttonElement {
+ &.oo-ui-widget-enabled >
.oo-ui-buttonElement-button:hover,
+ &.oo-ui-widget-enabled >
.oo-ui-buttonElement-button:active {
+ z-index: 1;
+ }
+
+ &.oo-ui-buttonElement-active >
.oo-ui-buttonElement-button {
+ z-index: 3;
+ }
+
+ &.oo-ui-widget-disabled > .oo-ui-buttonElement-button {
+ z-index: -1;
}
}
}
}
-.theme-oo-ui-toggleButtonWidget () {
- .oo-ui-inline-spacing( 0.5em );
-}
+.theme-oo-ui-capsuleItemWidget () {
+ .oo-ui-box-sizing( border-box );
+ width: auto;
+ max-width: 100%;
+ height: 1.7em;
+ margin: 0.1em;
+ border: @border-default;
+ border-radius: @border-radius-default;
+ padding: 0 0.4em;
+ line-height: 1.7;
+ vertical-align: middle;
-.theme-oo-ui-iconWidget () {
- line-height: 2.5;
+ &.oo-ui-widget-enabled {
+ background-color: @background-color-framed;
+ color: @color-default;
+ padding-right: @size-indicator + 0.6em;
+ .oo-ui-transition(
+ background-color @transition-ease-quick,
+ color @transition-ease-quick,
+ border-color @transition-ease-quick,
+ box-shadow @transition-ease-quick
+ );
+
+ &:hover {
+ background-color: @background-color-framed-hover;
+ color: @color-default-hover;
+ border-color: @border-color-default-hover;
+ }
+
+ &:focus {
+ border-color: @border-color-default-focus;
+ box-shadow: @box-shadow-widget-focus;
+ outline: 0;
+ }
+
+ // Clear button
+ > .oo-ui-buttonElement {
+ display: block;
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ }
+ & .oo-ui-buttonElement-button {
+ display: block;
+ width: @size-indicator + 0.6em; // equals to `padding`
on each side of the indicator
+ height: 100%; // Firefox height calculation fix
+
+ & .oo-ui-indicator-clear {
+ position: absolute;
+ top: 0;
+ right: 0.3em;
+ bottom: 0;
+ height: auto;
+ }
+ }
+ }
&.oo-ui-widget-disabled {
- opacity: @opacity-disabled;
+ background-color: @background-color-disabled;
+ color: @color-disabled;
+ border-color: @border-color-disabled;
+ text-shadow: @text-shadow-disabled;
+
+ // Clear button
+ > .oo-ui-buttonElement {
+ display: none;
+ }
}
}
-.theme-oo-ui-indicatorWidget () {
- line-height: 2.5;
- margin: @size-indicator / 2;
+.theme-oo-ui-capsuleMultiselectWidget () {
+ width: 100%;
+ max-width: @max-width-input;
+
+ &-handle {
+ min-height: 2.4em;
+ .oo-ui-inline-spacing( 0.5em );
+ padding: 0.15em 0.25em;
+ border: @border-default;
+ border-radius: @border-radius-default;
+ .oo-ui-box-sizing( border-box );
+
+ > .oo-ui-capsuleMultiselectWidget-content {
+ > input {
+ border: 0;
+ line-height: 1.675;
+ margin: 0 0 0 0.2em;
+ padding: 0;
+ font-size: inherit;
+ font-family: inherit;
+ background-color: transparent;
+ color: @color-emphasized;
+ vertical-align: middle;
+
+ .mw-placeholder();
+
+ &:focus {
+ // Chrome
+ outline: 0;
+ }
+ }
+ }
+ }
+
+ &.oo-ui-iconElement &-handle {
+ padding-left: @size-icon + 2 * 0.3em;
+
+ > .oo-ui-iconElement-icon {
+ left: 0;
+ margin: 0 0.3em;
+ }
+ }
+
+ &.oo-ui-indicatorElement &-handle {
+ padding-right: @size-indicator + 2 * 0.775em;
+
+ > .oo-ui-indicatorElement-indicator {
+ right: 0;
+ margin: 0 0.775em;
+ }
+ }
+
+ &-popup {
+ margin-top: -1px;
+
+ > .oo-ui-popupWidget-popup {
+ border: 0;
+ }
+ }
+
+ &.oo-ui-widget-enabled &-handle {
+ background-color: @background-color-default;
+ cursor: text;
+ .oo-ui-transition(
+ border-color @transition-ease-out-sine-medium,
+ box-shadow @transition-ease-out-sine-medium
+ );
+ }
+ &.oo-ui-widget-enabled:hover &-handle {
+ border-color: @border-color-input-hover;
+ }
+ &.oo-ui-widget-enabled.oo-ui-capsuleMultiselectWidget-open &-handle {
+ border-color: @border-color-default-focus;
+ outline: 0;
+ box-shadow: @box-shadow-widget-focus;
+ }
+
+ &.oo-ui-widget-disabled &-handle {
+ color: @color-disabled;
+ text-shadow: @text-shadow-disabled;
+ border-color: @border-color-disabled;
+ background-color: @background-color-disabled;
+
+ > .oo-ui-iconElement-icon {
+ opacity: @opacity-disabled;
+ }
+
+ > .oo-ui-indicatorElement-indicator {
+ opacity: @opacity-disabled-indicator;
+ }
+ }
+}
+
+.theme-oo-ui-checkboxInputWidget () {
+ position: relative;
+ line-height: @size-input-binary;
+ // Prevent the fake span from jumping to the next line of text
+ white-space: nowrap;
+
+ * {
+ font: inherit;
+ vertical-align: middle;
+ }
+
+ // `<input type=checkbox>` element is visually replaced by `span` that
follows
+ [type='checkbox'] {
+ position: relative;
+ // Needed for Firefox mobile (See bug 71750 to workaround
default Firefox stylesheet)
+ max-width: none;
+ // Ensure the invisible input takes up the required width
+ width: @size-input-binary;
+ height: @size-input-binary;
+ // Having margin would offset the input from where the span is
absolutely positioned,
+ // making only the overlap region receive events
+ margin: 0;
+ // Use opacity so that VoiceOver can still identify it
+ opacity: 0;
+ // Render "on top of" the span, so that it's still clickable
+ z-index: 1;
+
+ & + span {
+ background-color: @background-color-default;
+ background-origin: border-box;
+ background-position: center center;
+ background-repeat: no-repeat;
+ background-size: 0 0;
+ .oo-ui-box-sizing( border-box );
+ position: absolute;
+ left: 0;
+ width: @size-input-binary;
+ height: @size-input-binary;
+ border: @border-input-binary;
+ border-radius: @border-radius-default;
+ }
+
+ &:checked {
+ & + span {
+ .oo-ui-background-image-svg(
'@{oo-ui-default-image-path}/icons/check-invert' );
+ .oo-ui-background-image-safari(
'@{oo-ui-default-image-path}/icons/check-invert' );
+ background-size: 90% 90%;
+ }
+ }
+
+ &:disabled {
+ & + span {
+ background-color:
@background-color-disabled-filled;
+ border-color: @border-color-disabled;
+ }
+ &:hover + span {
+ background-color:
@background-color-disabled-filled;
+ border-color: @border-color-disabled;
+ }
+ }
+ }
+
+ &.oo-ui-widget-enabled [type='checkbox'] {
+ cursor: pointer;
+
+ & + span {
+ cursor: pointer;
+ .oo-ui-transition(
+ background-color @transition-ease-quick,
+ background-size @transition-ease-quick,
+ border-color @transition-ease-quick,
+ box-shadow @transition-ease-quick
+ );
+ }
+
+ &:hover + span,
+ &:focus:hover + span {
+ border-color: @color-progressive;
+ }
+
+ &:active + span,
+ &:active:focus + span {
+ background-color: @color-progressive-active;
+ border-color: @border-color-input-binary-active;
+ box-shadow: @box-shadow-input-binary-active;
+ }
+
+ &:focus + span {
+ border-color: @color-progressive;
+ box-shadow: @box-shadow-widget-focus;
+ }
+
+ &:checked {
+ & + span {
+ background-color:
@background-color-input-binary-on;
+ border-color: @border-color-input-binary-on;
+ }
+
+ &:hover + span,
+ &:focus:hover + span {
+ background-color: @color-progressive-hover;
+ border-color: @color-progressive-hover;
+ }
+
+ &:active + span,
+ &:active:hover + span,
+ &:active:focus + span {
+ background-color:
@background-color-input-binary-active;
+ border-color: @border-color-input-binary-active;
+ box-shadow: @box-shadow-input-binary-active;
+ }
+
+ &:focus + span {
+ background-color:
@background-color-input-binary-on;
+ border-color: @border-color-input-binary-on;
+ box-shadow: @box-shadow-progressive-focus;
+ }
+ }
+ }
+}
+
+.theme-oo-ui-checkboxMultioptionWidget () {
+ padding: @padding-vertical-label 0;
+
+ &.oo-ui-labelElement .oo-ui-labelElement-label {
+ padding-left: @padding-start-input-binary-label;
+ }
+
+ .oo-ui-checkboxInputWidget {
+ margin-right: 0;
+ }
+}
+
+.theme-oo-ui-checkboxMultiselectWidget () {}
+
+.theme-oo-ui-checkboxMultiselectInputWidget () {
+ .oo-ui-fieldLayout {
+ margin-top: 0;
+
+ .oo-ui-fieldLayout-body {
+ padding: @padding-vertical-label 0;
+
+ .oo-ui-labelElement-label {
+ line-height: @line-height-input-binary-label;
+ }
+ }
+ }
+}
+
+.theme-oo-ui-comboBoxInputWidget () {
+ // inherits from `inputWidget` & `textInputWidget`
+
+ input {
+ height: @size-default;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ border-right-width: 0;
+ }
+
+ // Undo setting properties above when there is no button:
+ // if the menu is empty, or if this is the PHP version
+ &.oo-ui-comboBoxInputWidget-empty input,
+ &-php input {
+ border-top-right-radius: @border-radius-default;
+ border-bottom-right-radius: @border-radius-default;
+ border-right-width: @border-width-default;
+ }
+
+ &-dropdownButton {
+ width: @width-button-combo-widget;
+
+ .oo-ui-buttonElement-button {
+ min-width: @min-width-button-combo-widget;
+ min-height: @min-height-button-default;
+ padding-left: 0;
+ padding-right: 0;
+ }
+
+ .oo-ui-buttonElement-button,
+ .oo-ui-buttonElement-button:focus {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ }
+ }
&.oo-ui-widget-disabled {
- opacity: @opacity-disabled;
+ .oo-ui-indicatorElement-indicator {
+ opacity: @opacity-disabled-filled;
+ }
+ }
+}
+
+.theme-oo-ui-decoratedOptionWidget () {
+ padding: 0.5em 2em 0.5em 3em;
+
+ &.oo-ui-iconElement .oo-ui-iconElement-icon,
+ &.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator {
+ top: 0;
+ height: 100%;
+ }
+
+ &.oo-ui-iconElement .oo-ui-iconElement-icon {
+ left: 0.5em;
+ }
+
+ &.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator {
+ right: 0.5em;
+ }
+
+ &.oo-ui-widget-disabled {
+ .oo-ui-iconElement-icon,
+ .oo-ui-indicatorElement-indicator {
+ opacity: @opacity-disabled;
+ }
}
}
@@ -233,6 +619,700 @@
margin-right: 2em;
}
}
+
+.theme-oo-ui-dropdownInputWidget () {
+ width: 100%;
+ max-width: @max-width-input;
+
+ &-php {
+ border-right: @border-default;
+ border-radius: @border-radius-default;
+ overflow-x: hidden;
+ }
+
+ select {
+ // Remove user agent styles
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ .oo-ui-box-sizing( border-box );
+ border: @border-default;
+ border-radius: @border-radius-default;
+ padding: 0.5em 1em;
+ font-size: inherit;
+ font-family: inherit;
+ vertical-align: middle;
+
+ // Support IE 10-11: Hide the default arrow
+ &::-ms-expand {
+ display: none;
+ }
+
+ // Add custom dropdown arrow
+ // Support: Everything besides IE 6-8
+ &:not( [no-ie] ) {
+ background-position: right 1.75em center;
+ width: e( 'calc( 100% + 1em )' );
+ height: @size-default;
+ padding: 0 0 0 1em;
+ }
+ }
+
+ option {
+ font-size: inherit;
+ font-family: inherit;
+ height: 1.5em;
+ padding: 0.5em 1em;
+ }
+
+ &.oo-ui-widget-enabled {
+ select {
+ background-color: @background-color-framed;
+ color: @color-default;
+ .oo-ui-transition(
+ background-color @transition-ease-quick,
+ border-color @transition-ease-quick,
+ box-shadow @transition-ease-quick
+ );
+
+ &:hover {
+ background-color:
@background-color-framed-hover;
+ color: @color-default-hover;
+ border-color: @border-color-default-hover;
+ }
+
+ &:active {
+ color: @color-default-active;
+ border-color: @border-color-default-active;
+ }
+
+ &:focus {
+ border-color: @border-color-default-focus;
+ outline: 0;
+ box-shadow: @box-shadow-widget-focus;
+ }
+ }
+ }
+
+ &.oo-ui-widget-disabled {
+ select {
+ background-color: @background-color-disabled;
+ color: @color-disabled;
+ border-color: @border-color-disabled;
+ }
+ }
+}
+
+.theme-oo-ui-floatingMenuSelectWidget () {}
+
+.theme-oo-ui-iconWidget () {
+ line-height: 2.5;
+
+ &.oo-ui-widget-disabled {
+ opacity: @opacity-disabled;
+ }
+}
+
+.theme-oo-ui-indicatorWidget () {
+ line-height: 2.5;
+ margin: @size-indicator / 2;
+
+ &.oo-ui-widget-disabled {
+ opacity: @opacity-disabled;
+ }
+}
+
+.theme-oo-ui-inputWidget () {
+ .oo-ui-inline-spacing( 0.5em );
+}
+
+.theme-oo-ui-labelWidget () {}
+
+.theme-oo-ui-menuOptionWidget () {
+ padding: 0.5em 1em;
+ .oo-ui-transition(
+ background-color @transition-ease-quick,
+ color @transition-ease-quick
+ );
+
+ &.oo-ui-optionWidget {
+ &-highlighted {
+ background-color: @background-color-default-hover;
+ color: @color-emphasized;
+ }
+ &-selected {
+ background-color: @background-color-progressive;
+ color: @color-progressive;
+
+ .oo-ui-iconElement-icon {
+ display: none;
+ }
+ }
+ &-selected&-highlighted,
+ &-pressed&-highlighted {
+ background-color: @background-color-progressive-hover;
+ color: @color-progressive;
+ }
+ }
+}
+
+.theme-oo-ui-menuSectionOptionWidget () {
+ color: @color-subtle;
+ padding: 0.33em 0.75em;
+}
+
+.theme-oo-ui-menuSelectWidget () {
+ background-color: @background-color-default;
+ margin-top: -1px;
+ border: @border-menu;
+ border-radius: 0 0 @border-radius-default @border-radius-default;
+ box-shadow: @box-shadow-menu;
+}
+
+.theme-oo-ui-multioptionWidget () {
+ &.oo-ui-widget-disabled {
+ color: @color-disabled;
+ }
+}
+
+.theme-oo-ui-multiselectWidget () {}
+
+.theme-oo-ui-numberInputWidget () {
+ max-width: @max-width-input;
+
+ &-buttoned {
+ .oo-ui-buttonWidget {
+ width: @width-button-combo-widget;
+ }
+
+ .oo-ui-buttonElement-button {
+ display: block;
+ min-width: @min-width-button-combo-widget;
+ min-height: @size-button-default;
+ padding-left: 0;
+ padding-right: 0;
+ }
+
+ .oo-ui-textInputWidget input {
+ border-radius: 0;
+ }
+ }
+
+ &-minusButton.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ border-right-width: 0;
+ }
+
+ &-plusButton.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ border-left-width: 0;
+ }
+}
+
+.theme-oo-ui-optionWidget () {
+ border: 0;
+
+ .oo-ui-labelElement-label {
+ line-height: @line-height-default;
+ }
+
+ // Don't add `highlighted` or `selected` modifications here
+ // as it inherits to various visually opposite widgets.
+
+ &-selected .oo-ui-buttonElement-button > .oo-ui-iconElement-icon {
+ opacity: @opacity-icon-default-selected;
+ }
+
+ &.oo-ui-widget-disabled {
+ color: @color-disabled;
+ }
+}
+
+.theme-oo-ui-outlineControlsWidget () {
+ height: 3em;
+ background-color: @background-color-default;
+
+ &-items,
+ &-movers {
+ height: 2em;
+ margin: 0.5em 0.5em 0.5em 0;
+ padding: 0;
+ }
+
+ > .oo-ui-iconElement-icon {
+ width: 1.5em;
+ height: 2em;
+ margin: 0.5em 0 0.5em 0.5em;
+ opacity: 0.2;
+ }
+}
+
+.theme-oo-ui-outlineOptionWidget () {
+ font-size: 1.1em;
+ padding: 0.75em;
+ .oo-ui-transition(
+ background-color @transition-ease-quick,
+ color @transition-ease-quick
+ );
+
+ &.oo-ui-optionWidget-highlighted {
+ background-color: @background-color-default-hover;
+ color: @color-emphasized;
+ }
+
+ &.oo-ui-optionWidget-selected {
+ background-color: @background-color-progressive;
+ color: @color-progressive;
+ }
+
+ &.oo-ui-optionWidget-pressed {
+ background-color: @background-color-progressive-hover;
+ color: @color-progressive;
+ }
+
+ .oo-ui-iconElement-icon {
+ // Undoes the parent change, because the theme's icons expect
to be
+ // 24px, and don't scale incredibly well.
+ font-size: 90.90909%;
+ }
+
+ &.oo-ui-indicatorElement {
+ .oo-ui-labelElement-label {
+ padding-right: 1.5em;
+ }
+
+ .oo-ui-indicatorElement-indicator {
+ opacity: 0.5;
+ }
+ }
+
+ &-level-0.oo-ui-iconElement {
+ padding-left: 2.571em; // equals ≈`36px` at base `font-size:
14px`, see `outlineOptionWidget` rule above
+ }
+
+ &-level-1 {
+ padding-left: 2.571em;
+
+ &.oo-ui-iconElement {
+ padding-left: 4.429em;
+
+ .oo-ui-iconElement-icon {
+ left: 2.571em;
+ }
+ }
+ }
+
+ &-level-2 {
+ padding-left: 5.142em;
+
+ &.oo-ui-iconElement {
+ padding-left: 6.857em;
+
+ .oo-ui-iconElement-icon {
+ left: 4.429em;
+ }
+ }
+ }
+}
+
+.theme-oo-ui-outlineSelectWidget () {
+ height: 100%;
+
+ &:focus {
+ box-shadow: inset 0 0 0 2px @color-progressive;
+ }
+}
+
+.theme-oo-ui-popupWidget () {
+ &-popup {
+ background-color: @background-color-default;
+ border: @border-menu;
+ border-radius: @border-radius-default;
+ box-shadow: @box-shadow-menu;
+ }
+
+ &-anchored-top {
+ margin-top: @size-anchor;
+
+ .oo-ui-popupWidget-anchor {
+ top: -@size-anchor;
+
+ &:before {
+ bottom: -@size-anchor - 1px;
+ left: -@size-anchor;
+ border-bottom-color: @border-color-default;
+ border-width: @size-anchor + 1px;
+ }
+
+ &:after {
+ bottom: -@size-anchor - 1px;
+ left: -@size-anchor + 1px;
+ border-bottom-color: @background-color-default;
// Using `@background-color-default` var here as `border*-color` is
`background-color` subsitute
+ border-width: @size-anchor;
+ }
+ }
+ }
+
+ &-anchored-bottom {
+ margin-bottom: @size-anchor;
+
+ .oo-ui-popupWidget-anchor {
+ bottom: -@size-anchor;
+
+ &:before {
+ top: -@size-anchor - 1px;
+ left: -@size-anchor;
+ border-top-color: @border-color-default;
+ border-width: @size-anchor + 1px;
+ }
+
+ &:after {
+ top: -@size-anchor - 1px;
+ left: -@size-anchor + 1px;
+ border-top-color: @background-color-default; //
Using `@background-color-default` var here as `border*-color` is
`background-color` subsitute
+ border-width: @size-anchor;
+ }
+ }
+ }
+
+ &-anchored-start {
+ margin-left: @size-anchor;
+
+ .oo-ui-popupWidget-anchor {
+ left: -@size-anchor;
+
+ &:before {
+ right: -@size-anchor - 1px;
+ top: -@size-anchor;
+ border-right-color: @border-color-default;
+ border-width: @size-anchor + 1px;
+ }
+
+ &:after {
+ right: -@size-anchor - 1px;
+ top: -@size-anchor + 1px;
+ border-right-color: @background-color-default;
// Using `@background-color-default` var here as `border*-color` is
`background-color` subsitute
+ border-width: @size-anchor;
+ }
+ }
+ }
+
+ &-anchored-end {
+ margin-right: @size-anchor;
+
+ .oo-ui-popupWidget-anchor {
+ right: -@size-anchor;
+
+ &:before {
+ left: -@size-anchor - 1px;
+ top: -@size-anchor;
+ border-left-color: @border-color-default;
+ border-width: @size-anchor + 1px;
+ }
+
+ &:after {
+ left: -@size-anchor - 1px;
+ top: -@size-anchor + 1px;
+ border-left-color: @background-color-default;
// Using `@background-color-default` var here as `border*-color` is
`background-color` subsitute
+ border-width: @size-anchor;
+ }
+ }
+ }
+
+ &-transitioning .oo-ui-popupWidget-popup {
+ .oo-ui-transition(
+ width @transition-ease-quick,
+ height @transition-ease-quick,
+ left @transition-ease-quick
+ );
+ }
+
+ &-head {
+ height: 2.5em;
+
+ > .oo-ui-buttonWidget {
+ margin: 0.25em;
+ }
+
+ > .oo-ui-labelElement-label {
+ margin: 0.75em 1em;
+ }
+ }
+
+ &-body {
+ line-height: 1.4;
+ }
+
+ &-body-padded {
+ // Use `margin` rather than `padding` to allow the margin to
collapse with
+ // the margin of other elements inside the popup
+ margin: 0.75em 1em;
+ }
+}
+
+.theme-oo-ui-popupButtonWidget () {
+ &-frameless-popup {
+ &.oo-ui-popupWidget-anchored-top,
+ &.oo-ui-popupWidget-anchored-bottom {
+ .oo-ui-popupWidget-anchor {
+ // Compensate for icon being inset
+ margin-left: @size-icon / 2;
+ }
+ }
+ }
+
+ &-framed-popup {
+ &.oo-ui-popupWidget-anchored-top,
+ &.oo-ui-popupWidget-anchored-bottom {
+ .oo-ui-popupWidget-anchor {
+ // Compensate for icon being inset
+ // elements.less positions the icon with left:
1.5em - @size-icon / 2; , so we need:
+ // @size-icon / 2 + ( 1.5em - @size-icon / 2 )
which is 1.5em.
+ margin-left: 1.5em;
+ }
+ }
+ }
+}
+
+.theme-oo-ui-progressBarWidget () {
+ max-width: @max-width-default;
+ background-color: @background-color-default;
+ border: @border-default;
+ border-radius: @border-radius-default;
+ overflow: hidden;
+
+ &-bar {
+ height: 1em;
+ .oo-ui-transition( width 200ms );
+ }
+ &-indeterminate {
+ .oo-ui-progressBarWidget-bar {
+ .oo-ui-animation( oo-ui-progressBarWidget-slide 2s
infinite linear );
+ width: 40%;
+ .oo-ui-transform( translate( -25% ) );
+ border-left-width: @border-width-default;
+ }
+ }
+ &.oo-ui-widget-enabled {
+ .oo-ui-progressBarWidget-bar {
+ background-color: @color-progressive;
+ }
+ }
+ &.oo-ui-widget-disabled {
+ .oo-ui-progressBarWidget-bar {
+ background-color: @background-color-disabled-filled;
+ }
+ }
+
+ .oo-ui-progressBarWidget-slide-frames () {
+ from {
+ .oo-ui-transform( translate( -100% ) );
+ }
+ to {
+ .oo-ui-transform( translate( 350% ) );
+ }
+ }
+ @-webkit-keyframes oo-ui-progressBarWidget-slide {
+ .oo-ui-progressBarWidget-slide-frames;
+ }
+ @-moz-keyframes oo-ui-progressBarWidget-slide {
+ .oo-ui-progressBarWidget-slide-frames;
+ }
+ @keyframes oo-ui-progressBarWidget-slide {
+ .oo-ui-progressBarWidget-slide-frames;
+ }
+}
+
+.theme-oo-ui-radioInputWidget () {
+ position: relative;
+ line-height: @size-input-binary;
+ // Prevent the fake span from jumping to the next line of text
+ white-space: nowrap;
+
+ * {
+ font: inherit;
+ vertical-align: middle;
+ }
+
+ // `<input type=radio>` element is visually replaced by `span` that
follows
+ [type='radio'] {
+ position: relative;
+ // Needed for Firefox mobile (See bug 71750 to workaround
default Firefox stylesheet)
+ max-width: none;
+ // Ensure the invisible input takes up the required width
+ width: @size-input-binary;
+ height: @size-input-binary;
+ // Having margin would offset the input from where the span is
absolutely positioned,
+ // making only the overlap region receive events
+ margin: 0;
+ // Use opacity so that VoiceOver can still identify it
+ opacity: 0;
+ // Render "on top of" the span, so that it's still clickable
+ z-index: 1;
+
+ & + span {
+ background-color: @background-color-default;
+ position: absolute;
+ left: 0;
+ .oo-ui-box-sizing( border-box );
+ width: @size-input-binary;
+ height: @size-input-binary;
+ border: @border-input-binary;
+ border-radius: 100%;
+
+ // Needed for `:focus` state's inner white circle
+ &:before {
+ content: ' ';
+ position: absolute;
+ top: -4px; // `px` unit due to pixel rounding
error when using `@size-input-binary / 4`
+ left: -4px;
+ right: -4px;
+ bottom: -4px;
+ border: @border-width-default solid transparent;
+ border-radius: 100%;
+ }
+ }
+
+ &:checked {
+ & + span {
+ border-width: @size-input-binary / 4;
+ }
+
+ &:hover + span,
+ &:focus:hover + span {
+ border-width: @size-input-binary / 4;
+ }
+ }
+
+ &:disabled {
+ & + span {
+ background-color:
@background-color-disabled-filled;
+ border-color: @border-color-disabled;
+ }
+
+ &:checked + span {
+ background-color: @background-color-default;
+ }
+ }
+ }
+
+ &.oo-ui-widget-enabled [type='radio'] {
+ cursor: pointer;
+
+ & + span {
+ cursor: pointer;
+ .oo-ui-transition(
+ background-color @transition-ease-quick,
+ border-color @transition-ease-quick,
+ border-width @transition-ease-quick
+ );
+ }
+
+ &:hover + span {
+ border-color: @color-progressive;
+ }
+
+ &:active + span {
+ background-color: @background-color-input-binary-active;
+ border-color: @border-color-input-binary-active;
+ }
+
+ &:checked {
+ & + span {
+ border-color: @border-color-input-binary-on;
+ }
+
+ &:hover + span {
+ border-color: @color-progressive-hover;
+ }
+
+ &:hover:focus + span {
+ border-color: @color-progressive-hover;
+ box-shadow: inset 0 0 0 1px
@color-progressive-hover;
+ }
+
+ &:active + span,
+ &:active:focus + span {
+ border-color: @border-color-input-binary-active;
+ box-shadow: @box-shadow-input-binary-active;
+
+ &:before {
+ border-color:
@border-color-input-binary-active;
+ }
+ }
+
+ &:focus + span {
+ box-shadow: @box-shadow-widget-focus;
+
+ &:before {
+ border-color: @background-color-default;
+ top: -3px;
+ right: -3px;
+ bottom: -3px;
+ left: -3px;
+ }
+ }
+ }
+ }
+}
+
+.theme-oo-ui-radioOptionWidget () {
+ padding: @padding-vertical-label 0;
+
+ &.oo-ui-labelElement .oo-ui-labelElement-label {
+ padding-left: @padding-start-input-binary-label;
+ }
+
+ .oo-ui-radioInputWidget {
+ margin-right: 0;
+ }
+}
+
+.theme-oo-ui-radioSelectWidget () {
+ &:focus {
+ outline: 0;
+
+ [type='radio']:checked + span:before {
+ border-color: @background-color-default;
+ }
+ }
+}
+
+.theme-oo-ui-radioSelectInputWidget () {
+ .oo-ui-fieldLayout {
+ margin-top: 0;
+
+ .oo-ui-fieldLayout-body {
+ padding: @padding-vertical-label 0;
+
+ .oo-ui-labelElement-label {
+ line-height: @line-height-input-binary-label;
+ }
+ }
+ }
+}
+
+.theme-oo-ui-searchWidget () {
+ &-query {
+ height: 4em;
+ padding: 0 1em;
+ border-bottom: @border-default;
+
+ .oo-ui-textInputWidget {
+ margin: 0.75em 0;
+ }
+ }
+
+ &-results {
+ top: 4em;
+ padding: 1em;
+ line-height: 0;
+ }
+}
+
+.theme-oo-ui-selectWidget () {}
.theme-oo-ui-selectFileWidget () {
width: 100%;
@@ -399,375 +1479,48 @@
}
}
-.theme-oo-ui-inputWidget () {
- .oo-ui-inline-spacing( 0.5em );
-}
-
-.theme-oo-ui-buttonInputWidget () {}
-
-.theme-oo-ui-checkboxInputWidget () {
- position: relative;
- line-height: @size-input-binary;
- // Prevent the fake span from jumping to the next line of text
- white-space: nowrap;
-
- * {
- font: inherit;
- vertical-align: middle;
- }
-
- // `<input type=checkbox>` element is visually replaced by `span` that
follows
- [type='checkbox'] {
- position: relative;
- // Needed for Firefox mobile (See bug 71750 to workaround
default Firefox stylesheet)
- max-width: none;
- // Ensure the invisible input takes up the required width
- width: @size-input-binary;
- height: @size-input-binary;
- // Having margin would offset the input from where the span is
absolutely positioned,
- // making only the overlap region receive events
- margin: 0;
- // Use opacity so that VoiceOver can still identify it
- opacity: 0;
- // Render "on top of" the span, so that it's still clickable
- z-index: 1;
-
- & + span {
- background-color: @background-color-default;
- background-origin: border-box;
- background-position: center center;
- background-repeat: no-repeat;
- background-size: 0 0;
- .oo-ui-box-sizing( border-box );
- position: absolute;
- left: 0;
- width: @size-input-binary;
- height: @size-input-binary;
- border: @border-input-binary;
- border-radius: @border-radius-default;
- }
-
- &:checked {
- & + span {
- .oo-ui-background-image-svg(
'@{oo-ui-default-image-path}/icons/check-invert' );
- .oo-ui-background-image-safari(
'@{oo-ui-default-image-path}/icons/check-invert' );
- background-size: 90% 90%;
- }
- }
-
- &:disabled {
- & + span {
- background-color:
@background-color-disabled-filled;
- border-color: @border-color-disabled;
- }
- &:hover + span {
- background-color:
@background-color-disabled-filled;
- border-color: @border-color-disabled;
- }
- }
- }
-
- &.oo-ui-widget-enabled [type='checkbox'] {
- cursor: pointer;
-
- & + span {
- cursor: pointer;
- .oo-ui-transition(
- background-color @transition-ease-quick,
- background-size @transition-ease-quick,
- border-color @transition-ease-quick,
- box-shadow @transition-ease-quick
- );
- }
-
- &:hover + span,
- &:focus:hover + span {
- border-color: @color-progressive;
- }
-
- &:active + span,
- &:active:focus + span {
- background-color: @color-progressive-active;
- border-color: @border-color-input-binary-active;
- box-shadow: @box-shadow-input-binary-active;
- }
-
- &:focus + span {
- border-color: @color-progressive;
- box-shadow: @box-shadow-widget-focus;
- }
-
- &:checked {
- & + span {
- background-color:
@background-color-input-binary-on;
- border-color: @border-color-input-binary-on;
- }
-
- &:hover + span,
- &:focus:hover + span {
- background-color: @color-progressive-hover;
- border-color: @color-progressive-hover;
- }
-
- &:active + span,
- &:active:hover + span,
- &:active:focus + span {
- background-color:
@background-color-input-binary-active;
- border-color: @border-color-input-binary-active;
- box-shadow: @box-shadow-input-binary-active;
- }
-
- &:focus + span {
- background-color:
@background-color-input-binary-on;
- border-color: @border-color-input-binary-on;
- box-shadow: @box-shadow-progressive-focus;
- }
- }
- }
-}
-
-.theme-oo-ui-checkboxMultiselectInputWidget () {
- .oo-ui-fieldLayout {
- margin-top: 0;
-
- .oo-ui-fieldLayout-body {
- padding: @padding-vertical-label 0;
-
- .oo-ui-labelElement-label {
- line-height: @line-height-input-binary-label;
- }
- }
- }
-}
-
-.theme-oo-ui-dropdownInputWidget () {
- width: 100%;
- max-width: @max-width-input;
-
- &-php {
- border-right: @border-default;
- border-radius: @border-radius-default;
- overflow-x: hidden;
- }
-
- select {
- // Remove user agent styles
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
- .oo-ui-box-sizing( border-box );
- border: @border-default;
- border-radius: @border-radius-default;
- padding: 0.5em 1em;
- font-size: inherit;
- font-family: inherit;
- vertical-align: middle;
-
- // Support IE 10-11: Hide the default arrow
- &::-ms-expand {
- display: none;
- }
-
- // Add custom dropdown arrow
- // Support: Everything besides IE 6-8
- &:not( [no-ie] ) {
- background-position: right 1.75em center;
- width: e( 'calc( 100% + 1em )' );
- height: @size-default;
- padding: 0 0 0 1em;
- }
- }
-
- option {
- font-size: inherit;
- font-family: inherit;
- height: 1.5em;
- padding: 0.5em 1em;
- }
+.theme-oo-ui-tabOptionWidget () {
+ color: @color-default;
+ margin: 0.5em 0 0 0.75em;
+ border: 1px solid transparent;
+ border-bottom: 0;
+ border-top-left-radius: @border-radius-default;
+ border-top-right-radius: @border-radius-default;
+ padding: 0.35em 1em;
+ font-weight: bold;
+ .oo-ui-transition(
+ background-color @transition-ease-quick,
+ color @transition-ease-quick
+ );
&.oo-ui-widget-enabled {
- select {
- background-color: @background-color-framed;
- color: @color-default;
- .oo-ui-transition(
- background-color @transition-ease-quick,
- border-color @transition-ease-quick,
- box-shadow @transition-ease-quick
- );
+ &:hover {
+ background-color: rgba( 255, 255, 255, 0.3 );
+ }
- &:hover {
- background-color:
@background-color-framed-hover;
- color: @color-default-hover;
- border-color: @border-color-default-hover;
- }
-
- &:active {
- color: @color-default-active;
- border-color: @border-color-default-active;
- }
-
- &:focus {
- border-color: @border-color-default-focus;
- outline: 0;
- box-shadow: @box-shadow-widget-focus;
- }
+ &:active {
+ background-color: rgba( 255, 255, 255, 0.8 );
}
}
- &.oo-ui-widget-disabled {
- select {
- background-color: @background-color-disabled;
- color: @color-disabled;
- border-color: @border-color-disabled;
- }
+ &.oo-ui-indicatorElement .oo-ui-labelElement-label {
+ padding-right: 1.5em;
+ }
+
+ &.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator {
+ opacity: 0.5;
+ }
+
+ .oo-ui-selectWidget-pressed &.oo-ui-optionWidget-selected,
+ .oo-ui-selectWidget-depressed &.oo-ui-optionWidget-selected,
+ &.oo-ui-optionWidget-selected:hover {
+ background-color: @background-color-default;
+ color: @color-default-active;
}
}
-.theme-oo-ui-radioInputWidget () {
- position: relative;
- line-height: @size-input-binary;
- // Prevent the fake span from jumping to the next line of text
- white-space: nowrap;
-
- * {
- font: inherit;
- vertical-align: middle;
- }
-
- // `<input type=radio>` element is visually replaced by `span` that
follows
- [type='radio'] {
- position: relative;
- // Needed for Firefox mobile (See bug 71750 to workaround
default Firefox stylesheet)
- max-width: none;
- // Ensure the invisible input takes up the required width
- width: @size-input-binary;
- height: @size-input-binary;
- // Having margin would offset the input from where the span is
absolutely positioned,
- // making only the overlap region receive events
- margin: 0;
- // Use opacity so that VoiceOver can still identify it
- opacity: 0;
- // Render "on top of" the span, so that it's still clickable
- z-index: 1;
-
- & + span {
- background-color: @background-color-default;
- position: absolute;
- left: 0;
- .oo-ui-box-sizing( border-box );
- width: @size-input-binary;
- height: @size-input-binary;
- border: @border-input-binary;
- border-radius: 100%;
-
- // Needed for `:focus` state's inner white circle
- &:before {
- content: ' ';
- position: absolute;
- top: -4px; // `px` unit due to pixel rounding
error when using `@size-input-binary / 4`
- left: -4px;
- right: -4px;
- bottom: -4px;
- border: @border-width-default solid transparent;
- border-radius: 100%;
- }
- }
-
- &:checked {
- & + span {
- border-width: @size-input-binary / 4;
- }
-
- &:hover + span,
- &:focus:hover + span {
- border-width: @size-input-binary / 4;
- }
- }
-
- &:disabled {
- & + span {
- background-color:
@background-color-disabled-filled;
- border-color: @border-color-disabled;
- }
-
- &:checked + span {
- background-color: @background-color-default;
- }
- }
- }
-
- &.oo-ui-widget-enabled [type='radio'] {
- cursor: pointer;
-
- & + span {
- cursor: pointer;
- .oo-ui-transition(
- background-color @transition-ease-quick,
- border-color @transition-ease-quick,
- border-width @transition-ease-quick
- );
- }
-
- &:hover + span {
- border-color: @color-progressive;
- }
-
- &:active + span {
- background-color: @background-color-input-binary-active;
- border-color: @border-color-input-binary-active;
- }
-
- &:checked {
- & + span {
- border-color: @border-color-input-binary-on;
- }
-
- &:hover + span {
- border-color: @color-progressive-hover;
- }
-
- &:hover:focus + span {
- border-color: @color-progressive-hover;
- box-shadow: inset 0 0 0 1px
@color-progressive-hover;
- }
-
- &:active + span,
- &:active:focus + span {
- border-color: @border-color-input-binary-active;
- box-shadow: @box-shadow-input-binary-active;
-
- &:before {
- border-color:
@border-color-input-binary-active;
- }
- }
-
- &:focus + span {
- box-shadow: @box-shadow-widget-focus;
-
- &:before {
- border-color: @background-color-default;
- top: -3px;
- right: -3px;
- bottom: -3px;
- left: -3px;
- }
- }
- }
- }
-}
-
-.theme-oo-ui-radioSelectInputWidget () {
- .oo-ui-fieldLayout {
- margin-top: 0;
-
- .oo-ui-fieldLayout-body {
- padding: @padding-vertical-label 0;
-
- .oo-ui-labelElement-label {
- line-height: @line-height-input-binary-label;
- }
- }
- }
+.theme-oo-ui-tabSelectWidget () {
+ background-color: @background-color-tabs;
}
.theme-oo-ui-textInputWidget () {
@@ -925,692 +1678,10 @@
}
}
-.theme-oo-ui-comboBoxInputWidget () {
- // inherits from `inputWidget` & `textInputWidget`
+.theme-oo-ui-toggleWidget () {}
- input {
- height: @size-default;
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- border-right-width: 0;
- }
-
- // Undo setting properties above when there is no button:
- // if the menu is empty, or if this is the PHP version
- &.oo-ui-comboBoxInputWidget-empty input,
- &-php input {
- border-top-right-radius: @border-radius-default;
- border-bottom-right-radius: @border-radius-default;
- border-right-width: @border-width-default;
- }
-
- &-dropdownButton {
- width: @width-button-combo-widget;
-
- .oo-ui-buttonElement-button {
- min-width: @min-width-button-combo-widget;
- min-height: @min-height-button-default;
- padding-left: 0;
- padding-right: 0;
- }
-
- .oo-ui-buttonElement-button,
- .oo-ui-buttonElement-button:focus {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
- }
- }
-
- &.oo-ui-widget-disabled {
- .oo-ui-indicatorElement-indicator {
- opacity: @opacity-disabled-filled;
- }
- }
-}
-
-.theme-oo-ui-capsuleMultiselectWidget () {
- width: 100%;
- max-width: @max-width-input;
-
- &-handle {
- min-height: 2.4em;
- .oo-ui-inline-spacing( 0.5em );
- padding: 0.15em 0.25em;
- border: @border-default;
- border-radius: @border-radius-default;
- .oo-ui-box-sizing( border-box );
-
- > .oo-ui-capsuleMultiselectWidget-content {
- > input {
- border: 0;
- line-height: 1.675;
- margin: 0 0 0 0.2em;
- padding: 0;
- font-size: inherit;
- font-family: inherit;
- background-color: transparent;
- color: @color-emphasized;
- vertical-align: middle;
-
- .mw-placeholder();
-
- &:focus {
- // Chrome
- outline: 0;
- }
- }
- }
- }
-
- &.oo-ui-iconElement &-handle {
- padding-left: @size-icon + 2 * 0.3em;
-
- > .oo-ui-iconElement-icon {
- left: 0;
- margin: 0 0.3em;
- }
- }
-
- &.oo-ui-indicatorElement &-handle {
- padding-right: @size-indicator + 2 * 0.775em;
-
- > .oo-ui-indicatorElement-indicator {
- right: 0;
- margin: 0 0.775em;
- }
- }
-
- &-popup {
- margin-top: -1px;
-
- > .oo-ui-popupWidget-popup {
- border: 0;
- }
- }
-
- &.oo-ui-widget-enabled &-handle {
- background-color: @background-color-default;
- cursor: text;
- .oo-ui-transition(
- border-color @transition-ease-out-sine-medium,
- box-shadow @transition-ease-out-sine-medium
- );
- }
- &.oo-ui-widget-enabled:hover &-handle {
- border-color: @border-color-input-hover;
- }
- &.oo-ui-widget-enabled.oo-ui-capsuleMultiselectWidget-open &-handle {
- border-color: @border-color-default-focus;
- outline: 0;
- box-shadow: @box-shadow-widget-focus;
- }
-
- &.oo-ui-widget-disabled &-handle {
- color: @color-disabled;
- text-shadow: @text-shadow-disabled;
- border-color: @border-color-disabled;
- background-color: @background-color-disabled;
-
- > .oo-ui-iconElement-icon {
- opacity: @opacity-disabled;
- }
-
- > .oo-ui-indicatorElement-indicator {
- opacity: @opacity-disabled-indicator;
- }
- }
-}
-
-.theme-oo-ui-capsuleItemWidget () {
- .oo-ui-box-sizing( border-box );
- width: auto;
- max-width: 100%;
- height: 1.7em;
- margin: 0.1em;
- border: @border-default;
- border-radius: @border-radius-default;
- padding: 0 0.4em;
- line-height: 1.7;
- vertical-align: middle;
-
- &.oo-ui-widget-enabled {
- background-color: @background-color-framed;
- color: @color-default;
- padding-right: @size-indicator + 0.6em;
- .oo-ui-transition(
- background-color @transition-ease-quick,
- color @transition-ease-quick,
- border-color @transition-ease-quick,
- box-shadow @transition-ease-quick
- );
-
- &:hover {
- background-color: @background-color-framed-hover;
- color: @color-default-hover;
- border-color: @border-color-default-hover;
- }
-
- &:focus {
- border-color: @border-color-default-focus;
- box-shadow: @box-shadow-widget-focus;
- outline: 0;
- }
-
- // Clear button
- > .oo-ui-buttonElement {
- display: block;
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- }
- & .oo-ui-buttonElement-button {
- display: block;
- width: @size-indicator + 0.6em; // equals to `padding`
on each side of the indicator
- height: 100%; // Firefox height calculation fix
-
- & .oo-ui-indicator-clear {
- position: absolute;
- top: 0;
- right: 0.3em;
- bottom: 0;
- height: auto;
- }
- }
- }
-
- &.oo-ui-widget-disabled {
- background-color: @background-color-disabled;
- color: @color-disabled;
- border-color: @border-color-disabled;
- text-shadow: @text-shadow-disabled;
-
- // Clear button
- > .oo-ui-buttonElement {
- display: none;
- }
- }
-}
-
-.theme-oo-ui-labelWidget () {}
-
-.theme-oo-ui-optionWidget () {
- border: 0;
-
- .oo-ui-labelElement-label {
- line-height: @line-height-default;
- }
-
- // Don't add `highlighted` or `selected` modifications here
- // as it inherits to various visually opposite widgets.
-
- &-selected .oo-ui-buttonElement-button > .oo-ui-iconElement-icon {
- opacity: @opacity-icon-default-selected;
- }
-
- &.oo-ui-widget-disabled {
- color: @color-disabled;
- }
-}
-
-.theme-oo-ui-decoratedOptionWidget () {
- padding: 0.5em 2em 0.5em 3em;
-
- &.oo-ui-iconElement .oo-ui-iconElement-icon,
- &.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator {
- top: 0;
- height: 100%;
- }
-
- &.oo-ui-iconElement .oo-ui-iconElement-icon {
- left: 0.5em;
- }
-
- &.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator {
- right: 0.5em;
- }
-
- &.oo-ui-widget-disabled {
- .oo-ui-iconElement-icon,
- .oo-ui-indicatorElement-indicator {
- opacity: @opacity-disabled;
- }
- }
-}
-
-.theme-oo-ui-buttonOptionWidget () {
- padding: 0;
-
- &.oo-ui-optionWidget-selected,
- &.oo-ui-optionWidget-pressed,
- &.oo-ui-optionWidget-highlighted {
- background-color: transparent;
- }
-}
-
-.theme-oo-ui-radioOptionWidget () {
- padding: @padding-vertical-label 0;
-
- &.oo-ui-labelElement .oo-ui-labelElement-label {
- padding-left: @padding-start-input-binary-label;
- }
-
- .oo-ui-radioInputWidget {
- margin-right: 0;
- }
-}
-
-.theme-oo-ui-menuOptionWidget () {
- padding: 0.5em 1em;
- .oo-ui-transition(
- background-color @transition-ease-quick,
- color @transition-ease-quick
- );
-
- &.oo-ui-optionWidget {
- &-highlighted {
- background-color: @background-color-default-hover;
- color: @color-emphasized;
- }
- &-selected {
- background-color: @background-color-progressive;
- color: @color-progressive;
-
- .oo-ui-iconElement-icon {
- display: none;
- }
- }
- &-selected&-highlighted,
- &-pressed&-highlighted {
- background-color: @background-color-progressive-hover;
- color: @color-progressive;
- }
- }
-}
-
-.theme-oo-ui-menuSectionOptionWidget () {
- color: @color-subtle;
- padding: 0.33em 0.75em;
-}
-
-.theme-oo-ui-outlineOptionWidget () {
- font-size: 1.1em;
- padding: 0.75em;
- .oo-ui-transition(
- background-color @transition-ease-quick,
- color @transition-ease-quick
- );
-
- &.oo-ui-optionWidget-highlighted {
- background-color: @background-color-default-hover;
- color: @color-emphasized;
- }
-
- &.oo-ui-optionWidget-selected {
- background-color: @background-color-progressive;
- color: @color-progressive;
- }
-
- &.oo-ui-optionWidget-pressed {
- background-color: @background-color-progressive-hover;
- color: @color-progressive;
- }
-
- .oo-ui-iconElement-icon {
- // Undoes the parent change, because the theme's icons expect
to be
- // 24px, and don't scale incredibly well.
- font-size: 90.90909%;
- }
-
- &.oo-ui-indicatorElement {
- .oo-ui-labelElement-label {
- padding-right: 1.5em;
- }
-
- .oo-ui-indicatorElement-indicator {
- opacity: 0.5;
- }
- }
-
- &-level-0.oo-ui-iconElement {
- padding-left: 2.571em; // equals ≈`36px` at base `font-size:
14px`, see `outlineOptionWidget` rule above
- }
-
- &-level-1 {
- padding-left: 2.571em;
-
- &.oo-ui-iconElement {
- padding-left: 4.429em;
-
- .oo-ui-iconElement-icon {
- left: 2.571em;
- }
- }
- }
-
- &-level-2 {
- padding-left: 5.142em;
-
- &.oo-ui-iconElement {
- padding-left: 6.857em;
-
- .oo-ui-iconElement-icon {
- left: 4.429em;
- }
- }
- }
-}
-
-.theme-oo-ui-tabOptionWidget () {
- color: @color-default;
- margin: 0.5em 0 0 0.75em;
- border: 1px solid transparent;
- border-bottom: 0;
- border-top-left-radius: @border-radius-default;
- border-top-right-radius: @border-radius-default;
- padding: 0.35em 1em;
- font-weight: bold;
- .oo-ui-transition(
- background-color @transition-ease-quick,
- color @transition-ease-quick
- );
-
- &.oo-ui-widget-enabled {
- &:hover {
- background-color: rgba( 255, 255, 255, 0.3 );
- }
-
- &:active {
- background-color: rgba( 255, 255, 255, 0.8 );
- }
- }
-
- &.oo-ui-indicatorElement .oo-ui-labelElement-label {
- padding-right: 1.5em;
- }
-
- &.oo-ui-indicatorElement .oo-ui-indicatorElement-indicator {
- opacity: 0.5;
- }
-
- .oo-ui-selectWidget-pressed &.oo-ui-optionWidget-selected,
- .oo-ui-selectWidget-depressed &.oo-ui-optionWidget-selected,
- &.oo-ui-optionWidget-selected:hover {
- background-color: @background-color-default;
- color: @color-default-active;
- }
-}
-
-.theme-oo-ui-popupWidget () {
- &-popup {
- background-color: @background-color-default;
- border: @border-menu;
- border-radius: @border-radius-default;
- box-shadow: @box-shadow-menu;
- }
-
- &-anchored-top {
- margin-top: @size-anchor;
-
- .oo-ui-popupWidget-anchor {
- top: -@size-anchor;
-
- &:before {
- bottom: -@size-anchor - 1px;
- left: -@size-anchor;
- border-bottom-color: @border-color-default;
- border-width: @size-anchor + 1px;
- }
-
- &:after {
- bottom: -@size-anchor - 1px;
- left: -@size-anchor + 1px;
- border-bottom-color: @background-color-default;
// Using `@background-color-default` var here as `border*-color` is
`background-color` subsitute
- border-width: @size-anchor;
- }
- }
- }
-
- &-anchored-bottom {
- margin-bottom: @size-anchor;
-
- .oo-ui-popupWidget-anchor {
- bottom: -@size-anchor;
-
- &:before {
- top: -@size-anchor - 1px;
- left: -@size-anchor;
- border-top-color: @border-color-default;
- border-width: @size-anchor + 1px;
- }
-
- &:after {
- top: -@size-anchor - 1px;
- left: -@size-anchor + 1px;
- border-top-color: @background-color-default; //
Using `@background-color-default` var here as `border*-color` is
`background-color` subsitute
- border-width: @size-anchor;
- }
- }
- }
-
- &-anchored-start {
- margin-left: @size-anchor;
-
- .oo-ui-popupWidget-anchor {
- left: -@size-anchor;
-
- &:before {
- right: -@size-anchor - 1px;
- top: -@size-anchor;
- border-right-color: @border-color-default;
- border-width: @size-anchor + 1px;
- }
-
- &:after {
- right: -@size-anchor - 1px;
- top: -@size-anchor + 1px;
- border-right-color: @background-color-default;
// Using `@background-color-default` var here as `border*-color` is
`background-color` subsitute
- border-width: @size-anchor;
- }
- }
- }
-
- &-anchored-end {
- margin-right: @size-anchor;
-
- .oo-ui-popupWidget-anchor {
- right: -@size-anchor;
-
- &:before {
- left: -@size-anchor - 1px;
- top: -@size-anchor;
- border-left-color: @border-color-default;
- border-width: @size-anchor + 1px;
- }
-
- &:after {
- left: -@size-anchor - 1px;
- top: -@size-anchor + 1px;
- border-left-color: @background-color-default;
// Using `@background-color-default` var here as `border*-color` is
`background-color` subsitute
- border-width: @size-anchor;
- }
- }
- }
-
- &-transitioning .oo-ui-popupWidget-popup {
- .oo-ui-transition(
- width @transition-ease-quick,
- height @transition-ease-quick,
- left @transition-ease-quick
- );
- }
-
- &-head {
- height: 2.5em;
-
- > .oo-ui-buttonWidget {
- margin: 0.25em;
- }
-
- > .oo-ui-labelElement-label {
- margin: 0.75em 1em;
- }
- }
-
- &-body {
- line-height: 1.4;
- }
-
- &-body-padded {
- // Use `margin` rather than `padding` to allow the margin to
collapse with
- // the margin of other elements inside the popup
- margin: 0.75em 1em;
- }
-}
-
-.theme-oo-ui-searchWidget () {
- &-query {
- height: 4em;
- padding: 0 1em;
- border-bottom: @border-default;
-
- .oo-ui-textInputWidget {
- margin: 0.75em 0;
- }
- }
-
- &-results {
- top: 4em;
- padding: 1em;
- line-height: 0;
- }
-}
-
-.theme-oo-ui-selectWidget () {}
-
-.theme-oo-ui-buttonSelectWidget () {
- border-radius: @border-radius-default;
+.theme-oo-ui-toggleButtonWidget () {
.oo-ui-inline-spacing( 0.5em );
- // Create a stacking context, so that we can use `z-index` below
without leaking out
- z-index: 0;
- position: relative;
-
- &:focus {
- outline: 0;
- }
-
- .oo-ui-buttonOptionWidget {
- .oo-ui-buttonElement-button {
- border-radius: 0;
- margin-left: -1px;
- }
-
- &:first-child .oo-ui-buttonElement-button {
- border-bottom-left-radius: @border-radius-default;
- border-top-left-radius: @border-radius-default;
- margin-left: 0;
- }
-
- &:last-child .oo-ui-buttonElement-button {
- border-bottom-right-radius: @border-radius-default;
- border-top-right-radius: @border-radius-default;
- }
-
- }
-
- &.oo-ui-widget-enabled {
- &:focus {
- .oo-ui-buttonOptionWidget.oo-ui-optionWidget-selected {
- .oo-ui-buttonElement-button {
- border-color:
@border-color-default-focus;
- box-shadow:
@box-shadow-progressive-focus;
- }
- }
- }
-
- // Give hovered/focussed/active buttons higher `z-index`, so
that borders display right.
- // Identical to .theme-oo-ui-buttonGroupWidget, except we don't
need `:focus` selector.
- .oo-ui-buttonElement {
- &.oo-ui-widget-enabled >
.oo-ui-buttonElement-button:hover,
- &.oo-ui-widget-enabled >
.oo-ui-buttonElement-button:active {
- z-index: 1;
- }
-
- &.oo-ui-buttonElement-active >
.oo-ui-buttonElement-button {
- z-index: 3;
- }
-
- &.oo-ui-widget-disabled > .oo-ui-buttonElement-button {
- z-index: -1;
- }
- }
- }
-}
-
-.theme-oo-ui-radioSelectWidget () {
- &:focus {
- outline: 0;
-
- [type='radio']:checked + span:before {
- border-color: @background-color-default;
- }
- }
-}
-
-.theme-oo-ui-menuSelectWidget () {
- background-color: @background-color-default;
- margin-top: -1px;
- border: @border-menu;
- border-radius: 0 0 @border-radius-default @border-radius-default;
- box-shadow: @box-shadow-menu;
-}
-
-.theme-oo-ui-floatingMenuSelectWidget () {}
-
-.theme-oo-ui-outlineSelectWidget () {
- height: 100%;
-
- &:focus {
- box-shadow: inset 0 0 0 2px @color-progressive;
- }
-}
-
-.theme-oo-ui-tabSelectWidget () {
- background-color: @background-color-tabs;
-}
-
-.theme-oo-ui-numberInputWidget () {
- max-width: @max-width-input;
-
- &-buttoned {
- .oo-ui-buttonWidget {
- width: @width-button-combo-widget;
- }
-
- .oo-ui-buttonElement-button {
- display: block;
- min-width: @min-width-button-combo-widget;
- min-height: @size-button-default;
- padding-left: 0;
- padding-right: 0;
- }
-
- .oo-ui-textInputWidget input {
- border-radius: 0;
- }
- }
-
- &-minusButton.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- border-right-width: 0;
- }
-
- &-plusButton.oo-ui-buttonElement-framed > .oo-ui-buttonElement-button {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
- border-left-width: 0;
- }
}
.theme-oo-ui-toggleSwitchWidget () {
@@ -1756,77 +1827,6 @@
&.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip {
background-color: @background-color-default;
}
- }
-}
-
-.theme-oo-ui-progressBarWidget () {
- max-width: @max-width-default;
- background-color: @background-color-default;
- border: @border-default;
- border-radius: @border-radius-default;
- overflow: hidden;
-
- &-bar {
- height: 1em;
- .oo-ui-transition( width 200ms );
- }
- &-indeterminate {
- .oo-ui-progressBarWidget-bar {
- .oo-ui-animation( oo-ui-progressBarWidget-slide 2s
infinite linear );
- width: 40%;
- .oo-ui-transform( translate( -25% ) );
- border-left-width: @border-width-default;
- }
- }
- &.oo-ui-widget-enabled {
- .oo-ui-progressBarWidget-bar {
- background-color: @color-progressive;
- }
- }
- &.oo-ui-widget-disabled {
- .oo-ui-progressBarWidget-bar {
- background-color: @background-color-disabled-filled;
- }
- }
-
- .oo-ui-progressBarWidget-slide-frames () {
- from {
- .oo-ui-transform( translate( -100% ) );
- }
- to {
- .oo-ui-transform( translate( 350% ) );
- }
- }
- @-webkit-keyframes oo-ui-progressBarWidget-slide {
- .oo-ui-progressBarWidget-slide-frames;
- }
- @-moz-keyframes oo-ui-progressBarWidget-slide {
- .oo-ui-progressBarWidget-slide-frames;
- }
- @keyframes oo-ui-progressBarWidget-slide {
- .oo-ui-progressBarWidget-slide-frames;
- }
-}
-
-.theme-oo-ui-multiselectWidget () {}
-
-.theme-oo-ui-multioptionWidget () {
- &.oo-ui-widget-disabled {
- color: @color-disabled;
- }
-}
-
-.theme-oo-ui-checkboxMultiselectWidget () {}
-
-.theme-oo-ui-checkboxMultioptionWidget () {
- padding: @padding-vertical-label 0;
-
- &.oo-ui-labelElement .oo-ui-labelElement-label {
- padding-left: @padding-start-input-binary-label;
- }
-
- .oo-ui-checkboxInputWidget {
- margin-right: 0;
}
}
--
To view, visit https://gerrit.wikimedia.org/r/311356
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: If6305c530088acc559bd0d65578e460210b8cd3f
Gerrit-PatchSet: 4
Gerrit-Project: oojs/ui
Gerrit-Branch: master
Gerrit-Owner: VolkerE <[email protected]>
Gerrit-Reviewer: Bartosz Dziewoński <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: VolkerE <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits