Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Evan Henley committed Apr 19, 2016
2 parents 378e5f5 + b266f34 commit 3b640c8
Show file tree
Hide file tree
Showing 48 changed files with 1,260 additions and 468 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ icon-builder/jsx
.idea
*.sublime-project
*.sublime-workspace
jsconfig.json

# OS files
.DS_STORE
117 changes: 117 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,122 @@
## HEAD

## 0.15.0-beta.1
###### _Apr 13, 2016_

#### React 15 compatibility :tada: :tada:

This release also ensures compatibility with React 15. You should update to
this version if you need it.

#### Simplify import statements :tada:

This release changes how components are imported. You will need to update every
import statement, Like:

```js
import RaisedButton from 'material-ui/lib/raised-button';
import Tabs from 'material-ui/tabs/tabs';
import Tab from 'material-ui/tabs/tab';
```

to:

```js
import RaisedButton from 'material-ui/RaisedButton';
import {Tabs, Tab} from 'material-ui/Tabs';
```

The exact import statements for each component can be found in their respective
documentation page.

Have a ton of imports? almost had a heart attack? worry not, we also made a tool
to ease your pain. checkout the
[readme](https://github.com/callemall/material-ui/tree/master/packages/material-ui-codemod/README.md).

##### Breaking Changes
- [Core] Improve import path for published lib (#3921)
- [Core] PascalCase component names, reorganise directory structure (#3749)
- [Core] Remove default theme handling from components (#3820)

As of now you will need to provide theme on context, see:
http://www.material-ui.com/#/customization/themes

- [Core] Removed redundant default export from the main library `index.js`.

You will probably need to turn

```js
import Mui from 'material-ui';
```
into
```js
import * as Mui from 'material-ui';
```

Although we discourage you to use this library like that.

- [LeftNav] Rename to Drawer (#3799)
- [GridList] Replace `rootClass` with `containerElement` (#3783) (`rootClass` was broken before this change)
- [Core] These changes are for internal modules and will affect you only if they were directly required in your code
1. Rename utils/children.js (#3779)
1. Remove unused utils/keyLine.js (#3837)
1. Remove cssEvent util (#3836)
1. Remove utils/shallowEqual.js and replace with recompose (#3835)
1. Move DateTime utils to component directories (#3834)

##### General
- [Core] Update to React v15 (#3941) :tada: :tada:
- [Core] Remove dependency on lodash.flowright (#3955)
- [Core] update components to es6 classes (#3843) :tada: :tada:
- [Core] Add a `material-ui-codemod` package (#3782)
- [Core] Update export syntax, move unit tests, update test dependencies (#3785)
- [Core] Use .js extension instead of .jsx (#3765)
- [Themes] colorManipulator cleanup (#3966)
- [SvgIcon] Add the new Material Icons (#3747)
- [Docs] Add example for slider showing how to access value (#3892)
- [Docs] Document callback signatures ( Thanks to @theosherry )
- [IconMenu](#3732)
- [LeftNav](#3743)
- [List](#3748)
- [ListItem](#3748)
- [Popover](#3796)
- [RadioButton](#3797)
- [Menu](#3821)
- [MenuItem](#3821)
- [RaisedButton](#3839)
- Added the following eslint rules:
1. Enforce `jsx-handler-names` (#3408)
1. Enforce `spaced-comment` (#3910)

##### Component Fixes / Enhancements
- [AutoComplete] Add `onKeyDown` property (#3853)
- [AutoComplete] Fix the regressions (#3858)
- [Avatar] Use semi-transparent border (#3859)
- [DatePicker] ok/cancel labels in date pickers should be of PropTypes.node (#3869)
- [DropDownMenu] Fix support for autoWidth and custom width (#3823)
- [DropDownMenu] Slightly improve performance (#3707)
- [FloatingActionButton] fixed an error when element gets focus via tab (#3885)
- [IconButton] Fix tooltip on hover (#3878)
- [IconMenu] Removed props.ref call (#3913)
- [LinearProgress] Prevent instances from sharing state (#3763)
- [ListItem] Change color of rightIcon from `grey400` to `grey600` (#3938)
- [ListItem] Fix duplicate prepareStyles with primaryText element (#3174)
- [ListItem] Use the new icons to follow the material spec (#3899)
- [MenuItem] Revert flex props from #3597, fixes #3845, reopens #3531 (#3928)
- [Overlay] Split out AutoLockScrolling (#3690)
- [Popover] Fix rendering for nested Menus (#3806)
- [RaisedButton] Fix for Uncaught `TypeError` when tabbing onto button (#3897)
- [Stepper] Refactor Stepper (#3903)
- [Tab] Change the ripple color to follow the spec (#3857)
- [Tab] Fix centering for label with SvgIcon (#3697)
- [TableHeaderColumn] Remove props.key calls (#3918)
- [TableRowColumn] Remove props.key calls (#3918)
- [Tabs] Better type checking on Tab children (#3750)
- [TextField] Fix incorrect state in getStyles() (#3972)
- [TimePicker] Add disabled property with example (#3778)
- [TimePicker] Fix label for 12AM as per material spec (#3781)
- [TimePicker] ok/cancel labels in time pickers should be of PropTypes.node (#3869)

## 0.15.0-alpha.2
###### _Mar 18, 2016_

Expand Down
99 changes: 81 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
#### Note

For *how-to* questions and other non-issues, please use [StackOverflow](http://stackoverflow.com/questions/tagged/material-ui) instead of Github issues. There is a StackOverflow tag called "material-ui" that you can use to tag your questions.
For *how-to* questions and other non-issues,
please use [StackOverflow](http://stackoverflow.com/questions/tagged/material-ui)
instead of Github issues. There is a StackOverflow tag called "material-ui"
that you can use to tag your questions.

#[Material-UI](http://www.material-ui.com/)
[![npm package](https://img.shields.io/npm/v/material-ui.svg?style=flat-square)](https://www.npmjs.org/package/material-ui)
Expand All @@ -11,29 +14,41 @@ For *how-to* questions and other non-issues, please use [StackOverflow](http://s
[![Dependencies](https://img.shields.io/david/callemall/material-ui.svg?style=flat-square)](https://david-dm.org/callemall/material-ui)
[![DevDependencies](https://img.shields.io/david/dev/callemall/material-ui.svg?style=flat-square)](https://david-dm.org/callemall/material-ui#info=devDependencies&view=list)

Material-UI is a set of [React](http://facebook.github.io/react/) components that implement [Google's Material Design](https://www.google.com/design/spec/material-design/introduction.html) specification.
Material-UI is a set of [React](http://facebook.github.io/react/) components that implement
[Google's Material Design](https://www.google.com/design/spec/material-design/introduction.html)
specification.

Check out our [documentation site](http://www.material-ui.com/) for live examples. It's still a work in progress, but hopefully you can see where we're headed.
Check out our [documentation site](http://www.material-ui.com/) for live examples.
It's still a work in progress, but hopefully you can see where we're headed.

**Recently Updated?** Please read the [changelog](https://github.com/callemall/material-ui/releases), this README and the documentation before posting an issue.

## Prerequisites

We recommend that you get to know [React](http://facebook.github.io/react/) before diving into material-ui. Material-UI is a set of React components, so understanding how React fits into web development is important.
We recommend that you get to know [React](http://facebook.github.io/react/)
before diving into material-ui. Material-UI is a set of React components,
so understanding how React fits into web development is important.

(If you're not familiar with Node, or with the concept of Single Page Applications (SPAs), head over to the [documentation website](http://material-ui.com/#/get-started/prerequisites) for a quick introduction before you read on.)
(If you're not familiar with Node, or with the concept of Single Page Applications (SPAs),
head over to the [documentation website](http://material-ui.com/#/get-started/prerequisites)
for a quick introduction before you read on.)

## Installation

Material-UI is available as an [npm package](https://www.npmjs.org/package/material-ui).
```sh
npm install material-ui
```
After npm install, you'll find all the .js files in the /src folder and their compiled versions in the /lib folder.
After npm install, you'll find all the .js files in the /src folder and
their compiled versions in the /lib folder.

### React-Tap-Event-Plugin

Some components use [react-tap-event-plugin](https://github.com/zilverline/react-tap-event-plugin) to
Some components use
[react-tap-event-plugin](https://github.com/zilverline/react-tap-event-plugin) to
listen for touch events because onClick is not fast enough
_This dependency is temporary and will eventually go away._ Until then, be sure to inject this plugin at the start of your app.
_This dependency is temporary and will eventually go away._ Until then,
be sure to inject this plugin at the start of your app.

```js
import injectTapEventPlugin from 'react-tap-event-plugin';
Expand All @@ -45,15 +60,41 @@ injectTapEventPlugin();

### Roboto Font

Material-UI was designed with the [Roboto](http://www.google.com/fonts/specimen/Roboto) font in mind. So be sure to include it in your project. Here are [some instructions](http://www.google.com/fonts#UsePlace:use/Collection:Roboto:400,300,500) on how to do so.
Material-UI was designed with the [Roboto](http://www.google.com/fonts/specimen/Roboto)
font in mind. So be sure to include it in your project. Here are
[some instructions](http://www.google.com/fonts#UsePlace:use/Collection:Roboto:400,300,500)
on how to do so.

## Usage

Using material-ui components is very straightforward. Once material-ui is included in your project, you can use the components this way:
Material-UI components are easy to use. The quickest way to get up and running is by using the `MuiThemeProvider` to inject the theme into your application context. Following that, you can to use any of the components as demonstrated in our documentation.

```js
Here is a quick example to get you started:

**./App.js**
```jsx
import React from 'react';
import ReactDOM from 'react-dom';
import getMuiTheme from 'material-ui/styles/getMuiTheme';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import MyAwesomeReactComponent from './MyAwesomeReactComponent';

const App = () => (
<MuiThemeProvider muiTheme={getMuiTheme()}>
<MyAwesomeReactComponent />
</MuiThemeProvider>
);

ReactDOM.render(
<App />,
document.getElementById('app')
);
```

**./MyAwesomeReactComponent.js**
```jsx
import React from 'react';
import RaisedButton from 'material-ui/lib/raised-button';
import RaisedButton from 'material-ui/RaisedButton';

const MyAwesomeReactComponent = () => (
<RaisedButton label="Default" />
Expand All @@ -62,26 +103,48 @@ const MyAwesomeReactComponent = () => (
export default MyAwesomeReactComponent;
```

Please refer to each component's documentation page to see how they should be imported.

## Customization

We have implemented a default theme to render all Material-UI components. Styling components to your liking is simple and hassle-free. This can be achieved in the following two ways:
We have implemented a default theme to render all Material-UI components.
Styling components to your liking is simple and hassle-free. This can be
achieved in the following two ways:

* [Use a custom theme to style components](http://material-ui.com/#/customization/themes)
* [Override individual component styles via the `style` prop](http://material-ui.com/#/customization/inline-styles)

## Examples

There are 2 projects that you can look at to get started. They can be found in the [examples folder](https://github.com/callemall/material-ui/tree/master/examples). These projects are basic examples that show how to consume material-ui components in your own project. The first project uses [browserify](http://browserify.org/) for module bundling and [gulp](http://gulpjs.com/) for JS task automation, while the second project uses [webpack](http://webpack.github.io/) for module bundling and building.
There are 2 projects that you can look at to get started. They can be found in the
[examples folder](https://github.com/callemall/material-ui/tree/master/examples).
These projects are basic examples that show how to consume material-ui components
in your own project. The first project uses [browserify](http://browserify.org/
for module bundling and [gulp](http://gulpjs.com/) for JS task automation,
while the second project uses [webpack](http://webpack.github.io/) for module bundling and building.

The source code for this documentation site is also included in the repository. This is a slightly more complex project that also uses webpack, and contains examples of every material-ui component. Check out the [docs folder](https://github.com/callemall/material-ui/tree/master/docs) for build instructions.
The source code for this documentation site is also included in the repository.
This is a slightly more complex project that also uses webpack, and contains
examples of every material-ui component. Check out the
[docs folder](https://github.com/callemall/material-ui/tree/master/docs)
for build instructions.

## Roadmap

The future plans and high priority features and enhancements can be found in the [ROADMAP.md](https://github.com/callemall/material-ui/blob/master/ROADMAP.md) file.
The future plans and high priority features and enhancements can be found
in the [ROADMAP.md](https://github.com/callemall/material-ui/blob/master/ROADMAP.md) file.

## Contribute

[Material-UI](http://www.material-ui.com/) came about from our love of [React](http://facebook.github.io/react/) and [Google's Material Design](https://www.google.com/design/spec/material-design/introduction.html). We're currently using it on a project at [Call-Em-All](https://www.call-em-all.com/Careers) and plan on adding to it and making it better. If you'd like to help, check out the [docs folder](https://github.com/callemall/material-ui/tree/master/docs). We'd greatly appreciate any [contribution](https://github.com/callemall/material-ui/blob/master/CONTRIBUTING.md) you make. :)
[Material-UI](http://www.material-ui.com/) came about from our love of
[React](http://facebook.github.io/react/) and
[Google's Material Design](https://www.google.com/design/spec/material-design/introduction.html).
We're currently using it on a project at [Call-Em-All](https://www.call-em-all.com/Careers)
and plan on adding to it and making it better. If you'd like to help,
check out the [docs folder](https://github.com/callemall/material-ui/tree/master/docs).
We'd greatly appreciate any [contribution](https://github.com/callemall/material-ui/blob/master/CONTRIBUTING.md)
you make. :)

## License
This project is licensed under the terms of the [MIT license](https://github.com/callemall/material-ui/blob/master/LICENSE)
This project is licensed under the terms of the
[MIT license](https://github.com/callemall/material-ui/blob/master/LICENSE)
2 changes: 1 addition & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "material-ui-docs",
"version": "0.15.0-alpha.2",
"version": "0.15.0-beta.1",
"description": "Documentation site for material-ui",
"repository": {
"type": "git",
Expand Down
12 changes: 6 additions & 6 deletions docs/src/app/components/AppNavDrawer.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const AppNavDrawer = React.createClass({
propTypes: {
docked: React.PropTypes.bool.isRequired,
location: React.PropTypes.object.isRequired,
onRequestChangeList: React.PropTypes.func.isRequired,
onChangeList: React.PropTypes.func.isRequired,
onRequestChangeNavDrawer: React.PropTypes.func.isRequired,
open: React.PropTypes.bool.isRequired,
style: React.PropTypes.object,
Expand Down Expand Up @@ -110,7 +110,7 @@ const AppNavDrawer = React.createClass({
location,
docked,
onRequestChangeNavDrawer,
onRequestChangeList,
onChangeList,
open,
style,
} = this.props;
Expand All @@ -126,7 +126,6 @@ const AppNavDrawer = React.createClass({
<div style={this.styles.logo} onTouchTap={this.handleTouchTapHeader}>
Material-UI
</div>

<span style={this.styles.version}>Version:</span>
<DropDownMenu
value={this.currentVersion()}
Expand All @@ -142,9 +141,9 @@ const AppNavDrawer = React.createClass({
/>
))}
</DropDownMenu>

<SelectableList
valueLink={{value: location.pathname, requestChange: onRequestChangeList}}
value={location.pathname}
onChange={onChangeList}
>
<ListItem
primaryText="Get Started"
Expand Down Expand Up @@ -253,7 +252,8 @@ const AppNavDrawer = React.createClass({
</SelectableList>
<Divider />
<SelectableList
valueLink={{value: '', requestChange: this.handleRequestChangeLink}}
value=""
onChange={this.handleRequestChangeLink}
>
<Subheader>Resources</Subheader>
<ListItem primaryText="GitHub" value="https://github.com/callemall/material-ui" />
Expand Down
4 changes: 2 additions & 2 deletions docs/src/app/components/Master.js
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ const Master = React.createClass({
});
},

handleRequestChangeList(event, value) {
handleChangeList(event, value) {
this.context.router.push(value);
this.setState({
navDrawerOpen: false,
Expand Down Expand Up @@ -194,7 +194,7 @@ const Master = React.createClass({
location={location}
docked={docked}
onRequestChangeNavDrawer={this.handleChangeRequestNavDrawer}
onRequestChangeList={this.handleRequestChangeList}
onChangeList={this.handleChangeList}
open={navDrawerOpen}
/>
<FullWidthSection style={styles.footer}>
Expand Down
Loading

0 comments on commit 3b640c8

Please sign in to comment.