bulma/docs/_sass/docs/docs.scss
2024-09-18 12:28:20 +01:00

178 lines
3.3 KiB
SCSS

@use "sass/utilities/css-variables" as cv;
@use "sass/utilities/mixins" as mx;
.bd-docs {
--p: 2rem;
--scale: 1;
--menu-width: 16rem;
--menu-border: 2px;
border-top: 1px solid transparent;
border-top-color: hsl(
cv.getVar("scheme-h"),
cv.getVar("scheme-s"),
calc(#{cv.getVar("scheme-main-l")} + var(--border-offset))
);
position: relative;
}
.bd-docs-overlay {
@include mx.overlay;
background-color: rgba(black, 0.8);
opacity: 0;
pointer-events: none;
z-index: 10;
}
.bd-docs-menu {
background-color: hsl(
cv.getVar("scheme-h"),
cv.getVar("scheme-s"),
calc(#{cv.getVar("scheme-main-l")} + var(--background-offset))
);
z-index: 11;
}
.bd-docs-lead {
// container-name: docs-lead;
// container-type: inline-size;
display: flex;
flex-direction: column;
gap: var(--p);
overflow: hidden;
}
.bd-docs-button {
@include cv.register-vars(
(
"button-border-width": 0px,
)
);
background-color: cv.getVar("scheme-main-ter");
box-shadow: none;
color: cv.getVar("text-weak");
padding: 0 !important;
height: 2.5em;
width: 2.5em;
margin-left: -1.5rem;
margin-top: -1.5rem;
}
.bd-docs-content {
font-size: calc(1em * var(--scale));
position: relative;
}
@include mx.mobile {
.bd-docs {
padding: var(--p);
&.is-active {
.bd-docs-overlay {
opacity: 1;
pointer-events: auto;
}
.bd-docs-menu {
transform: translateX(100%);
}
}
}
.bd-docs-menu {
top: 0;
right: 100%;
position: absolute;
width: var(--menu-width);
transition-duration: cv.getVar("duration");
transition-property: transform;
}
}
@include mx.tablet {
.bd-docs {
--p: 3rem;
display: grid;
grid-template-columns: 16em 1fr;
}
.bd-docs-button,
.bd-docs-overlay {
display: none;
}
.bd-docs-lead {
padding: calc(2 * var(--p));
}
.bd-docs.is-fullwidth {
display: block;
padding: var(--p);
transition-duration: cv.getVar("duration");
transition-property: padding-left;
.bd-docs-button {
display: block;
margin: 0;
position: sticky;
z-index: 1;
top: 1.5rem;
margin-bottom: -2.5em; // equivalent to height
margin-left: calc(-0.5 * var(--p));
margin-top: calc(-0.5 * var(--p));
.fas {
transition-duration: cv.getVar("duration");
transition-property: transform;
}
}
.bd-docs-lead {
padding: 0;
}
.bd-docs-menu {
bottom: 0;
display: flex;
flex-direction: column;
top: 0;
right: calc(100% - var(--menu-border));
position: fixed;
padding-right: 10px;
width: calc(var(--menu-width) + var(--menu-border));
transition-duration: cv.getVar("duration");
transition-property: transform;
overflow-y: auto;
max-height: 100vh;
z-index: 10;
.bd-menu {
flex-grow: 1;
}
&:hover {
box-shadow: cv.getVar("shadow");
transform: translateX(var(--menu-width));
}
}
&.is-active {
padding-left: calc(var(--menu-width) + var(--p));
.bd-docs-button .fas {
transform: rotate(180deg);
}
.bd-docs-menu {
transform: translateX(100%);
}
}
}
}
@include mx.from(1400px) {
.bd-docs {
--scale: 1.125;
}
}