@hackplan/polaris
Version: 
Shopify’s product component library
50 lines (49 loc) • 1.68 kB
TypeScript
import React from 'react';
import { Range, Months, Year, Weekdays } from '@shopify/javascript-utilities/dates';
import { WithAppProviderProps } from '../AppProvider';
export { Range, Months, Year };
export interface BaseProps {
    /** ID for the element */
    id?: string;
    /** The selected date or range of dates */
    selected?: Date | Range;
    /** The month to show */
    month: Months;
    /** The year to show */
    year: Year;
    /** Allow a range of dates to be selected */
    allowRange?: boolean;
    /** Disable selecting dates before this. */
    disableDatesBefore?: Date;
    /** Disable selecting dates after this. */
    disableDatesAfter?: Date;
    /** The selection can span multiple months */
    multiMonth?: boolean;
    /** First day of week. Sunday by default */
    weekStartsOn?: Weekdays;
    /** Callback when date is selected. */
    onChange?(date: Range): void;
    /** Callback when month is changed. */
    onMonthChange?(month: Months, year: Year): void;
}
export interface Props extends BaseProps {
}
export declare type CombinedProps = Props & WithAppProviderProps;
export interface State {
    hoverDate?: Date;
    focusDate?: Date;
}
export declare class DatePicker extends React.PureComponent<CombinedProps, State> {
    state: State;
    componentDidUpdate(prevProps: Props): void;
    render(): JSX.Element;
    private handleFocus;
    private resetFocus;
    private handleKeyUp;
    private setFocusDateAndHandleMonthChange;
    private handleDateSelection;
    private handleMonthChangeClick;
    private handleHover;
}
declare const _default: React.ComponentClass<Props, any> & typeof DatePicker;
export default _default;