mediawiki-skins-Citizen/resources/mixins.less

186 lines
4.3 KiB
Plaintext
Raw Normal View History

2019-08-15 17:40:13 +00:00
/*
* Citizen - Mixins
* https://starcitizen.tools
*/
// To hide objects, but keep them accessible for screen-readers
.hidden() {
position: absolute;
top: -9999px;
}
// Set content to be at the center
.content-center() {
max-width: var( --width-layout );
2019-08-15 17:40:13 +00:00
margin-right: auto;
margin-left: auto;
2019-08-15 17:40:13 +00:00
}
// Prepare for RL icons
.resource-loader-icon-link() {
display: block;
2019-08-15 17:40:13 +00:00
width: @icon-box-size;
height: @icon-box-size;
}
.resource-loader-icon-link-small() {
display: block;
2019-08-15 17:40:13 +00:00
width: @icon-size;
height: @icon-size;
}
.resource-loader-icon() {
position: absolute;
width: inherit;
height: inherit;
background-position: center;
background-repeat: no-repeat;
content: '';
2019-08-15 17:40:13 +00:00
}
.resource-loader-menu-icon() {
position: absolute;
width: @icon-box-size;
height: @icon-box-size;
background-position: center;
background-repeat: no-repeat;
content: '';
2019-08-15 17:40:13 +00:00
}
.resource-loader-list-icon() {
position: relative;
width: @icon-size;
height: @icon-size;
flex-shrink: 0;
align-self: center;
2019-08-15 17:40:13 +00:00
background-position: center;
background-repeat: no-repeat;
content: '';
2019-08-15 17:40:13 +00:00
}
// Material-like menu
.menu-container() {
display: block;
2019-08-15 17:40:13 +00:00
padding: 8px 0;
background-color: var( --background-color-dp-08 );
2020-06-30 18:45:35 +00:00
border-radius: @border-radius-medium;
2019-08-15 17:40:13 +00:00
}
.menu-item-link() {
display: flex;
color: var( --color-base ) !important;
font-weight: 450;
2019-08-15 17:40:13 +00:00
transition: @transition-background-quick, @transition-color-quick;
}
.menu-item-link-hover() {
background-color: var( --background-color-primary--hover );
2019-08-15 17:40:13 +00:00
}
.menu-item-link-active() {
background-color: var( --background-color-primary--active );
2019-08-15 17:40:13 +00:00
}
// Button Styles
.button-blue() {
background-color: var( --color-primary );
color: #fff !important;
2019-08-15 17:40:13 +00:00
transition: @transition-background-quick, @transition-color-quick;
}
.button-blue-hover() {
background-color: var( --color-primary--hover );
}
2019-08-15 17:40:13 +00:00
.button-blue-active() {
background-color: var( --color-primary--active );
2019-08-15 17:40:13 +00:00
}
.button-red() {
background-color: var( --color-destructive );
color: #fff !important;
2019-08-15 17:40:13 +00:00
transition: @transition-background-quick, @transition-color-quick;
}
.button-red-hover() {
background-color: var( --color-destructive--hover );
}
2019-08-15 17:40:13 +00:00
.button-red-active() {
background-color: var( --color-destructive--active );
2019-08-15 17:40:13 +00:00
}
// Link styles
.link-content-text(@color) {
2019-12-26 10:21:50 +00:00
background-image: linear-gradient( to right, @color 0, @color 100% );
2019-08-15 17:40:13 +00:00
background-repeat: no-repeat;
background-size: 0 100%;
transition: @transition-background-quick, @transition-color-quick;
/* stylelint-disable declaration-property-value-disallowed-list */
2019-08-15 17:40:13 +00:00
&:hover {
2019-12-26 10:21:50 +00:00
background-size: 100% 100% !important;
color: #fff !important;
outline: none;
2019-08-15 17:40:13 +00:00
}
2019-12-26 10:21:50 +00:00
/* stylelint-enable */
2019-08-15 17:40:13 +00:00
}
// Gradient overflow
.gradient-overflow(@position) {
position: fixed;
z-index: 3;
width: 100%;
height: @margin-side * 2;
background: @position;
content: '';
2019-08-15 17:40:13 +00:00
}
// Box-shadow
// https://codepen.io/sdthornton/pen/wBZdXq
2019-12-26 10:21:50 +00:00
.boxshadow(@level: 1) {
& when (@level = 1) {
box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.03 ), 0 1px 2px rgba( 0, 0, 0, 0.06 ); // Cards
}
& when (@level = 2) {
box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.04 ), 0 3px 6px rgba( 0, 0, 0, 0.0575 );
}
& when (@level = 3) {
box-shadow: 0 10px 20px rgba( 0, 0, 0, 0.0475 ), 0 6px 6px rgba( 0, 0, 0, 0.0575 ); // Drawer
}
& when (@level = 4) {
box-shadow: 0 14px 28px rgba( 0, 0, 0, 0.0625 ), 0 10px 10px rgba( 0, 0, 0, 0.055 ); // FAB, floating elements
}
& when (@level = 5) {
box-shadow: 0 19px 38px rgba( 0, 0, 0, 0.075 ), 0 15px 12px rgba( 0, 0, 0, 0.055 ); // Dialogs
}
2019-08-15 17:40:13 +00:00
}
// Borrowed from Mediawiki core 1.35
// “Clearfix Reloaded” Mixin
// The mixin is used on a container with floating children.
// Margin collapsing is a feature, not a bug, hence relying on `display: block` as default.
// With `.mixin-clearfix( @collapse: false; );` you call it to let `margin`s not collapse.
// See https://www.cssmojo.com/the-very-latest-clearfix-reloaded/
// In future we might replace the `&:after` pseudo-element with
// `display: flow-root;` altogether.
// Support: Firefox 3.5+, Safari 4+, Chrome, Opera 15+, IE 8+
.mixin-clearfix( @collapse: true ) {
&:after {
clear: both;
// Margin collapsing as feature. Apply it.
& when ( @collapse ) {
display: block;
content: '';
}
}
// Margin collapsing as bug. Prevent it.
& when not ( @collapse ) {
&:before,
&:after {
display: table;
content: '';
}
}
}