fix(skin): add missing tooltip provider/group (#902)

This commit is contained in:
Sam Potts
2026-03-12 10:24:35 +11:00
committed by GitHub
parent 6cc4028f81
commit 1dbcd79e54
37 changed files with 1688 additions and 1753 deletions
@@ -35,41 +35,6 @@ export const slider = {
track: cn(baseSlider.track, 'bg-black/10', 'dark:bg-white/20 dark:shadow-[0_0_0_1px_oklch(0_0_0/0.05)]'),
};
/* ==========================================================================
Icon State (audio: play + mute only)
========================================================================== */
export const iconState = {
play: {
button: 'group',
restart: 'hidden opacity-0 group-data-ended:block group-data-ended:opacity-100',
play: 'hidden opacity-0 group-not-data-ended:group-data-paused:block group-not-data-ended:group-data-paused:opacity-100',
pause:
'hidden opacity-0 group-not-data-paused:group-not-data-ended:block group-not-data-paused:group-not-data-ended:opacity-100',
},
mute: {
button: 'group',
volumeOff: 'hidden opacity-0 group-data-muted:block group-data-muted:opacity-100',
volumeLow:
'hidden opacity-0 group-not-data-muted:group-data-[volume-level=low]:block group-not-data-muted:group-data-[volume-level=low]:opacity-100',
volumeHigh:
'hidden opacity-0 group-not-data-muted:group-not-data-[volume-level=low]:block group-not-data-muted:group-not-data-[volume-level=low]:opacity-100',
},
};
/* ==========================================================================
Tooltip State (audio: play only)
========================================================================== */
export const tooltipState = {
play: {
wrapper: 'contents group/play-tip',
replay: 'hidden group-has-data-ended/play-tip:block',
play: 'hidden group-[:has([data-paused]):not(:has([data-ended]))]/play-tip:block',
pause: 'hidden group-[:not(:has([data-paused])):not(:has([data-ended]))]/play-tip:block',
},
};
/* ==========================================================================
Popup (with audio surface)
========================================================================== */
@@ -102,6 +67,8 @@ export const error = {
Shared components (no overrides)
========================================================================== */
export { iconState } from '../../shared/tailwind/icon-state';
export { tooltipState } from '../../shared/tailwind/tooltip-state';
export { button } from './components/button';
export { icon, iconContainer, iconFlipped, iconHidden } from './components/icon';
export { playbackRate } from './components/playback-rate';
@@ -1,27 +0,0 @@
export const iconState = {
play: {
button: 'group',
restart: 'hidden opacity-0 group-data-ended:block group-data-ended:opacity-100',
play: 'hidden opacity-0 group-not-data-ended:group-data-paused:block group-not-data-ended:group-data-paused:opacity-100',
pause:
'hidden opacity-0 group-not-data-paused:group-not-data-ended:block group-not-data-paused:group-not-data-ended:opacity-100',
},
mute: {
button: 'group',
volumeOff: 'hidden opacity-0 group-data-muted:block group-data-muted:opacity-100',
volumeLow:
'hidden opacity-0 group-not-data-muted:group-data-[volume-level=low]:block group-not-data-muted:group-data-[volume-level=low]:opacity-100',
volumeHigh:
'hidden opacity-0 group-not-data-muted:group-not-data-[volume-level=low]:block group-not-data-muted:group-not-data-[volume-level=low]:opacity-100',
},
fullscreen: {
button: 'group',
enter: 'hidden opacity-0 group-not-data-fullscreen:block group-not-data-fullscreen:opacity-100',
exit: 'hidden opacity-0 group-data-fullscreen:block group-data-fullscreen:opacity-100',
},
captions: {
button: 'group',
off: 'hidden opacity-0 group-not-data-active:block group-not-data-active:opacity-100',
on: 'hidden opacity-0 group-data-active:block group-data-active:opacity-100',
},
};
@@ -1,23 +0,0 @@
export const tooltipState = {
play: {
wrapper: 'contents group/play-tip',
replay: 'hidden group-has-data-ended/play-tip:block',
play: 'hidden group-[:has([data-paused]):not(:has([data-ended]))]/play-tip:block',
pause: 'hidden group-[:not(:has([data-paused])):not(:has([data-ended]))]/play-tip:block',
},
fullscreen: {
wrapper: 'contents group/fullscreen-tip',
enter: 'hidden group-[:not(:has([data-fullscreen]))]/fullscreen-tip:block',
exit: 'hidden group-has-data-fullscreen/fullscreen-tip:block',
},
captions: {
wrapper: 'contents group/captions-tip',
enable: 'hidden group-[:not(:has([data-active]))]/captions-tip:block',
disable: 'hidden group-has-data-active/captions-tip:block',
},
pip: {
wrapper: 'contents group/pip-tip',
enter: 'hidden group-[:not(:has([data-pip]))]/pip-tip:block',
exit: 'hidden group-has-data-pip/pip-tip:block',
},
};
@@ -135,11 +135,11 @@ export const error = {
Shared components (no overrides)
========================================================================== */
export { iconState } from '../../shared/tailwind/icon-state';
export { tooltipState } from '../../shared/tailwind/tooltip-state';
export { button } from './components/button';
export { icon, iconContainer, iconFlipped, iconHidden } from './components/icon';
export { iconState } from './components/icon-state';
export { overlay } from './components/overlay';
export { playbackRate } from './components/playback-rate';
export { seek } from './components/seek';
export { time } from './components/time';
export { tooltipState } from './components/tooltip-state';