let { DefaultButton, Callout, DirectionalHint, Calendar, DayOfWeek, FocusTrapZone, Fabric } = window.Fabric; const DayPickerStrings = { months: [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ], shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], shortDays: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], goToToday: 'Go to today' }; interface ICalendarButtonExampleState { showCalendar: boolean; selectedDate: Date | null; } interface ICalendarButtonExampleProps { isDayPickerVisible?: boolean; isMonthPickerVisible?: boolean; highlightCurrentMonth?: boolean; highlightSelectedMonth?: boolean; buttonString?: string; showMonthPickerAsOverlay?: boolean; showGoToToday?: boolean; } class CalendarButtonExample extends React.Component { public static defaultProps: ICalendarButtonExampleProps = { showMonthPickerAsOverlay: false, isDayPickerVisible: true, isMonthPickerVisible: true, showGoToToday: true, buttonString: 'Click for Calendar' }; private _calendarButtonElement: HTMLElement; public constructor(props: ICalendarButtonExampleProps) { super(props); this.state = { showCalendar: false, selectedDate: null }; this._onClick = this._onClick.bind(this); this._onDismiss = this._onDismiss.bind(this); this._onSelectDate = this._onSelectDate.bind(this); } public render(): JSX.Element { return (
(this._calendarButtonElement = calendarBtn!)}>
{this.state.showCalendar && ( )}
); } private _onClick(event: any): void { this.setState((prevState: ICalendarButtonExampleState) => { prevState.showCalendar = !prevState.showCalendar; return prevState; }); } private _onDismiss(): void { this.setState((prevState: ICalendarButtonExampleState) => { prevState.showCalendar = false; return prevState; }); } private _onSelectDate(date: Date): void { this.setState((prevState: ICalendarButtonExampleState) => { prevState.showCalendar = false; prevState.selectedDate = date; return prevState; }); } } ReactDOM.render(, document.getElementById('content'));