import type { Catalog } from "../libraries/Catalog"; import { type PosterVisualProps } from "../components/Poster"; import { type Source } from "../libraries/Source"; import React from "react"; import type { HtmlDivProps } from "../libraries/HtmlProps"; /** * The props for the arrows displayed on {@link Row}. */ export interface ArrowProps { /** * The color of the arrow. */ color: string; /** * The accessibility text for the arrow. */ accessibilityText: string; } /** * @category Components */ export interface RowProps extends PosterVisualProps { /** * The source of the items to display in the row. * * @see {@link Source} */ source: Source; /** * The priority catalogs to use when displaying the shows. * The catalogs are prioritized in the order they are provided. * * If a show is available in multiple streaming catalogs, * the first catalog in the list that contains the show will be used * when showing the catalog logo and deep link. */ priorityCatalogs?: Catalog[]; /** * Title to display above the row. */ title?: string; /** * A function to create the title div. * If not supplied, a default title div will be created * if a {@link title} is provided. */ getTitleDiv?: (title?: string, props?: HtmlDivProps) => React.ReactNode; /** * The props for the root div * that contains the entire row. */ rootDivProps?: HtmlDivProps; /** * The props for the top bar div that contains the title and arrows. */ topBarDivProps?: HtmlDivProps; /** * The props for the title div. */ titleDivProps?: HtmlDivProps; /** * The props for the arrow container div that contains the arrows. */ arrowContainerDivProps?: HtmlDivProps; /** * The base class name for the arrow buttons. * Applied to both the left and right arrow buttons all the time. */ arrowButtonBaseClassName?: string; /** * The base style for the arrow buttons. * Applied to both the left and right arrow buttons all the time. */ arrowButtonBaseStyle?: React.CSSProperties; /** * The class name for arrows only applied when the arrow is enabled. */ arrowButtonEnabledClassName?: string; /** * The style for arrows only applied when the arrow is enabled. */ arrowButtonEnabledStyle?: React.CSSProperties; /** * The class name for arrows only applied when the arrow is disabled. */ arrowButtonDisabledClassName?: string; /** * The style for arrows only applied when the arrow is disabled */ arrowButtonDisabledStyle?: React.CSSProperties; arrowColor?: string; /** * The accessibility text for the left arrow. * * @defaultValue "Left arrow" */ leftArrowAccessibilityText?: string; /** * The function to get the left arrow component. * If not provided, a default left arrow will be used. */ getLeftArrow?: (props: ArrowProps) => React.ReactNode; /** * The accessibility text for the right arrow. * * @defaultValue "Right arrow" */ rightArrowAccessibilityText?: string; /** * The function to get the right arrow component. * If not provided, a default right arrow will be used. */ getRightArrow?: (props: ArrowProps) => React.ReactNode; /** * The props for the poster list container div that contains the posters. */ posterListContainerDivProps?: HtmlDivProps; } /** * A row of posters that fetches items from a source. * * Provides infinite scrolling to sides fetch more items out of the box. * * Users can scroll via the arrows buttons or by dragging the row. * * @category Components */ export declare function Row(props: RowProps): React.ReactElement; //# sourceMappingURL=Row.d.ts.map