feat(packages): add chromecast support via remote playback API (#1348)

This commit is contained in:
Wesley Luyten
2026-04-17 14:51:16 -07:00
committed by GitHub
parent 8530316987
commit 31a005eeef
54 changed files with 1928 additions and 89 deletions
@@ -18,6 +18,8 @@
.media-button--fullscreen .media-icon--fullscreen-exit,
.media-button--pip .media-icon--pip-enter,
.media-button--pip .media-icon--pip-exit,
.media-button--cast .media-icon--cast-enter,
.media-button--cast .media-icon--cast-exit,
.media-button--captions .media-icon--captions-off,
.media-button--captions .media-icon--captions-on {
display: none;
@@ -46,6 +48,10 @@
.media-button--pip:not([data-pip]) .media-icon--pip-enter,
/* Picture-in-Picture: active → exit */
.media-button--pip[data-pip] .media-icon--pip-exit,
/* Cast: not connected → enter */
.media-button--cast:not([data-cast-state="connected"]) .media-icon--cast-enter,
/* Cast: connected → exit */
.media-button--cast[data-cast-state="connected"] .media-icon--cast-exit,
/* Captions: not active → captions off */
.media-button--captions:not([data-active]) .media-icon--captions-off,
/* Captions: active → captions on */
@@ -33,4 +33,10 @@ export const iconState = {
off: 'hidden opacity-0 group-not-data-pip:block group-not-data-pip:opacity-100',
on: 'hidden opacity-0 group-data-pip:block group-data-pip:opacity-100',
},
cast: {
button: 'group',
enter:
'hidden opacity-0 group-not-data-[cast-state=connected]:block group-not-data-[cast-state=connected]:opacity-100',
exit: 'hidden opacity-0 group-data-[cast-state=connected]:block group-data-[cast-state=connected]:opacity-100',
},
};