Merge pull request #2112 from storybooks/merge-master-to-release/3.3

Merge master to release/3.3
This commit is contained in:
Norbert de Langen 2017-10-23 16:22:28 +02:00 committed by GitHub
commit c47e6e9927
36 changed files with 580 additions and 165 deletions

View File

@ -100,6 +100,97 @@
- Update eslint-plugin-jest to the latest version 🚀 [#1795](https://github.com/storybooks/storybook/pull/1795)
- Update lerna to the latest version 🚀 [#1768](https://github.com/storybooks/storybook/pull/1768)
# 3.2.13
2017-October-20
#### Features
- Knobs addon: new knob type `button` [#2004](https://github.com/storybooks/storybook/pull/2004)
- Vue: Support JSX for Vue Components [#1993](https://github.com/storybooks/storybook/pull/1993)
- Vue CLI: support Nuxt.js projects [#2056](https://github.com/storybooks/storybook/pull/2056)
#### Bug Fixes
- UI: ix sidebar header wrapping [#1962](https://github.com/storybooks/storybook/pull/1962)
- Vue: Make Vue a peer dependency [#2041](https://github.com/storybooks/storybook/pull/2041)
#### Documentation
- Update empty addons channel bug description [#1977](https://github.com/storybooks/storybook/pull/1977)
- Fix README.md example for addons/info [#1960](https://github.com/storybooks/storybook/pull/1960)
#### Maintenance
- Dirty-check repo state on CI to ensure lockfiles being up-to-date [#1980](https://github.com/storybooks/storybook/pull/1980)
- Enable batch mode for dependencies.io [#2093](https://github.com/storybooks/storybook/pull/2093)
- Fixed lifecycle twice executing (closes #1742) [#1983](https://github.com/storybooks/storybook/pull/1983)
- Disable npm publish on all non-master branches [#1963](https://github.com/storybooks/storybook/pull/1963)
- Fix lerna.json to ignore vue-kitchen-sink correctly [#1944](https://github.com/storybooks/storybook/pull/1944)
#### Dependency Upgrades
<details>
<summary>
66 PRs
</summary>
- 2 packages updated by dependencies.io [#2097](https://github.com/storybooks/storybook/pull/2097)
- 2 packages updated by dependencies.io [#2094](https://github.com/storybooks/storybook/pull/2094)
- Update deps [#2090](https://github.com/storybooks/storybook/pull/2090)
- Update enzyme-adapter-react-16 from 1.0.1 to 1.0.2 in / [#2068](https://github.com/storybooks/storybook/pull/2068)
- Update deps [#2077](https://github.com/storybooks/storybook/pull/2077)
- Update webpack-hot-middleware from 2.19.1 to 2.20.0 in app/react [#2060](https://github.com/storybooks/storybook/pull/2060)
- Update webpack-hot-middleware from 2.19.1 to 2.20.0 in app/react-native [#2059](https://github.com/storybooks/storybook/pull/2059)
- Update @types/react from 16.0.10 to 16.0.11 in addons/knobs [#2058](https://github.com/storybooks/storybook/pull/2058)
- Update vue versions [#2032](https://github.com/storybooks/storybook/pull/2032)
- Update eslint from 4.8.0 to 4.9.0 in / [#2054](https://github.com/storybooks/storybook/pull/2054)
- Update webpack-dev-server from 2.9.1 to 2.9.2 in examples/vue-kitchen-sink [#2055](https://github.com/storybooks/storybook/pull/2055)
- Update postcss-loader from 2.0.7 to 2.0.8 in app/react [#2045](https://github.com/storybooks/storybook/pull/2045)
- Update codecov from 2.3.0 to 2.3.1 in / [#2042](https://github.com/storybooks/storybook/pull/2042)
- Update webpack from 3.6.0 to 3.7.1 in app/react-native [#2027](https://github.com/storybooks/storybook/pull/2027)
- Update moment from 2.19.0 to 2.19.1 in addons/knobs [#2026](https://github.com/storybooks/storybook/pull/2026)
- Update express from 4.16.1 to 4.16.2 in app/vue [#2018](https://github.com/storybooks/storybook/pull/2018)
- Update postcss-loader from 2.0.6 to 2.0.7 in app/react [#2017](https://github.com/storybooks/storybook/pull/2017)
- Update express from 4.16.1 to 4.16.2 in app/react [#2016](https://github.com/storybooks/storybook/pull/2016)
- Update postcss-loader from 2.0.6 to 2.0.7 in app/react-native [#2015](https://github.com/storybooks/storybook/pull/2015)
- Update express from 4.16.1 to 4.16.2 in app/react-native [#2014](https://github.com/storybooks/storybook/pull/2014)
- Update moment from 2.18.1 to 2.19.0 in addons/knobs [#2013](https://github.com/storybooks/storybook/pull/2013)
- Update autoprefixer from 7.1.4 to 7.1.5 in app/vue [#2003](https://github.com/storybooks/storybook/pull/2003)
- Update update-notifier from 2.2.0 to 2.3.0 in lib/cli [#1999](https://github.com/storybooks/storybook/pull/1999)
- Update autoprefixer from 7.1.4 to 7.1.5 in app/react [#2002](https://github.com/storybooks/storybook/pull/2002)
- Update autoprefixer from 7.1.4 to 7.1.5 in app/react-native [#2000](https://github.com/storybooks/storybook/pull/2000)
- Update @types/react from 16.0.9 to 16.0.10 in addons/knobs [#1998](https://github.com/storybooks/storybook/pull/1998)
- Update jest-enzyme from 4.0.0 to 4.0.1 in / [#1997](https://github.com/storybooks/storybook/pull/1997)
- Update storybook-router description in the addon gallery. [#1991](https://github.com/storybooks/storybook/pull/1991)
- Update lerna from 2.3.1 to 2.4.0 in / [#1985](https://github.com/storybooks/storybook/pull/1985)
- Update react-modal from 2.3.3 to 2.4.1 in app/vue [#1989](https://github.com/storybooks/storybook/pull/1989)
- Update react-modal from 2.3.3 to 2.4.1 in app/react [#1988](https://github.com/storybooks/storybook/pull/1988)
- Update react-modal from 2.3.3 to 2.4.1 in lib/ui [#1987](https://github.com/storybooks/storybook/pull/1987)
- Update react-icons from 2.2.5 to 2.2.7 in lib/ui [#1986](https://github.com/storybooks/storybook/pull/1986)
- Remove markdown autofixing on precommit hook [#1964](https://github.com/storybooks/storybook/pull/1964)
- Update vue-hot-reload-api from 2.1.0 to 2.1.1 in app/vue [#1976](https://github.com/storybooks/storybook/pull/1976)
- Update url-loader from 0.5.9 to 0.6.2 in app/vue [#1975](https://github.com/storybooks/storybook/pull/1975)
- Update react-modal from 2.3.2 to 2.3.3 in app/vue [#1974](https://github.com/storybooks/storybook/pull/1974)
- Update url-loader from 0.5.9 to 0.6.2 in app/react [#1973](https://github.com/storybooks/storybook/pull/1973)
- Update react-modal from 2.3.2 to 2.3.3 in app/react [#1972](https://github.com/storybooks/storybook/pull/1972)
- Update url-loader from 0.5.9 to 0.6.2 in app/react-native [#1970](https://github.com/storybooks/storybook/pull/1970)
- Update react-modal from 2.3.2 to 2.3.3 in lib/ui [#1969](https://github.com/storybooks/storybook/pull/1969)
- Update @types/react from 16.0.8 to 16.0.9 in addons/knobs [#1968](https://github.com/storybooks/storybook/pull/1968)
- Update graphql from 0.11.6 to 0.11.7 in addons/graphql [#1967](https://github.com/storybooks/storybook/pull/1967)
- Update @storybook/addon-links from 3.2.10 to 3.2.12 [#1949](https://github.com/storybooks/storybook/pull/1949)
- Update style-loader from 0.18.2 to 0.19.0 in addons/knobs [#1958](https://github.com/storybooks/storybook/pull/1958)
- Update @types/react from 16.0.7 to 16.0.8 in addons/knobs [#1957](https://github.com/storybooks/storybook/pull/1957)
- Update prettier from 1.7.3 to 1.7.4 in / [#1955](https://github.com/storybooks/storybook/pull/1955)
- Update react-motion from 0.5.1 to 0.5.2 [#1953](https://github.com/storybooks/storybook/pull/1953)
- Update lerna from 2.2.0 to 2.3.1 in / [#1954](https://github.com/storybooks/storybook/pull/1954)
- Update @storybook/addons from 3.2.10 to 3.2.12 [#1950](https://github.com/storybooks/storybook/pull/1950)
- Update enzyme from 3.0.0 to 3.1.0 in / [#1948](https://github.com/storybooks/storybook/pull/1948)
- Update enzyme-adapter-react-16 from 1.0.0 to 1.0.1 in / [#1951](https://github.com/storybooks/storybook/pull/1951)
- Update @storybook/addon-actions from 3.2.11 to 3.2.12 [#1947](https://github.com/storybooks/storybook/pull/1947)
</details>
# 3.2.12
2017-October-02

View File

@ -299,7 +299,7 @@ yarn bootstrap --reset --core
```sh
# publish and tag the release
yarn run publish --concurrency 1 --npm-tag=alpha
npm run publish -- --concurrency 1 --npm-tag=alpha --force-publish=*
# update the release page
open https://github.com/storybooks/storybook/releases
@ -323,7 +323,7 @@ git commit -m "Changelog for vX.Y"
yarn bootstrap --reset --core
# publish and tag the release
yarn run publish --concurrency 1
npm run publish -- --concurrency 1 --force-publish=*
# update the release page
open https://github.com/storybooks/storybook/releases

View File

@ -80,7 +80,7 @@ setDefaults({
inline: true, // Displays info inline vs click button to view
source: true, // Displays the source of story Component
propTables: [/* Components used in story */], // displays Prop Tables with this components
propTablesExclude: [], // Exclude Components from being shoun in Prop Tables section
propTablesExclude: [], // Exclude Components from being shown in Prop Tables section
styles: {}, // Overrides styles of addon
marksyConf: {}, // Overrides components used to display markdown. Warning! This option's name will be likely deprecated in favor to "components" with the same API in 3.3 release. Follow this PR #1501 for details
maxPropsIntoLine: 1, // Max props to display per line in source code

View File

@ -255,6 +255,18 @@ const value = date(label, defaultValue);
> Note: the default value must not change - e.g., do not do `date('Label', new Date())` or `date('Label')`
### button
Allows you to include a button and associated handler.
```js
import { button } from '@storybook/addon-knobs';
const label = 'Do Something';
const handler = () => doSomething('foobar');
button(label, handler);
```
### withKnobs vs withKnobsOptions
If you feel like this addon is not performing well enough there is an option to use `withKnobsOptions` instead of `withKnobs`.

View File

@ -35,6 +35,7 @@ const getAnnotatedComponent = ({ componentMeta, component, params, knobStore, ch
}
channel.on('addon:knobs:knobChange', this.knobChanged);
channel.on('addon:knobs:knobClick', this.knobClicked);
knobStore.subscribe(this.setPaneKnobs);
this.setPaneKnobs();
};
@ -45,6 +46,7 @@ const getAnnotatedComponent = ({ componentMeta, component, params, knobStore, ch
}
channel.removeListener('addon:knobs:knobChange', this.knobChanged);
channel.removeListener('addon:knobs:knobClick', this.knobClicked);
knobStore.unsubscribe(this.setPaneKnobs);
};
@ -75,6 +77,11 @@ const getAnnotatedComponent = ({ componentMeta, component, params, knobStore, ch
});
};
NewComponent.prototype.knobClicked = function knobClicked(clicked) {
const knobOptions = knobStore.get(clicked.name);
knobOptions.callback();
};
return NewComponent;
};

View File

@ -2,9 +2,21 @@ import addons from '@storybook/addons';
import { prepareComponent } from './helpers';
import { knob, text, boolean, number, color, object, array, date, select, manager } from '../base';
import {
knob,
text,
boolean,
number,
color,
object,
array,
date,
select,
button,
manager,
} from '../base';
export { knob, text, boolean, number, color, object, array, date, select };
export { knob, text, boolean, number, color, object, array, date, select, button };
export const angularHandler = (channel, knobStore) => getStory => context =>
prepareComponent({ getStory, context, channel, knobStore });

View File

@ -53,3 +53,7 @@ export function date(name, value = new Date()) {
const proxyValue = value ? value.getTime() : null;
return manager.knob(name, { type: 'date', value: proxyValue });
}
export function button(name, callback) {
return manager.knob(name, { type: 'button', callback, hideLabel: true });
}

View File

@ -46,6 +46,7 @@ export default class Panel extends React.Component {
constructor(props) {
super(props);
this.handleChange = this.handleChange.bind(this);
this.handleClick = this.handleClick.bind(this);
this.setKnobs = this.setKnobs.bind(this);
this.reset = this.reset.bind(this);
this.setOptions = this.setOptions.bind(this);
@ -133,6 +134,10 @@ export default class Panel extends React.Component {
this.setState({ knobs: newKnobs }, this.emitChange(changedKnob));
}
handleClick(knob) {
this.props.channel.emit('addon:knobs:knobClick', knob);
}
render() {
const { knobs } = this.state;
const knobsArray = Object.keys(knobs)
@ -146,7 +151,11 @@ export default class Panel extends React.Component {
return (
<div style={styles.panelWrapper}>
<div style={styles.panel}>
<PropForm knobs={knobsArray} onFieldChange={this.handleChange} />
<PropForm
knobs={knobsArray}
onFieldChange={this.handleChange}
onFieldClick={this.handleClick}
/>
</div>
<button style={styles.resetButton} onClick={this.reset}>
RESET

View File

@ -46,16 +46,16 @@ export default class PropField extends React.Component {
}
render() {
const { onChange, knob } = this.props;
const { onChange, onClick, knob } = this.props;
const InputType = TypeMap[knob.type] || InvalidType;
return (
<div style={stylesheet.field}>
<label htmlFor={knob.name} style={stylesheet.label}>
{`${knob.name}`}
{!knob.hideLabel && `${knob.name}`}
</label>
<InputType knob={knob} onChange={onChange} />
<InputType knob={knob} onChange={onChange} onClick={onClick} />
</div>
);
}
@ -67,4 +67,5 @@ PropField.propTypes = {
value: PropTypes.any,
}).isRequired,
onChange: PropTypes.func.isRequired,
onClick: PropTypes.func.isRequired,
};

View File

@ -46,6 +46,7 @@ export default class propForm extends React.Component {
value={knob.value}
knob={knob}
onChange={changeHandler}
onClick={this.props.onFieldClick}
/>
);
})}
@ -68,4 +69,5 @@ propForm.propTypes = {
})
),
onFieldChange: PropTypes.func.isRequired,
onFieldClick: PropTypes.func.isRequired,
};

View File

@ -0,0 +1,41 @@
import PropTypes from 'prop-types';
import React from 'react';
const styles = {
height: '26px',
};
class ButtonType extends React.Component {
render() {
const { knob, onClick } = this.props;
return (
<button
type="button"
id={knob.name}
ref={c => {
this.input = c;
}}
style={styles}
onClick={() => onClick(knob)}
>
{knob.name}
</button>
);
}
}
ButtonType.defaultProps = {
knob: {},
};
ButtonType.propTypes = {
knob: PropTypes.shape({
name: PropTypes.string,
}),
onClick: PropTypes.func.isRequired,
};
ButtonType.serialize = value => value;
ButtonType.deserialize = value => value;
export default ButtonType;

View File

@ -6,6 +6,7 @@ import ObjectType from './Object';
import SelectType from './Select';
import ArrayType from './Array';
import DateType from './Date';
import ButtonType from './Button';
export default {
text: TextType,
@ -16,4 +17,5 @@ export default {
select: SelectType,
array: ArrayType,
date: DateType,
button: ButtonType,
};

View File

@ -5,9 +5,9 @@ import addons from '@storybook/addons';
import { vueHandler } from './vue';
import { reactHandler } from './react';
import { knob, text, boolean, number, color, object, array, date, manager } from './base';
import { knob, text, boolean, number, color, object, array, date, button, manager } from './base';
export { knob, text, boolean, number, color, object, array, date };
export { knob, text, boolean, number, color, object, array, date, button };
deprecate(() => {},
'Using @storybook/addon-knobs directly is discouraged, please use @storybook/addon-knobs/{{framework}}');

View File

@ -7,6 +7,7 @@ export default class WrapStory extends React.Component {
constructor(props) {
super(props);
this.knobChanged = this.knobChanged.bind(this);
this.knobClicked = this.knobClicked.bind(this);
this.resetKnobs = this.resetKnobs.bind(this);
this.setPaneKnobs = this.setPaneKnobs.bind(this);
this._knobsAreReset = false;
@ -16,6 +17,8 @@ export default class WrapStory extends React.Component {
componentDidMount() {
// Watch for changes in knob editor.
this.props.channel.on('addon:knobs:knobChange', this.knobChanged);
// Watch for clicks in knob editor.
this.props.channel.on('addon:knobs:knobClick', this.knobClicked);
// Watch for the reset event and reset knobs.
this.props.channel.on('addon:knobs:reset', this.resetKnobs);
// Watch for any change in the knobStore and set the panel again for those
@ -31,6 +34,7 @@ export default class WrapStory extends React.Component {
componentWillUnmount() {
this.props.channel.removeListener('addon:knobs:knobChange', this.knobChanged);
this.props.channel.removeListener('addon:knobs:knobClick', this.knobClicked);
this.props.channel.removeListener('addon:knobs:reset', this.resetKnobs);
this.props.knobStore.unsubscribe(this.setPaneKnobs);
}
@ -45,11 +49,17 @@ export default class WrapStory extends React.Component {
const { knobStore, storyFn, context } = this.props;
// Update the related knob and it's value.
const knobOptions = knobStore.get(name);
knobOptions.value = value;
knobStore.markAllUnused();
this.setState({ storyContent: storyFn(context) });
}
knobClicked(clicked) {
const knobOptions = this.props.knobStore.get(clicked.name);
knobOptions.callback();
}
resetKnobs() {
const { knobStore, storyFn, context } = this.props;
knobStore.reset();

View File

@ -3,9 +3,21 @@ import addons from '@storybook/addons';
import WrapStory from './WrapStory';
import { knob, text, boolean, number, color, object, array, date, select, manager } from '../base';
import {
knob,
text,
boolean,
number,
color,
object,
array,
date,
select,
button,
manager,
} from '../base';
export { knob, text, boolean, number, color, object, array, date, select };
export { knob, text, boolean, number, color, object, array, date, select, button };
export const reactHandler = (channel, knobStore) => getStory => context => {
const initialContent = getStory(context);

View File

@ -1,8 +1,20 @@
import addons from '@storybook/addons';
import { knob, text, boolean, number, color, object, array, date, select, manager } from '../base';
import {
knob,
text,
boolean,
number,
color,
object,
array,
date,
select,
button,
manager,
} from '../base';
export { knob, text, boolean, number, color, object, array, date, select };
export { knob, text, boolean, number, color, object, array, date, select, button };
export const vueHandler = (channel, knobStore) => getStory => context => ({
render(h) {
@ -14,10 +26,16 @@ export const vueHandler = (channel, knobStore) => getStory => context => ({
const { name, value } = change;
// Update the related knob and it's value.
const knobOptions = knobStore.get(name);
knobOptions.value = value;
this.$forceUpdate();
},
onKnobClick(clicked) {
const knobOptions = knobStore.get(clicked.name);
knobOptions.callback();
},
onKnobReset() {
knobStore.reset();
this.setPaneKnobs(false);
@ -32,12 +50,14 @@ export const vueHandler = (channel, knobStore) => getStory => context => ({
created() {
channel.on('addon:knobs:reset', this.onKnobReset);
channel.on('addon:knobs:knobChange', this.onKnobChange);
channel.on('addon:knobs:knobClick', this.onKnobClick);
knobStore.subscribe(this.setPaneKnobs);
},
beforeDestroy() {
channel.removeListener('addon:knobs:reset', this.onKnobReset);
channel.removeListener('addon:knobs:knobChange', this.onKnobChange);
channel.removeListener('addon:knobs:knobClick', this.onKnobClick);
knobStore.unsubscribe(this.setPaneKnobs);
},
});

View File

@ -32,8 +32,9 @@ describe('Vue handler', () => {
const testStore = new KnobStore();
new Vue(vueHandler(testChannel, testStore)(testStory)(testContext)).$mount();
expect(testChannel.on).toHaveBeenCalledTimes(2);
expect(testChannel.on).toHaveBeenCalledTimes(3);
expect(testChannel.on).toHaveBeenCalledWith('addon:knobs:reset', expect.any(Function));
expect(testChannel.on).toHaveBeenCalledWith('addon:knobs:knobChange', expect.any(Function));
expect(testChannel.on).toHaveBeenCalledWith('addon:knobs:knobClick', expect.any(Function));
});
});

View File

@ -14,6 +14,11 @@ In order to work with React Native Storybook, one or more devices should be conn
- Forward port 9001 `adb reverse tcp:9001 tcp:9001`
- Start with `react-native run-android`
### Issues
**Problem**: If you run into a `No such file or directory` error
**Solution**: You must run the emulator from its directory: `cd $(dirname $(which emulator)) && ./emulator -avd MY_AVD_NAME`
## Android device
- Connect your device with adb

View File

@ -40,7 +40,7 @@
"babel-plugin-transform-regenerator": "^6.26.0",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-polyfill": "^6.26.0",
"babel-preset-env": "^1.6.0",
"babel-preset-env": "^1.6.1",
"babel-preset-minify": "^0.2.0",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-0": "^6.24.1",
@ -65,7 +65,7 @@
"url-parse": "^1.1.9",
"util-deprecate": "^1.0.2",
"uuid": "^3.1.0",
"webpack": "^3.7.1",
"webpack": "^3.8.1",
"webpack-dev-middleware": "^1.12.0",
"webpack-hot-middleware": "^2.20.0",
"ws": "^3.0.0"

View File

@ -34,14 +34,14 @@
"babel-plugin-react-docgen": "^1.8.0",
"babel-plugin-transform-regenerator": "^6.26.0",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-env": "^1.6.0",
"babel-preset-env": "^1.6.1",
"babel-preset-minify": "^0.2.0",
"babel-preset-react": "^6.24.1",
"babel-preset-react-app": "^3.0.3",
"babel-preset-stage-0": "^6.24.1",
"babel-runtime": "^6.26.0",
"case-sensitive-paths-webpack-plugin": "^2.1.1",
"chalk": "^2.1.0",
"chalk": "^2.2.0",
"commander": "^2.11.0",
"common-tags": "^1.4.0",
"configstore": "^3.1.1",
@ -51,7 +51,7 @@
"file-loader": "^0.11.2",
"find-cache-dir": "^1.0.0",
"glamor": "^2.20.40",
"glamorous": "^4.9.7",
"glamorous": "^4.10.0",
"global": "^4.3.2",
"html-webpack-plugin": "^2.30.1",
"json-loader": "^0.5.7",
@ -72,7 +72,7 @@
"url-loader": "^0.6.2",
"util-deprecate": "^1.0.2",
"uuid": "^3.1.0",
"webpack": "^3.7.1",
"webpack": "^3.8.1",
"webpack-dev-middleware": "^1.12.0",
"webpack-hot-middleware": "^2.20.0"
},

View File

@ -41,7 +41,7 @@
"babel-preset-stage-0": "^6.24.1",
"babel-runtime": "^6.26.0",
"case-sensitive-paths-webpack-plugin": "^2.1.1",
"chalk": "^2.1.0",
"chalk": "^2.2.0",
"commander": "^2.11.0",
"common-tags": "^1.4.0",
"configstore": "^3.1.1",
@ -71,17 +71,22 @@
"url-loader": "^0.6.2",
"util-deprecate": "^1.0.2",
"uuid": "^3.1.0",
"vue": "^2.5.2",
"vue-hot-reload-api": "^2.2.0",
"vue-loader": "^12.2.1",
"vue-hot-reload-api": "^2.1.1",
"vue-style-loader": "^3.0.1",
"vue-template-compiler": "^2.5.2",
"webpack": "^3.6.0",
"webpack-dev-middleware": "^1.12.0",
"webpack-hot-middleware": "^2.20.0"
},
"devDependencies": {
"babel-cli": "^6.26.0",
"nodemon": "^1.12.1"
"nodemon": "^1.12.1",
"vue": "^2.5.2",
"vue-loader": "^13.3.0",
"vue-template-compiler": "^2.5.2"
},
"peerDependencies": {
"vue": "*",
"vue-loader": "*",
"vue-template-compiler": "*"
}
}

View File

@ -29,9 +29,10 @@ collectors:
bootstrap_command: yarn
actors:
# pull requests for updates to our major version
- type: js-lerna
- type: js-lerna:0.9.0-beta
versions: "L.Y.Y"
settings:
batch_mode: true
bootstrap_command: yarn
github_labels:
- dependencies:update

View File

@ -17,15 +17,15 @@
"storybook": "start-storybook -p 9009 -s pages"
},
"dependencies": {
"@storybook/addon-actions": "^3.2.12",
"@storybook/addon-links": "^3.2.12",
"@storybook/addons": "^3.2.12",
"@storybook/react": "^3.2.12",
"@storybook/addon-actions": "^3.2.13",
"@storybook/addon-links": "^3.2.13",
"@storybook/addons": "^3.2.13",
"@storybook/react": "^3.2.13",
"babel-cli": "^6.26.0",
"babel-core": "^6.26.0",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-polyfill": "^6.26.0",
"babel-preset-env": "^1.6.0",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-0": "^6.24.1",
"bootstrap": "^3.3.7",

View File

@ -6,86 +6,86 @@
version "3.0.9"
resolved "https://registry.yarnpkg.com/@hypnosphi/fuse.js/-/fuse.js-3.0.9.tgz#ea99f6121b4a8f065b4c71f85595db2714498807"
"@storybook/addon-actions@^3.2.12":
version "3.2.12"
resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.2.12.tgz#58ea949a02bd9ee956da7f30802677a44d9db024"
"@storybook/addon-actions@^3.2.13":
version "3.2.13"
resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.2.13.tgz#7fae9201514f0efeee710d466828ea3c6bf0ec16"
dependencies:
"@storybook/addons" "^3.2.12"
"@storybook/addons" "^3.2.13"
deep-equal "^1.0.1"
json-stringify-safe "^5.0.1"
prop-types "^15.6.0"
react-inspector "^2.2.0"
uuid "^3.1.0"
"@storybook/addon-links@^3.2.12":
version "3.2.12"
resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.2.12.tgz#8b2f1d1496e1066d165d1e0615224a5e0a3e2db6"
"@storybook/addon-links@^3.2.13":
version "3.2.13"
resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.2.13.tgz#925bb46350583a73538ac655f23df6f55019b560"
dependencies:
"@storybook/addons" "^3.2.12"
"@storybook/addons" "^3.2.13"
"@storybook/addons@^3.2.12":
version "3.2.12"
resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.2.12.tgz#61adccaa8c0016f1439dc8934d8d61042b35e741"
"@storybook/addons@^3.2.13":
version "3.2.13"
resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.2.13.tgz#a133103770a7f2330bc931571df1b2ae660f8f71"
"@storybook/channel-postmessage@^3.2.12":
version "3.2.12"
resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.2.12.tgz#ca1cddfbda3324c8fc44a22b1c35682d80d73247"
"@storybook/channel-postmessage@^3.2.13":
version "3.2.13"
resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.2.13.tgz#41d243e8def775696ac9159254b28c7d183b891c"
dependencies:
"@storybook/channels" "^3.2.12"
"@storybook/channels" "^3.2.13"
global "^4.3.2"
json-stringify-safe "^5.0.1"
"@storybook/channels@^3.2.12":
version "3.2.12"
resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.2.12.tgz#7920d0e5f84d718ccbb3925c5782cb5312500b6d"
"@storybook/channels@^3.2.13":
version "3.2.13"
resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.2.13.tgz#d4e04f99b1bb12cc3203839823218860358be480"
"@storybook/components@^3.2.12":
version "3.2.12"
resolved "https://registry.yarnpkg.com/@storybook/components/-/components-3.2.12.tgz#a9ddb6dd81d936139d742deea1a67de72907bde3"
"@storybook/components@^3.2.13":
version "3.2.13"
resolved "https://registry.yarnpkg.com/@storybook/components/-/components-3.2.13.tgz#0576139f54468c9039da6a05d8ed2f1656f6007e"
dependencies:
glamor "^2.20.40"
glamorous "^4.9.7"
prop-types "^15.6.0"
"@storybook/react-fuzzy@^0.4.0":
version "0.4.0"
resolved "https://registry.yarnpkg.com/@storybook/react-fuzzy/-/react-fuzzy-0.4.0.tgz#2961e8a1f6c1afcce97e9e9a14d1dfe9d9061087"
"@storybook/react-fuzzy@^0.4.1":
version "0.4.1"
resolved "https://registry.yarnpkg.com/@storybook/react-fuzzy/-/react-fuzzy-0.4.1.tgz#612bdf7768585ad6e086b4738efbf204e94290a0"
dependencies:
babel-runtime "^6.23.0"
classnames "^2.2.5"
fuse.js "^3.0.1"
prop-types "^15.5.9"
"@storybook/react@^3.2.12":
version "3.2.12"
resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.2.12.tgz#0283ba6812b1a2086dd628afc066274c2c6ed22a"
"@storybook/react@^3.2.13":
version "3.2.13"
resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.2.13.tgz#d5b4d24a16a78b74d89bcee22475c755a05693cd"
dependencies:
"@storybook/addon-actions" "^3.2.12"
"@storybook/addon-links" "^3.2.12"
"@storybook/addons" "^3.2.12"
"@storybook/channel-postmessage" "^3.2.12"
"@storybook/ui" "^3.2.12"
"@storybook/addon-actions" "^3.2.13"
"@storybook/addon-links" "^3.2.13"
"@storybook/addons" "^3.2.13"
"@storybook/channel-postmessage" "^3.2.13"
"@storybook/ui" "^3.2.13"
airbnb-js-shims "^1.3.0"
autoprefixer "^7.1.4"
autoprefixer "^7.1.5"
babel-core "^6.26.0"
babel-loader "^7.1.2"
babel-plugin-react-docgen "^1.8.0"
babel-plugin-transform-regenerator "^6.26.0"
babel-plugin-transform-runtime "^6.23.0"
babel-preset-env "^1.6.0"
babel-preset-env "^1.6.1"
babel-preset-minify "^0.2.0"
babel-preset-react "^6.24.1"
babel-preset-react-app "^3.0.3"
babel-preset-stage-0 "^6.24.1"
babel-runtime "^6.26.0"
case-sensitive-paths-webpack-plugin "^2.1.1"
chalk "^2.1.0"
chalk "^2.2.0"
commander "^2.11.0"
common-tags "^1.4.0"
configstore "^3.1.1"
core-js "^2.5.1"
css-loader "^0.28.7"
express "^4.15.5"
express "^4.16.2"
file-loader "^0.11.2"
find-cache-dir "^1.0.0"
glamor "^2.20.40"
@ -97,29 +97,29 @@
lodash.flattendeep "^4.4.0"
lodash.pick "^4.4.0"
postcss-flexbugs-fixes "^3.2.0"
postcss-loader "^2.0.6"
postcss-loader "^2.0.8"
prop-types "^15.6.0"
qs "^6.5.1"
react-modal "^2.3.2"
react-modal "^2.4.1"
redux "^3.7.2"
request "^2.83.0"
serve-favicon "^2.4.5"
shelljs "^0.7.8"
style-loader "^0.18.2"
url-loader "^0.5.9"
url-loader "^0.6.2"
util-deprecate "^1.0.2"
uuid "^3.1.0"
webpack "^3.6.0"
webpack "^3.8.1"
webpack-dev-middleware "^1.12.0"
webpack-hot-middleware "^2.19.1"
webpack-hot-middleware "^2.20.0"
"@storybook/ui@^3.2.12":
version "3.2.12"
resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.2.12.tgz#cdb8365fd33d0bae71d7bb0d3f1f9baac2e3f3e3"
"@storybook/ui@^3.2.13":
version "3.2.13"
resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.2.13.tgz#c50150a793802e1f4f344fe3ee7af3998d7c5196"
dependencies:
"@hypnosphi/fuse.js" "^3.0.9"
"@storybook/components" "^3.2.12"
"@storybook/react-fuzzy" "^0.4.0"
"@storybook/components" "^3.2.13"
"@storybook/react-fuzzy" "^0.4.1"
babel-runtime "^6.26.0"
deep-equal "^1.0.1"
events "^1.1.1"
@ -133,10 +133,10 @@
podda "^1.2.2"
prop-types "^15.6.0"
qs "^6.5.1"
react-icons "^2.2.5"
react-icons "^2.2.7"
react-inspector "^2.2.0"
react-komposer "^2.0.0"
react-modal "^2.3.2"
react-modal "^2.4.1"
react-split-pane "^0.1.65"
react-treebeard "^2.0.3"
redux "^3.7.2"
@ -465,15 +465,15 @@ autoprefixer@^6.0.2, autoprefixer@^6.3.1:
postcss "^5.2.16"
postcss-value-parser "^3.2.3"
autoprefixer@^7.1.4:
version "7.1.4"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.1.4.tgz#960847dbaa4016bc8e8e52ec891cbf8f1257a748"
autoprefixer@^7.1.5:
version "7.1.5"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.1.5.tgz#d65d14b83c7cd1dd7bc801daa00557addf5a06b2"
dependencies:
browserslist "^2.4.0"
caniuse-lite "^1.0.30000726"
browserslist "^2.5.0"
caniuse-lite "^1.0.30000744"
normalize-range "^0.1.2"
num2fraction "^1.2.2"
postcss "^6.0.11"
postcss "^6.0.13"
postcss-value-parser "^3.2.3"
aws-sign2@~0.6.0:
@ -1329,9 +1329,9 @@ babel-preset-env@1.5.2:
invariant "^2.2.2"
semver "^5.3.0"
babel-preset-env@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.0.tgz#2de1c782a780a0a5d605d199c957596da43c44e4"
babel-preset-env@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.1.tgz#a18b564cc9b9afdf4aae57ae3c1b0d99188e6f48"
dependencies:
babel-plugin-check-es2015-constants "^6.22.0"
babel-plugin-syntax-trailing-function-commas "^6.22.0"
@ -1798,13 +1798,20 @@ browserslist@^1.0.0, browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7
caniuse-db "^1.0.30000639"
electron-to-chromium "^1.2.7"
browserslist@^2.1.2, browserslist@^2.4.0:
browserslist@^2.1.2:
version "2.4.0"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.4.0.tgz#693ee93d01e66468a6348da5498e011f578f87f8"
dependencies:
caniuse-lite "^1.0.30000718"
electron-to-chromium "^1.3.18"
browserslist@^2.5.0:
version "2.5.1"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.5.1.tgz#68e4bc536bbcc6086d62843a2ffccea8396821c6"
dependencies:
caniuse-lite "^1.0.30000744"
electron-to-chromium "^1.3.24"
bser@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
@ -1895,10 +1902,14 @@ caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
version "1.0.30000740"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000740.tgz#03fcaaa176e3ed075895f72d46c1a12149bbeac9"
caniuse-lite@^1.0.30000718, caniuse-lite@^1.0.30000726:
caniuse-lite@^1.0.30000718:
version "1.0.30000740"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000740.tgz#f2c4c04d6564eb812e61006841700ad557f6f973"
caniuse-lite@^1.0.30000744:
version "1.0.30000748"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000748.tgz#44c8d6da52ad65a5d7b9dca4efebd0bdd982ba09"
capture-stack-trace@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
@ -1963,6 +1974,14 @@ chalk@^2.1.0:
escape-string-regexp "^1.0.5"
supports-color "^4.0.0"
chalk@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.2.0.tgz#477b3bf2f9b8fd5ca9e429747e37f724ee7af240"
dependencies:
ansi-styles "^3.1.0"
escape-string-regexp "^1.0.5"
supports-color "^4.0.0"
chokidar@^1.0.0, chokidar@^1.6.1, chokidar@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
@ -2753,6 +2772,10 @@ electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.18:
version "1.3.24"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.24.tgz#9b7b88bb05ceb9fa016a177833cc2dde388f21b6"
electron-to-chromium@^1.3.24:
version "1.3.27"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz#78ecb8a399066187bb374eede35d9c70565a803d"
element-resize-detector@^1.1.12:
version "1.1.12"
resolved "https://registry.yarnpkg.com/element-resize-detector/-/element-resize-detector-1.1.12.tgz#8b3fd6eedda17f9c00b360a0ea2df9927ae80ba2"
@ -3082,9 +3105,9 @@ expand-tilde@^2.0.2:
dependencies:
homedir-polyfill "^1.0.1"
express@^4.15.5:
version "4.16.1"
resolved "https://registry.yarnpkg.com/express/-/express-4.16.1.tgz#6b33b560183c9b253b7b62144df33a4654ac9ed0"
express@^4.16.2:
version "4.16.2"
resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c"
dependencies:
accepts "~1.3.4"
array-flatten "1.1.1"
@ -5269,7 +5292,7 @@ mime@1.3.x:
version "1.3.6"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0"
mime@1.4.1, mime@^1.2.11, mime@^1.3.4:
mime@1.4.1, mime@^1.2.11, mime@^1.3.4, mime@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
@ -6264,12 +6287,12 @@ postcss-loader@^0.13.0:
loader-utils "^0.2.15"
postcss "^5.2.0"
postcss-loader@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.0.6.tgz#8c7e0055a3df1889abc6bad52dd45b2f41bbc6fc"
postcss-loader@^2.0.8:
version "2.0.8"
resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.0.8.tgz#8c67ddb029407dfafe684a406cfc16bad2ce0814"
dependencies:
loader-utils "^1.1.0"
postcss "^6.0.2"
postcss "^6.0.0"
postcss-load-config "^1.2.0"
schema-utils "^0.3.0"
@ -6516,7 +6539,15 @@ postcss@^5.0.0, postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.
source-map "^0.5.6"
supports-color "^3.2.3"
postcss@^6.0.1, postcss@^6.0.11, postcss@^6.0.2:
postcss@^6.0.0, postcss@^6.0.13:
version "6.0.13"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.13.tgz#b9ecab4ee00c89db3ec931145bd9590bbf3f125f"
dependencies:
chalk "^2.1.0"
source-map "^0.6.1"
supports-color "^4.4.0"
postcss@^6.0.1:
version "6.0.12"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.12.tgz#6b0155089d2d212f7bd6a0cecd4c58c007403535"
dependencies:
@ -6568,12 +6599,6 @@ promise@^7.1.1:
dependencies:
asap "~2.0.3"
prop-types@15.5.8:
version "15.5.8"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394"
dependencies:
fbjs "^0.8.9"
prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0:
version "15.6.0"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.0.tgz#ceaf083022fc46b4a35f69e13ef75aed0d639856"
@ -6757,10 +6782,6 @@ react-document-title@^2.0.3:
prop-types "^15.5.6"
react-side-effect "^1.0.2"
react-dom-factories@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/react-dom-factories/-/react-dom-factories-1.0.2.tgz#eb7705c4db36fb501b3aa38ff759616aa0ff96e0"
react-dom@^15.6.1:
version "15.6.2"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.2.tgz#41cfadf693b757faf2708443a1d1fd5a02bef730"
@ -6796,17 +6817,15 @@ react-html-attributes@^1.3.0:
dependencies:
html-element-attributes "^1.0.0"
react-icon-base@2.0.7:
version "2.0.7"
resolved "https://registry.yarnpkg.com/react-icon-base/-/react-icon-base-2.0.7.tgz#0bd18736bd6ce79ca6d69ce8387a07fb8d4ceffe"
dependencies:
prop-types "15.5.8"
react-icon-base@2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/react-icon-base/-/react-icon-base-2.1.0.tgz#a196e33fdf1e7aaa1fda3aefbb68bdad9e82a79d"
react-icons@^2.2.5:
version "2.2.5"
resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-2.2.5.tgz#f942501c21a4cc0456ce2bbee5032c93f6051dcf"
react-icons@^2.2.7:
version "2.2.7"
resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-2.2.7.tgz#d7860826b258557510dac10680abea5ca23cf650"
dependencies:
react-icon-base "2.0.7"
react-icon-base "2.1.0"
react-inspector@^2.2.0:
version "2.2.0"
@ -6835,13 +6854,12 @@ react-komposer@^2.0.0:
react-stubber "^1.0.0"
shallowequal "^0.2.2"
react-modal@^2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-2.3.2.tgz#af9d625da218461de3e87551609dfca12d8d4946"
react-modal@^2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-2.4.1.tgz#cb09b26711b148eb9f59cb180e1b7d82980ded05"
dependencies:
exenv "^1.2.0"
prop-types "^15.5.10"
react-dom-factories "^1.0.0"
react-motion@^0.5.2:
version "0.5.2"
@ -7609,6 +7627,10 @@ source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0, sour
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
source-map@^0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
sourcemapped-stacktrace@^1.1.6:
version "1.1.7"
resolved "https://registry.yarnpkg.com/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.7.tgz#17e05374ff78b71a9d89ad3975a49f22725ba935"
@ -8302,6 +8324,14 @@ url-loader@^0.5.9:
loader-utils "^1.0.2"
mime "1.3.x"
url-loader@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.6.2.tgz#a007a7109620e9d988d14bce677a1decb9a993f7"
dependencies:
loader-utils "^1.0.2"
mime "^1.4.1"
schema-utils "^0.3.0"
url-parse-lax@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
@ -8537,7 +8567,7 @@ webpack-dev-middleware@^1.12.0, webpack-dev-middleware@^1.4.0:
range-parser "^1.0.3"
time-stamp "^2.0.0"
webpack-hot-middleware@^2.17.1, webpack-hot-middleware@^2.19.1, webpack-hot-middleware@^2.6.0:
webpack-hot-middleware@^2.17.1, webpack-hot-middleware@^2.6.0:
version "2.19.1"
resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.19.1.tgz#5db32c31c955c1ead114d37c7519ea554da0d405"
dependencies:
@ -8546,6 +8576,15 @@ webpack-hot-middleware@^2.17.1, webpack-hot-middleware@^2.19.1, webpack-hot-midd
querystring "^0.2.0"
strip-ansi "^3.0.0"
webpack-hot-middleware@^2.20.0:
version "2.20.0"
resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.20.0.tgz#cb896d837758b6408fe0afeeafdc0e5316b15319"
dependencies:
ansi-html "0.0.7"
html-entities "^1.2.0"
querystring "^0.2.0"
strip-ansi "^3.0.0"
webpack-require@0.0.16:
version "0.0.16"
resolved "https://registry.yarnpkg.com/webpack-require/-/webpack-require-0.0.16.tgz#df04a799bbd96e58e05abd66b4db77f16f75d184"
@ -8591,9 +8630,9 @@ webpack@^1.11.0, webpack@^1.12.9, webpack@^1.13.2, webpack@^1.15.0:
watchpack "^0.2.1"
webpack-core "~0.6.9"
webpack@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.6.0.tgz#a89a929fbee205d35a4fa2cc487be9cbec8898bc"
webpack@^3.8.1:
version "3.8.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.8.1.tgz#b16968a81100abe61608b0153c9159ef8bb2bd83"
dependencies:
acorn "^5.0.0"
acorn-dynamic-import "^2.0.0"

View File

@ -13,6 +13,7 @@ import {
select,
color,
date,
button,
} from '@storybook/addon-knobs/angular';
import { Welcome, Button } from '@storybook/angular/demo';
@ -141,6 +142,7 @@ storiesOf('Addon Knobs', module)
const today = date('Today', new Date('Jan 20 2017'));
const items = array('Items', ['Laptop', 'Book', 'Whiskey']);
const nice = boolean('Nice', true);
button('Arbitrary action', action('You clicked it!'));
return {
component: AllKnobsComponent,

View File

@ -13,7 +13,7 @@
"eventemitter3": "^2.0.3",
"format-json": "^1.0.3",
"glamor": "^2.20.40",
"glamorous": "^4.9.7",
"glamorous": "^4.10.0",
"global": "^4.3.2",
"prop-types": "^15.6.0",
"react": "^16.0.0",

View File

@ -2252,6 +2252,13 @@ exports[`Storyshots Button with knobs 1`] = `
<p>
Nice to meet you!
</p>
<hr />
<p>
PS. My shirt pocket contains:
</p>
<li>
No items!
</li>
</div>
`;

View File

@ -1,4 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
import EventEmiter from 'eventemitter3';
import { storiesOf } from '@storybook/react';
@ -16,6 +17,7 @@ import {
select,
array,
date,
button,
object,
} from '@storybook/addon-knobs/react';
import centered from '@storybook/addon-centered';
@ -60,6 +62,23 @@ const InfoButton = () => (
</span>
);
class AsyncItemLoader extends React.Component {
constructor() {
super();
this.state = { items: [] };
}
loadItems() {
setTimeout(() => this.setState({ items: ['pencil', 'pen', 'eraser'] }), 1500);
}
render() {
button('Load the items', () => this.loadItems());
return this.props.children(this.state.items);
}
}
AsyncItemLoader.propTypes = { children: PropTypes.func.isRequired };
storiesOf('Button', module)
.addDecorator(withKnobs)
.add('with text', () => (
@ -137,6 +156,14 @@ storiesOf('Button', module)
<p>In my backpack, I have:</p>
<ul>{items.map(item => <li key={item}>{item}</li>)}</ul>
<p>{salutation}</p>
<hr />
<p>PS. My shirt pocket contains: </p>
<AsyncItemLoader>
{loadedItems => {
if (!loadedItems.length) return <li>No items!</li>;
return <ul>{loadedItems.map(i => <li key={i}>{i}</li>)}</ul>;
}}
</AsyncItemLoader>
</div>
);
})

View File

@ -23,7 +23,7 @@
"vue-style-loader": "^3.0.1",
"vue-template-compiler": "^2.5.2",
"webpack": "^3.6.0",
"webpack-dev-server": "^2.9.2"
"webpack-dev-server": "^2.9.3"
},
"dependencies": {
"vue": "^2.5.2",

View File

@ -14,6 +14,7 @@ import {
select,
color,
date,
button,
} from '@storybook/addon-knobs/vue';
import Centered from '@storybook/addon-centered';
@ -231,6 +232,8 @@ storiesOf('Addon Knobs', module)
: `I'm out of ${fruit}${nice ? ', Sorry!' : '.'}`;
const salutation = nice ? 'Nice to meet you!' : 'Leave me alone!';
button('Arbitrary action', action('You clicked it!'));
return {
template: `
<div style="border:2px dotted ${colour}; padding: 8px 22px; border-radius: 8px">

View File

@ -32,7 +32,7 @@
"babel-preset-env": "^1.6.0",
"babel-register": "^6.26.0",
"babel-runtime": "^6.26.0",
"chalk": "^2.1.0",
"chalk": "^2.2.0",
"child-process-promise": "^2.2.1",
"commander": "^2.11.0",
"cross-spawn": "^5.0.1",

View File

@ -14,7 +14,7 @@
"react-dom": "^16.0.0"
},
"devDependencies": {
"babel-preset-env": "^1.6.0",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-1": "^6.24.1",
"babel-root-slash-import": "^1.1.0",

View File

@ -15,7 +15,7 @@
},
"dependencies": {
"glamor": "^2.20.40",
"glamorous": "^4.9.7",
"glamorous": "^4.10.0",
"prop-types": "^15.6.0"
},
"devDependencies": {

View File

@ -29,7 +29,7 @@
"podda": "^1.2.2",
"prop-types": "^15.6.0",
"qs": "^6.5.1",
"react-fuzzy": "^0.4.1",
"react-fuzzy": "^0.5.1",
"react-icons": "^2.2.7",
"react-inspector": "^2.2.0",
"react-komposer": "^2.0.0",

View File

@ -47,19 +47,19 @@
"babel-plugin-transform-md-import-to-string": "^1.0.6",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-polyfill": "^6.26.0",
"babel-preset-env": "^1.6.0",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-0": "^6.24.1",
"chalk": "^2.1.0",
"chalk": "^2.2.0",
"codecov": "^2.3.1",
"commander": "^2.11.0",
"danger": "^1.2.0",
"enzyme": "^3.1.0",
"enzyme-adapter-react-16": "^1.0.1",
"enzyme-adapter-react-16": "^1.0.2",
"eslint": "^4.9.0",
"eslint-config-airbnb": "^15.1.0",
"eslint-config-prettier": "^2.4.0",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-import": "^2.8.0",
"eslint-plugin-jest": "^21.0.0",
"eslint-plugin-json": "^1.2.0",
"eslint-plugin-jsx-a11y": "^6.0.2",
@ -74,7 +74,7 @@
"jest": "^21.2.0",
"jest-enzyme": "^4.0.1",
"lerna": "^2.4.0",
"lint-staged": "^4.1.2",
"lint-staged": "^4.3.0",
"lodash": "^4.17.4",
"nodemon": "^1.12.1",
"npmlog": "^4.1.2",
@ -124,6 +124,7 @@
"documentation": "Documentation",
"maintenance": "Maintenance",
"dependencies:update": "Dependency Upgrades",
"dependencies": "Dependency Upgrades",
"other": "Other"
}
}

151
yarn.lock
View File

@ -1903,6 +1903,41 @@ babel-preset-env@^1.6.0:
invariant "^2.2.2"
semver "^5.3.0"
babel-preset-env@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.1.tgz#a18b564cc9b9afdf4aae57ae3c1b0d99188e6f48"
dependencies:
babel-plugin-check-es2015-constants "^6.22.0"
babel-plugin-syntax-trailing-function-commas "^6.22.0"
babel-plugin-transform-async-to-generator "^6.22.0"
babel-plugin-transform-es2015-arrow-functions "^6.22.0"
babel-plugin-transform-es2015-block-scoped-functions "^6.22.0"
babel-plugin-transform-es2015-block-scoping "^6.23.0"
babel-plugin-transform-es2015-classes "^6.23.0"
babel-plugin-transform-es2015-computed-properties "^6.22.0"
babel-plugin-transform-es2015-destructuring "^6.23.0"
babel-plugin-transform-es2015-duplicate-keys "^6.22.0"
babel-plugin-transform-es2015-for-of "^6.23.0"
babel-plugin-transform-es2015-function-name "^6.22.0"
babel-plugin-transform-es2015-literals "^6.22.0"
babel-plugin-transform-es2015-modules-amd "^6.22.0"
babel-plugin-transform-es2015-modules-commonjs "^6.23.0"
babel-plugin-transform-es2015-modules-systemjs "^6.23.0"
babel-plugin-transform-es2015-modules-umd "^6.23.0"
babel-plugin-transform-es2015-object-super "^6.22.0"
babel-plugin-transform-es2015-parameters "^6.23.0"
babel-plugin-transform-es2015-shorthand-properties "^6.22.0"
babel-plugin-transform-es2015-spread "^6.22.0"
babel-plugin-transform-es2015-sticky-regex "^6.22.0"
babel-plugin-transform-es2015-template-literals "^6.22.0"
babel-plugin-transform-es2015-typeof-symbol "^6.23.0"
babel-plugin-transform-es2015-unicode-regex "^6.22.0"
babel-plugin-transform-exponentiation-operator "^6.22.0"
babel-plugin-transform-regenerator "^6.22.0"
browserslist "^2.1.2"
invariant "^2.2.2"
semver "^5.3.0"
babel-preset-es2015-node@^6.1.1:
version "6.1.1"
resolved "https://registry.yarnpkg.com/babel-preset-es2015-node/-/babel-preset-es2015-node-6.1.1.tgz#60b23157024b0cfebf3a63554cb05ee035b4e55f"
@ -2812,6 +2847,14 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0:
escape-string-regexp "^1.0.5"
supports-color "^4.0.0"
chalk@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.2.0.tgz#477b3bf2f9b8fd5ca9e429747e37f724ee7af240"
dependencies:
ansi-styles "^3.1.0"
escape-string-regexp "^1.0.5"
supports-color "^4.0.0"
chalk@~0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f"
@ -3943,7 +3986,7 @@ debug@2.6.8:
dependencies:
ms "2.0.0"
debug@^3.0.0, debug@^3.0.1:
debug@^3.0.0, debug@^3.0.1, debug@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
dependencies:
@ -4457,15 +4500,16 @@ entities@^1.1.1, entities@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
enzyme-adapter-react-16@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.1.tgz#066cb1735e65d8d95841a023f94dab3ce6109e17"
enzyme-adapter-react-16@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.2.tgz#8c6f431f17c69e1e9eeb25ca4bd92f31971eb2dd"
dependencies:
enzyme-adapter-utils "^1.0.0"
lodash "^4.17.4"
object.assign "^4.0.4"
object.values "^1.0.4"
prop-types "^15.5.10"
react-test-renderer "^16.0.0-0"
enzyme-adapter-utils@^1.0.0:
version "1.0.0"
@ -4701,7 +4745,7 @@ eslint-plugin-flowtype@2.35.0:
dependencies:
lodash "^4.15.0"
eslint-plugin-import@2.7.0, eslint-plugin-import@^2.7.0:
eslint-plugin-import@2.7.0:
version "2.7.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.7.0.tgz#21de33380b9efb55f5ef6d2e210ec0e07e7fa69f"
dependencies:
@ -4716,6 +4760,21 @@ eslint-plugin-import@2.7.0, eslint-plugin-import@^2.7.0:
minimatch "^3.0.3"
read-pkg-up "^2.0.0"
eslint-plugin-import@^2.8.0:
version "2.8.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz#fa1b6ef31fcb3c501c09859c1b86f1fc5b986894"
dependencies:
builtin-modules "^1.1.1"
contains-path "^0.1.0"
debug "^2.6.8"
doctrine "1.5.0"
eslint-import-resolver-node "^0.3.1"
eslint-module-utils "^2.1.1"
has "^1.0.1"
lodash.cond "^4.3.0"
minimatch "^3.0.3"
read-pkg-up "^2.0.0"
eslint-plugin-jest@^21.0.0:
version "21.2.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-21.2.0.tgz#292044df9cf0866ad9c530e78e6528fae287b926"
@ -5895,9 +5954,9 @@ glamor@^2.20.40:
prop-types "^15.5.10"
through "^2.3.8"
glamorous@^4.9.7:
version "4.9.7"
resolved "https://registry.yarnpkg.com/glamorous/-/glamorous-4.9.7.tgz#78bb008d1404b5bd91ad4d043ec0dc6430ad2653"
glamorous@^4.10.0:
version "4.10.0"
resolved "https://registry.yarnpkg.com/glamorous/-/glamorous-4.10.0.tgz#2f2e06c27b93aade93432c98ca21db0b8c3d9a5e"
dependencies:
brcast "^3.0.0"
fast-memoize "^2.2.7"
@ -6659,6 +6718,13 @@ import-lazy@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
import-local@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/import-local/-/import-local-0.1.1.tgz#b1179572aacdc11c6a91009fb430dbcab5f668a8"
dependencies:
pkg-dir "^2.0.0"
resolve-cwd "^2.0.0"
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
@ -8236,12 +8302,13 @@ license-webpack-plugin@^0.5.1:
dependencies:
object-assign "^4.1.0"
lint-staged@^4.1.2:
version "4.2.3"
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-4.2.3.tgz#5a1f12256af06110b96225f109dbf215009a37a9"
lint-staged@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-4.3.0.tgz#ed0779ad9a42c0dc62bb3244e522870b41125879"
dependencies:
app-root-path "^2.0.0"
chalk "^2.1.0"
commander "^2.11.0"
cosmiconfig "^1.1.0"
execa "^0.8.0"
is-glob "^4.0.0"
@ -10523,7 +10590,7 @@ postcss@^5.0.0, postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.
source-map "^0.5.6"
supports-color "^3.2.3"
postcss@^6.0.0, postcss@^6.0.11, postcss@^6.0.13:
postcss@^6.0.0, postcss@^6.0.11, postcss@^6.0.13, postcss@^6.0.8:
version "6.0.13"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.13.tgz#b9ecab4ee00c89db3ec931145bd9590bbf3f125f"
dependencies:
@ -10551,7 +10618,7 @@ preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
prettier@^1.7.4:
prettier@^1.7.0, prettier@^1.7.4:
version "1.7.4"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.7.4.tgz#5e8624ae9363c80f95ec644584ecdf55d74f93fa"
@ -10986,9 +11053,9 @@ react-error-overlay@^2.0.2:
settle-promise "1.0.0"
source-map "0.5.6"
react-fuzzy@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/react-fuzzy/-/react-fuzzy-0.4.1.tgz#138f051faf9644812ef2823e0a226915a86ac5ea"
react-fuzzy@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/react-fuzzy/-/react-fuzzy-0.5.1.tgz#295c2a4079ad39402e05605d9d7accd2db8527b6"
dependencies:
babel-runtime "^6.23.0"
classnames "^2.2.5"
@ -11230,7 +11297,7 @@ react-style-proptype@^3.0.0:
dependencies:
prop-types "^15.5.4"
react-test-renderer@^16.0.0:
react-test-renderer@^16.0.0, react-test-renderer@^16.0.0-0:
version "16.0.0"
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.0.0.tgz#9fe7b8308f2f71f29fc356d4102086f131c9cb15"
dependencies:
@ -12035,6 +12102,12 @@ requires-port@1.0.x, requires-port@1.x.x:
version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
resolve-cwd@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
dependencies:
resolve-from "^3.0.0"
resolve-dir@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
@ -12050,11 +12123,15 @@ resolve-from@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57"
resolve-from@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
resolve@1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
resolve@^1.1.6, resolve@^1.1.7, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.3.3:
resolve@^1.1.6, resolve@^1.1.7, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.3.3, resolve@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86"
dependencies:
@ -14150,7 +14227,7 @@ vue-hot-reload-api@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.1.0.tgz#9ca58a6e0df9078554ce1708688b6578754d86de"
vue-hot-reload-api@^2.2.0:
vue-hot-reload-api@^2.1.1, vue-hot-reload-api@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.2.0.tgz#9a21b35ced3634434a43ee80efb7350ea8fb206d"
@ -14172,6 +14249,24 @@ vue-loader@^12.2.1:
vue-style-loader "^3.0.0"
vue-template-es2015-compiler "^1.2.2"
vue-loader@^13.3.0:
version "13.3.0"
resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-13.3.0.tgz#3bf837d490ba5dea6fc07e0835ffa6c688c8af33"
dependencies:
consolidate "^0.14.0"
hash-sum "^1.0.2"
loader-utils "^1.1.0"
lru-cache "^4.1.1"
postcss "^6.0.8"
postcss-load-config "^1.1.0"
postcss-selector-parser "^2.0.0"
prettier "^1.7.0"
resolve "^1.4.0"
source-map "^0.6.1"
vue-hot-reload-api "^2.2.0"
vue-style-loader "^3.0.0"
vue-template-es2015-compiler "^1.6.0"
vue-style-loader@^3.0.0, vue-style-loader@^3.0.1:
version "3.0.3"
resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-3.0.3.tgz#623658f81506aef9d121cdc113a4f5c9cac32df7"
@ -14190,6 +14285,10 @@ vue-template-es2015-compiler@^1.2.2:
version "1.5.3"
resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.3.tgz#22787de4e37ebd9339b74223bc467d1adee30545"
vue-template-es2015-compiler@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.6.0.tgz#dc42697133302ce3017524356a6c61b7b69b4a18"
vue@^2.5.2:
version "2.5.2"
resolved "https://registry.yarnpkg.com/vue/-/vue-2.5.2.tgz#fd367a87bae7535e47f9dc5c9ec3b496e5feb5a4"
@ -14318,9 +14417,9 @@ webpack-dev-server@2.8.2:
webpack-dev-middleware "^1.11.0"
yargs "^6.6.0"
webpack-dev-server@^2.9.2:
version "2.9.2"
resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.2.tgz#0fbab915701d25a905a60e1e784df19727da800f"
webpack-dev-server@^2.9.3:
version "2.9.3"
resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.3.tgz#f0554e88d129e87796a6f74a016b991743ca6f81"
dependencies:
ansi-html "0.0.7"
array-includes "^3.0.3"
@ -14328,10 +14427,12 @@ webpack-dev-server@^2.9.2:
chokidar "^1.6.0"
compression "^1.5.2"
connect-history-api-fallback "^1.3.0"
debug "^3.1.0"
del "^3.0.0"
express "^4.13.3"
html-entities "^1.2.0"
http-proxy-middleware "~0.17.4"
import-local "^0.1.1"
internal-ip "1.2.0"
ip "^1.1.5"
loglevel "^1.4.1"
@ -14465,9 +14566,9 @@ webpack@3.5.1:
webpack-sources "^1.0.1"
yargs "^8.0.2"
webpack@^3.7.1:
version "3.7.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.7.1.tgz#6046b5c415ff7df7a0dc54c5b6b86098e8b952da"
webpack@^3.8.1:
version "3.8.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.8.1.tgz#b16968a81100abe61608b0153c9159ef8bb2bd83"
dependencies:
acorn "^5.0.0"
acorn-dynamic-import "^2.0.0"