UNPKG

@vaadin/vaadin-lumo-styles

Version:

Lumo is a design system foundation for modern web applications, used by Vaadin components

132 lines (111 loc) 3.43 kB
/** * @license * Copyright (c) 2017 - 2026 Vaadin Ltd. * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/ */ @media lumo_mixins_overlay { :host { z-index: 200; position: fixed; /* Despite of what the names say, <vaadin-overlay> is just a container for position/sizing/alignment. The actual overlay is the overlay part. */ /* Use flexbox alignment for the overlay part. */ display: flex; flex-direction: column; /* makes dropdowns sizing easier */ /* Align to center by default. */ align-items: center; justify-content: center; /* Override native [popover] user agent styles */ width: auto; height: auto; border: none; padding: 0; background-color: transparent; overflow: visible; /* Allow centering when max-width/max-height applies. */ margin: auto; /* The host is not clickable, only the overlay part is. */ pointer-events: none; /* Remove tap highlight on touch devices. */ -webkit-tap-highlight-color: transparent; /* CSS API for host */ --vaadin-overlay-viewport-bottom: 0px; inset: var(--vaadin-overlay-viewport-inset, var(--lumo-space-m)); /* Workaround for Edge issue (only on Surface), where an overflowing vaadin-list-box inside vaadin-select-overlay makes the overlay transparent */ /* stylelint-disable-next-line */ outline: 0px solid transparent; } :host([hidden]), :host(:not([opened]):not([closing])), :host(:not([opened]):not([closing])) [part='overlay'] { display: none !important; } [part='overlay'] { overflow: auto; pointer-events: auto; /* Prevent overflowing the host */ max-width: 100%; box-sizing: border-box; -webkit-tap-highlight-color: initial; /* reenable tap highlight inside */ background-color: var(--lumo-base-color); background-image: linear-gradient(var(--lumo-tint-5pct), var(--lumo-tint-5pct)); border-radius: var(--lumo-border-radius-m); box-shadow: 0 0 0 1px var(--lumo-shade-5pct), var(--lumo-box-shadow-m); /* CSS reset for font styles */ color: var(--lumo-body-text-color); font-family: var(--lumo-font-family); font-size: var(--lumo-font-size-m); font-style: normal; font-weight: 400; font-variant: normal; line-height: var(--lumo-line-height-m); letter-spacing: 0; text-align: initial; text-decoration: none; text-indent: initial; text-transform: none; user-select: text; white-space: initial; word-spacing: initial; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } [part='backdrop'] { z-index: -1; content: ''; background: rgba(0, 0, 0, 0.5); position: fixed; inset: 0; pointer-events: auto; background-color: var(--lumo-shade-20pct); animation: 0.2s lumo-overlay-backdrop-enter both; will-change: opacity; } [part='content'] { padding: var(--lumo-space-xs); } @keyframes lumo-overlay-backdrop-enter { 0% { opacity: 0; } } :host([closing]) [part='backdrop'] { animation: 0.2s lumo-overlay-backdrop-exit both; } @keyframes lumo-overlay-backdrop-exit { 100% { opacity: 0; } } @keyframes lumo-overlay-dummy-animation { 0% { opacity: 1; } 100% { opacity: 1; } } }