No notes defined.
<!-- Default -->
<div class="tooltip" data-position="bottom right">
<div class="tooltip-content">
<p>Bitters sartorial gastropub, hashtag four loko skateboard chillwave deep. Crucifix you probably haven’t heard of them pork belly tilde, direct trade migas cornhole meggings chambray Vice put a bird on it DIY brunch.</p>
</div>
</div>
<!-- With Link -->
<div class="tooltip" data-position="bottom right">
<div class="tooltip-content">
Selfies fixie next level trust fund jean shorts photo booth raw denim butcher mixtape ethical mustache. <a href="./">Ich bin ein Link</a>
</div>
</div>
<!-- With Button -->
<div class="tooltip" data-position="bottom right">
<div class="tooltip-content">
<p>Bitters sartorial gastropub, hashtag four loko skateboard chillwave deep. Crucifix you probably haven’t heard of them pork belly tilde, direct trade migas cornhole meggings chambray Vice put a bird on it DIY brunch.</p>
</div>
</div>
<!-- Documentation only -->
<div style="display: grid; grid-template-columns: repeat(2, 1fr); column-gap: var(--gg); margin-top: var(--sp);">
<div style="position: relative; width: 0;">
<div class="tooltip" data-position="bottom right">
<div class="tooltip-content">
<p>Bitters sartorial gastropub, hashtag four loko skateboard chillwave deep. Crucifix you probably haven’t heard of them pork belly tilde, direct trade migas cornhole meggings chambray Vice put a bird on it DIY brunch.</p>
</div>
</div>
</div>
<div style="position: relative; width: 0;">
<div class="tooltip" data-position="bottom right">
<div class="tooltip-content">
Selfies fixie next level trust fund jean shorts photo booth raw denim butcher mixtape ethical mustache. <a href="./">Ich bin ein Link</a>
</div>
</div>
</div>
</div>
<!-- Default -->
<div class="tooltip{{#modifier}} {{.}}{{/modifier}}"{{#position}} data-position="{{.}}"{{/position}}>
<div class="tooltip-content">
{{{content}}}
</div>
</div>
<!-- With Link -->
<div class="tooltip{{#modifier}} {{.}}{{/modifier}}"{{#position}} data-position="{{.}}"{{/position}}>
<div class="tooltip-content">
{{{content}}}
</div>
</div>
<!-- With Button -->
<div class="tooltip{{#modifier}} {{.}}{{/modifier}}"{{#position}} data-position="{{.}}"{{/position}}>
<div class="tooltip-content">
{{{content}}}
</div>
</div>
<!-- Documentation only -->
<div style="display: grid; grid-template-columns: repeat({{samples.length}}, 1fr); column-gap: var(--gg); margin-top: var(--sp);">
{{#samples}}
<div style="position: relative; width: 0;">
{{#tooltip}}
{{render '@tooltip' (contextData '@tooltip' this) merge=true}}
{{/tooltip}}
</div>
{{/samples}}
</div>
/* Default */
{
"content": "<p>Bitters sartorial gastropub, hashtag four loko skateboard chillwave deep. Crucifix you probably haven’t heard of them pork belly tilde, direct trade migas cornhole meggings chambray Vice put a bird on it DIY brunch.</p>\n",
"position": "bottom right"
}
/* With Link */
{
"content": "Selfies fixie next level trust fund jean shorts photo booth raw denim butcher mixtape ethical mustache. <a href=\"./\">Ich bin ein Link</a>",
"position": "bottom right"
}
/* With Button */
{
"content": "<p>Bitters sartorial gastropub, hashtag four loko skateboard chillwave deep. Crucifix you probably haven’t heard of them pork belly tilde, direct trade migas cornhole meggings chambray Vice put a bird on it DIY brunch.</p>\n",
"position": "bottom right",
"buttongroup": {
"buttons": [
{
"label": "Bestätigung"
},
{
"modifier": "is-secondary",
"label": "Abbrechen"
}
]
}
}
/* Documentation only */
{
"content": "<p>Bitters sartorial gastropub, hashtag four loko skateboard chillwave deep. Crucifix you probably haven’t heard of them pork belly tilde, direct trade migas cornhole meggings chambray Vice put a bird on it DIY brunch.</p>\n",
"position": "bottom right",
"samples": [
{
"tooltip": {
"content": "<p>Bitters sartorial gastropub, hashtag four loko skateboard chillwave deep. Crucifix you probably haven’t heard of them pork belly tilde, direct trade migas cornhole meggings chambray Vice put a bird on it DIY brunch.</p>\n",
"position": "bottom right"
}
},
{
"tooltip": {
"content": "Selfies fixie next level trust fund jean shorts photo booth raw denim butcher mixtape ethical mustache. <a href=\"./\">Ich bin ein Link</a>",
"position": "bottom right"
}
}
]
}
$tooltip_styles: (
theme: dark,
font-weight: bolder,
) !default;
@import "_tooltip.settings";
@import "_tooltip.styles";
%tooltip {
&::before {
box-shadow: 1px 1px 4px rgba($_box-shadow_color, .2);
}
&-content {
@include border-radius(small);
@include box-shadow(small);
}
}
$tooltip_font-size: smallest !default;
$tooltip_max-width: 30ch;
$tooltip_marker_width: 16px !default;
$tooltip_position_inset: 10% !default;
$tooltip_animation_offset: 16px !default;
$tooltip_styles: (
theme: dark,
font-weight: bolder,
) !default;
%tooltip {
$inset: $_box_padding--small;
position: relative;
z-index: 1;
min-width: $tooltip_max-width; // Prevent content to be squeezed
margin-top: (.5 * $tooltip_marker_width);
text-align: left;
@include styles($tooltip_styles);
&::before { // Marker
$size: ceil(math.div($tooltip_marker_width, math.sqrt(2)));
content: "";
display: block;
width: $size; height: $size;
position: absolute;
bottom: 100%;
left: (-.5 * $tooltip_marker_width);
z-index: -1;
transform-origin: bottom left;
transform: rotate(45deg);
background-color: var(--background-color, black);
}
a {
@extend %link;
}
&-content {
position: absolute;
transform: translateX(-50%);
max-width: $tooltip_max-width;
@include box-padding(small);
background-color: var(--background-color, black);
@include font-size($tooltip_font-size);
> *:first-child {
margin-top: 0 !important;
}
}
&[data-position~="left"] &-content {
left: (.5 * $tooltip_marker_width);
margin-left: $inset;
transform: translateX(-100%);
}
&[data-position~="right"] &-content {
left: (-.5 * $tooltip_marker_width);
margin-left: (-1 * $inset);
transform: none;
}
&[data-position~="top"] {
margin-top: (-.5 * $tooltip_marker_width);
}
&[data-position~="top"] &-content {
transform: translateY(-100%);
}
&[data-position~="top"][data-position~="center"] &-content {
transform: translateX(-50%) translateY(-100%);
}
&[data-position~="top"][data-position~="left"] &-content {
transform: translateX(-100%) translateY(-100%);
}
&[data-position~="center"][data-position~="left"] {
margin-top: 0;
margin-left: (-1 * $tooltip_marker_width);
}
&[data-position~="center"][data-position~="left"] &-content {
transform: translateX(-100%) translateY(-50%);
left: auto;
margin-left: auto;
}
&[data-position~="center"][data-position~="right"] {
margin-top: 0;
margin-left: $tooltip_marker_width;
}
&[data-position~="center"][data-position~="right"] &-content {
transform: translateY(-50%);
left: auto;
margin-left: auto;
}
}
.tooltip {
@extend %tooltip;
&-content {
@extend %tooltip-content;
}
}