import type { BuiltinRegistry, PluginHost } from './types' import { isClosing } from '../lifecycle/instance' import { isMobile } from '../utils/compatibility' import autoOrientation from './autoOrientation' import autoPlayback from './autoPlayback' import fastForward from './fastForward' import lock from './lock' import miniProgressBar from './miniProgressBar' export type BuiltinHost = Parameters[0] & Parameters[0] & Parameters[0] & Parameters[0] & Parameters[0] export default function installBuiltins & BuiltinHost>(registry: BuiltinRegistry, option: PluginHost['option']): void { // Read each condition at its original turn; earlier plugins may change options. if (!isClosing(registry.art) && option.miniProgressBar && !option.isLive) registry.add(miniProgressBar) if (!isClosing(registry.art) && option.lock && isMobile) registry.add(lock) if (!isClosing(registry.art) && option.autoPlayback && !option.isLive) registry.add(autoPlayback) if (!isClosing(registry.art) && option.autoOrientation && isMobile) registry.add(autoOrientation) if (!isClosing(registry.art) && option.fastForward && isMobile && !option.isLive) registry.add(fastForward) }