/// /// /// import * as React from "react"; import * as LinkedStateMixin from "react-addons-linked-state-mixin"; import * as MaterialUi from "material-ui"; import ActionGrade from "material-ui/lib/svg-icons/action/grade"; import AppBar from "material-ui/lib/app-bar"; import ArrowDropRight from "material-ui/lib/svg-icons/navigation-arrow-drop-right"; import AutoComplete from 'material-ui/lib/auto-complete'; import Avatar from "material-ui/lib/avatar"; import Badge from "material-ui/lib/badge"; import Card from "material-ui/lib/card/card"; import CardActions from "material-ui/lib/card/card-actions"; import CardHeader from "material-ui/lib/card/card-header"; import CardMedia from 'material-ui/lib/card/card-media'; import CardText from "material-ui/lib/card/card-text"; import CardTitle from 'material-ui/lib/card/card-title'; import Checkbox from "material-ui/lib/checkbox"; import CircularProgress from 'material-ui/lib/circular-progress'; import ColorManipulator from 'material-ui/lib/utils/color-manipulator'; import Colors from "material-ui/lib/styles/colors"; import DatePicker from "material-ui/lib/date-picker/date-picker"; import Dialog from "material-ui/lib/dialog"; import Divider from 'material-ui/lib/divider'; import DropDownMenu from "material-ui/lib/drop-down-menu"; import FileFolder from "material-ui/lib/svg-icons/file/folder"; import FlatButton from "material-ui/lib/flat-button"; import FloatingActionButton from "material-ui/lib/floating-action-button"; import FontIcon from "material-ui/lib/font-icon"; import GridList from 'material-ui/lib/grid-list/grid-list'; import GridTile from 'material-ui/lib/grid-list/grid-tile'; import IconButton from "material-ui/lib/icon-button"; import IconMenu from "material-ui/lib/menus/icon-menu"; import LeftNav from 'material-ui/lib/left-nav'; import LinearProgress from 'material-ui/lib/linear-progress'; import List from 'material-ui/lib/lists/list'; import ListItem from 'material-ui/lib/lists/list-item'; import Menu from 'material-ui/lib/menus/menu'; import MenuItem from 'material-ui/lib/menus/menu-item'; import Paper from 'material-ui/lib/paper'; import Popover from 'material-ui/lib/popover/popover'; import PopoverAnimationFromTop from 'material-ui/lib/popover/popover-animation-from-top'; import RadioButton from "material-ui/lib/radio-button"; import RadioButtonGroup from "material-ui/lib/radio-button-group"; import RaisedButton from "material-ui/lib/raised-button"; import RefreshIndicator from 'material-ui/lib/refresh-indicator'; import SelectField from "material-ui/lib/select-field"; import Slider from 'material-ui/lib/slider'; import Snackbar from 'material-ui/lib/snackbar'; import Spacing from "material-ui/lib/styles/spacing"; import Styles from 'material-ui/lib/styles'; import SvgIcon from 'material-ui/lib/svg-icon'; import Tab from 'material-ui/lib/tabs/tab'; import Table from 'material-ui/lib/table/table'; import TableBody from 'material-ui/lib/table/table-body'; import TableFooter from 'material-ui/lib/table/table-footer'; import TableHeader from 'material-ui/lib/table/table-header'; import TableHeaderColumn from 'material-ui/lib/table/table-header-column'; import TableRow from 'material-ui/lib/table/table-row'; import TableRowColumn from 'material-ui/lib/table/table-row-column'; import Tabs from 'material-ui/lib/tabs/tabs'; import TextField from "material-ui/lib/text-field"; import ThemeDecorator from 'material-ui/lib/styles/theme-decorator'; import ThemeManager from 'material-ui/lib/styles/theme-manager'; import TimePicker from "material-ui/lib/time-picker"; import Toggle from "material-ui/lib/toggle"; import ToggleStar from "material-ui/lib/svg-icons/toggle/star"; import ToggleStarBorder from "material-ui/lib/svg-icons/toggle/star-border"; import Toolbar from 'material-ui/lib/toolbar/toolbar'; import ToolbarGroup from 'material-ui/lib/toolbar/toolbar-group'; import ToolbarSeparator from 'material-ui/lib/toolbar/toolbar-separator'; import ToolbarTitle from 'material-ui/lib/toolbar/toolbar-title'; import Typography from "material-ui/lib/styles/typography"; import zIndex from 'material-ui/lib/styles/zIndex'; import {SelectableContainerEnhance} from 'material-ui/lib/hoc/selectable-enhance'; import * as Icons from "material-ui/lib/svg-icons"; import ActionAndroid from 'material-ui/lib/svg-icons/action/android'; import ActionFavorite from 'material-ui/lib/svg-icons/action/favorite'; import ActionFavoriteBorder from 'material-ui/lib/svg-icons/action/favorite-border'; import ActionFlightTakeoff from 'material-ui/lib/svg-icons/action/flight-takeoff'; import ActionHome from 'material-ui/lib/svg-icons/action/home'; import ActionInfo from 'material-ui/lib/svg-icons/action/info'; import CommunicationChatBubble from 'material-ui/lib/svg-icons/communication/chat-bubble'; import ContentAdd from 'material-ui/lib/svg-icons/content/add'; import ContentCopy from 'material-ui/lib/svg-icons/content/content-copy'; import ContentDrafts from 'material-ui/lib/svg-icons/content/drafts'; import ContentFilter from 'material-ui/lib/svg-icons/content/filter-list'; import ContentInbox from 'material-ui/lib/svg-icons/content/inbox'; import ContentLink from 'material-ui/lib/svg-icons/content/link'; import ContentSend from 'material-ui/lib/svg-icons/content/send'; import Delete from 'material-ui/lib/svg-icons/action/delete'; import Download from 'material-ui/lib/svg-icons/file/file-download'; import FileCloudDownload from 'material-ui/lib/svg-icons/file/cloud-download'; import FolderIcon from 'material-ui/lib/svg-icons/file/folder-open'; import HardwareVideogameAsset from 'material-ui/lib/svg-icons/hardware/videogame-asset'; import MapsPlace from 'material-ui/lib/svg-icons/maps/place'; import MoreVertIcon from 'material-ui/lib/svg-icons/navigation/more-vert'; import NavigationClose from "material-ui/lib/svg-icons/navigation/close"; import NavigationExpandMoreIcon from 'material-ui/lib/svg-icons/navigation/expand-more'; import NotificationsIcon from 'material-ui/lib/svg-icons/social/notifications'; import PersonAdd from 'material-ui/lib/svg-icons/social/person-add'; import RemoveRedEye from 'material-ui/lib/svg-icons/image/remove-red-eye'; import StarBorder from 'material-ui/lib/svg-icons/toggle/star-border'; import UploadIcon from 'material-ui/lib/svg-icons/file/cloud-upload'; type CheckboxProps = __MaterialUI.CheckboxProps; type MuiTheme = __MaterialUI.Styles.MuiTheme; type TouchTapEvent = __MaterialUI.TouchTapEvent; interface MaterialUiTestsState { showDialogStandardActions: boolean; showDialogCustomActions: boolean; showDialogScrollable: boolean; value: number; dataSource: [string]; minDate: Date; maxDate: Date; autoOk: boolean; disableYearSelection: boolean; open: boolean; valueSingle: string; valueMultiple: string[]; anchorEl: Element; completed: number; message: string; autoHideDuration: number; fixedHeader: boolean; fixedFooter: boolean; stripedRows: boolean; showRowHover: boolean; selectable: boolean; multiSelectable: boolean; enableSelectAll: boolean; deselectOnClickaway: boolean; height: string; } // "http://www.material-ui.com/#/customization/themes" let muiTheme: MuiTheme = ThemeManager.getMuiTheme({ spacing: Spacing, zIndex: zIndex, fontFamily: 'Roboto, sans-serif', palette: { primary1Color: Colors.cyan500, primary2Color: Colors.cyan700, primary3Color: Colors.lightBlack, accent1Color: Colors.pinkA200, accent2Color: Colors.grey100, accent3Color: Colors.grey500, textColor: Colors.darkBlack, alternateTextColor: Colors.white, canvasColor: Colors.white, borderColor: Colors.grey300, disabledColor: ColorManipulator.fade(Colors.darkBlack, 0.3), pickerHeaderColor: Colors.cyan500, } }); let SelectableList = SelectableContainerEnhance(List); @ThemeDecorator(muiTheme) class MaterialUiTests extends React.Component<{}, MaterialUiTestsState> implements React.LinkedStateMixin { // injected with mixin linkState: (key: string) => React.ReactLink; private picker12hr: TimePicker; private picker24hr: TimePicker; private touchTapEventHandler(e: TouchTapEvent) { console.info("Received touch tap", e); } private formEventHandler(e: React.FormEvent) { } private selectFieldChangeHandler(e: TouchTapEvent, si: number, mi: any) { } private handleRequestClose(buttonClicked: boolean) { } private handleRequestCloseReason(reason: string) { } private handleToggle() { this.setState(Object.assign({}, this.state, { open: !this.state.open })); } private handleClose() { this.setState(Object.assign({}, this.state, { open: false })); } private handleChangeSingle(event: React.MouseEvent, value: string){ } private handleChangeMultiple(event: React.MouseEvent, value: string[]) { } private handleChange = (e: TouchTapEvent, index: number, value: number) => this.setState(Object.assign({}, this.state, { value })); private handleUpdateInput(t: string) { this.setState(Object.assign({}, this.state, { dataSource: [t, t + t, t + t + t], })); } private handleTouchTap(e: TouchTapEvent) { alert('onTouchTap triggered on the title component'); } private handleActionTouchTap() { this.setState(Object.assign({}, this.state, {open: false,})); alert('Event removed from your calendar.'); } private handleChangeDuration = (event: React.FormEvent) => { const value = event.target["value"]; this.setState(Object.assign({}, this.state, { autoHideDuration: value.length > 0 ? parseInt(value) : 0, })); } private onRowSelection(selectedRows: number[] | string) { } private handleActive(tab: Tab) { alert(`A tab with this route property ${tab.props.value} was activated.`); } private handleChangeTabs(value: any, e: React.FormEvent, tab: Tab) { } private handleChangeTimePicker12(err, time) { this.picker12hr.setTime(time); }; private handleChangeTimePicker24(err, time) { this.picker24hr.setTime(time); }; render() { const styles = { title: { cursor: 'pointer', }, exampleImageInput: { cursor: 'pointer', position: 'absolute', top: 0, bottom: 0, right: 0, left: 0, width: '100%', opacity: 0, }, button: { margin: 12, }, floatingButton: { marginRight: 20, }, textField: { marginLeft: 20, }, floatLeft: { float: 'left', }, root: { display: 'flex', flexWrap: 'wrap', justifyContent: 'space-around', }, gridList: { width: 500, height: 400, overflowY: 'auto', marginBottom: 24, }, icons: { marginRight: 24, }, menu: { marginRight: 32, marginBottom: 32, float: 'left', position: 'relative', zIndex: 0, }, rightIcon: { textAlign: 'center', lineHeight: '24px', }, paper: { height: 100, width: 100, margin: 20, textAlign: 'center', display: 'inline-block', }, popover: { padding: 20, }, container: { position: 'relative', }, refresh: { display: 'inline-block', position: 'relative', }, block: { maxWidth: 250, }, checkbox: { marginBottom: 16, }, radioButton: { marginBottom: 16, }, toggle: { marginBottom: 16, }, propContainerStyle: { width: 200, overflow: 'hidden', margin: '20px auto 0', }, propToggleHeader: { margin: '20px auto 10px', }, headline: { fontSize: 24, paddingTop: 16, marginBottom: 12, fontWeight: 400, }, errorStyle: { color: Colors.orange500, }, underlineStyle: { borderColor: Colors.orange500, }, }; const colors = Styles.Colors; // "http://www.material-ui.com/#/customization/inline-styles" let element: React.ReactElement; element = element = React.createElement(Checkbox, { id: "checkboxId1", name: "checkboxName1", value: "checkboxValue1", label: "went for a run today", style: { width: '50%', margin: '0 auto' }, iconStyle: { fill: '#FF4081' } }); // "http://www.material-ui.com/#/components/app-bar" const AppBarExampleIcon = () => ( ); const AppBarExampleIconButton = () => ( Title} onTitleTouchTap={this.handleTouchTap} iconElementLeft={} iconElementRight={} /> ); const AppBarExampleIconMenu = () => ( } iconElementRight={ } targetOrigin={{ horizontal: 'right', vertical: 'top' }} anchorOrigin={{ horizontal: 'right', vertical: 'top' }} > } /> ); // "http://www.material-ui.com/#/components/auto-complete" element = const dataSource1 = [ { text: 'text-value1', value: ( ), }, { text: 'text-value2', value: ( ), }, ]; const dataSource2 = ['12345', '23456', '34567']; const AutoCompleteExampleNoFilter = () => (

); const AutoCompleteExampleFilters = () => (

); // "http://www.material-ui.com/#/components/avatar" const AvatarExampleSimple = () => ( } > Image Avatar } /> } > FontIcon Avatar } color={colors.blue300} backgroundColor={colors.indigo900} /> } > FontIcon Avatar with custom colors } /> } > SvgIcon Avatar } color={colors.orange200} backgroundColor={colors.pink400} /> } > SvgIcon Avatar with custom colors A} > Letter Avatar A } > Letter Avatar with custom colors ); //image avatar element = ; //SvgIcon avatar element = } />; //SvgIcon avatar with custom colors element = } color={Colors.orange200} backgroundColor={Colors.pink400} />; //FontIcon avatar element = } />; //FontIcon avatar with custom colors element = } color={Colors.blue300} backgroundColor={Colors.indigo900} />; //Letter avatar element = A; //Letter avatar with custom colors element = // "http://www.material-ui.com/#/components/badge" const BadgeExampleSimple = () => (
); const BadgeExampleContent = () => (
} > Company Name
); // "http://www.material-ui.com/#/components/flat-button" const FlatButtonExampleSimple = () => (
); const FlatButtonExampleComplex = () => (
} /> } />
); // "http://www.material-ui.com/#/components/raised-button" const RaisedButtonExampleSimple = () => (
); const RaisedButtonExampleComplex = () => (
} style={styles.button} /> } />
); // "http://www.material-ui.com/#/components/floating-action-button" const FloatingActionButtonExampleSimple = () => (
); // "http://www.material-ui.com/#/components/icon-button" const IconButtonExampleSimple = () => (
); const IconButtonExampleComplex = () => (
home
); const IconButtonExampleTooltip = () => (
); const IconButtonExampleTouch = () => (
); //Method 1: muidocs-icon-github is defined in a style sheet. element = ; //Method 2: ActionGrade is a component created using mui.SvgIcon. element = ; //Method 3: Manually creating a mui.FontIcon component within IconButton element = ; //Method 4: Using Google material-icons element = settings_system_daydream; // "http://www.material-ui.com/#/components/card" const CardExampleWithAvatar = () => ( } > Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec mattis pretium massa.Aliquam erat volutpat.Nulla facilisi. Donec vulputate interdum sollicitudin.Nunc lacinia auctor quam sed pellentesque. Aliquam dui mauris, mattis quis lacus id, pellentesque lobortis odio. ); const CardExampleWithoutAvatar = () => ( Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec mattis pretium massa.Aliquam erat volutpat.Nulla facilisi. Donec vulputate interdum sollicitudin.Nunc lacinia auctor quam sed pellentesque. Aliquam dui mauris, mattis quis lacus id, pellentesque lobortis odio. ); // "http://www.material-ui.com/#/components/date-picker" const DatePickerExampleSimple = () => (
); const DatePickerExampleInline = () => (
); element = (
); element = ; element = ; element = ; // "http://material-ui.com/#/components/dialog" let standardActions = [ { text: 'Cancel' }, { text: 'Submit', onTouchTap: this.touchTapEventHandler, ref: 'submit' } ]; element = The actions in this window are created from the json that's passed in. ; //Custom Actions let customActions = [ , ]; element = The actions in this window were passed in as an array of react objects. ; element =
Really long content
; // "http://www.material-ui.com/#/components/divider" const DividerExampleForm = () => ( ); const DividerExampleList = () => (
); const DividerExampleMenu = () => ( ); // "http://www.material-ui.com/#/components/grid-list" const tilesData = [ { img: 'images/grid-list/00-52-29-429_640.jpg', title: 'Breakfast', author: 'jill111', featured: false, }]; const GridListExampleSimple = () => (
{tilesData.map(tile => ( by {tile.author}} actionIcon={} > )) }
); const GridListExampleComplex = () => (
{tilesData.map(tile => ( } actionPosition="left" titlePosition="top" titleBackground="linear-gradient(to bottom, rgba(0,0,0,0.7) 0%,rgba(0,0,0,0.3) 70%,rgba(0,0,0,0) 100%)" cols={tile.featured ? 2 : 1} rows={tile.featured ? 2 : 1} > )) }
); element = ; element = GridTile} actionPosition="left" titlePosition="top" titleBackground="rgba(0, 0, 0, 0.4)" cols={2} rows={1} style={{ color: 'red' }}>

Children are Required!

; // "http://www.material-ui.com/#/components/font-icon" const FontIconExampleSimple = () => (
); const FontIconExampleIcons = () => (
home flight_takeoff cloud_download videogame_asset
); // "http://www.material-ui.com/#/components/svg-icon" const HomeIcon = (props) => ( ); const SvgIconExampleSimple = () => (
); const SvgIconExampleIcons = () => (
); element = ; element = ; element = home; // "http://www.material-ui.com/#/components/left-nav" element = (
Menu Item Menu Item 2
); element = (
this.setState(Object.assign({}, this.state, { open })) } > Menu Item Menu Item 2
); element = (
); // "http://material-ui.com/#/components/lists" const ListExampleSimple = () => (
} /> } /> } /> } /> } /> } /> } /> } /> } />
); const ListExampleChat = () => (
} rightIcon={} /> } rightIcon={} /> } rightIcon={} /> } rightIcon={} /> } rightIcon={} /> } /> } />
); const ListExampleNested = () => (
} /> } /> } initiallyOpen={true} primaryTogglesNestedList={true} nestedItems={[ } />, } disabled={true} nestedItems={[ } />, ]} />, ]} />
); const iconButtonElement = ( ); const rightIconMenu = ( Reply Forward Delete ); const ListExampleMessages = () => (
} rightIconButton={rightIconMenu} primaryText="Brendan Lim" secondaryText={

Brunch this weekend?
I' ll be in your neighborhood doing errands this weekend.Do you want to grab brunch?

} secondaryTextLines={2} />
); const ListExampleSelectable = () => (
} nestedItems={[ } />, ]} /> } /> } /> } />
); // "http://www.material-ui.com/#/components/menu" const MenuExampleSimple = () => (
); const MenuExampleDisable = () => (
); const MenuExampleIcons = () => (
} /> } /> } /> } /> } /> } /> } /> settings}/> settings } /> ¶} /> §} />
); const MenuExampleSecondary = () => (
} /> } /> } /> } /> } />
); const MenuExampleNested = () => (
} menuItems={[ } menuItems={[ , , , , ]} />, , , , ]} />
); // "http://www.material-ui.com/#/components/icon-menu" const IconMenuExampleSimple = () => (
} anchorOrigin={{ horizontal: 'left', vertical: 'top' }} targetOrigin={{ horizontal: 'left', vertical: 'top' }} > } anchorOrigin={{ horizontal: 'left', vertical: 'bottom' }} targetOrigin={{ horizontal: 'left', vertical: 'bottom' }} > } anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }} targetOrigin={{ horizontal: 'right', vertical: 'bottom' }} > } anchorOrigin={{ horizontal: 'right', vertical: 'top' }} targetOrigin={{ horizontal: 'right', vertical: 'top' }} >
); element = (
} onChange={this.handleChangeSingle} value={this.state.valueSingle} > } onChange={this.handleChangeMultiple} value={this.state.valueMultiple} multiple={true} >
); const IconMenuExampleScrollable = () => (
} anchorOrigin={{ horizontal: 'left', vertical: 'top' }} targetOrigin={{ horizontal: 'left', vertical: 'top' }} maxHeight={272} > ); // "http://www.material-ui.com/#/components/dropdown-menu" element = ; const menuItems = []; element = ( {menuItems} ); element = ( ); // "http://material-ui.com/#/components/paper" const PaperExampleSimple = () => (
); const PaperExampleRounded = () => (
); const PaperExampleCircle = () => (
); // "http://www.material-ui.com/#/components/popover" element = (
); element = (
); // "http://www.material-ui.com/#/components/circular-progress" const CircularProgressExampleSimple = () => (
); element = (
); // "http://www.material-ui.com/#/components/linear-progress" const LinearProgressExampleSimple = () => ( ); element = ( ); // "http://www.material-ui.com/#/components/refresh-indicator" const RefreshIndicatorExampleSimple = () => (
); const RefreshIndicatorExampleLoading = () => (
); // "http://www.material-ui.com/#/components/select-field" element = (

); element = ( {menuItems} ); element = ( ); element = (
{menuItems}
{menuItems}
); const {value} = this.state; const night = value === 2 || value === 3; element = (
{menuItems}
{menuItems}
); // "http://www.material-ui.com/#/components/slider" const SliderExampleSimple = () => (
); const SliderExampleDisabled = () => (
); const SliderExampleStep = () => ( ); // "http://www.material-ui.com/#/components/checkbox" const CheckboxExampleSimple = () => (
} unCheckedIcon={} label="Custom icon" style={styles.checkbox} />
); // "http://www.material-ui.com/#/components/radio-button" const RadioButtonExampleSimple = () => (
); // "http://www.material-ui.com/#/components/toggle" const ToggleExampleSimple = () => (
); // "http://material-ui.com/#/components/snackbar" element = (
); element = (

); // "http://www.material-ui.com/#/components/table" element = ( ID Name Status 1 John Smith Employed 2 Randal White Unemployed 3 Stephanie Sanders Employed 4 Steve Brown Employed
); const tableData = [ { name: 'John Smith', status: 'Employed', selected: true, }, ]; element = (
Super Header ID Name Status {tableData.map( (row, index) => ( {index} {row.name} {row.status} ))} ID Name Status Super Footer

Table Properties

TableBody Properties

); // "http://www.material-ui.com/#/components/tabs" const TabsExampleSimple = () => (

Tab One

This is an example tab.

You can put any sort of HTML or react component in here. It even keeps the component state!

Tab Two

This is another example tab.

Tab Three

This is a third example tab.

); element = (

Controllable Tab A

Tabs are also controllable if you want to programmatically pass them their values. This allows for more functionality in Tabs such as not having any Tab selected or assigning them different values.

Controllable Tab B

This is another example of a controllable tab. Remember, if you use controllable Tabs, you need to give all of your tabs values or else you wont be able to select them.

); const TabsExampleIcon = () => ( } /> } /> favorite} /> ); // "http://www.material-ui.com/#/components/text-field" const TextFieldExampleSimple = () => (







); const TextFieldExampleError = () => (




); const TextFieldExampleCustomize = () => (



); const TextFieldExampleDisabled = () => (



); element = ; // "http://www.material-ui.com/#/components/time-picker" const TimePickerExampleSimple = () => (
); element = (
this.picker12hr = t} format="ampm" hintText="12hr Format" onChange={this.handleChangeTimePicker12} /> this.picker24hr = t} format="24hr" hintText="24hr Format" onChange={this.handleChangeTimePicker24} />
); // "http://www.material-ui.com/#/components/toolbar" const ToolbarExamplesSimple = () => ( } > ); return element; } }