shoelace/src/components/drawer/drawer.styles.ts

145 wiersze
2.6 KiB
TypeScript

import { css } from 'lit';
import componentStyles from '~/styles/component.styles';
export default css`
${componentStyles}
:host {
--size: 25rem;
--header-spacing: var(--sl-spacing-large);
--body-spacing: var(--sl-spacing-large);
--footer-spacing: var(--sl-spacing-large);
display: contents;
}
.drawer {
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden;
}
.drawer--contained {
position: absolute;
z-index: initial;
}
.drawer--fixed {
position: fixed;
z-index: var(--sl-z-index-drawer);
}
.drawer__panel {
position: absolute;
display: flex;
flex-direction: column;
z-index: 2;
max-width: 100%;
max-height: 100%;
background-color: var(--sl-panel-background-color);
box-shadow: var(--sl-shadow-x-large);
transition: var(--sl-transition-medium) transform;
overflow: auto;
pointer-events: all;
}
.drawer__panel:focus {
outline: none;
}
.drawer--top .drawer__panel {
top: 0;
right: auto;
bottom: auto;
left: 0;
width: 100%;
height: var(--size);
}
.drawer--end .drawer__panel {
top: 0;
right: 0;
bottom: auto;
left: auto;
width: var(--size);
height: 100%;
}
.drawer--bottom .drawer__panel {
top: auto;
right: auto;
bottom: 0;
left: 0;
width: 100%;
height: var(--size);
}
.drawer--start .drawer__panel {
top: 0;
right: auto;
bottom: auto;
left: 0;
width: var(--size);
height: 100%;
}
.drawer__header {
display: flex;
}
.drawer__title {
flex: 1 1 auto;
font: inherit;
font-size: var(--sl-font-size-large);
line-height: var(--sl-line-height-dense);
padding: var(--header-spacing);
margin: 0;
}
.drawer__close {
flex: 0 0 auto;
display: flex;
align-items: center;
font-size: var(--sl-font-size-x-large);
padding: 0 var(--header-spacing);
}
.drawer__body {
flex: 1 1 auto;
padding: var(--body-spacing);
overflow: auto;
-webkit-overflow-scrolling: touch;
}
.drawer__footer {
text-align: right;
padding: var(--footer-spacing);
}
.drawer__footer ::slotted(sl-button:not(:last-of-type)) {
margin-right: var(--sl-spacing-x-small);
}
.drawer:not(.drawer--has-footer) .drawer__footer {
display: none;
}
.drawer__overlay {
display: block;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: var(--sl-overlay-background-color);
pointer-events: all;
}
.drawer--contained .drawer__overlay {
position: absolute;
}
`;