UNPKG

@ionic/core

Version:

Base components for Ionic

83 lines (76 loc) • 1.88 kB
:host { /** * @prop --background: Background of the popover * @prop --box-shadow: Box shadow of the popover * * @prop --min-width: Minimum width of the popover * @prop --width: Width of the popover * @prop --max-width: Maximum width of the popover * * @prop --min-height: Minimum height of the popover * @prop --height: Height of the popover * @prop --max-height: Maximum height of the popover * * @prop --backdrop-opacity: Opacity of the backdrop */ --background: var(--ion-background-color, #fff); --min-width: 0; --min-height: 0; --max-width: auto; --height: auto; left: 0; right: 0; top: 0; bottom: 0; display: flex; position: fixed; align-items: center; justify-content: center; outline: none; color: var(--ion-text-color, #000); z-index: 1001; } :host(.overlay-hidden) { display: none; } .popover-wrapper { opacity: 0; z-index: 10; } .popover-content { display: flex; position: absolute; flex-direction: column; width: var(--width); min-width: var(--min-width); max-width: var(--max-width); height: var(--height); min-height: var(--min-height); max-height: var(--max-height); background: var(--background); box-shadow: var(--box-shadow); overflow: auto; z-index: 10; } .popover-viewport { --ion-safe-area-top: 0px; --ion-safe-area-right: 0px; --ion-safe-area-bottom: 0px; --ion-safe-area-left: 0px; } :host { --width: 250px; --max-height: 90%; --box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); --backdrop-opacity: var(--ion-backdrop-opacity, 0.32); } .popover-content { border-radius: 4px; transform-origin: left top; } [dir=rtl] .popover-content, :host-context([dir=rtl]) .popover-content { transform-origin: right top; } .popover-viewport { transition-delay: 100ms; }