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-size: var(--sl-font-size-large); line-height: var(--sl-line-height-dense); padding: var(--header-spacing); } .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; } `;