UNPKG

@sandlada/mdc

Version:

@sandlada/mdc is an open source component library that follows the Material Design 3 design specifications.

159 lines (143 loc) 5.94 kB
import{css as e,unsafeCSS as t}from"../../node_modules/@lit/reactive-element/css-tag.js";import"../../node_modules/lit/index.js";import{defineVars as n}from"../../node_modules/@sandlada/jss/dist/define-vars.js";import{defineTokenRefsRecord as r}from"../../node_modules/@sandlada/jss/dist/define-token-refs.js";import{Easing as i}from"../../node_modules/@sandlada/mdk/build/domain/easing.js";import"../../node_modules/@sandlada/mdk/build/index.js";import{PlainTooltipDefinition as a,RichTooltipDefinition as o}from"../../component-definitions/tooltip.definition.js"; /** * @license * Copyright 2026 Kai-Orion & Sandlada * SPDX-License-Identifier: MIT */ const s=n(r(a,{expandShapes:!0,useBaseFallback:!0,prefix:`--mdc-tooltip`}),!0).join(``),c=n(r(o,{expandShapes:!0,useBaseFallback:!0,prefix:`--mdc-tooltip`}),!0).join(``),l=t(i.EmphasizedDecelerate.ToCSSValue()),u=t(i.EmphasizedAccelerate.ToCSSValue()),d=e` @layer mdc.tooltip.variable { :host(:not([rich])) { ${t(s)}; } :host([rich]) { ${t(c)}; } } @layer mdc.tooltip.base { :host { display: inline-block; position: absolute; z-index: 1000; pointer-events: none; max-width: max-content; } .container { box-sizing: border-box; opacity: 0; transform: scale(0.8); transform-origin: center center; pointer-events: none; will-change: transform, opacity; } :host([open]) .container { opacity: 1; transform: scale(1); pointer-events: auto; transition: transform 250ms ${l}, opacity 150ms ${l}; } :host(.hiding) .container { opacity: 0; transform: scale(0.8); transition: transform 150ms ${u}, opacity 150ms ${u}; } } @layer mdc.tooltip.base.plain { :host(:not([rich])) .container { display: inline-flex; align-items: center; justify-content: center; padding: var(--_container-padding-block) var(--_container-padding-inline); min-width: var(--_container-min-width); min-height: var(--_container-min-height); max-width: var(--_container-max-width); border-start-start-radius: var(--_container-shape-start-start); border-start-end-radius: var(--_container-shape-start-end); border-end-start-radius: var(--_container-shape-end-start); border-end-end-radius: var(--_container-shape-end-end); background-color: var(--_enabled-container-color); color: var(--_enabled-label-color); font-family: var(--_label-font); font-size: var(--_label-size); font-weight: var(--_label-weight); letter-spacing: var(--_label-tracking); line-height: var(--_label-line-height); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } } @layer mdc.tooltip.base.rich { :host([rich]) .container { display: flex; flex-direction: column; padding: var(--_container-padding); max-width: var(--_container-max-width); border-start-start-radius: var(--_container-shape-start-start); border-start-end-radius: var(--_container-shape-start-end); border-end-start-radius: var(--_container-shape-end-start); border-end-end-radius: var(--_container-shape-end-end); background-color: var(--_enabled-container-color); color: var(--_enabled-label-color); box-shadow: 0 1px 2px 0 rgba(0,0,0,0.3), 0 1px 3px 1px rgba(0,0,0,0.15); } :host([rich]) .headline { font-family: var(--_headline-font); font-size: var(--_headline-size); font-weight: var(--_headline-weight); letter-spacing: var(--_headline-tracking); line-height: var(--_headline-line-height); color: var(--_enabled-headline-color); padding-bottom: var(--_headline-padding-block); } :host([rich]:not(.has-headline)) .headline { display: none; } :host([rich]) .content { font-family: var(--_label-font); font-size: var(--_label-size); font-weight: var(--_label-weight); letter-spacing: var(--_label-tracking); line-height: var(--_label-line-height); color: var(--_enabled-label-color); } :host([rich]) .actions { display: flex; justify-content: flex-end; gap: var(--_actions-gap); padding-top: var(--_actions-padding-block); } :host([rich]:not(.has-actions)) .actions { display: none; } } @layer mdc.tooltip.position { :host([position="top"]) { left: 50%; bottom: 100%; transform: translateX(-50%); margin-bottom: var(--_container-margin); } :host([position="bottom"]) { left: 50%; top: 100%; transform: translateX(-50%); margin-top: var(--_container-margin); } :host([position="left"]) { right: 100%; top: 50%; transform: translateY(-50%); margin-right: var(--_container-margin); } :host([position="right"]) { left: 100%; top: 50%; transform: translateY(-50%); margin-left: var(--_container-margin); } } @media (forced-colors: active) { .container { border: 1px solid CanvasText; } } `;export{d as TooltipStyles}; //# sourceMappingURL=tooltip.style.js.map