@use 'mixins/mixins' as *;
|
@use 'mixins/var' as *;
|
@use 'common/var' as *;
|
|
@include b(tooltip-v2) {
|
@include e(content) {
|
--#{$namespace}-tooltip-v2-padding: 5px 10px;
|
--#{$namespace}-tooltip-v2-border-radius: 4px;
|
|
@include css-var-from-global(
|
('tooltip-v2', 'border-color'),
|
('border-color')
|
);
|
|
border-radius: getCssVar('tooltip-v2-border-radius');
|
color: getCssVar('color-black');
|
background-color: getCssVar('color-white');
|
padding: getCssVar('tooltip-v2-padding');
|
border: 1px solid getCssVar('border-color');
|
|
$content-selector: &;
|
|
$sides: (
|
'top': 'bottom',
|
'bottom': 'top',
|
'left': 'right',
|
'right': 'left',
|
);
|
|
@include e(arrow) {
|
position: absolute;
|
color: getCssVar('color-white');
|
width: var(--#{$namespace}-tooltip-v2-arrow-width);
|
height: var(--#{$namespace}-tooltip-v2-arrow-height);
|
pointer-events: none;
|
left: var(--#{$namespace}-tooltip-v2-arrow-x);
|
top: var(--#{$namespace}-tooltip-v2-arrow-y);
|
|
&::before {
|
content: '';
|
width: 0;
|
height: 0;
|
border: var(--#{$namespace}-tooltip-v2-arrow-border-width) solid
|
transparent;
|
position: absolute;
|
}
|
|
&::after {
|
content: '';
|
width: 0;
|
height: 0;
|
border: var(--#{$namespace}-tooltip-v2-arrow-border-width) solid
|
transparent;
|
position: absolute;
|
}
|
|
@each $side, $opposite in $sides {
|
#{$content-selector}[data-side^='#{$side}'] & {
|
#{$opposite}: 0;
|
}
|
|
#{$content-selector}[data-side^='#{$side}'] &::before {
|
border-#{$side}-color: var(--#{$namespace}-color-white);
|
border-#{$side}-width: var(
|
--#{$namespace}-tooltip-v2-arrow-border-width
|
);
|
border-#{$opposite}: 0;
|
#{$side}: calc(100% - 1px);
|
}
|
|
#{$content-selector}[data-side^='#{$side}'] &::after {
|
border-#{$side}-color: var(--#{$namespace}-border-color);
|
border-#{$side}-width: var(
|
--#{$namespace}-tooltip-v2-arrow-border-width
|
);
|
border-#{$opposite}: 0;
|
#{$side}: 100%;
|
z-index: -1;
|
}
|
}
|
}
|
|
&.is-dark {
|
--#{$namespace}-tooltip-v2-border-color: transparent;
|
background-color: getCssVar('color-black');
|
color: getCssVar('color-white');
|
border-color: transparent;
|
|
@include e(arrow) {
|
background-color: getCssVar('color-black');
|
border-color: transparent;
|
}
|
}
|
}
|
}
|