UNPKG

@vaadin/dialog

Version:
182 lines (152 loc) 3.39 kB
/** * @license * Copyright (c) 2017 - 2025 Vaadin Ltd. * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/ */ import { css } from 'lit'; export const dialogOverlay = css` [part='header'], [part='header-content'], [part='footer'] { display: flex; align-items: center; flex-wrap: wrap; flex: none; pointer-events: none; z-index: 1; } [part='header'] { flex-wrap: nowrap; } ::slotted([slot='header-content']), ::slotted([slot='title']), ::slotted([slot='footer']) { display: contents; pointer-events: auto; } ::slotted([slot='title']) { font: inherit !important; overflow-wrap: anywhere; } [part='header-content'] { flex: 1; } :host([has-title]) [part='header-content'], [part='footer'] { justify-content: flex-end; } :host(:not([has-title]):not([has-header])) [part='header'], :host(:not([has-header])) [part='header-content'], :host(:not([has-title])) [part='title'], :host(:not([has-footer])) [part='footer'] { display: none !important; } :host(:is([has-title], [has-header], [has-footer])) [part='content'] { height: auto; } @media (min-height: 320px) { :host(:is([has-title], [has-header], [has-footer])) .resizer-container { overflow: hidden; display: flex; flex-direction: column; } :host(:is([has-title], [has-header], [has-footer])) [part='content'] { flex: 1; overflow: auto; } } /* NOTE(platosha): Make some min-width to prevent collapsing of the content taking the parent width, e. g., <vaadin-grid> and such. */ [part='content'] { min-width: 12em; /* matches the default <vaadin-text-field> width */ } :host([has-bounds-set]) [part='overlay'] { max-width: none; } @media (forced-colors: active) { [part='overlay'] { outline: 3px solid !important; } } `; export const resizableOverlay = css` [part='overlay'] { position: relative; overflow: visible; max-height: 100%; display: flex; } [part='content'] { box-sizing: border-box; height: 100%; } .resizer-container { overflow: auto; flex-grow: 1; border-radius: inherit; /* prevent child elements being drawn outside part=overlay */ } [part='overlay'][style] .resizer-container { min-height: 100%; width: 100%; } :host(:not([resizable])) .resizer { display: none; } :host([resizable]) [part='title'] { cursor: move; -webkit-user-select: none; user-select: none; } .resizer { position: absolute; height: 16px; width: 16px; } .resizer.edge { height: 8px; width: 8px; inset: -4px; } .resizer.edge.n { width: auto; bottom: auto; cursor: ns-resize; } .resizer.ne { top: -4px; right: -4px; cursor: nesw-resize; } .resizer.edge.e { height: auto; left: auto; cursor: ew-resize; } .resizer.se { bottom: -4px; right: -4px; cursor: nwse-resize; } .resizer.edge.s { width: auto; top: auto; cursor: ns-resize; } .resizer.sw { bottom: -4px; left: -4px; cursor: nesw-resize; } .resizer.edge.w { height: auto; right: auto; cursor: ew-resize; } .resizer.nw { top: -4px; left: -4px; cursor: nwse-resize; } `;