2019-11-27 15:31:49 +07:00
|
|
|
/**
|
2022-03-15 16:16:08 +08:00
|
|
|
* Tooltip ([data-tooltip])
|
|
|
|
*/
|
2019-11-27 15:31:49 +07:00
|
|
|
|
2020-09-30 11:23:26 +07:00
|
|
|
[data-tooltip] {
|
|
|
|
position: relative;
|
|
|
|
|
2022-09-11 18:30:49 +07:00
|
|
|
&:not(a, button, input) {
|
2020-09-30 11:23:26 +07:00
|
|
|
border-bottom: 1px dotted;
|
|
|
|
text-decoration: none;
|
|
|
|
cursor: help;
|
|
|
|
}
|
|
|
|
|
2022-09-11 14:59:43 +07:00
|
|
|
&[data-placement="top"]::before,
|
|
|
|
&[data-placement="top"]::after,
|
2020-09-30 11:23:26 +07:00
|
|
|
&::before,
|
|
|
|
&::after {
|
|
|
|
display: block;
|
|
|
|
z-index: 99;
|
|
|
|
position: absolute;
|
|
|
|
bottom: 100%;
|
|
|
|
left: 50%;
|
|
|
|
padding: .25rem .5rem;
|
|
|
|
overflow: hidden;
|
|
|
|
transform: translate(-50%, -.25rem);
|
2021-07-02 16:54:41 +07:00
|
|
|
border-radius: var(--border-radius);
|
|
|
|
background: var(--tooltip-background-color);
|
2021-12-19 09:50:55 +07:00
|
|
|
content: attr(data-tooltip);
|
2021-07-02 16:54:41 +07:00
|
|
|
color: var(--tooltip-color);
|
2020-09-30 11:23:26 +07:00
|
|
|
font-style: normal;
|
2021-07-02 16:54:41 +07:00
|
|
|
font-weight: var(--font-weight);
|
2021-12-19 09:50:55 +07:00
|
|
|
font-size: .875rem;
|
2020-09-30 11:23:26 +07:00
|
|
|
text-decoration: none;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
white-space: nowrap;
|
|
|
|
opacity: 0;
|
|
|
|
pointer-events: none;
|
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
2020-09-30 11:23:26 +07:00
|
|
|
// Caret
|
2022-09-11 14:59:43 +07:00
|
|
|
&[data-placement="top"]::after,
|
2020-09-30 11:23:26 +07:00
|
|
|
&::after {
|
|
|
|
padding: 0;
|
|
|
|
transform: translate(-50%, 0rem);
|
|
|
|
border-top: .3rem solid;
|
|
|
|
border-right: .3rem solid transparent;
|
|
|
|
border-left: .3rem solid transparent;
|
|
|
|
border-radius: 0;
|
|
|
|
background-color: transparent;
|
2022-02-27 22:43:15 +07:00
|
|
|
content: "";
|
2021-12-19 09:50:55 +07:00
|
|
|
color: var(--tooltip-background-color);
|
2020-09-30 11:23:26 +07:00
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
|
|
|
&[data-placement="bottom"] {
|
2022-03-15 15:48:05 +08:00
|
|
|
&::before,
|
|
|
|
&::after {
|
|
|
|
top: 100%;
|
|
|
|
bottom: auto;
|
|
|
|
transform: translate(-50%, .25rem);
|
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
2022-03-15 15:48:05 +08:00
|
|
|
&:after{
|
|
|
|
transform: translate(-50%, -.3rem);
|
|
|
|
border: .3rem solid transparent;
|
|
|
|
border-bottom: .3rem solid;
|
|
|
|
}
|
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
|
|
|
&[data-placement="left"] {
|
2022-03-15 15:48:05 +08:00
|
|
|
&::before,
|
|
|
|
&::after {
|
|
|
|
top: 50%;
|
|
|
|
right: 100%;
|
|
|
|
bottom: auto;
|
|
|
|
left: auto;
|
|
|
|
transform: translate(-.25rem, -50%);
|
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
2022-03-15 15:48:05 +08:00
|
|
|
&:after{
|
|
|
|
transform: translate(.3rem, -50%);
|
|
|
|
border: .3rem solid transparent;
|
|
|
|
border-left: .3rem solid;
|
|
|
|
}
|
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
|
|
|
&[data-placement="right"] {
|
2022-03-15 15:48:05 +08:00
|
|
|
&::before,
|
|
|
|
&::after {
|
|
|
|
top: 50%;
|
|
|
|
right: auto;
|
|
|
|
bottom: auto;
|
|
|
|
left: 100%;
|
|
|
|
transform: translate(.25rem, -50%);
|
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
2022-03-15 15:48:05 +08:00
|
|
|
&:after{
|
|
|
|
transform: translate(-.3rem, -50%);
|
|
|
|
border: .3rem solid transparent;
|
|
|
|
border-right: .3rem solid;
|
|
|
|
}
|
|
|
|
}
|
2020-09-30 11:23:26 +07:00
|
|
|
|
2021-12-19 09:50:55 +07:00
|
|
|
// Display
|
2020-09-30 11:23:26 +07:00
|
|
|
&:focus,
|
|
|
|
&:hover {
|
|
|
|
&::before,
|
|
|
|
&::after {
|
|
|
|
opacity: 1;
|
2021-11-08 00:12:34 +07:00
|
|
|
}
|
2021-12-19 09:50:55 +07:00
|
|
|
}
|
2021-11-08 00:03:24 +07:00
|
|
|
|
2022-09-11 14:59:43 +07:00
|
|
|
|
2021-12-19 09:50:55 +07:00
|
|
|
@if $enable-transitions {
|
2022-09-11 14:59:43 +07:00
|
|
|
|
|
|
|
// Animations, excluding touch devices
|
2021-12-19 09:50:55 +07:00
|
|
|
@media (hover: hover) and (pointer: fine) {
|
2022-09-11 14:59:43 +07:00
|
|
|
&[data-placement="bottom"]:focus,
|
|
|
|
&[data-placement="bottom"]:hover
|
2021-12-19 09:50:55 +07:00
|
|
|
&:focus,
|
|
|
|
&:hover {
|
|
|
|
&::before,
|
|
|
|
&::after {
|
|
|
|
animation-duration: .2s;
|
2022-06-21 17:23:16 +08:00
|
|
|
animation-name: tooltip-slide-top;
|
2021-12-19 09:50:55 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
&::after {
|
2022-06-21 17:23:16 +08:00
|
|
|
animation-name: tooltip-caret-slide-top;
|
2022-03-15 15:48:05 +08:00
|
|
|
}
|
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
|
|
|
&[data-placement="bottom"] {
|
2022-03-15 15:48:05 +08:00
|
|
|
&:focus,
|
|
|
|
&:hover {
|
|
|
|
&::before,
|
|
|
|
&::after {
|
|
|
|
animation-duration: .2s;
|
2022-06-21 17:23:16 +08:00
|
|
|
animation-name: tooltip-slide-bottom;
|
2022-03-15 15:48:05 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
&::after {
|
2022-06-21 17:23:16 +08:00
|
|
|
animation-name: tooltip-caret-slide-bottom;
|
2022-03-15 15:48:05 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
|
|
|
&[data-placement="left"] {
|
2022-03-15 15:48:05 +08:00
|
|
|
&:focus,
|
|
|
|
&:hover {
|
|
|
|
&::before,
|
|
|
|
&::after {
|
|
|
|
animation-duration: .2s;
|
2022-06-21 17:23:16 +08:00
|
|
|
animation-name: tooltip-slide-left;
|
2022-03-15 15:48:05 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
&::after {
|
2022-06-21 17:23:16 +08:00
|
|
|
animation-name: tooltip-caret-slide-left;
|
2022-03-15 15:48:05 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
|
|
|
&[data-placement="right"] {
|
2022-03-15 15:48:05 +08:00
|
|
|
&:focus,
|
|
|
|
&:hover {
|
|
|
|
&::before,
|
|
|
|
&::after {
|
|
|
|
animation-duration: .2s;
|
2022-06-21 17:23:16 +08:00
|
|
|
animation-name: tooltip-slide-right;
|
2022-03-15 15:48:05 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
&::after {
|
2022-06-21 17:23:16 +08:00
|
|
|
animation-name: tooltip-caret-slide-right;
|
2022-03-15 15:48:05 +08:00
|
|
|
}
|
2021-12-19 09:50:55 +07:00
|
|
|
}
|
2020-09-30 11:23:26 +07:00
|
|
|
}
|
|
|
|
}
|
2022-03-15 15:48:05 +08:00
|
|
|
|
2022-09-11 14:59:43 +07:00
|
|
|
@keyframes tooltip-slide-top {
|
|
|
|
from {
|
|
|
|
transform: translate(-50%, .75rem);
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
to {
|
|
|
|
transform: translate(-50%, -.25rem);
|
|
|
|
opacity: 1;
|
|
|
|
}
|
2022-03-15 15:48:05 +08:00
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
|
|
|
@keyframes tooltip-caret-slide-top {
|
|
|
|
from {
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
50% {
|
|
|
|
transform: translate(-50%, -.25rem);
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
to {
|
|
|
|
transform: translate(-50%, 0rem);
|
|
|
|
opacity: 1;
|
|
|
|
}
|
2022-03-15 15:48:05 +08:00
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
|
|
|
@keyframes tooltip-slide-bottom {
|
|
|
|
from {
|
|
|
|
transform: translate(-50%, -.75rem);
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
to {
|
|
|
|
transform: translate(-50%, .25rem);
|
|
|
|
opacity: 1;
|
|
|
|
}
|
2022-03-15 15:48:05 +08:00
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
|
|
|
@keyframes tooltip-caret-slide-bottom {
|
|
|
|
from {
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
50% {
|
|
|
|
transform: translate(-50%, -.5rem);
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
to {
|
|
|
|
transform: translate(-50%, -.3rem);
|
|
|
|
opacity: 1;
|
|
|
|
}
|
2022-03-15 15:48:05 +08:00
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
|
|
|
@keyframes tooltip-slide-left {
|
|
|
|
from {
|
|
|
|
transform: translate(.75rem, -50%);
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
to {
|
|
|
|
transform: translate(-.25rem, -50%);
|
|
|
|
opacity: 1;
|
|
|
|
}
|
2022-03-15 15:48:05 +08:00
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
|
|
|
@keyframes tooltip-caret-slide-left {
|
|
|
|
from {
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
50% {
|
|
|
|
transform: translate(.05rem, -50%);
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
to {
|
|
|
|
transform: translate(.3rem, -50%);
|
|
|
|
opacity: 1;
|
|
|
|
}
|
2022-03-15 15:48:05 +08:00
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
|
|
|
@keyframes tooltip-slide-right {
|
|
|
|
from {
|
|
|
|
transform: translate(-.75rem, -50%);
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
to {
|
|
|
|
transform: translate(.25rem, -50%);
|
|
|
|
opacity: 1;
|
|
|
|
}
|
2022-03-15 15:48:05 +08:00
|
|
|
}
|
2022-09-11 14:59:43 +07:00
|
|
|
|
|
|
|
@keyframes tooltip-caret-slide-right {
|
|
|
|
from {
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
50% {
|
|
|
|
transform: translate(-.05rem, -50%);
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
to {
|
|
|
|
transform: translate(-.3rem, -50%);
|
|
|
|
opacity: 1;
|
|
|
|
}
|
2022-03-15 15:48:05 +08:00
|
|
|
}
|
|
|
|
}
|
2022-10-15 17:23:02 +07:00
|
|
|
}
|