bulma/sass/layout/media.scss
Jeremy Thomas 69877a652c Init v1
2024-03-21 16:11:54 +00:00

107 lines
2.8 KiB
SCSS

@use "../utilities/css-variables" as cv;
@use "../utilities/initial-variables" as iv;
@use "../utilities/extends";
@use "../utilities/mixins" as mx;
$media-border-color: hsla(
#{cv.getVar("scheme-h")},
#{cv.getVar("scheme-s")},
#{cv.getVar("border-l")},
0.5
) !default;
$media-border-size: 1px !default;
$media-spacing: 1rem !default;
$media-spacing-large: 1.5rem !default;
$media-content-spacing: 0.75rem !default;
$media-level-1-spacing: 0.75rem !default;
$media-level-1-content-spacing: 0.5rem !default;
$media-level-2-spacing: 0.5rem !default;
.#{iv.$class-prefix}media {
@extend %block;
@include cv.register-vars(
(
"media-border-color": #{$media-border-color},
"media-border-size": #{$media-border-size},
"media-spacing": #{$media-spacing},
"media-spacing-large": #{$media-spacing-large},
"media-content-spacing": #{$media-content-spacing},
"media-level-1-spacing": #{$media-level-1-spacing},
"media-level-1-content-spacing": #{$media-level-1-content-spacing},
"media-level-2-spacing": #{$media-level-2-spacing},
)
);
align-items: flex-start;
display: flex;
text-align: inherit;
.#{iv.$class-prefix}content:not(:last-child) {
margin-bottom: cv.getVar("media-content-spacing");
}
.#{iv.$class-prefix}media {
border-top-color: cv.getVar("media-border-color");
border-top-style: solid;
border-top-width: cv.getVar("media-border-size");
display: flex;
padding-top: cv.getVar("media-level-1-spacing");
.#{iv.$class-prefix}content:not(:last-child),
.#{iv.$class-prefix}control:not(:last-child) {
margin-bottom: cv.getVar("media-level-1-content-spacing");
}
.#{iv.$class-prefix}media {
padding-top: cv.getVar("media-level-2-spacing");
& + .#{iv.$class-prefix}media {
margin-top: cv.getVar("media-level-2-spacing");
}
}
}
& + .#{iv.$class-prefix}media {
border-top-color: cv.getVar("media-border-color");
border-top-style: solid;
border-top-width: cv.getVar("media-border-size");
margin-top: cv.getVar("media-spacing");
padding-top: cv.getVar("media-spacing");
}
// Sizes
&.#{iv.$class-prefix}is-large {
& + .#{iv.$class-prefix}media {
margin-top: cv.getVar("media-spacing-large");
padding-top: cv.getVar("media-spacing-large");
}
}
}
.#{iv.$class-prefix}media-left,
.#{iv.$class-prefix}media-right {
flex-basis: auto;
flex-grow: 0;
flex-shrink: 0;
}
.#{iv.$class-prefix}media-left {
margin-inline-end: cv.getVar("media-spacing");
}
.#{iv.$class-prefix}media-right {
margin-inline-start: cv.getVar("media-spacing");
}
.#{iv.$class-prefix}media-content {
flex-basis: auto;
flex-grow: 1;
flex-shrink: 1;
text-align: inherit;
}
@include mx.mobile {
.#{iv.$class-prefix}media-content {
overflow-x: auto;
}
}