// Type definitions for moonstone/MediaOverlay import { SpottableProps as spotlight_Spottable_SpottableProps } from "@enact/spotlight/Spottable"; import { SlottableProps as ui_Slottable_SlottableProps } from "@enact/ui/Slottable"; import { SkinnableProps as moonstone_Skinnable_SkinnableProps } from "@enact/moonstone/Skinnable"; import * as React from "react"; type Omit = Pick>; type Merge = Omit> & N; export interface MediaOverlayBaseProps { /** * Any children `` tag elements will be sent directly to the media element as sources. */ source?: React.ReactNode; /** * Customizes the component by mapping the supplied collection of CSS class names to the corresponding internal elements and states of this component. * * The following classes are supported: * * `image` - class name for image * * `textLayout` - class name for text layout */ css?: object; /** * Image path for image overlay. * * NOTE: When image is displayed, media is not displayed even though it is playing. */ imageOverlay?: string | object; /** * Media component to use. * * The default ( `'video'` ) renders an `HTMLVideoElement` . Custom media components must have a similar API structure, exposing the following APIs: * * Methods: * * `load()` - load media */ mediaComponent?: string | React.ComponentType; /** * Placeholder for image overlay. */ placeholder?: string; /** * Text to display over media. */ text?: string; /** * Aligns the `text` vertically within the component. * * Allowed values are: * * `"center"` , the default, aligns the text in the middle * * `"start"` aligns the text to the top * * `"end"` aligns the text to the bottom */ textAlign?: string; } /** * A media component with image and text overlay support. */ export class MediaOverlayBase extends React.Component< Merge, MediaOverlayBaseProps> > {} export interface MediaOverlayDecoratorProps extends Merge< Merge, moonstone_Skinnable_SkinnableProps > {} export function MediaOverlayDecorator

( Component: React.ComponentType

| string, ): React.ComponentType

; export interface MediaOverlayProps extends Merge {} /** * A Moonstone-styled `Media` component. * * Usage: * ``` ``` */ export class MediaOverlay extends React.Component< Merge, MediaOverlayProps> > {} export default MediaOverlay;