web-apps/vendor/bootstrap/less/_popover.less
2020-05-21 19:29:40 +03:00

176 lines
4.8 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.popover {
position: absolute;
top: 0;
left: 0;
z-index: @zindex-popover;
display: block;
max-width: @popover-max-width;
// Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
// So reset our font and text properties to avoid inheriting weird values.
#reset-text();
#font-size(@popover-font-size);
// Allow breaking very long words so they don't overflow the popover's bounds
word-wrap: break-word;
background-color: @popover-bg;
background-clip: padding-box;
border: @popover-border-width solid @popover-border-color;
#border-radius(@popover-border-radius);
#box-shadow(@popover-box-shadow);
.arrow {
position: absolute;
display: block;
width: @popover-arrow-width;
height: @popover-arrow-height;
margin: 0 @popover-border-radius;
&::before,
&::after {
position: absolute;
display: block;
content: "";
border-color: transparent;
border-style: solid;
}
}
}
.bs-popover-top {
margin-bottom: @popover-arrow-height;
> .arrow {
//bottom: calc((@popover-arrow-height + @popover-border-width) * -1);
bottom: subtract(-@popover-arrow-height, @popover-border-width);
&::before {
bottom: 0;
border-width: @popover-arrow-height (@popover-arrow-width / 2) 0;
border-top-color: @popover-arrow-outer-color;
}
&::after {
bottom: @popover-border-width;
border-width: @popover-arrow-height (@popover-arrow-width / 2) 0;
border-top-color: @popover-arrow-color;
}
}
}
.bs-popover-right {
margin-left: @popover-arrow-height;
> .arrow {
//left: calc((@popover-arrow-height + @popover-border-width) * -1);
left: subtract(-@popover-arrow-height, @popover-border-width);
width: @popover-arrow-height;
height: @popover-arrow-width;
margin: @popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners
&::before {
left: 0;
border-width: (@popover-arrow-width / 2) @popover-arrow-height (@popover-arrow-width / 2) 0;
border-right-color: @popover-arrow-outer-color;
}
&::after {
left: @popover-border-width;
border-width: (@popover-arrow-width / 2) @popover-arrow-height (@popover-arrow-width / 2) 0;
border-right-color: @popover-arrow-color;
}
}
}
.bs-popover-bottom {
margin-top: @popover-arrow-height;
> .arrow {
//top: calc((@popover-arrow-height + @popover-border-width) * -1);
top: subtract(-@popover-arrow-height, @popover-border-width);
&::before {
top: 0;
border-width: 0 (@popover-arrow-width / 2) @popover-arrow-height (@popover-arrow-width / 2);
border-bottom-color: @popover-arrow-outer-color;
}
&::after {
top: @popover-border-width;
border-width: 0 (@popover-arrow-width / 2) @popover-arrow-height (@popover-arrow-width / 2);
border-bottom-color: @popover-arrow-color;
}
}
// This will remove the popover-header's border just below the arrow
.popover-header::before {
position: absolute;
top: 0;
left: 50%;
display: block;
width: @popover-arrow-width;
margin-left: (-@popover-arrow-width / 2);
content: "";
border-bottom: @popover-border-width solid @popover-header-bg;
}
}
.bs-popover-left {
margin-right: @popover-arrow-height;
> .arrow {
//right: calc((@popover-arrow-height + @popover-border-width) * -1);
right: subtract(-@popover-arrow-height, @popover-border-width);
width: @popover-arrow-height;
height: @popover-arrow-width;
margin: @popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners
&::before {
right: 0;
border-width: (@popover-arrow-width / 2) 0 (@popover-arrow-width / 2) @popover-arrow-height;
border-left-color: @popover-arrow-outer-color;
}
&::after {
right: @popover-border-width;
border-width: (@popover-arrow-width / 2) 0 (@popover-arrow-width / 2) @popover-arrow-height;
border-left-color: @popover-arrow-color;
}
}
}
.bs-popover-auto {
&[x-placement^="top"] {
&:extend(.bs-popover-top all);
}
&[x-placement^="right"] {
&:extend(.bs-popover-right all);
}
&[x-placement^="bottom"] {
&:extend(.bs-popover-bottom all);
}
&[x-placement^="left"] {
&:extend(.bs-popover-left all);
}
}
// Offset the popover to account for the popover arrow
.popover-header {
padding: @popover-header-padding-y @popover-header-padding-x;
margin-bottom: 0; // Reset the default from Reboot
#font-size(@font-size-base);
// LESS PORT: Less doesnt strip “empty” property values so we have to check for a value first.
& when not (@popover-header-color = ~"") { color: @popover-header-color; }
background-color: @popover-header-bg;
border-bottom: @popover-border-width solid darken(@popover-header-bg, 5%);
#border-top-radius(@popover-inner-border-radius);
&:empty {
display: none;
}
}
.popover-body {
padding: @popover-body-padding-y @popover-body-padding-x;
color: @popover-body-color;
}