Skip to content

Commit

Permalink
[docs] Continue the rebranding (#10)
Browse files Browse the repository at this point in the history
  • Loading branch information
oliviertassinari authored Dec 2, 2017
1 parent 2c96e2e commit b91b12d
Show file tree
Hide file tree
Showing 23 changed files with 172 additions and 274 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@ instead of Github issues. There is a StackOverflow tag called "material-next"
that you can use to tag your questions.

# [Material-Next](https://material-ui-next.com/)
[![npm package](https://img.shields.io/npm/v/@material-next/core/master.svg)](https://www.npmjs.org/package/@material-next/core)
[![npm package](https://img.shields.io/npm/v/@material-next/core.svg)](https://www.npmjs.org/package/@material-next/core)
![npm](https://img.shields.io/npm/dm/@material-next/core.svg)
[![CircleCI](https://img.shields.io/circleci/project/github/material-next/material-next/master.svg)](https://circleci.com/gh/material-next/material-next/tree/master)
[![Gitter](https://img.shields.io/badge/gitter-join%20chat-f81a65.svg)](https://gitter.im/callemall/material-ui?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Gitter](https://img.shields.io/badge/gitter-join%20chat-f81a65.svg)](https://gitter.im/material-next/material-next?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Coverage Status](https://img.shields.io/codecov/c/github/material-next/material-next/master.svg)](https://codecov.io/gh/material-next/material-next/branch/master)

[![PeerDependencies](https://img.shields.io/david/peer/material-next/material-next.svg)](https://david-dm.org/material-next/material-next#info=peerDependencies&view=list)
Expand Down
74 changes: 23 additions & 51 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,28 @@

The roadmap is a living document, and it is likely that priorities will change, but the list below should give some indication of our plans for the next major release, and for the future.

⚠️ New features based on `v0.19.x` have low priority and will most likely not be reviewed nor merged. We want to focus on bug fixes.
## Stable v1

## Version 1 (published on NPM under the next tag)
Releasing stable v1 is our top priority. It's going to be huge ✨.
We are just at the beginning, we hope to:
- make it the **simplest** React UI library available for new Front-End developers to start with.
- **very customizable** so highly UI demanding production applications can save time building on top of it.

Version 1 release is going to be huge ✨.
We host a temporary [documentation site](https://material-ui-next.com) for the pre-releases.

Material-Next was started [3 years ago](https://github.com/material-next/material-next/commit/28b768913b75752ecf9b6bb32766e27c241dbc46).
Material-UI was started [3 years ago](https://github.com/material-next/material-next/commit/28b768913b75752ecf9b6bb32766e27c241dbc46).
The ecosystem has evolved a lot since then, we have also learned a lot.
[@nathanmarks](https://github.com/nathanmarks/) started an ambitious task, rebuilding Material-Next from the **ground-up**
[@nathanmarks](https://github.com/nathanmarks/) started an ambitious task, rebuilding Material-UI from the **ground-up**
taking advantage of this knowledge to address long-standing issues.
Expect various **breaking changes**.

The core team is now helping him in the [v1-beta](https://github.com/material-next/material-next/tree/v1-beta) branch.
[@oliviertassinari](https://github.com/oliviertassinari/) has been [keeping up](https://github.com/mui-org/material-ui/graphs/contributors?from=2016-04-19&to=2017-11-17&type=c) the rewrite effort for 1 year and a half. We will finish it off here.
If you are interested in following our progress or if you want to help us reach that goal faster, you can have a look at the following milestones:
- ~~[v1.0.0-beta](https://github.com/material-next/material-next/milestone/22)~~ - complete!
- [v1.0.0-prerelease](https://github.com/material-next/material-next/milestone/14)
- ~~[v1.0.0-beta](https://github.com/mui-org/material-ui/milestone/22?closed=1)~~ - complete!
- [v1.0.0-prerelease](https://github.com/material-next/material-next/milestone/2)
- [v1.0.0](https://github.com/material-next/material-next/milestone/1)

## Q&A with the v1 version

The `v1-beta` branch has become more mature, so we think that it's a good time to communicate more on this effort.
We have a lot of people opening PRs and getting them closed, this is not a good thing.
This Q&A tries to answer some of your questions.
The v1-beta version has become mature, so we think that it's time to communicate more on this effort. This Q&A tries to answer some of your questions.

### Summarizing, what are our main problems with CSS?

Expand Down Expand Up @@ -58,50 +57,21 @@ Computing the inline-style at each render with no caching isn't really efficient

Yes, it does. You can have a look at [this presentation](https://github.com/oliviertassinari/a-journey-toward-better-style) for more details.

## What does it mean to migrate a component? Should we discuss each one of them first?

Migrating a component to the `v1-beta` branch isn't just a style migration.
We think that it's our best opportunity to clear the API and improve the implementation of the components.
@nathanmarks ended up fixing a lot of long standing issues in the process.

Yes, it would much better to discuss an action plan for each of them that would save us considerable time compared to blindly following a wrong path.
We should answer the following questions:
- What will the API look like?
- What trade-offs are we going to make?
- What features will be implemented?

That conversation could start on one of the following [issues](https://github.com/material-next/material-next/issues?q=is%3Aissue+is%3Aopen+label%3ARefactoring+label%3Anext).

### How do I know if a component still needs to be migrated `v1-beta`?

We have [some open issues](https://github.com/material-next/material-next/issues?q=is%3Aopen+is%3Aissue+label%3ARefactoring+label%3Av1) to **coordinate** the work toward the `v1.0.0` release.

### How do I start migrating components to the `v1-beta` branch?

Once we agree on the migration plan you're going to have to get your hands dirty.
That's really up to you. At least, you going to have to:
- clone the `v1-beta` branch
- install the npm dependencies
- play with the documentation site
- write some documentation
- write some tests (unit, integration, visual)

### When do we intend to release `v1`?
### When do we intend to release stable v1?

We don't have an ETA for the release of the `v1`, however, we are going to try to follow this plan:
We don't have an ETA for the release of the `v1`, however, we are going to try to follow this plan and hope for a Q1 2018 release:

1. ~~We completely address the styling issue before moving from *alpha* to [*beta*](https://github.com/material-next/material-next/milestone/22).~~
2. ~~We publish our first beta releases.~~
3. We fix the last API inconsistencies (as we can make breaking changes without having to worry much).
4. We merge the beta branch into master
3. ~~We merge the beta branch into master~~
5. We publish our first pre-releases, if all goes well, we move to the next step.
6. We publish v1 🎉

At that point, some features and components from the v0.x will be missing in the v1.
At that point, some features and components from Material-UI v0.x will be missing in the v1.
So, what about them?
- First, both versions can be used at the same time, people can progressively migrate, one component at the time.
- Then, **with the help of the community** and over time, we will support more and more components.
- We would rather **support few use-cases very well and allow people to build on top of it** than many poorly.
- We would rather **support few use-cases very well** and allow people to build on top of it **than many poorly**.

### Have we ever considered using the best libraries for each piece of functionality and provide only a wrapper for the UI?

Expand All @@ -117,8 +87,10 @@ We think that it should be done the other way around, i.e. providing a low-level

On the other hand, using a smart date library for the DatePicker / TimePicker would probably be much better as date management is tricky and not a core business.

## Future
## After stable v1

- Add missing components, and missing features from current ones
- [[#7721](https://github.com/material-next/material-next/issues/7721)] Preact support
- [[#593](https://github.com/material-next/material-next/issues/593)] Support React Native
- **Theming**. We will invest in the theming solution. We would love to see **non Material Design UI** built with Material-Next. [@oliviertassinari](https://github.com/oliviertassinari/) is working on a proof of concept.
- **Type checking**. We need to improve TypeScript and Flow coverage of the library.
- **Bundle size**. We need the library to be as small as possible. We already monitor the bundle size with size-limit. We need to think of the solutions. For instance, supporting preact can help.
- **Performance**. We can't optimize something we can't measure. We don't have any CI performance benchmark. We will need to build one and start investigating bottlenecks.
- **Learning materials**. The documentation is equally as important as the quality of the implementation. We could be authoring a [learning tutorial](https://learnnextjs.com/) like Next.js is doing, or some [egghead.io](https://egghead.io/) courses.
2 changes: 1 addition & 1 deletion SUPPORT.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Asking Questions

For how-to questions and other non-issues, please use [StackOverflow](http://stackoverflow.com/questions/tagged/material-ui) or [Gitter](https://gitter.im/callemall/material-ui) chat 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-next) or [Gitter](https://gitter.im/material-next/material-next) chat instead of Github issues. There is a StackOverflow tag called "material-next" that you can use to tag your questions.

## Opening an Issue

Expand Down
2 changes: 1 addition & 1 deletion docs/src/modules/components/AppDrawerNavItem.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ const styles = theme => ({
},
navLinkButton: {
color: theme.palette.text.secondary,
textIndent: theme.spacing.unit * 3,
marginLeft: theme.spacing.unit * 3,
fontSize: theme.typography.pxToRem(13),
},
activeButton: {
Expand Down
6 changes: 5 additions & 1 deletion docs/src/modules/components/withRoot.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,11 @@ const pages = [
},
{
pathname: '/guides/migration-v0.x',
title: 'Migration from v0.x',
title: 'Migration from Material-UI v0.x',
},
{
pathname: '/guides/migration-v1.x',
title: 'Migration from Material-UI v1.x',
},
{
pathname: '/guides/comparison',
Expand Down
12 changes: 6 additions & 6 deletions docs/src/pages/customization/css-in-js.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ When only rendering on the client, that's not something you need to be aware of.
You may have noticed that the class names generated by our styling solution are **non-deterministic**,
so you can't rely on them to stay the same. The following CSS won't work:
```css
.MuiAppBar-root-12 {
.MN-AppBar-root-12 {
opacity: 0.6
}
```
Expand All @@ -61,7 +61,7 @@ On the other hand, thanks to the non-deterministic nature of our class names, we
can implement optimizations for development and production.
They are easy to debug in development and as short as possible in production:

- development: `.MuiAppBar-root-12`
- development: `.MN-AppBar-root-12`
- production: `.c12`

## CSS injection order
Expand All @@ -84,7 +84,7 @@ By adjusting the placement of the `insertionPoint` comment within your HTML body
import JssProvider from 'react-jss/lib/JssProvider';
import { create } from 'jss';
import preset from 'jss-preset-default';
import createGenerateClassName from 'material-ui/styles/createGenerateClassName';
import createGenerateClassName from '@material-next/core/styles/createGenerateClassName';

const jss = create(preset());
// Custom Material-Next class name generator for better debug and performance.
Expand Down Expand Up @@ -138,7 +138,7 @@ Here is an example:
import JssProvider from 'react-jss/lib/JssProvider';
import { create } from 'jss';
import preset from 'jss-preset-default';
import createGenerateClassName from 'material-ui/styles/createGenerateClassName';
import createGenerateClassName from '@material-next/core/styles/createGenerateClassName';

const jss = create(preset());
// Custom Material-Next class name generator for better debug and performance.
Expand Down Expand Up @@ -188,7 +188,7 @@ Use the function signature if you need to have access to the theme. It's provide
#### Examples

```js
import { withStyles } from 'material-ui/styles';
import { withStyles } from '@material-next/core/styles';

const styles = {
root: {
Expand All @@ -208,7 +208,7 @@ export default withStyles(styles)(MyComponent);
Also, you can use as [decorators](https://babeljs.io/docs/plugins/transform-decorators/) like so:

```js
import { withStyles } from 'material-ui/styles';
import { withStyles } from '@material-next/core/styles';

const styles = {
root: {
Expand Down
12 changes: 6 additions & 6 deletions docs/src/pages/customization/themes.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ You can make a theme dark by setting `type` to `dark`.
### The other variables

We have tried to normalize the implementation by adding many more variables: typography, breakpoints, transitions, etc. You can see below what the theme object looks like with the default values.
If you want to learn more, we suggesting having a look at [`material-ui/style/createMuiTheme.js`](https://github.com/material-next/material-next/blob/master/src/styles/createMuiTheme.js).
If you want to learn more, we suggesting having a look at [`@material-next/core/style/createMuiTheme.js`](https://github.com/material-next/material-next/blob/master/src/styles/createMuiTheme.js).

{{demo='pages/customization/ThemeDefault.js'}}

Expand Down Expand Up @@ -132,7 +132,7 @@ You can see the full properties API in [this dedicated page](/api/mui-theme-prov
```jsx
import React from 'react';
import { render } from 'react-dom';
import { MuiThemeProvider, createMuiTheme } from 'material-ui/styles';
import { MuiThemeProvider, createMuiTheme } from '@material-next/core/styles';
import Root from './Root';

const theme = createMuiTheme();
Expand Down Expand Up @@ -163,9 +163,9 @@ Generate a theme base on the options received.
#### Examples

```js
import { createMuiTheme } from 'material-ui/styles';
import purple from 'material-ui/colors/purple';
import green from 'material-ui/colors/green';
import { createMuiTheme } from '@material-next/core/styles';
import purple from '@material-next/core/colors/purple';
import green from '@material-next/core/colors/green';

const theme = createMuiTheme({
palette: {
Expand Down Expand Up @@ -193,7 +193,7 @@ Provide the `theme` object as a property of the input component.
#### Examples

```js
import { withTheme } from 'material-ui/styles'
import { withTheme } from '@material-next/core/styles'

export default withTheme()(MyComponent);
```
6 changes: 1 addition & 5 deletions docs/src/pages/discover-more/related-projects.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,12 @@

## Material-Next Specific Projects

- [dx-react-grid-material-ui](https://devexpress.github.io/devextreme-reactive/react/grid/) A data grid for Material-Next with paging, sorting, filtering, grouping and editing features.
- [material-ui-time-picker](https://github.com/TeamWertarbyte/material-ui-time-picker) A TimePicker for Material-Next.
- [material-ui-pickers](https://github.com/dmtrKovalenko/material-ui-pickers) Components, that implement Material Design date and time pickers for Material-Next.

## Complementary Projects

- [react-autosuggest](https://github.com/moroshko/react-autosuggest) WAI-ARIA compliant React autosuggest component.
- [react-popper](https://github.com/souporserious/react-popper) React wrapper around PopperJS.
- [react-swipeable-views](https://github.com/oliviertassinari/react-swipeable-views)
A React component for swipeable views. Plays well with the `Tabs` component.
- [redux-form](http://redux-form.com/6.1.1/examples/material-ui/) Manage your form state in Redux.
- [redux-form](https://github.com/erikras/redux-form) Manage your form state in Redux.
- [react-text-mask](https://github.com/text-mask/text-mask) Input mask for React, Angular, Ember, Vue, & plain JavaScript.
- [react-number-format](https://github.com/s-yadav/react-number-format) React component to format numbers in an input or as a text.
8 changes: 4 additions & 4 deletions docs/src/pages/getting-started/frequently-asked-questions.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

Stuck on a particular problem? Check some of these common gotchas first.

If you still can't find what you're looking for, you can ask the community in [gitter](https://gitter.im/callemall/material-ui).
For how-to questions and other non-issues, please use [StackOverflow](https://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.
If you still can't find what you're looking for, you can ask the community in [gitter](https://gitter.im/material-next/material-next).
For how-to questions and other non-issues, please use [StackOverflow](https://stackoverflow.com/questions/tagged/material-next) instead of Github issues. There is a StackOverflow tag called `material-next` that you can use to tag your questions.

## Why do the fixed positioned elements move when a modal is opened?

Expand Down Expand Up @@ -56,7 +56,7 @@ export default withTheme()(withStyles(styles)(Modal));
## Material-Next is awesome. How can I support the project?

There are a lot of ways to support Material-Next:
- Improve [the documentation](https://github.com/material-next/material-next/tree/master/docs).- Help others to get started.- [Spread the word](https://twitter.com/MaterialNext).- Answer [StackOverflow questions](https://stackoverflow.com/questions/tagged/material-ui).If you use Material-Next in a commercial project and would like to support its continued development by becoming a **Sponsor**,
or in a side or hobby project and would like to become a backer, you can do so through [OpenCollective](https://opencollective.com/material-ui).
- Improve [the documentation](https://github.com/material-next/material-next/tree/master/docs).- Help others to get started.- [Spread the word](https://twitter.com/MaterialNext).- Answer [StackOverflow questions](https://stackoverflow.com/questions/tagged/material-next).If you use Material-Next in a commercial project and would like to support its continued development by becoming a **Sponsor**,
or in a side or hobby project and would like to become a backer, you can do so through [OpenCollective](https://opencollective.com/material-next).

All funds raised are managed transparently, and Sponsors receive recognition in the README and on the Material-Next home page.
6 changes: 3 additions & 3 deletions docs/src/pages/getting-started/installation.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Installation

Material-Next is available as an [npm package](https://www.npmjs.org/package/@material-ui/core).
Material-Next is available as an [npm package](https://www.npmjs.org/package/@material-next/core).

## npm

Expand All @@ -25,8 +25,8 @@ on how to do so.
## SVG Icons

In order to use prebuilt SVG Material icons, such as those found in the [component demos](/demos/app-bar/)
you must first install the [material-ui-icons](https://www.npmjs.org/package/material-ui-icons) package:
you must first install the [@material-next/icons](https://www.npmjs.org/package/@material-next/icons) package:

```
npm install --save @material-ui/icons
npm install --save @material-next/icons
```
9 changes: 8 additions & 1 deletion docs/src/pages/guides/comparison.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,20 @@ If you notice an inaccuracy or something that doesn’t seem quite right, please
## Material-Next

![stars](https://img.shields.io/github/stars/material-next/material-next.svg?style=social&label=Star)
![npm](https://img.shields.io/npm/dm/material-ui.svg)
![npm](https://img.shields.io/npm/dm/@material-next/core.svg)

We'll try very hard to avoid bias, although as the core team, we obviously like Material-Next a lot ❤️.
There are some problems we think it solves better than anything else out there; if we didn’t believe that, we wouldn’t be working on it 😄.

We do want to be fair and accurate though, so where other libraries offer significant advantages we try to list these as well.

## Material-UI

![stars](https://img.shields.io/github/stars/mui-org/material-ui.svg?style=social&label=Star)
![npm](https://img.shields.io/npm/dm/material-ui.svg)

Material-Next is a fork of Material-UI following a different governance model. [Find out more](https://medium.com/).

## Material Design Lite (MDL)

![stars](https://img.shields.io/github/stars/google/material-design-lite.svg?style=social&label=Star)
Expand Down
Loading

0 comments on commit b91b12d

Please sign in to comment.