@ionic/core
Version:
Base components for Ionic
83 lines (76 loc) • 1.88 kB
CSS
: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;
}