@charset "UTF-8";
/**
 *
 * @Tips.css
 * @author xinxuzhang
 * @create 15-06-25
 *
**/

:root {
    --ui-tips-triangle-size: 6px; /* 底为 6*2，高为 6 */
    --ui-tips-bg: #373c42;
    --ui-tips-error-bg: linear-gradient(90deg, #ff8da2, #ec5b60);

}

.ui-tips[data-title],
[is-tips="css"][data-title] {
    text-indent: 0;
    position: relative;
    overflow: visible;
}

.ui-tips[data-title]::before,
.ui-tips[data-title]::after,
[is-tips="css"][data-title]::before,
[is-tips="css"][data-title]::after {
    position: absolute;
    left: 50%;
    -ms-pointer-events: none;
    pointer-events: none;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    visibility: hidden;
    content: attr(data-title);
    bottom: calc(100% + 6px);
    max-width: 250px;
    /* 四边都预留出三角形的位置 */
    padding: calc(6px + var(--ui-tips-triangle-size)) calc(10px + var(--ui-tips-triangle-size));

    line-height: 18px;
    background: var(--ui-tips-bg);
    text-align: left;
    color: var(--ui-white, #ffffff);
    font-size: calc(var(--ui-font, 14px) - 2px);
    font-style: normal;
    white-space: nowrap;
}

.ui-tips[data-title]::before,
[is-tips="css"][data-title]::before {
    /* 切割出框体，带 border-radius */
    clip-path: inset(
            var(--ui-tips-triangle-size)
            var(--ui-tips-triangle-size)
            var(--ui-tips-triangle-size)
            var(--ui-tips-triangle-size)
            round calc(var(--ui-radius, 4px) - 1px));
}

.ui-tips[data-title]::after,
[is-tips="css"][data-title]::after {
    /* 默认是在框体下方居中位置，多 1 像素避免缝隙 */
    clip-path: polygon(
            calc(50% - var(--ui-tips-triangle-size)) calc(100% - (var(--ui-tips-triangle-size) + 1px)),
            calc(50% + var(--ui-tips-triangle-size)) calc(100% - (var(--ui-tips-triangle-size) + 1px)),
            50% 100%
    );
}

.ui-tips[data-title]:hover::before,
.ui-tips[data-title]:hover::after,
.ui-tips[data-title]:focus::before,
.ui-tips[data-title]:focus::after,
[is-tips="css"][data-title]:hover::before,
[is-tips="css"][data-title]:hover::after,
[is-tips="css"][data-title]:focus::before,
[is-tips="css"][data-title]:focus::after {
    transition: visibility var(--ui-animate-time, .2s) var(--ui-animate-time, .2s);
    visibility: visible;
}

.ui-tips[data-title]:hover,
[is-tips="css"][data-title]:hover {
    outline: none;
}

/* 朝下的情况 */
.reverse.ui-tips[data-title]::before,
.reverse.ui-tips[data-title]::after,
.reverse[is-tips="css"][data-title]::before,
.reverse[is-tips="css"][data-title]::after {
    bottom: auto;
    top: calc(100% + 6px);
}

.reverse.ui-tips[data-title]::after,
.reverse[is-tips="css"][data-title]::after {
    clip-path: polygon(
            calc(50% - var(--ui-tips-triangle-size)) calc(0% + var(--ui-tips-triangle-size) + 1px),
            calc(50% + var(--ui-tips-triangle-size)) calc(0% + var(--ui-tips-triangle-size) + 1px),
            50% 0%
    );
}


/* JS生成的，和CSS定位样式不合并，保持独立 */
.ui-tips-x {
    position: absolute;
    width: fit-content;
    z-index: 99;
    margin-top: -6px;
    max-width: 20em;
    padding: calc(6px + var(--ui-tips-triangle-size)) calc(10px + var(--ui-tips-triangle-size));
    line-height: 18px;
    color: var(--ui-white, #fff);
    font-size: calc(var(--ui-font, 14px) - 2px);
    font-style: normal;
    text-align: left;
}
.ui-tips-x::before,
.ui-tips-x::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: var(--ui-tips-bg);
}
.ui-tips-x::before {
    z-index:-1;
    clip-path: inset(
            var(--ui-tips-triangle-size)
            var(--ui-tips-triangle-size)
            var(--ui-tips-triangle-size)
            var(--ui-tips-triangle-size)
            round calc(var(--ui-radius, 4px) - 1px));
}
.ui-tips-x::after {
    clip-path: polygon(
            calc(50% - var(--ui-tips-triangle-size)) calc(100% - (var(--ui-tips-triangle-size) + 1px)),
            calc(50% + var(--ui-tips-triangle-size)) calc(100% - (var(--ui-tips-triangle-size) + 1px)),
            50% 100%
    );}



@media (any-hover: none) {
    html {
        --hoverNone: 'true';
    }
}

/* 悬浮在左右侧的，限定最大宽度 */
.ui-tips-x[data-align="8-6"],
.ui-tips-x[data-align="6-8"] {
    max-width: 600px;
}


/* 悬浮在目标正下方，箭头在框体 50% 0 位置 */
.ui-tips-x[data-align="7-5"] {
    margin-top: 6px;
}

.ui-tips-x[data-align="7-5"]::after {
    clip-path: polygon(
            calc(50% - var(--ui-tips-triangle-size)) calc(0% + (var(--ui-tips-triangle-size) + 1px)),
            calc(50% + var(--ui-tips-triangle-size)) calc(0% + (var(--ui-tips-triangle-size) + 1px)),
            50% 0%
    );
}

/* 悬浮在目标左上，箭头在框体 100% -16px, 100% 位置 */
.ui-tips-x[data-align="2-3"] {
    margin-left: 12px;
    margin-top: -6px;
}

.ui-tips-x[data-align="2-3"]::after {
    clip-path: polygon(
            calc(100% - 16px) calc(100% - (var(--ui-tips-triangle-size) + 1px)),
            calc(100% - (16px + var(--ui-tips-triangle-size)*2)) calc(100% - (var(--ui-tips-triangle-size) + 1px)),
            calc(100% - (16px + var(--ui-tips-triangle-size))) 100%
    );
}

/* 悬浮在目标右上，箭头在框体 16px, 100% 位置 */
.ui-tips-x[data-align="1-4"] {
    margin-left: -12px;
    margin-top: -6px;
}
.ui-tips-x[data-align="1-4"]::after {
    clip-path: polygon(
            16px calc(100% - (var(--ui-tips-triangle-size) + 1px)),
            calc(16px + var(--ui-tips-triangle-size)*2) calc(100% - (var(--ui-tips-triangle-size) + 1px)),
            calc(16px + var(--ui-tips-triangle-size)) 100%
    );
}

/* 悬浮在目标左侧，箭头在框体 100%, 50% 位置 */
.ui-tips-x[data-align="8-6"] {
    margin-left: -6px;
    margin-top: 0;
}

.ui-tips-x[data-align="8-6"]::after {
    clip-path: polygon(
            calc(100% - (var(--ui-tips-triangle-size) + 1px)) calc(50% - var(--ui-tips-triangle-size)),
            calc(100% - (var(--ui-tips-triangle-size) + 1px)) calc(50% + var(--ui-tips-triangle-size)),
            100% 50%
    );
}
/* 悬浮在目标右侧，箭头在框体 0%, 50% 位置 */
.ui-tips-x[data-align="6-8"] {
    margin-left: 6px;
    margin-top: 0;
}

.ui-tips-x[data-align="6-8"]::after {
    clip-path: polygon(
            calc(0% + (var(--ui-tips-triangle-size) + 1px)) calc(50% - var(--ui-tips-triangle-size)),
            calc(0% + (var(--ui-tips-triangle-size) + 1px)) calc(50% + var(--ui-tips-triangle-size)),
            0% 50%
    );
}

/* 悬浮在目标左下侧，箭头在框体 100% - 16px, 0% 位置 */
.ui-tips-x[data-align="3-2"] {
    margin-left: 12px;
    margin-top: 6px;
}

.ui-tips-x[data-align="3-2"]::after {
    clip-path: polygon(
            calc(100% - 16px) calc(0% + (var(--ui-tips-triangle-size) + 1px)),
            calc(100% - (16px + var(--ui-tips-triangle-size)*2)) calc(0% + (var(--ui-tips-triangle-size) + 1px)),
            calc(100% - (16px + var(--ui-tips-triangle-size))) 0%
    );
}

/* 悬浮在目标右下侧，箭头在框体 16px, 0% 位置*/
.ui-tips-x[data-align="4-1"] {
    margin-left: -12px;
    margin-top: 6px;
}

.ui-tips-x[data-align="4-1"]::after {
    clip-path: polygon(
            16px calc(0% + (var(--ui-tips-triangle-size) + 1px)),
            calc(16px + var(--ui-tips-triangle-size)*2) calc(0% + (var(--ui-tips-triangle-size) + 1px)),
            calc(16px + var(--ui-tips-triangle-size)) 0%
    );
}


/* 错误提示的tips效果 */
.ui-tips-error:not(.none) {
    animation: fadeIn var(--ui-animate-time, .2s), fallDown var(--ui-animate-time, .2s);
}

.ui-tips-error.ui-tips-x::before,
.ui-tips-error.ui-tips-x::after {
    background: var(--ui-tips-error-bg);
    /*background-color: var(--ui-red, #eb4646);*/
}

