feat(packages): airplay button (#1531)

This commit is contained in:
Santiago Puppo
2026-05-27 10:22:31 -07:00
committed by GitHub
parent 760870fdf2
commit 338020e1d5
50 changed files with 869 additions and 2 deletions
@@ -0,0 +1,25 @@
'use client';
import { AirplayButtonCore, AirplayButtonDataAttrs } from '@videojs/core';
import { selectRemotePlayback } from '@videojs/core/dom';
import type { UIComponentProps } from '../../utils/types';
import { createMediaButton } from '../create-media-button';
export interface AirplayButtonProps
extends UIComponentProps<'button', AirplayButtonCore.State>,
AirplayButtonCore.Props {}
/** A button that toggles AirPlay to a remote device. */
export const AirplayButton = createMediaButton<AirplayButtonCore, AirplayButtonProps>({
displayName: 'AirplayButton',
core: AirplayButtonCore,
stateAttrMap: AirplayButtonDataAttrs,
selector: selectRemotePlayback,
action: (core, state) => core.toggle(state),
});
export namespace AirplayButton {
export type Props = AirplayButtonProps;
export type State = AirplayButtonCore.State;
}
@@ -0,0 +1 @@
export * from './airplay-button';