File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/node_modules/@material/tooltip/_tooltip-theme.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 '@material/animation/functions' as animation-functions;
@use '@material/feature-targeting/feature-targeting';
@use '@material/shape/mixins' as shape-mixins;
@use '@material/theme/theme';
@use '@material/theme/custom-properties';
@use '@material/theme/css';
@use '@material/theme/theme-color';
$background-color: rgba(black, theme-color.text-emphasis(medium));
$border-radius: small;
$label-color: text-primary-on-dark;
$enter-duration: 150ms;
$exit-duration: 75ms;
// Rich Tooltip variables
$rich-background-color: theme-color.prop-value(surface);
$rich-title-text-color: text-primary-on-light;
$rich-content-text-color: rgba(black, theme-color.text-emphasis(medium));
$rich-content-link-color: primary;
// Use a custom property so IE11 does not use "normal" and instead uses provided
// fall-back value.
$word-break-custom-prop: custom-properties.create(
--mdc-tooltip-word-break,
normal
);
$word-break-default: custom-properties.create-var($word-break-custom-prop);
$word-break-ie11-fallback: break-all;
$z-index: 9;
// Sets the border-radius for the tooltip surface and tooltip caret element.
// @param {Number | String} $radius Desired border radius value, accepts either
// a shape category or number value. $radius can be a singel value, or a
// list of up to 4 values.
// @param {Boolean} $rtl-reflexive [false] If a rule should be created for a
// flipped $radius for a RTL layout.
@mixin shape-radius(
$radius,
$rtl-reflexive: false,
$query: feature-targeting.all()
) {
.mdc-tooltip__surface {
@include shape-mixins.radius($radius, $rtl-reflexive, $query: $query);
}
.mdc-tooltip__caret-surface-top,
.mdc-tooltip__caret-surface-bottom {
@include shape-mixins.radius($radius, $rtl-reflexive, $query: $query);
}
}
// Sets the border-radius for the tooltip surface element only.
// @param {Number | String} $radius Desired border radius value, accepts either
// a shape category or number value. $radius can be a singel value, or a
// list of up to 4 values.
// @param {Boolean} $rtl-reflexive [false] If a rule should be created for a
// flipped $radius for a RTL layout.
@mixin surface-shape-radius(
$radius,
$rtl-reflexive: false,
$query: feature-targeting.all()
) {
.mdc-tooltip__surface {
@include shape-mixins.radius($radius, $rtl-reflexive, $query: $query);
}
}
// Sets the word-break property for the tooltip label. Users of IE11 can
// overwrite the fallback if their tooltip labels will never contain long
// strings without spaces or hyphens.
// @param {String} $value
// @param {String} $fallbackValue A fallback value to be set for word-break.
// This can be used to cover IE11 which does not support
// "overflow-wrap: anywhere".
@mixin word-break(
$value,
$fallbackValue: $word-break-ie11-fallback,
$query: feature-targeting.all()
) {
$feat-structure: feature-targeting.create-target($query, structure);
@include feature-targeting.targets($feat-structure) {
.mdc-tooltip__surface {
@include css.declaration(
word-break,
$value,
$fallback-value: $fallbackValue
);
overflow-wrap: anywhere;
}
}
}
// Sets the color of the tooltip label.
// @param {Color | String} $color
@mixin label-ink-color($color, $query: feature-targeting.all()) {
$feat-color: feature-targeting.create-target($query, color);
@include feature-targeting.targets($feat-color) {
.mdc-tooltip__surface {
@include theme.property(color, $color);
}
}
}
// Sets the color of the text for the content inside a rich tooltip.
// @param {Color | String} $title-color The color for the title of rich
// tooltips.
// @param {Color | String} $content-color The color for the text in the content
// of rich tooltips.
// @param {Color | String} $content-link-color The color for a link in the
// content of rich tooltips.
@mixin rich-text-ink-color(
$title-color: null,
$content-color: null,
$content-link-color: null,
$query: feature-targeting.all()
) {
$feat-color: feature-targeting.create-target($query, color);
@include feature-targeting.targets($feat-color) {
@if $title-color {
.mdc-tooltip__title {
@include theme.property(color, $title-color);
}
}
@if $content-color {
.mdc-tooltip__content {
@include theme.property(color, $content-color);
}
}
@if $content-link-color {
.mdc-tooltip__content-link {
@include theme.property(color, $content-link-color);
}
}
}
}
// Sets the fill/surface color of the tooltip.
// @param {Color | String} $color
@mixin fill-color($color, $query: feature-targeting.all()) {
$feat-color: feature-targeting.create-target($query, color);
.mdc-tooltip__surface {
@include feature-targeting.targets($feat-color) {
@include theme.property(background-color, $color);
}
}
}
// Sets the fill/surface color of the rich tooltip.
// @param {Color | String} $color
@mixin rich-fill-color($color, $query: feature-targeting.all()) {
$feat-color: feature-targeting.create-target($query, color);
&.mdc-tooltip--rich {
.mdc-tooltip__surface {
@include feature-targeting.targets($feat-color) {
@include theme.property(background-color, $color);
}
}
.mdc-tooltip__caret-surface-top,
.mdc-tooltip__caret-surface-bottom {
@include feature-targeting.targets($feat-color) {
@include theme.property(background-color, $color);
}
}
}
}
// Sets the max-height of the rich tooltip.
// @param {Number} $max-height
@mixin rich-max-height($max-height, $query: feature-targeting.all()) {
$feat-structure: feature-targeting.create-target($query, structure);
&.mdc-tooltip--rich {
.mdc-tooltip__surface {
@include feature-targeting.targets($feat-structure) {
@include theme.property(max-height, $max-height);
}
}
}
}
// Sets the z-index of the tooltip.
// @param {Number} $z-index
@mixin z-index($z-index, $query: feature-targeting.all()) {
$feat-structure: feature-targeting.create-target($query, structure);
@include feature-targeting.targets($feat-structure) {
&.mdc-tooltip {
z-index: $z-index;
}
}
}
// Sets the duration for the animation that shows the tooltip.
// @param {Number} $enter-duration
@mixin show-transition($enter-duration, $query: feature-targeting.all()) {
$feat-animation: feature-targeting.create-target($query, animation);
@include feature-targeting.targets($feat-animation) {
.mdc-tooltip--showing-transition .mdc-tooltip__surface-animation {
transition: animation-functions.enter(opacity, $enter-duration),
animation-functions.enter(transform, $enter-duration);
}
}
}
// Sets the duration for the animation that hides the tooltip.
// @param {Number} $exit-duration
@mixin hide-transition($exit-duration, $query: feature-targeting.all()) {
$feat-animation: feature-targeting.create-target($query, animation);
@include feature-targeting.targets($feat-animation) {
.mdc-tooltip--hide-transition .mdc-tooltip__surface-animation {
transition: animation-functions.exit-permanent(opacity, $exit-duration);
}
}
}
// Set the number of lines visible on a plain tooltip before being truncated.
// @param {Number} $num-line-clamp
@mixin line-clamp($num-line-clamp, $tooltip-surface-color: $background-color) {
.mdc-tooltip__label {
display: -webkit-box;
-webkit-line-clamp: $num-line-clamp;
-webkit-box-orient: vertical;
overflow: hidden;
}
}