File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/node_modules/@material/tooltip/_tooltip.scss
//
// Copyright 2020 Google Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
// Selector '.mdc-*' should only be used in this project.
// stylelint-disable selector-class-pattern --
// Internal styling for Tooltip MDC component.
@use 'sass:math';
@use '@material/elevation/mixins' as elevation-mixins;
@use '@material/dom/dom';
@use '@material/feature-targeting/feature-targeting';
@use '@material/rtl/rtl' as rtl;
@use '@material/dom/mixins' as dom-mixins;
@use './tooltip-theme';
@use '@material/typography/typography';
$_padding-y: 4px;
$_padding-x: 8px;
$_max-height: 40vh;
//LINT.IfChange(tooltip-dimensions)
$_min-width: 40px;
$_max-width: 200px;
$_min-height: 24px;
// LINT.ThenChange(constants.ts:tooltip-dimensions)
$_label-type-scale: caption;
$_line-height: 16px;
// LINT.IfChange(tooltip-anim-scale)
$_animation-scale: 0.8;
// LINT.ThenChange(constants.ts:tooltip-anim-scale);
// Rich Tooltip variables
$_rich_corner_radius: 4px;
$_rich_line-height: 20px;
$_rich_title_baseline: 28px;
// LINT.IfChange(rich-tooltip-dimensions)
$_rich_max-width: 320px;
// LINT.ThenChange(constants.ts:rich-tooltip-dimensions)
$_content-margin: 8px;
$_content-type-scale: body2;
$_title-type-scale: subtitle2;
$_caret-size: 24px;
@mixin static-styles($query: feature-targeting.all()) {
$feat-structure: feature-targeting.create-target($query, structure);
@include tooltip-theme.word-break(
tooltip-theme.$word-break-default,
tooltip-theme.$word-break-ie11-fallback,
$query: $query
);
@include tooltip-theme.show-transition(
tooltip-theme.$enter-duration,
$query: $query
);
@include tooltip-theme.hide-transition(
tooltip-theme.$exit-duration,
$query: $query
);
.mdc-tooltip {
@include feature-targeting.targets($feat-structure) {
position: fixed;
display: none;
z-index: tooltip-theme.$z-index;
}
}
.mdc-tooltip-wrapper--rich {
@include feature-targeting.targets($feat-structure) {
position: relative;
}
}
.mdc-tooltip--shown,
.mdc-tooltip--showing,
.mdc-tooltip--hide {
@include feature-targeting.targets($feat-structure) {
display: inline-flex;
}
&.mdc-tooltip--rich {
@include feature-targeting.targets($feat-structure) {
display: inline-block;
// Moves the rich tooltip out of the viewport/parent element initially
// so that the initial width is not affected and a 'correct' width can
// be used to calculate the position of the tooltip.
@include rtl.ignore-next-line();
left: -$_rich_max_width;
position: absolute;
}
}
}
.mdc-tooltip__surface {
&::before {
@include dom-mixins.transparent-border($query: $query);
}
@include feature-targeting.targets($feat-structure) {
line-height: $_line-height;
padding: $_padding-y $_padding-x;
min-width: $_min-width;
max-width: $_max-width;
min-height: $_min-height;
max-height: $_max-height;
box-sizing: border-box;
overflow: hidden;
text-align: center;
}
.mdc-tooltip--rich & {
@include feature-targeting.targets($feat-structure) {
align-items: flex-start;
display: flex;
flex-direction: column;
min-height: $_min-height;
min-width: $_min-width;
max-width: $_rich_max-width;
position: relative;
}
}
.mdc-tooltip--multiline & {
@include feature-targeting.targets($feat-structure) {
@include rtl.ignore-next-line();
text-align: left;
@include rtl.rtl {
@include rtl.ignore-next-line();
text-align: right;
}
}
}
.mdc-tooltip__title {
@include feature-targeting.targets($feat-structure) {
margin: 0 $_content-margin;
}
}
.mdc-tooltip__content {
@include feature-targeting.targets($feat-structure) {
max-width: calc(#{$_max-width} - (2 * #{$_content-margin}));
margin: $_content-margin;
@include rtl.ignore-next-line();
text-align: left;
@include rtl.rtl {
@include rtl.ignore-next-line();
text-align: right;
}
}
.mdc-tooltip--rich & {
@include feature-targeting.targets($feat-structure) {
max-width: calc(#{$_rich_max-width} - (2 * #{$_content-margin}));
align-self: stretch;
}
}
}
.mdc-tooltip__content-link {
@include feature-targeting.targets($feat-structure) {
text-decoration: none;
}
}
}
.mdc-tooltip--rich-actions,
.mdc-tooltip__content,
.mdc-tooltip__title {
@include feature-targeting.targets($feat-structure) {
z-index: 1;
}
}
.mdc-tooltip__surface-animation {
@include feature-targeting.targets($feat-structure) {
opacity: 0;
transform: scale($_animation-scale);
will-change: transform, opacity;
}
.mdc-tooltip--shown & {
@include feature-targeting.targets($feat-structure) {
transform: scale(1);
opacity: 1;
}
}
.mdc-tooltip--hide & {
@include feature-targeting.targets($feat-structure) {
transform: scale(1);
}
}
}
.mdc-tooltip__caret-surface-top,
.mdc-tooltip__caret-surface-bottom {
@include elevation-mixins.overlay-dimensions(100%, $query: $query);
@include feature-targeting.targets($feat-structure) {
position: absolute;
height: $_caret-size;
width: $_caret-size;
// We override this transform in MDCTooltipFoundation, however these
// styles must be present before the override happens in order to
// calculate the correct boundingClientRect (with the transforms applied).
@include rtl.ignore-next-line();
transform: rotate(35deg) skewY(20deg) scaleX(math.cos(20deg));
}
}
.mdc-tooltip__caret-surface-bottom {
@include elevation-mixins.elevation(2, $query: $query);
@include feature-targeting.targets($feat-structure) {
outline: 1px solid transparent;
z-index: -1;
// Added for b/206440838.
@include dom.forced-colors-mode($exclude-ie11: true) {
outline-color: CanvasText;
}
}
}
}
@mixin core-styles($query: feature-targeting.all()) {
$feat-structure: feature-targeting.create-target($query, structure);
@include tooltip-theme.shape-radius(
tooltip-theme.$border-radius,
$query: $query
);
@include tooltip-theme.label-ink-color(
tooltip-theme.$label-color,
$query: $query
);
@include tooltip-theme.fill-color(
tooltip-theme.$background-color,
$query: $query
);
@include tooltip-theme.rich-text-ink-color(
tooltip-theme.$rich-title-text-color,
tooltip-theme.$rich-content-text-color,
tooltip-theme.$rich-content-link-color,
$query: $query
);
.mdc-tooltip {
@include tooltip-theme.rich-fill-color(
tooltip-theme.$rich-background-color,
$query: $query
);
}
.mdc-tooltip__surface {
@include typography.typography(
$_label-type-scale,
$exclude-props: (line-height),
$query: $query
);
.mdc-tooltip--rich & {
@include elevation-mixins.overlay-dimensions(100%, $query: $query);
@include elevation-mixins.elevation(2, $query: $query);
@include feature-targeting.targets($feat-structure) {
border-radius: $_rich_corner_radius;
line-height: $_rich_line-height;
}
}
.mdc-tooltip__title {
@include typography.text-baseline(
$top: $_rich_title_baseline - $_padding-y,
$lineHeight: $_rich_line-height,
$query: $query
);
@include typography.typography($_title-type-scale, $query: $query);
}
.mdc-tooltip__content {
@include typography.typography($_content-type-scale, $query: $query);
.mdc-tooltip--rich & {
@include feature-targeting.targets($feat-structure) {
max-width: calc(#{$_rich_max-width} - (2 * #{$_content-margin}));
align-self: stretch;
}
}
}
}
@include static-styles($query: $query);
}