/** * Copyright Aquera Inc 2023 * * This source code is licensed under the BSD-3-Clause license found in the * LICENSE file in the root directory of this source tree. */ import { css } from 'lit'; /** * Drawer CSS */ export const styles = css` :host { box-sizing: border-box; --nile-drawer-remove-icon-color:var(--nile-colors-dark-900, var(--ng-componentcolors-alpha-black-100)); -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing)); -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing)); text-rendering: var(--nile-text-rendering, var(--ng-text-rendering)); } :host *, :host *::before, :host *::after { box-sizing: inherit; } [hidden] { display: none !important; } :host { --size: 25rem; --header-spacing: var(--nile-line-height-small, var(--ng-spacing-2xl)); --body-spacing: var(--nile-line-height-small, var(--ng-spacing-2xl)); --footer-spacing: var(--nile-line-height-small, var(--ng-spacing-2xl)); display: contents; } .drawer { top: 0; inset-inline-start: 0; width: 100%; height: 100%; pointer-events: none; overflow: hidden; } .drawer--contained { position: absolute; z-index: initial; } .drawer--fixed { position: fixed; z-index: 700; } .drawer__panel { position: absolute; display: flex; flex-direction: column; z-index: 2; max-width: 100%; max-height: 100%; background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary)); box-shadow: var(--nile-box-shadow-2, 0px 20px 24px -4px var(--ng-colors-effects-shadow-xl-01), 0px 8px 8px -4px var(--ng-colors-effects-shadow-xl-02), 0px 3px 3px -1.5px var(--ng-colors-effects-shadow-xl-03)); overflow: auto; pointer-events: all; } .drawer__panel:focus { outline: none; } .drawer--top .drawer__panel { top: 0; inset-inline-end: auto; bottom: auto; inset-inline-start: 0; width: 100%; height: var(--size); } .drawer--end .drawer__panel { top: 0; inset-inline-end: 0; bottom: auto; inset-inline-start: auto; width: var(--size); height: 100%; } .drawer--bottom .drawer__panel { top: auto; inset-inline-end: auto; bottom: 0; inset-inline-start: 0; width: 100%; height: var(--size); } .drawer--start .drawer__panel { top: 0; inset-inline-end: auto; bottom: auto; inset-inline-start: 0; width: var(--size); height: 100%; } .drawer__header { display: flex; } .drawer__title { flex: 1 1 auto; font-family: var(--nile-font-family-body, var(--ng-font-family-body)); font-size: var(--nile-font-size-rem-small, var(--ng-font-size-text-lg)); font-weight: inherit; line-height: 1.4; padding: var(--header-spacing); margin: 0; } .drawer__header-actions { flex-shrink: 0; display: flex; flex-wrap: wrap; justify-content: end; gap: 0.5rem; padding: 0 var(--header-spacing); } .drawer__header-actions nile-icon-button, .drawer__header-actions ::slotted(nile-icon-button) { flex: 0 0 auto; display: flex; align-items: center; font-size: var(--nile-type-scale-4, var(--ng-font-size-text-md)); } .drawer__body { flex: 1 1 auto; display: block; padding: var(--body-spacing); overflow: auto; -webkit-overflow-scrolling: touch; } .drawer__footer { text-align: right; padding: var(--footer-spacing, var(--ng-spacing-xl)) var(--footer-spacing, var(--ng-spacing-3xl)) var(--footer-spacing, var(--ng-spacing-xl)) var(--footer-spacing, var(--ng-spacing-3xl)); } .drawer__footer ::slotted(nile-button:not(:last-of-type)) { margin-inline-end: 0.5rem; } .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: hsl(240 3.8% 46.1% / 33%); pointer-events: all; } .drawer--contained .drawer__overlay { display: none; } .drawer__close:hover { cursor:pointer; } @media (forced-colors: active) { .drawer__panel { border: solid 1px var(--nile-colors-white-base, var(--ng-colors-border-tertiary)); } } `; export default [styles];