You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
plain-ui/src/scss/helpers/_spacing.scss

98 lines
2.4 KiB

3 years ago
$plain-ui__spacing-direction: (
'top',
'bottom',
'left',
'right'
3 years ago
) !default;
3 years ago
$plain-ui__spacing-gap: 0.25 !default;
$plain-ui__spacing-steps: 10 !default;
3 years ago
/**
3 years ago
*
*
*
*/
.marginless {
margin: 0;
}
.paddingless {
padding: 0;
}
/**
* spacing for single padding or margin
3 years ago
*
*
*/
3 years ago
@mixin spacing($class, $style, $direction, $name, $value)
3 years ago
{
.#{$class}-#{$direction}-#{$name} {
#{$style}-#{$direction}: $value;
}
}
3 years ago
3 years ago
@each $direction in $plain-ui__spacing-direction
{
3 years ago
@include spacing('m', 'margin', $direction, 0, 0);
@include spacing('m', 'margin', $direction, 1, 1px);
3 years ago
@for $i from 2 through $plain-ui__spacing-steps {
$value: $plain-ui__spacing-gap * factor($i - 1) * 1rem;
3 years ago
@include spacing('m', 'margin', $direction, $i, $value);
3 years ago
@include plain-ui__media-xs() {
@include spacing('m', 'margin', $direction, 'xs-' + $i, $value);
}
@include plain-ui__media-sm() {
@include spacing('m', 'margin', $direction, 'sm-' + $i, $value);
}
@include plain-ui__media-md() {
@include spacing('m', 'margin', $direction, 'md-' + $i, $value);
}
@include plain-ui__media-lg() {
@include spacing('m', 'margin', $direction, 'lg-' + $i, $value);
}
@include plain-ui__media-xlg() {
@include spacing('m', 'margin', $direction, 'xlg-' + $i, $value);
}
3 years ago
}
}
3 years ago
@each $direction in $plain-ui__spacing-direction
{
3 years ago
@include spacing('p', 'padding', $direction, 0, 0);
@include spacing('p', 'padding', $direction, 1, 1px);
3 years ago
@for $i from 0 through $plain-ui__spacing-steps {
$value: $plain-ui__spacing-gap * factor($i - 1) * 1rem;
3 years ago
@include spacing('p', 'padding', $direction, $i, $value);
3 years ago
@include plain-ui__media-xs() {
@include spacing('p', 'padding', $direction, 'xs-' + $i, $value);
}
@include plain-ui__media-sm() {
@include spacing('p', 'padding', $direction, 'sm-' + $i, $value);
}
@include plain-ui__media-md() {
@include spacing('p', 'padding', $direction, 'md-' + $i, $value);
}
@include plain-ui__media-lg() {
@include spacing('p', 'padding', $direction, 'lg-' + $i, $value);
}
@include plain-ui__media-xlg() {
@include spacing('p', 'padding', $direction, 'xlg-' + $i, $value);
}
3 years ago
}
}