.popover {
$arrow-size: 12;
z-index: 1000000;
background: var(--background);
border: sp(1) solid var(--color-border);
box-shadow: 0 sp(8) sp(24) var(--color-shadow);
padding: sp(14);
border-radius: sp($border-radius);
display: none;
&[data-show] {
display: block;
}
.arrow,
.arrow::before {
position: absolute;
width: sp($arrow-size);
height: sp($arrow-size);
z-index: -1;
box-sizing: border-box;
}
.arrow::before {
background: var(--background);
content: '';
transform: rotate(45deg);
}
&[data-popper-placement^='top'] > .arrow {
bottom: sp(-$arrow-size / 2);
&::before {
border-right: sp(1) solid var(--color-border);
border-bottom: sp(1) solid var(--color-border);
border-radius: 0 0 sp($border-radius / 2) 0;
}
}
&[data-popper-placement^='bottom'] > .arrow {
top: sp(-$arrow-size / 2);
&::before {
border-left: sp(1) solid var(--color-border);
border-top: sp(1) solid var(--color-border);
border-radius: sp($border-radius / 2) 0 0 0;
}
}
&[data-popper-placement^='left'] > .arrow {
right: sp(-$arrow-size / 2);
&::before {
border-top: sp(1) solid var(--color-border);
border-right: sp(1) solid var(--color-border);
border-radius: 0 sp($border-radius / 2) 0 0;
}
}
&[data-popper-placement^='right'] > .arrow {
left: sp(-$arrow-size / 2);
&::before {
border-bottom: sp(1) solid var(--color-border);
border-left: sp(1) solid var(--color-border);
border-radius: 0 0 0 sp($border-radius / 2);
}
}
}