Files
v10/packages/skins/__old__/default/tailwind/audio.tailwind.ts
T

114 lines
5.3 KiB
TypeScript

import { cn } from '@videojs/utils/style';
import { bufferingIndicator as baseBufferingIndicator } from './components/buffering';
import { controls as baseControls } from './components/controls';
import { error as baseError } from './components/error';
import { popup as basePopup } from './components/popup';
import { root as baseRoot } from './components/root';
import { slider as baseSlider } from './components/slider';
import { surface } from './components/surface';
/* ==========================================================================
Root
========================================================================== */
export const root = cn(
baseRoot,
'[--media-text-color:var(--media-color-primary,oklch(0_0_0))]',
'[--media-surface-background-color:oklch(1_0_0/0.5)]',
'[--media-surface-inner-border-color:oklch(1_0_0/0.1)]',
'[--media-surface-outer-border-color:oklch(0_0_0/0.05)]',
'[--media-surface-shadow-color:oklch(0_0_0/0.15)]',
'[--media-surface-backdrop-filter:blur(16px)_saturate(1.5)]',
'[--media-error-dialog-transition-duration:250ms]',
'[--media-error-dialog-transition-delay:100ms]',
'[--media-popup-transition-duration:100ms]',
'[--media-popup-transition-timing-function:ease-out]',
'[--media-tooltip-side-offset:0.75rem]',
'[--media-tooltip-boundary-offset:0.75rem]',
'[--media-popover-side-offset:0.75rem]',
'[--media-popover-boundary-offset:0.75rem]',
'motion-reduce:[--media-error-dialog-transition-duration:50ms]',
'motion-reduce:[--media-error-dialog-transition-delay:0ms]',
'motion-reduce:[--media-popup-transition-duration:0ms]',
'dark:[--media-surface-background-color:oklch(0_0_0/0.4)]',
'dark:[--media-text-color:var(--media-color-primary,oklch(1_0_0))]',
'[@media(prefers-reduced-transparency:reduce)]:[--media-surface-background-color:oklch(1_0_0)]',
'contrast-more:[--media-surface-background-color:oklch(1_0_0)]',
'[@media(prefers-reduced-transparency:reduce)]:[--media-surface-outer-border-color:oklch(0_0_0/0.05)]',
'contrast-more:[--media-surface-outer-border-color:oklch(0_0_0/0.05)]',
'dark:[@media(prefers-reduced-transparency:reduce)]:[--media-surface-background-color:oklch(0_0_0)]',
'dark:contrast-more:[--media-surface-background-color:oklch(0_0_0)]',
'dark:[@media(prefers-reduced-transparency:reduce)]:[--media-surface-inner-border-color:oklch(1_0_0/0.2)]',
'dark:contrast-more:[--media-surface-inner-border-color:oklch(1_0_0/0.2)]',
'dark:[@media(prefers-reduced-transparency:reduce)]:[--media-surface-outer-border-color:transparent]',
'dark:contrast-more:[--media-surface-outer-border-color:transparent]'
);
/* ==========================================================================
Controls
========================================================================== */
export const controls = cn(baseControls, surface, 'text-(--media-text-color)', 'peer-data-open/error:**:invisible');
/* ==========================================================================
Sliders
========================================================================== */
export const slider = {
...baseSlider,
track: cn(baseSlider.track, 'bg-black/10', 'dark:bg-white/20 dark:ring-1 dark:ring-black/5'),
};
/* ==========================================================================
Popup (with audio surface)
========================================================================== */
export const popup = {
...basePopup,
popover: cn(surface, basePopup.popover),
tooltip: cn(surface, basePopup.tooltip),
};
/* ==========================================================================
Buffering (with audio surface)
========================================================================== */
export const bufferingIndicator = {
...baseBufferingIndicator,
container: cn(baseBufferingIndicator.container, surface),
};
/* ==========================================================================
Error (with audio surface)
========================================================================== */
export const error = {
...baseError,
dialog: cn(
'absolute inset-0 z-20 flex items-center gap-3 rounded-full px-5 pr-0.5',
'bg-(--media-surface-background-color) text-(--media-text-color)',
'backdrop-blur-lg backdrop-saturate-150',
'transition-[opacity,filter] ease-out',
'duration-(--media-error-dialog-transition-duration)',
'delay-(--media-error-dialog-transition-delay)',
'group-data-starting-style/error:opacity-0 group-data-starting-style/error:blur-xs',
'group-data-ending-style/error:opacity-0 group-data-ending-style/error:blur-xs',
'group-data-ending-style/error:delay-0'
),
content: 'flex flex-1 items-center gap-2',
};
/* ==========================================================================
Shared components (no overrides)
========================================================================== */
export { iconState } from '../../shared/tailwind/icon-state';
export { badge } from './components/badge';
export { button } from './components/button';
export { buttonGroup } from './components/button-group';
export { icon, iconContainer, iconFlipped, iconHidden } from './components/icon';
export { menu } from './components/menu';
export { playbackRate } from './components/playback-rate';
export { seek } from './components/seek';
export { time } from './components/time';