{
+ static theme(customTheme: Styles.CustomTheme): (Component: React.ComponentClass
) => React.ComponentClass
;
+ }
+
+ interface ToggleProps extends CommonEnhancedSwitchProps {
+ // is root element
+
+ elementStyle?: React.CSSProperties;
+ labelStyle?: React.CSSProperties;
+ onToggle?: (e: React.MouseEvent, isInputChecked: boolean) => void;
+ toggled?: boolean;
+ defaultToggled?: boolean;
+ }
+ export class Toggle extends React.Component {
+ isToggled(): boolean;
+ setToggled(newToggledValue: boolean): void;
+ }
+
+ interface TimePickerProps extends React.Props {
+ defaultTime?: Date;
+ format?: string;
+ pedantic?: boolean;
+ onFocus?: React.FocusEventHandler;
+ onTouchTap?: TouchTapEventHandler;
+ onChange?: (e: any, time: Date) => void;
+ onShow?: () => void;
+ onDismiss?: () => void;
+ }
+ export class TimePicker extends React.Component {
+ }
+
+ interface TextFieldProps extends React.Props {
+ errorStyle?: React.CSSProperties;
+ errorText?: string;
+ floatingLabelText?: string;
+ floatingLabelStyle?: React.CSSProperties;
+ fullWidth?: boolean;
+ hintText?: string | React.ReactElement;
+ id?: string;
+ inputStyle?: React.CSSProperties;
+ multiLine?: boolean;
+ onEnterKeyDown?: React.KeyboardEventHandler;
+ style?: React.CSSProperties;
+ rows?: number,
+ underlineStyle?: React.CSSProperties;
+ underlineFocusStyle?: React.CSSProperties;
+ underlineDisabledStyle?: React.CSSProperties;
+ type?: string;
+
+ disabled?: boolean;
+ isRtl?: boolean;
+ value?: string;
+ defaultValue?: string;
+ valueLink?: ReactLink;
+
+ onBlur?: React.FocusEventHandler;
+ onChange?: React.FormEventHandler;
+ onFocus?: React.FocusEventHandler;
+ onKeyDown?: React.KeyboardEventHandler;
+ }
+ export class TextField extends React.Component {
+ blur(): void;
+ clearValue(): void;
+ focus(): void;
+ getValue(): string;
+ setErrorText(newErrorText: string): void;
+ setValue(newValue: string): void;
+ }
+
+ namespace Toolbar {
+ interface ToolbarProps extends React.Props {
+ }
+ export class Toolbar extends React.Component {
+ }
+
+ interface ToolbarGroupProps extends React.Props {
+ float?: string;
+ }
+ export class ToolbarGroup extends React.Component {
+ }
+
+ interface ToolbarSeparatorProps extends React.Props {
+ }
+ export class ToolbarSeparator extends React.Component {
+ }
+
+ interface ToolbarTitleProps extends React.Props {
+ text?: string;
+ }
+ export class ToolbarTitle extends React.Component {
+ }
+ }
+
+ interface TooltipProps extends React.Props {
+ label: string;
+ show?: boolean;
+ touch?: boolean;
+ verticalPosition?: string;
+ horizontalPosition?: string;
+ }
+ export class Tooltip extends React.Component {
+ }
+
+ export namespace Utils {
+ interface ContrastLevel {
+ range: [number, number];
+ color: string;
+ }
+ interface ColorManipulator {
+ fade(color: string, amount: string|number): string;
+ lighten(color: string, amount: string|number): string;
+ darken(color: string, amount: string|number): string;
+ contrastRatio(background: string, foreground: string): number;
+ contrastRatioLevel(background: string, foreground: string): ContrastLevel;
+ }
+ export var ColorManipulator: ColorManipulator;
+
+ interface CssEvent {
+ transitionEndEventName(): string;
+ animationEndEventName(): string;
+ onTransitionEnd(el: Element, callback: () => void): void;
+ onAnimationEnd(el: Element, callback: () => void): void;
+ }
+ export var CssEvent: CssEvent;
+
+ interface Dom {
+ isDescendant(parent: Node, child: Node): boolean;
+ offset(el: Element): { top: number, left: number };
+ getStyleAttributeAsNumber(el: HTMLElement, attr: string): number;
+ addClass(el: Element, className: string): void;
+ removeClass(el: Element, className: string): void;
+ hasClass(el: Element, className: string): boolean;
+ toggleClass(el: Element, className: string): void;
+ forceRedraw(el: HTMLElement): void;
+ withoutTransition(el: HTMLElement, callback: () => void): void;
+ }
+ export var Dom: Dom;
+
+ interface Events {
+ once(el: Element, type: string, callback: EventListener): void;
+ on(el: Element, type: string, callback: EventListener): void;
+ off(el: Element, type: string, callback: EventListener): void;
+ isKeyboard(e: Event): boolean;
+ }
+ export var Events: Events;
+
+ function Extend(base: T, override: S1): (T & S1);
+
+ interface ImmutabilityHelper {
+ merge(base: any, ...args: any[]): any;
+ mergeItem(obj: any, key: any, newValueObject: any): any;
+ push(array: any[], obj: any): any[];
+ shift(array: any[]): any[];
+ }
+ export var ImmutabilityHelper: ImmutabilityHelper;
+
+ interface KeyCode {
+ DOWN: number;
+ ESC: number;
+ ENTER: number;
+ LEFT: number;
+ RIGHT: number;
+ SPACE: number;
+ TAB: number;
+ UP: number;
+ }
+ var KeyCode: KeyCode;
+
+ interface KeyLine {
+ Desktop: {
+ GUTTER: number;
+ GUTTER_LESS: number;
+ INCREMENT: number;
+ MENU_ITEM_HEIGHT: number;
+ };
+
+ getIncrementalDim(dim: number): number;
+ }
+ export var KeyLine: KeyLine;
+
+ interface UniqueId {
+ generate(): string;
+ }
+ export var UniqueId: UniqueId;
+
+ interface Styles {
+ mergeAndPrefix(base: any, ...args: any[]): React.CSSProperties;
+ }
+ export var Styles: Styles;
+ }
+
+ // New menus available only through requiring directly to the end file
+ namespace Menus {
+ interface IconMenuProps extends React.Props {
+ closeOnItemTouchTap?: boolean;
+ desktop?: boolean;
+ iconButtonElement: React.ReactElement;
+ openDirection?: string;
+ menuStyle?: React.CSSProperties;
+ multiple?: boolean;
+ value?: string | Array;
+ width?: string | number;
+ touchTapCloseDelay?: number;
+
+ onKeyboardFocus?: React.FocusEventHandler;
+ onItemTouchTap?: (e: TouchTapEvent, item: React.ReactElement) => void;
+ onChange?: (e: React.FormEvent, value: string | Array) => void;
+ }
+ export class IconMenu extends React.Component {
+ }
+
+ interface MenuProps extends React.Props