@ionic/core
Version:
Base components for Ionic
98 lines (86 loc) • 2.22 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
*/
--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: absolute;
align-items: center;
justify-content: center;
color: var(--ion-text-color, #000);
z-index: 1000; }
: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: 200px;
--max-height: 90%;
--box-shadow: none; }
.popover-content {
border-radius: 10px; }
.popover-arrow {
display: block;
position: absolute;
width: 20px;
height: 10px;
overflow: hidden; }
.popover-arrow::after {
left: 3px;
top: 3px;
border-radius: 3px;
position: absolute;
width: 14px;
height: 14px;
transform: rotate(45deg);
background: var(--background);
content: "";
z-index: 10; }
:host-context([dir=rtl]) .popover-arrow::after {
right: 3px; }
:host(.popover-bottom) .popover-arrow {
top: auto;
bottom: -10px; }
:host(.popover-bottom) .popover-arrow::after {
top: -6px; }
:host(.popover-translucent) .popover-content,
:host(.popover-translucent) .popover-arrow::after {
background: rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);
backdrop-filter: saturate(180%) blur(20px); }