Skip to content

Commit 3a24be2

Browse files
committed
Merge pull request react-bootstrap#987 from taion/merge-v0.24
Merge v0.24
2 parents 77533d4 + 3ab6ee0 commit 3a24be2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+2063
-1190
lines changed

.babelrc

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"optional": [
3-
"es7.objectRestSpread"
4-
]
2+
"stage": 1,
3+
"optional": ["runtime"],
4+
"loose": ["all"]
55
}

CONTRIBUTING.md

+10
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,16 @@ Also Bootstrap mentions http://getbootstrap.com/getting-started/#examples
124124
as examples of things you can do, but they are not part of the core library,
125125
therefore this project is the wrong place to implement them.
126126

127+
## Breaking changes
128+
129+
Breaking changes should be accompanied with deprecations of removed
130+
functionality. Prior to the 1.0.0 release, we aim to follow React's example of
131+
taking two Minor releases to break old functionality. As such, changes that
132+
intend to remove or change public APIs should be be submitted against the
133+
`vX-rc` branch, and should be accompanied with deprecation warnings on the old
134+
APIs. The deprecated APIs themselves should not be removed until the Minor
135+
release after that.
136+
127137
## Notes for lodash functions usage in the code
128138

129139
You can use `lodash` but keep it to things where it actually needs it, i.e. don't use `lodash`'s `forEach` when `Array.prototype.forEach` is fine.

MAINTAINING.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,13 @@ then be re-applied and released with the proper version bump.
9595
### Release Candidates
9696

9797
In an effort to reduce the frequency with which we introduce breaking changes we
98-
should do our best to first push deprecation warnings in a Minor or Patch
99-
release. Also, Pull Requests with breaking changes should be submitted against
100-
the `vX-rc` branch, where X is the next Major version. Which we will in turn
101-
release as an `alpha` release of the next Major version. When we are ready to
102-
release the next Major version bump we will merge the `vX-rc` branch into the
103-
`master` branch and cut a `beta` release. Once bugs have been addressed with
104-
the `beta` release then we will release the Major version bump.
98+
should do our best to first push deprecation warnings in a Minor release. Also,
99+
Pull Requests with breaking changes should be submitted against the `vX-rc`
100+
branch, where X is the next Major version. Which we will in turn release as an
101+
`alpha` release of the next Major version. When we are ready to release the next
102+
Major version bump we will merge the `vX-rc` branch into the `master` branch and
103+
cut a `beta` release. Once bugs have been addressed with the `beta` release
104+
then we will release the Major version bump.
105105

106106
### Live releasing the documentation
107107

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
[![devDependency Status][dev-deps-badge]][dev-deps]
1717
[![peerDependency Status][peer-deps-badge]][peer-deps]
1818

19-
__Under active development - APIs will change.__ Check out the [1.0.0 Roadmap](https://github.com/react-bootstrap/react-bootstrap/wiki#100-roadmap) and [Contributing Guidelines][contributing] to see where you can help out. Prior to the 1.0.0 release, breaking changes should result in a Minor version bump.
19+
__Under active development - APIs will change.__ Check out the [1.0.0 Roadmap](https://github.com/react-bootstrap/react-bootstrap/wiki#100-roadmap) and [Contributing Guidelines][contributing] to see where you can help out. Prior to the 1.0.0 release, deprecations or breaking changes should result in a Minor version bump.
2020

2121
## Docs
2222

docs/build.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,11 @@ function generateHTML(fileName, propData) {
3535
});
3636
}
3737

38-
export default function BuildDocs({ dev }) {
38+
export default function BuildDocs({dev}) {
3939
console.log('Building: '.cyan + 'docs'.green + (dev ? ' [DEV]'.grey : ''));
4040

41+
const devOption = dev ? '' : '-p';
42+
4143
return exec(`rimraf ${docsBuilt}`)
4244
.then(() => fsp.mkdir(docsBuilt))
4345
.then(metadata)
@@ -46,7 +48,7 @@ export default function BuildDocs({ dev }) {
4648
let pagesGenerators = Root.getPages().map( page => generateHTML(page, propData));
4749

4850
return Promise.all(pagesGenerators.concat([
49-
exec(`webpack --config webpack.docs.js ${dev ? '' : '-p '}--bail`),
51+
exec(`webpack --config webpack.docs.js --bail ${devOption}`),
5052
copy(license, docsBuilt),
5153
copy(readmeSrc, readmeDest)
5254
]));

docs/examples/.eslintrc

+3-1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@
5252
"TabPane",
5353
"Tooltip",
5454
"Well",
55-
"Thumbnail"
55+
"Thumbnail",
56+
"Collapse",
57+
"Fade"
5658
}
5759
}

docs/examples/Collapse.js

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
class Example extends React.Component {
2+
constructor(...args){
3+
super(...args);
4+
5+
this.state = {};
6+
}
7+
8+
render(){
9+
10+
return (
11+
<div>
12+
<Button onClick={ ()=> this.setState({ open: !this.state.open })}>
13+
click
14+
</Button>
15+
<Collapse in={this.state.open}>
16+
<div>
17+
<Well>
18+
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.
19+
Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
20+
</Well>
21+
</div>
22+
</Collapse>
23+
</div>
24+
);
25+
}
26+
}
27+
28+
React.render(<Example/>, mountNode);

docs/examples/Fade.js

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
2+
class Example extends React.Component {
3+
4+
constructor(...args){
5+
super(...args);
6+
this.state = {};
7+
}
8+
9+
render(){
10+
11+
return (
12+
<div>
13+
<Button onClick={()=> this.setState({ open: !this.state.open })}>
14+
click
15+
</Button>
16+
<Fade in={this.state.open}>
17+
<div>
18+
<Well>
19+
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.
20+
Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
21+
</Well>
22+
</div>
23+
</Fade>
24+
</div>
25+
);
26+
}
27+
}
28+
29+
React.render(<Example/>, mountNode);
File renamed without changes.

docs/examples/ModalCustomSizing.js

+46-34
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,52 @@
1-
const MyModal = React.createClass({
2-
render() {
1+
const Example = React.createClass({
2+
3+
getInitialState(){
4+
return { show: false };
5+
},
6+
7+
render(){
8+
let close = e => this.setState({ show: false });
9+
310
return (
4-
<Modal {...this.props} dialogClassName='custom-modal'>
5-
<Modal.Header closeButton>
6-
<Modal.Title id='contained-modal-title-lg'>Modal heading</Modal.Title>
7-
</Modal.Header>
8-
<Modal.Body>
9-
<h4>Wrapped Text</h4>
10-
<p>Ipsum molestiae natus adipisci modi eligendi? Debitis amet quae unde commodi aspernatur enim, consectetur. Cumque deleniti temporibus ipsam atque a dolores quisquam quisquam adipisci possimus laboriosam. Quibusdam facilis doloribus debitis! Sit quasi quod accusamus eos quod. Ab quos consequuntur eaque quo rem!
11-
Mollitia reiciendis porro quo magni incidunt dolore amet atque facilis ipsum deleniti rem! Dolores debitis voluptatibus ipsum dicta. Dolor quod amet ab sint esse distinctio tenetur. Veritatis laudantium quibusdam quidem corporis architecto veritatis. Ex facilis minima beatae sunt perspiciatis placeat. Quasi corporis
12-
odio eaque voluptatibus ratione magnam nulla? Amet cum maiores consequuntur totam dicta! Inventore adipisicing vel vero odio modi doloremque? Vitae porro impedit ea minima laboriosam quisquam neque. Perspiciatis omnis obcaecati consequatur sunt deleniti similique facilis sequi. Ipsum harum vitae modi reiciendis officiis.
13-
Quas laudantium laudantium modi corporis nihil provident consectetur omnis, natus nulla distinctio illum corporis. Sit ex earum odio ratione consequatur odit minus laborum? Eos? Sit ipsum illum architecto aspernatur perspiciatis error fuga illum, tempora harum earum, a dolores. Animi facilis inventore harum dolore accusamus
14-
fuga provident molestiae eum! Odit dicta error dolorem sunt reprehenderit. Sit similique iure quae obcaecati harum. Eum saepe fugit magnam dicta aliquam? Sapiente possimus aliquam fugiat officia culpa sint! Beatae voluptates voluptatem excepturi molestiae alias in tenetur beatae placeat architecto. Sit possimus rerum
15-
fugiat sapiente aspernatur. Necessitatibus tempora animi dicta perspiciatis tempora a velit in! Doloribus perspiciatis doloribus suscipit nam earum. Deleniti veritatis eaque totam assumenda fuga sapiente! Id recusandae. Consectetur necessitatibus eaque velit nobis aliquid? Fugit illum qui suscipit aspernatur alias ipsum
16-
repudiandae! Quia omnis quisquam dignissimos a mollitia. Suscipit aspernatur eum maiores repellendus ipsum doloribus alias voluptatum consequatur. Consectetur quibusdam veniam quas tenetur necessitatibus repudiandae? Rem optio vel alias neque optio sapiente quidem similique reiciendis tempore. Illum accusamus officia
17-
cum enim minima eligendi consectetur nemo veritatis nam nisi! Adipisicing nobis perspiciatis dolorum adipisci soluta architecto doloremque voluptatibus omnis debitis quas repellendus. Consequuntur assumenda illum commodi mollitia asperiores? Quis aspernatur consequatur modi veritatis aliquid at? Atque vel iure quos.
18-
Amet provident voluptatem amet aliquam deserunt sint, elit dolorem ipsa, voluptas? Quos esse facilis neque nihil sequi non? Voluptates rem ab quae dicta culpa dolorum sed atque molestias debitis omnis! Sit sint repellendus deleniti officiis distinctio. Impedit vel quos harum doloribus corporis. Laborum ullam nemo quaerat
19-
reiciendis recusandae minima dicta molestias rerum. Voluptas et ut omnis est ipsum accusamus harum. Amet exercitationem quasi velit inventore neque doloremque! Consequatur neque dolorem vel impedit sunt voluptate. Amet quo amet magni exercitationem libero recusandae possimus pariatur. Cumque eum blanditiis vel vitae
20-
distinctio! Tempora! Consectetur sit eligendi neque sunt soluta laudantium natus qui aperiam quisquam consectetur consequatur sit sint a unde et. At voluptas ut officiis esse totam quasi dolorem! Hic deserunt doloribus repudiandae! Lorem quod ab nostrum asperiores aliquam ab id consequatur, expedita? Tempora quaerat
21-
ex ea temporibus in tempore voluptates cumque. Quidem nam dolor reiciendis qui dolor assumenda ipsam veritatis quasi. Esse! Sit consectetur hic et sunt iste! Accusantium atque elit voluptate asperiores corrupti temporibus mollitia! Placeat soluta odio ad blanditiis nisi. Eius reiciendis id quos dolorum eaque suscipit
22-
magni delectus maxime. Sit odit provident vel magnam quod. Possimus eligendi non corrupti tenetur culpa accusantium quod quis. Voluptatum quaerat animi dolore maiores molestias voluptate? Necessitatibus illo omnis laborum hic enim minima! Similique. Dolor voluptatum reprehenderit nihil adipisci aperiam voluptatem soluta
23-
magnam accusamus iste incidunt tempore consequatur illo illo odit. Asperiores nesciunt iusto nemo animi ratione. Sunt odit similique doloribus temporibus reiciendis! Ullam. Dolor dolores veniam animi sequi dolores molestias voluptatem iure velit. Elit dolore quaerat incidunt enim aut distinctio. Ratione molestiae laboriosam
24-
similique laboriosam eum et nemo expedita. Consequuntur perspiciatis cumque dolorem.</p>
25-
</Modal.Body>
26-
<Modal.Footer>
27-
<Button onClick={this.props.onHide}>Close</Button>
28-
</Modal.Footer>
29-
</Modal>
11+
<ButtonToolbar>
12+
<Button bsStyle='primary' onClick={()=>this.setState({ show: true })}>
13+
Launch demo modal
14+
</Button>
15+
16+
<Modal
17+
{...this.props}
18+
onHide={close}
19+
dialogClassName='custom-modal'
20+
>
21+
<Modal.Header closeButton>
22+
<Modal.Title id='contained-modal-title-lg'>Modal heading</Modal.Title>
23+
</Modal.Header>
24+
<Modal.Body>
25+
<h4>Wrapped Text</h4>
26+
<p>Ipsum molestiae natus adipisci modi eligendi? Debitis amet quae unde commodi aspernatur enim, consectetur. Cumque deleniti temporibus ipsam atque a dolores quisquam quisquam adipisci possimus laboriosam. Quibusdam facilis doloribus debitis! Sit quasi quod accusamus eos quod. Ab quos consequuntur eaque quo rem!
27+
Mollitia reiciendis porro quo magni incidunt dolore amet atque facilis ipsum deleniti rem! Dolores debitis voluptatibus ipsum dicta. Dolor quod amet ab sint esse distinctio tenetur. Veritatis laudantium quibusdam quidem corporis architecto veritatis. Ex facilis minima beatae sunt perspiciatis placeat. Quasi corporis
28+
odio eaque voluptatibus ratione magnam nulla? Amet cum maiores consequuntur totam dicta! Inventore adipisicing vel vero odio modi doloremque? Vitae porro impedit ea minima laboriosam quisquam neque. Perspiciatis omnis obcaecati consequatur sunt deleniti similique facilis sequi. Ipsum harum vitae modi reiciendis officiis.
29+
Quas laudantium laudantium modi corporis nihil provident consectetur omnis, natus nulla distinctio illum corporis. Sit ex earum odio ratione consequatur odit minus laborum? Eos? Sit ipsum illum architecto aspernatur perspiciatis error fuga illum, tempora harum earum, a dolores. Animi facilis inventore harum dolore accusamus
30+
fuga provident molestiae eum! Odit dicta error dolorem sunt reprehenderit. Sit similique iure quae obcaecati harum. Eum saepe fugit magnam dicta aliquam? Sapiente possimus aliquam fugiat officia culpa sint! Beatae voluptates voluptatem excepturi molestiae alias in tenetur beatae placeat architecto. Sit possimus rerum
31+
fugiat sapiente aspernatur. Necessitatibus tempora animi dicta perspiciatis tempora a velit in! Doloribus perspiciatis doloribus suscipit nam earum. Deleniti veritatis eaque totam assumenda fuga sapiente! Id recusandae. Consectetur necessitatibus eaque velit nobis aliquid? Fugit illum qui suscipit aspernatur alias ipsum
32+
repudiandae! Quia omnis quisquam dignissimos a mollitia. Suscipit aspernatur eum maiores repellendus ipsum doloribus alias voluptatum consequatur. Consectetur quibusdam veniam quas tenetur necessitatibus repudiandae? Rem optio vel alias neque optio sapiente quidem similique reiciendis tempore. Illum accusamus officia
33+
cum enim minima eligendi consectetur nemo veritatis nam nisi! Adipisicing nobis perspiciatis dolorum adipisci soluta architecto doloremque voluptatibus omnis debitis quas repellendus. Consequuntur assumenda illum commodi mollitia asperiores? Quis aspernatur consequatur modi veritatis aliquid at? Atque vel iure quos.
34+
Amet provident voluptatem amet aliquam deserunt sint, elit dolorem ipsa, voluptas? Quos esse facilis neque nihil sequi non? Voluptates rem ab quae dicta culpa dolorum sed atque molestias debitis omnis! Sit sint repellendus deleniti officiis distinctio. Impedit vel quos harum doloribus corporis. Laborum ullam nemo quaerat
35+
reiciendis recusandae minima dicta molestias rerum. Voluptas et ut omnis est ipsum accusamus harum. Amet exercitationem quasi velit inventore neque doloremque! Consequatur neque dolorem vel impedit sunt voluptate. Amet quo amet magni exercitationem libero recusandae possimus pariatur. Cumque eum blanditiis vel vitae
36+
distinctio! Tempora! Consectetur sit eligendi neque sunt soluta laudantium natus qui aperiam quisquam consectetur consequatur sit sint a unde et. At voluptas ut officiis esse totam quasi dolorem! Hic deserunt doloribus repudiandae! Lorem quod ab nostrum asperiores aliquam ab id consequatur, expedita? Tempora quaerat
37+
ex ea temporibus in tempore voluptates cumque. Quidem nam dolor reiciendis qui dolor assumenda ipsam veritatis quasi. Esse! Sit consectetur hic et sunt iste! Accusantium atque elit voluptate asperiores corrupti temporibus mollitia! Placeat soluta odio ad blanditiis nisi. Eius reiciendis id quos dolorum eaque suscipit
38+
magni delectus maxime. Sit odit provident vel magnam quod. Possimus eligendi non corrupti tenetur culpa accusantium quod quis. Voluptatum quaerat animi dolore maiores molestias voluptate? Necessitatibus illo omnis laborum hic enim minima! Similique. Dolor voluptatum reprehenderit nihil adipisci aperiam voluptatem soluta
39+
magnam accusamus iste incidunt tempore consequatur illo illo odit. Asperiores nesciunt iusto nemo animi ratione. Sunt odit similique doloribus temporibus reiciendis! Ullam. Dolor dolores veniam animi sequi dolores molestias voluptatem iure velit. Elit dolore quaerat incidunt enim aut distinctio. Ratione molestiae laboriosam
40+
similique laboriosam eum et nemo expedita. Consequuntur perspiciatis cumque dolorem.</p>
41+
</Modal.Body>
42+
<Modal.Footer>
43+
<Button onClick={close}>Close</Button>
44+
</Modal.Footer>
45+
</Modal>
46+
</ButtonToolbar>
3047
);
3148
}
3249
});
3350

34-
const overlayTriggerInstance = (
35-
<ModalTrigger modal={<MyModal />}>
36-
<Button bsStyle='primary' bsSize='large'>Launch demo modal</Button>
37-
</ModalTrigger>
38-
);
3951

40-
React.render(overlayTriggerInstance, mountNode);
52+
React.render(<Example/>, mountNode);

docs/src/ComponentsPage.js

+17
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ const ComponentsPage = React.createClass({
5757
<div className='row'>
5858
<div className='col-md-9' role='main'>
5959

60+
6061
{/* Buttons */}
6162
<div className='bs-docs-section'>
6263
<h1 className='page-header'><Anchor id='buttons'>Buttons</Anchor> <small>Button</small></h1>
@@ -855,6 +856,22 @@ const ComponentsPage = React.createClass({
855856

856857
<h3><Anchor id='utilities-position-props'>Props</Anchor></h3>
857858
<PropTable component='Position'/>
859+
860+
<h2><Anchor id='utilities-transitions'>Transitions</Anchor></h2>
861+
862+
<h3><Anchor id='utilities-collapse'>Collapse</Anchor></h3>
863+
<p>Add a collapse toggle animation to an element or component.</p>
864+
<ReactPlayground codeText={Samples.Collapse} />
865+
866+
<h4><Anchor id='utilities-collapse-props'>Props</Anchor></h4>
867+
<PropTable component='Collapse'/>
868+
869+
<h3><Anchor id='utilities-fade'>Fade</Anchor></h3>
870+
<p>Add a fade animation to a child element or component.</p>
871+
<ReactPlayground codeText={Samples.Fade} />
872+
873+
<h4><Anchor id='utilities-fade-props'>Props</Anchor></h4>
874+
<PropTable component='Fade'/>
858875
</div>
859876
</div>
860877

docs/src/GettingStartedPage.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,12 @@ $ npm install react-bootstrap`
4343
codeText={
4444
`var Alert = require('react-bootstrap/lib/Alert');
4545
// or
46-
var Alert = require('react-bootstrap').Alert;`
46+
var Alert = require('react-bootstrap').Alert;
47+
48+
// with ES6 modules
49+
import Alert from 'react-bootstrap/lib/Alert';
50+
// or
51+
import {Alert} from 'react-bootstrap';`
4752
}
4853
/>
4954
</div>

0 commit comments

Comments
 (0)