UNPKG

@csegames/camelot-unchained

Version:

Camelot Unchained Client Library

42 lines (41 loc) 1.62 kB
/// <reference types="react" /> import * as React from 'react'; import { StyleDeclaration } from 'aphrodite'; export interface PageControllerStyle extends StyleDeclaration { PageController: React.CSSProperties; controllerContainer: React.CSSProperties; contentContainer: React.CSSProperties; controllerButton: React.CSSProperties; disabledControllerButton: React.CSSProperties; pageNumberText: React.CSSProperties; } export declare const defaultPageControllerStyle: PageControllerStyle; export interface PageInfo<T> { render: (props: T) => JSX.Element; props?: any; } export interface PageControllerProps { styles?: Partial<PageControllerStyle>; prevButtonText?: string; nextButtonText?: string; onNextPageClick?: (activeIndex: number) => void; onPrevPageClick?: (activeIndex: number) => void; pages: PageInfo<Partial<{ active: boolean; }>>[]; onPageChange?: (page: number) => void; renderPageController?: (state: PageControllerState, props: PageControllerProps, onNextPageClick: any, onPrevPageClick: any) => any; renderHeaderContainer?: (state: PageControllerState, props: PageControllerProps) => any; } export interface PageControllerState { activePageIndex: number; } export declare class PageController extends React.Component<PageControllerProps, PageControllerState> { constructor(props: PageControllerProps); render(): JSX.Element; componentWillReceiveProps(nextProps: PageControllerProps): void; private renderPageController; private onNextPage; private onPrevPage; } export default PageController;