consul/ui/packages/consul-ui/app/components/tooltip/index.scss

80 lines
1.5 KiB
SCSS

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
.tippy-box[data-theme~='tooltip'] {
& {
@extend %tooltip-bubble;
}
.tippy-content {
@extend %tooltip-content;
}
.tippy-arrow {
@extend %tooltip-tail;
}
&[data-placement^='bottom'] > .tippy-arrow {
@extend %tooltip-tail-bottom;
}
&[data-placement^='top'] > .tippy-arrow {
@extend %tooltip-tail-top;
}
&[data-placement^='left'] > .tippy-arrow {
@extend %tooltip-tail-left;
}
&[data-placement^='right'] > .tippy-arrow {
@extend %tooltip-tail-right;
}
}
%tooltip-content {
@extend %body-100-regular;
padding: 12px;
max-width: 224px;
position: relative;
z-index: 1;
}
%tooltip-bubble {
& {
background-color: var(--token-color-foreground-faint);
color: var(--token-color-surface-primary);
}
}
%tooltip-tail {
--size: 5px;
& {
color: var(--token-color-foreground-faint);
width: calc(var(--size) * 2);
height: calc(var(--size) * 2);
}
&::before {
border-color: transparent;
border-style: solid;
}
}
%tooltip-tail-top {
&::before {
border-width: var(--size) var(--size) 0;
border-top-color: initial;
}
}
%tooltip-tail-bottom {
&::before {
border-width: 0 var(--size) var(--size);
border-bottom-color: initial;
}
}
%tooltip-tail-left {
&::before {
border-width: var(--size) 0 var(--size) var(--size);
border-left-color: initial;
}
}
%tooltip-tail-right {
&::before {
border-width: var(--size) var(--size) var(--size) 0;
border-right-color: initial;
}
}