Skip to content

Commit 75c7270

Browse files
committed
Merge tag 'v0.23.7' into v0.24-rc
Conflicts: package.json index.js
1 parent e2d1e0e commit 75c7270

68 files changed

Lines changed: 2456 additions & 605 deletions

Some content is hidden

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

.eslintrc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,12 @@
1212
"babel"
1313
],
1414
"rules": {
15+
"constructor-super": 2,
1516
"comma-spacing": 2,
1617
"comma-style": [2, "last"],
1718
"one-var": [2, { "initialized": "never" }],
1819
"key-spacing": 0,
20+
"no-this-before-super": 2,
1921
"no-underscore-dangle": 0,
2022
"no-unused-vars": [2, { "vars": "all", "args": "none" }],
2123
"no-var": 2,

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,32 @@
1+
v0.23.7 - Wed, 01 Jul 2015 15:18:30 GMT
2+
---------------------------------------
3+
4+
- [35ea201](../../commit/35ea201) [fixed] Accidental breaking change in Modal trigger
5+
6+
7+
8+
v0.23.6 - Wed, 01 Jul 2015 00:48:02 GMT
9+
---------------------------------------
10+
11+
- [1b1af04](../../commit/1b1af04) [changed] deprecate ModalTrigger
12+
- [83b4cbc](../../commit/83b4cbc) [changed] Modal doesn't require ModalTrigger
13+
- [d70f617](../../commit/d70f617) [changed] tooltips and popovers required id's for a11y
14+
- [389cf3f](../../commit/389cf3f) [changed] Deprecate OverlayTrigger positioning api and "manual" trigger
15+
- [5eb8666](../../commit/5eb8666) [added] Overlay component
16+
- [1638f69](../../commit/1638f69) [added] Position component for custom Overlays
17+
- [f799110](../../commit/f799110) [added] Portal component; replaces OverlayMixin
18+
- [97ef415](../../commit/97ef415) [fixed] Modal won't steal focus from children
19+
- [a8b177a](../../commit/a8b177a) [fixed] Stack overflow with nested Modals
20+
- [3caa866](../../commit/3caa866) [changed] Update babel-loader
21+
- [6ffa325](../../commit/6ffa325) [fixed] 'componentClass' property type is 'elementType' now
22+
- [0e5980f](../../commit/0e5980f) [added] 'elementType' custom prop type validator
23+
- [8f582d2](../../commit/8f582d2) [changed] Update karma-chrome-launcher. Dev dependency
24+
- [d4089d0](../../commit/d4089d0) [changed] Update eslint-plugin-mocha. Dev dependency
25+
- [fd547f4](../../commit/fd547f4) [changed] Update karma-mocha. Dev dependency.
26+
- [c5797e8](../../commit/c5797e8) [added] componentClass prop to Jumbotron
27+
28+
29+
130
v0.23.5 - Tue, 23 Jun 2015 01:31:35 GMT
231
---------------------------------------
332

CONTRIBUTING.md

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ and submitting pull requests, but please respect the following restrictions:
1717

1818
- Please do not use the issue tracker for personal support requests. Stack
1919
Overflow ([react-bootstrap](http://stackoverflow.com/questions/tagged/react-bootstrap)
20-
tag), [Slack](http://www.reactiflux.com/) or
21-
[gitter](https://gitter.im/react-bootstrap/react-bootstrap) are better places
22-
to get help.
20+
tag), [Slack](http://www.reactiflux.com/),
21+
[gitter](https://gitter.im/react-bootstrap/react-bootstrap), or
22+
[Thinkful](http://start.thinkful.com/react/?utm_source=github&utm_medium=badge&utm_campaign=react-bootstrap)
23+
are better places to get help.
2324
- Please do not open issues or pull requests regarding the code in React or
2425
Bootstrap (open them in their respective repositories).
2526

@@ -68,11 +69,52 @@ doesn't make sense to do this, then it doesn't make sense to use `[changed]` or
6869
`[removed]` :). For further reading on writing a well formed commit message,
6970
check out these [5 useful tips for a better commit message][commit-message]
7071

72+
### Using `[changed]` with development dependencies updates
73+
74+
Use `[changed]` if dev-dependency has impact on the resulting code or API.
75+
`babel` is a good example of such dev-dependency.
76+
`chai`, `colors`, `express` or `eslint` are good examples when there is
77+
no need to add `[changed]`.
78+
79+
## Visual Changes
80+
81+
When making a visual change, if at all feasible please provide screenshots
82+
and/or screencasts of the proposed change. This will help us to understand the
83+
desired change easier.
84+
7185
## Docs
7286

7387
Please update the docs with any API changes, the code and docs should always be
7488
in sync.
7589

90+
Component prop documentation is generated automatically from the React components
91+
and their leading comments. Please make sure to provide comments for any `propTypes` you add
92+
or change in a Component.
93+
94+
```js
95+
propTypes: {
96+
/**
97+
* Sets the visibility of the Component
98+
*/
99+
show: React.PropTypes.bool,
100+
101+
/**
102+
* A callback fired when the visibility changes
103+
* @type {func}
104+
* @required
105+
*/
106+
onHide: myCustomPropType
107+
}
108+
```
109+
110+
There are a few caveats to this format that differ from conventional JSDoc comments.
111+
112+
- Only specific doclets (the @ things) should be used, and only when the data cannot be parsed from the component itself
113+
- `@type`: Override the "type", use the same names as the default React PropTypes: string, func, bool, number, object. You can express enum and oneOfType types, Like `{("optionA"|"optionB")}`.
114+
- `@required`: to mark a prop as required (use the normal React isRequired if possible)
115+
- `@private`: Will hide the prop in the documentation
116+
- All description text should be above the doclets.
117+
76118
## Implement additional components and features
77119

78120
This project is seeking parity with the core Bootstrap library.

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
[![HuBoard][huboard-badge]][huboard]
99
[![Gitter][gitter-badge]][gitter]
10+
[![Thinkful][thinkful-badge]][thinkful]
1011

1112
[![NPM version][npm-badge]][npm]
1213
[![Bower version][bower-badge]][bower]
@@ -75,5 +76,8 @@ Yes please! See the [contributing guidelines][contributing] for details.
7576
[huboard-badge]: https://img.shields.io/badge/Hu-Board-7965cc.svg
7677
[huboard]: https://huboard.com/react-bootstrap/react-bootstrap
7778

79+
[thinkful-badge]: https://tf-assets-staging.s3.amazonaws.com/badges/thinkful_repo_badge.svg
80+
[thinkful]: http://start.thinkful.com/react/?utm_source=github&utm_medium=badge&utm_campaign=react-bootstrap
81+
7882
[appveyor-badge]: https://ci.appveyor.com/api/projects/status/ylitpyo6n5yq1s6i/branch/master?svg=true
7983
[appveyor]: https://ci.appveyor.com/project/react-bootstrap/react-bootstrap/branch/master

appveyor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ version: '{build}'
44
install:
55
# Get the latest stable version of io.js
66
- ps: Install-Product node ''
7-
- npm -g install npm@latest
7+
- npm -g install npm@2.11.x
88
- set PATH=%APPDATA%\npm;%PATH%
99
- node --version
1010
- npm --version

docs/assets/style.css

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,3 +162,13 @@ body {
162162
position: absolute;
163163
}
164164

165+
.prop-table {
166+
background-color: white;
167+
}
168+
169+
.bs-example.tooltip-static .tooltip {
170+
position: relative;
171+
display: inline-block;
172+
margin: 5px 10px;
173+
174+
}

docs/build.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import Root from './src/Root';
66
import fsp from 'fs-promise';
77
import { copy } from '../tools/fs-utils';
88
import { exec } from '../tools/exec';
9+
import metadata from './generate-metadata';
910

1011
const repoRoot = path.resolve(__dirname, '../');
1112
const docsBuilt = path.join(repoRoot, 'docs-built');
@@ -21,12 +22,12 @@ const readmeDest = path.join(docsBuilt, 'README.md');
2122
* @return {Promise} promise
2223
* @internal
2324
*/
24-
function generateHTML(fileName) {
25+
function generateHTML(fileName, propData) {
2526
return new Promise((resolve, reject) => {
2627
const urlSlug = fileName === 'index.html' ? '/' : `/${fileName}`;
2728

2829
Router.run(routes, urlSlug, Handler => {
29-
let html = React.renderToString(React.createElement(Handler));
30+
let html = React.renderToString(React.createElement(Handler, { propData }));
3031
html = '<!doctype html>' + html;
3132
let write = fsp.writeFile(path.join(docsBuilt, fileName), html);
3233
resolve(write);
@@ -41,8 +42,10 @@ export default function BuildDocs({dev}) {
4142

4243
return exec(`rimraf ${docsBuilt}`)
4344
.then(() => fsp.mkdir(docsBuilt))
44-
.then(() => {
45-
let pagesGenerators = Root.getPages().map(generateHTML);
45+
.then(metadata)
46+
.then(propData => {
47+
48+
let pagesGenerators = Root.getPages().map( page => generateHTML(page, propData));
4649

4750
return Promise.all(pagesGenerators.concat([
4851
exec(`webpack --config webpack.docs.js --bail ${devOption}`),

docs/examples/.eslintrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
"ModalTrigger",
3737
"OverlayTrigger",
3838
"OverlayMixin",
39+
"Overlay",
3940
"PageHeader",
4041
"PageItem",
4142
"Pager",

docs/examples/ModalContained.js

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,40 @@
99
* }
1010
*/
1111

12-
const ContainedModal = React.createClass({
13-
render() {
14-
return (
15-
<Modal {...this.props} title='Contained Modal' animation>
16-
<div className='modal-body'>
17-
Elit est explicabo ipsum eaque dolorem blanditiis doloribus sed id ipsam, beatae, rem fuga id earum? Inventore et facilis obcaecati.
18-
</div>
19-
<div className='modal-footer'>
20-
<Button onClick={this.props.onRequestHide}>Close</Button>
21-
</div>
22-
</Modal>
23-
);
24-
}
25-
});
26-
2712
const Trigger = React.createClass({
13+
getInitialState(){
14+
return { show: false };
15+
},
16+
2817
render() {
18+
let close = e => this.setState({ show: false});
19+
2920
return (
3021
<div className='modal-container' style={{height: 200}}>
31-
<ModalTrigger modal={<ContainedModal container={this} />} container={this}>
32-
<Button bsStyle='primary' bsSize='large'>Launch contained modal</Button>
33-
</ModalTrigger>
22+
<Button
23+
bsStyle='primary'
24+
bsSize='large'
25+
onClick={e => this.setState({ show: true})}
26+
>
27+
Launch contained modal
28+
</Button>
29+
30+
<Modal
31+
show={this.state.show}
32+
onHide={close}
33+
container={this}
34+
aria-labelledby='contained-modal-title'
35+
>
36+
<Modal.Header closeButton>
37+
<Modal.Title id='contained-modal-title'>Contained Modal</Modal.Title>
38+
</Modal.Header>
39+
<Modal.Body>
40+
Elit est explicabo ipsum eaque dolorem blanditiis doloribus sed id ipsam, beatae, rem fuga id earum? Inventore et facilis obcaecati.
41+
</Modal.Body>
42+
<Modal.Footer>
43+
<Button onClick={close}>Close</Button>
44+
</Modal.Footer>
45+
</Modal>
3446
</div>
3547
);
3648
}

docs/examples/ModalCustomSizing.js

Lines changed: 9 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)