UNPKG

@7sage/vidstack

Version:

UI component library for building high-quality, accessible video and audio experiences on the web.

142 lines (122 loc) 3.96 kB
/* * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Tooltips * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ :where(.vds-tooltip, media-tooltip) { display: contents; } :where(.vds-tooltip-content) { display: inline-block; box-sizing: border-box; font-family: var(--media-font-family, sans-serif); font-size: var(--media-tooltip-font-size, 13px); font-weight: var(--media-tooltip-font-weight, 500); opacity: 0; pointer-events: none; white-space: nowrap; z-index: 10; will-change: transform, opacity; } .vds-tooltip-content { border-radius: var(--media-tooltip-border-radius, 2px); background-color: var(--media-tooltip-bg-color, var(--default-bg)); border: var(--media-tooltip-border, var(--default-border)); color: var(--media-tooltip-color, var(--default-color)); padding: var(--media-tooltip-padding, 2px 8px); } .light .vds-tooltip-content { --default-color: #1a1a1a; --default-bg: white; --default-border: 1px solid rgb(0 0 0 / 0.2); } .dark .vds-tooltip-content { --default-color: #f5f5f5; --default-bg: black; --default-border: 1px solid rgb(255 255 255 / 0.1); } :where(.vds-menu .vds-menu-button[role='button'][data-pressed] .vds-tooltip-content) { opacity: 0; display: none; } /* * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Tooltip Animation * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ :where(.vds-tooltip-content) { --enter-transform: translateY(0px) scale(1); --exit-transform: translateY(12px) scale(0.8); } :where(.vds-tooltip-content:not([data-visible])) { animation: var(--media-tooltip-exit-animation, vds-tooltip-exit 0.2s ease-out); } :where(.vds-tooltip-content[data-visible]) { animation: var(--media-tooltip-enter-animation, vds-tooltip-enter 0.2s ease-in); animation-fill-mode: forwards; } /* Bottom */ :where(.vds-tooltip-content[data-placement~='bottom']) { --enter-transform: translateY(0) scale(1); --exit-transform: translateY(-12px) scale(0.8); } /* Left */ :where(.vds-tooltip-content[data-placement~='left']) { --enter-transform: translateX(0) scale(1); --exit-transform: translateX(12px) scale(0.8); } /* Right */ :where(.vds-tooltip-content[data-placement~='right']) { --enter-transform: translateX(0) scale(1); --exit-transform: translateX(-12px) scale(0.8); } @keyframes vds-tooltip-enter { from { opacity: 0; transform: var(--exit-transform); } to { opacity: 1; transform: var(--enter-transform); } } @keyframes vds-tooltip-exit { from { opacity: 1; transform: var(--enter-transform); } to { opacity: 0; transform: var(--exit-transform); } } @media (prefers-reduced-motion) { :where(.vds-tooltip-content) { animation: none; } :where(.vds-tooltip-content[data-visible]) { opacity: 1; } } /* * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * States * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ /* Play Button */ [data-media-player]:not([data-paused]) .vds-play-tooltip-text, [data-media-player][data-paused] .vds-pause-tooltip-text, /* PIP Button */ [data-media-player][data-pip] .vds-pip-enter-tooltip-text, [data-media-player]:not([data-pip]) .vds-pip-exit-tooltip-text, /* Fullscreen Button */ [data-media-player][data-fullscreen] .vds-fs-enter-tooltip-text, [data-media-player]:not([data-fullscreen]) .vds-fs-exit-tooltip-text, /* Caption Button */ [data-media-player]:not([data-captions]) .vds-cc-on-tooltip-text, [data-media-player][data-captions] .vds-cc-off-tooltip-text, /* Mute Button */ [data-media-player]:not([data-muted]) .vds-mute-tooltip-text, [data-media-player][data-muted] .vds-unmute-tooltip-text { display: none; }