mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-03-11 18:36:03 +00:00
319 lines
7.7 KiB
SCSS
319 lines
7.7 KiB
SCSS
@charset "UTF-8";
|
|
|
|
// balloon mixins
|
|
// --------------------------------------------------
|
|
|
|
@mixin balloon-bounding($border-style) {
|
|
position: absolute;
|
|
max-width: $balloon-size-max-width;
|
|
border-style: $border-style;
|
|
border-radius: $balloon-corner;
|
|
}
|
|
|
|
@mixin balloon-state(
|
|
$contentColor,
|
|
$colorBorder,
|
|
$colorBg,
|
|
$shadow,
|
|
$widthBorder
|
|
) {
|
|
color: $contentColor;
|
|
border-color: $colorBorder;
|
|
background-color: $colorBg;
|
|
box-shadow: $shadow;
|
|
border-width: $widthBorder;
|
|
}
|
|
|
|
@mixin balloon-size(
|
|
$padding-top,
|
|
$padding-right,
|
|
$padding-bottom,
|
|
$padding-left
|
|
) {
|
|
padding: $padding-top $padding-right $padding-bottom $padding-left;
|
|
}
|
|
|
|
@mixin balloon-arrow(
|
|
$width,
|
|
$height,
|
|
$colorBorder,
|
|
$colorBg,
|
|
$shadow,
|
|
$widthBorder,
|
|
$arrorExpose
|
|
) {
|
|
$shadow-top: $balloon-shadow-top;
|
|
$shadow-right: $balloon-shadow-right;
|
|
$shadow-bottom: $balloon-shadow-bottom;
|
|
$shadow-left: $balloon-shadow-left;
|
|
|
|
@if $shadow == $shadow-zero {
|
|
$shadow-top: null;
|
|
$shadow-right: null;
|
|
$shadow-bottom: null;
|
|
$shadow-left: null;
|
|
}
|
|
&:after {
|
|
position: absolute;
|
|
width: $height;
|
|
height: $height;
|
|
content: '';
|
|
transform: rotate(45deg);
|
|
box-sizing: content-box !important;
|
|
border: $widthBorder $balloon-border-style $colorBorder;
|
|
background-color: $colorBg;
|
|
z-index: -1;
|
|
}
|
|
&.#{$css-prefix}balloon-top:after {
|
|
top: $arrorExpose;
|
|
left: calc(50% + #{$arrorExpose});
|
|
border-right: none;
|
|
border-bottom: none;
|
|
box-shadow: $shadow-top;
|
|
}
|
|
&.#{$css-prefix}balloon-right:after {
|
|
top: calc(50% + #{$arrorExpose});
|
|
right: $arrorExpose;
|
|
border-left: none;
|
|
border-bottom: none;
|
|
box-shadow: $shadow-right;
|
|
}
|
|
&.#{$css-prefix}balloon-bottom:after {
|
|
bottom: $arrorExpose;
|
|
left: calc(50% + #{$arrorExpose});
|
|
border-top: none;
|
|
border-left: none;
|
|
box-shadow: $shadow-bottom;
|
|
}
|
|
&.#{$css-prefix}balloon-left:after {
|
|
top: calc(50% + #{$arrorExpose});
|
|
left: $arrorExpose;
|
|
border-top: none;
|
|
border-right: none;
|
|
box-shadow: $shadow-left;
|
|
}
|
|
&.#{$css-prefix}balloon-left-top:after {
|
|
top: $balloon-size-arrow-margin;
|
|
left: $arrorExpose;
|
|
border-top: none;
|
|
border-right: none;
|
|
box-shadow: $shadow-left;
|
|
}
|
|
&.#{$css-prefix}balloon-left-bottom:after {
|
|
bottom: $balloon-size-arrow-margin;
|
|
left: $arrorExpose;
|
|
border-top: none;
|
|
border-right: none;
|
|
box-shadow: $shadow-left;
|
|
}
|
|
|
|
&.#{$css-prefix}balloon-right-top:after {
|
|
top: $balloon-size-arrow-margin;
|
|
right: $arrorExpose;
|
|
border-bottom: none;
|
|
border-left: none;
|
|
box-shadow: $shadow-right;
|
|
}
|
|
|
|
&.#{$css-prefix}balloon-right-bottom:after {
|
|
right: $arrorExpose;
|
|
bottom: $balloon-size-arrow-margin;
|
|
border-bottom: none;
|
|
border-left: none;
|
|
box-shadow: $shadow-right;
|
|
}
|
|
|
|
&.#{$css-prefix}balloon-top-left:after {
|
|
top: $arrorExpose;
|
|
left: $balloon-size-arrow-margin;
|
|
border-right: none;
|
|
border-bottom: none;
|
|
box-shadow: $shadow-top;
|
|
}
|
|
|
|
&.#{$css-prefix}balloon-top-right:after {
|
|
top: $arrorExpose;
|
|
right: $balloon-size-arrow-margin;
|
|
border-right: none;
|
|
border-bottom: none;
|
|
box-shadow: $shadow-top;
|
|
}
|
|
|
|
&.#{$css-prefix}balloon-bottom-left:after {
|
|
bottom: $arrorExpose;
|
|
left: $balloon-size-arrow-margin;
|
|
border-top: none;
|
|
border-left: none;
|
|
box-shadow: $shadow-bottom;
|
|
}
|
|
|
|
&.#{$css-prefix}balloon-bottom-right:after {
|
|
right: $balloon-size-arrow-margin;
|
|
bottom: $arrorExpose;
|
|
border-top: none;
|
|
border-left: none;
|
|
box-shadow: $shadow-bottom;
|
|
}
|
|
}
|
|
|
|
@mixin balloon-close(
|
|
$top,
|
|
$right,
|
|
$iconSize,
|
|
$colorClose,
|
|
$colorCloseHover
|
|
) {
|
|
.#{$css-prefix}balloon-close {
|
|
position: absolute;
|
|
top: $top;
|
|
right: $right;
|
|
font-size: $iconSize;
|
|
cursor: pointer;
|
|
|
|
.#{$css-prefix}icon {
|
|
@include icon-square-size($iconSize);
|
|
}
|
|
color: $colorClose;
|
|
:hover {
|
|
color: $colorCloseHover;
|
|
}
|
|
}
|
|
}
|
|
|
|
@mixin show-hidden() {
|
|
&.visible {
|
|
display: block;
|
|
}
|
|
&.hidden {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
@mixin tooltip-state(
|
|
$contentColor,
|
|
$colorBorder,
|
|
$colorBg,
|
|
$shadow,
|
|
$widthBorder
|
|
) {
|
|
color: $contentColor;
|
|
border-color: $colorBorder;
|
|
background-color: $colorBg;
|
|
box-shadow: $shadow;
|
|
border-width: $widthBorder;
|
|
}
|
|
|
|
@mixin tooltip-arrow(
|
|
$width,
|
|
$height,
|
|
$colorBorder,
|
|
$colorBg
|
|
) {
|
|
|
|
$shadow-top: null;
|
|
$shadow-right: null;
|
|
$shadow-bottom: null;
|
|
$shadow-left: null;
|
|
&:after {
|
|
position: absolute;
|
|
width: $width;
|
|
height: $height;
|
|
content: '';
|
|
transform: rotate(45deg);
|
|
box-sizing: content-box !important;
|
|
border: $balloon-tooltip-border-width $balloon-tooltip-border-style $colorBorder;
|
|
background-color: $colorBg;
|
|
z-index: -1;
|
|
}
|
|
&-top:after {
|
|
top: $balloon-size-arrow-expose;
|
|
left: calc(50% + #{$balloon-size-arrow-expose});
|
|
border-right: none;
|
|
border-bottom: none;
|
|
box-shadow: $shadow-top;
|
|
}
|
|
&-right:after {
|
|
top: calc(50% + #{$balloon-size-arrow-expose});
|
|
right: $balloon-size-arrow-expose;
|
|
border-left: none;
|
|
border-bottom: none;
|
|
box-shadow: $shadow-right;
|
|
}
|
|
&-bottom:after {
|
|
bottom: $balloon-size-arrow-expose;
|
|
left: calc(50% + #{$balloon-size-arrow-expose});
|
|
border-top: none;
|
|
border-left: none;
|
|
box-shadow: $shadow-bottom;
|
|
}
|
|
&-left:after {
|
|
top: calc(50% + #{$balloon-size-arrow-expose});
|
|
left: $balloon-size-arrow-expose;
|
|
border-top: none;
|
|
border-right: none;
|
|
box-shadow: $shadow-left;
|
|
}
|
|
&-left-top:after {
|
|
top: $balloon-size-arrow-margin;
|
|
left: $balloon-size-arrow-expose;
|
|
border-top: none;
|
|
border-right: none;
|
|
box-shadow: $shadow-left;
|
|
}
|
|
&-left-bottom:after {
|
|
bottom: $balloon-size-arrow-margin;
|
|
left: $balloon-size-arrow-expose;
|
|
border-top: none;
|
|
border-right: none;
|
|
box-shadow: $shadow-left;
|
|
}
|
|
|
|
&-right-top:after {
|
|
top: $balloon-size-arrow-margin;
|
|
right: $balloon-size-arrow-expose;
|
|
border-bottom: none;
|
|
border-left: none;
|
|
box-shadow: $shadow-right;
|
|
}
|
|
|
|
&-right-bottom:after {
|
|
right: $balloon-size-arrow-expose;
|
|
bottom: $balloon-size-arrow-margin;
|
|
border-bottom: none;
|
|
border-left: none;
|
|
box-shadow: $shadow-right;
|
|
}
|
|
|
|
&-top-left:after {
|
|
top: $balloon-size-arrow-expose;
|
|
left: $balloon-size-arrow-margin;
|
|
border-right: none;
|
|
border-bottom: none;
|
|
box-shadow: $shadow-top;
|
|
}
|
|
|
|
&-top-right:after {
|
|
top: $balloon-size-arrow-expose;
|
|
right: $balloon-size-arrow-margin;
|
|
border-right: none;
|
|
border-bottom: none;
|
|
box-shadow: $shadow-top;
|
|
}
|
|
|
|
&-bottom-left:after {
|
|
bottom: $balloon-size-arrow-expose;
|
|
left: $balloon-size-arrow-margin;
|
|
border-top: none;
|
|
border-left: none;
|
|
box-shadow: $shadow-bottom;
|
|
}
|
|
|
|
&-bottom-right:after {
|
|
right: $balloon-size-arrow-margin;
|
|
bottom: $balloon-size-arrow-expose;
|
|
border-top: none;
|
|
border-left: none;
|
|
box-shadow: $shadow-bottom;
|
|
}
|
|
}
|