diff --git a/ADDONS_SUPPORT.md b/ADDONS_SUPPORT.md index d435a919abaa..d93cb0013451 100644 --- a/ADDONS_SUPPORT.md +++ b/ADDONS_SUPPORT.md @@ -2,11 +2,11 @@ | |[React](app/react)|[React Native](app/react-native)|[Vue](app/vue)|[Angular](app/angular)| [Polymer](app/polymer)| [Mithril](app/mithril)| [HTML](app/html)| [Marko](app/marko)| | ----------- |:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:| -|[a11y](addons/a11y) |+| | | | | |+| | +|[a11y](addons/a11y) |+| |+|+|+|+|+|+| |[actions](addons/actions) |+|+|+|+|+|+|+|+| -|[backgrounds](addons/backgrounds) |+| | | | |+|+| | +|[backgrounds](addons/backgrounds) |+| |+|+|+|+|+|+| |[centered](addons/centered) |+| |+|+| |+|+| | -|[events](addons/events) |+| | | | | |+| | +|[events](addons/events) |+| |+|+|+|+|+|+| |[graphql](addons/graphql) |+| | | | | | | | |[info](addons/info) |+| | | | | | | | |[jest](addons/jest) |+| | |+| | |+| | @@ -16,4 +16,4 @@ |[options](addons/options) |+|+|+|+|+|+|+| | |[storyshots](addons/storyshots) |+|+|+|+| | |+| | |[storysource](addons/storysource)|+| |+|+|+|+|+|+| -|[viewport](addons/viewport) |+| |+|+|+|+|+| | +|[viewport](addons/viewport) |+| |+|+|+|+|+|+| diff --git a/addons/a11y/html.js b/addons/a11y/html.js deleted file mode 100644 index 4f7edc6bedba..000000000000 --- a/addons/a11y/html.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist/html'); diff --git a/addons/a11y/src/A11yManager.js b/addons/a11y/src/A11yManager.js deleted file mode 100644 index fe48aaef6662..000000000000 --- a/addons/a11y/src/A11yManager.js +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; - -import WrapStory from './components/WrapStory'; - -// Run all a11y checks inside -class A11yManager { - wrapStory(channel, storyFn, context, axeOptions) { - const props = { context, storyFn, channel, axeOptions }; - - return ; - } -} - -export default A11yManager; diff --git a/addons/a11y/src/components/WrapStory.js b/addons/a11y/src/components/WrapStory.js deleted file mode 100644 index b36e8c15c862..000000000000 --- a/addons/a11y/src/components/WrapStory.js +++ /dev/null @@ -1,58 +0,0 @@ -import { Component } from 'react'; -import { findDOMNode } from 'react-dom'; -import PropTypes from 'prop-types'; -import axe from 'axe-core'; -import { logger } from '@storybook/client-logger'; - -import { CHECK_EVENT_ID, RERUN_EVENT_ID } from '../shared'; - -class WrapStory extends Component { - static propTypes = { - context: PropTypes.shape({}), - storyFn: PropTypes.func, - channel: PropTypes.shape({}), - axeOptions: PropTypes.shape({}), - }; - static defaultProps = { - context: {}, - storyFn: () => {}, - channel: {}, - axeOptions: {}, - }; - - constructor(props) { - super(props); - this.runA11yCheck = this.runA11yCheck.bind(this); - } - - componentDidMount() { - const { channel } = this.props; - channel.on(RERUN_EVENT_ID, this.runA11yCheck); - this.runA11yCheck(); - } - - componentWillUnmount() { - const { channel } = this.props; - channel.removeListener(RERUN_EVENT_ID, this.runA11yCheck); - } - - /* eslint-disable react/no-find-dom-node */ - runA11yCheck() { - const { channel, axeOptions } = this.props; - const wrapper = findDOMNode(this); - - if (wrapper !== null) { - axe.reset(); - axe.configure(axeOptions); - axe.run(wrapper).then(results => channel.emit(CHECK_EVENT_ID, results), logger.error); - } - } - - render() { - const { storyFn, context } = this.props; - - return storyFn(context); - } -} - -export default WrapStory; diff --git a/addons/a11y/src/html.js b/addons/a11y/src/html.js deleted file mode 100644 index f41765366cce..000000000000 --- a/addons/a11y/src/html.js +++ /dev/null @@ -1,35 +0,0 @@ -import { document, setTimeout } from 'global'; -import axe from 'axe-core'; -import addons from '@storybook/addons'; -import Events from '@storybook/core-events'; -import { logger } from '@storybook/client-logger'; - -import { CHECK_EVENT_ID, RERUN_EVENT_ID } from './shared'; - -let axeOptions = {}; - -export const configureA11y = (options = {}) => { - axeOptions = options; -}; - -const runA11yCheck = () => { - const channel = addons.getChannel(); - const wrapper = document.getElementById('root'); - - axe.reset(); - axe.configure(axeOptions); - axe.run(wrapper).then(results => channel.emit(CHECK_EVENT_ID, results), logger.error); -}; - -const a11ySubscription = () => { - const channel = addons.getChannel(); - channel.on(RERUN_EVENT_ID, runA11yCheck); - return () => channel.removeListener(RERUN_EVENT_ID, runA11yCheck); -}; - -export const checkA11y = story => { - addons.getChannel().emit(Events.REGISTER_SUBSCRIPTION, a11ySubscription); - // We need to wait for rendering - setTimeout(runA11yCheck, 0); - return story(); -}; diff --git a/addons/a11y/src/index.js b/addons/a11y/src/index.js index b8e4f0ba447e..e330e75f4a95 100644 --- a/addons/a11y/src/index.js +++ b/addons/a11y/src/index.js @@ -1,18 +1,37 @@ +import { document } from 'global'; +import axe from 'axe-core'; import addons from '@storybook/addons'; +import Events from '@storybook/core-events'; +import { logger } from '@storybook/client-logger'; -import A11yManager from './A11yManager'; -import * as shared from './shared'; +import { CHECK_EVENT_ID, RERUN_EVENT_ID } from './shared'; -const manager = new A11yManager(); let axeOptions = {}; -function checkA11y(storyFn, context) { +export const configureA11y = (options = {}) => { + axeOptions = options; +}; + +const runA11yCheck = () => { const channel = addons.getChannel(); - return manager.wrapStory(channel, storyFn, context, axeOptions); -} + const wrapper = document.getElementById('root'); -function configureA11y(options = {}) { - axeOptions = options; -} + axe.reset(); + axe.configure(axeOptions); + axe.run(wrapper).then(results => channel.emit(CHECK_EVENT_ID, results), logger.error); +}; + +const a11ySubscription = () => { + const channel = addons.getChannel(); + channel.on(Events.STORY_RENDERED, runA11yCheck); + channel.on(RERUN_EVENT_ID, runA11yCheck); + return () => { + channel.removeListener(Events.STORY_RENDERED, runA11yCheck); + channel.removeListener(RERUN_EVENT_ID, runA11yCheck); + }; +}; -export { checkA11y, shared, configureA11y }; +export const checkA11y = story => { + addons.getChannel().emit(Events.REGISTER_SUBSCRIPTION, a11ySubscription); + return story(); +}; diff --git a/addons/actions/src/preview/withActions.js b/addons/actions/src/preview/withActions.js index 35b78f48d62c..52dd7095ccba 100644 --- a/addons/actions/src/preview/withActions.js +++ b/addons/actions/src/preview/withActions.js @@ -57,7 +57,9 @@ const actionsSubscription = (...args) => { }; export const createDecorator = actionsFn => (...args) => story => { - addons.getChannel().emit(Events.REGISTER_SUBSCRIPTION, actionsSubscription(actionsFn, ...args)); + if (root != null) { + addons.getChannel().emit(Events.REGISTER_SUBSCRIPTION, actionsSubscription(actionsFn, ...args)); + } return story(); }; diff --git a/addons/backgrounds/README.md b/addons/backgrounds/README.md index cecda21cfecd..0dae593a512e 100644 --- a/addons/backgrounds/README.md +++ b/addons/backgrounds/README.md @@ -69,17 +69,3 @@ storiesOf("Button", module) .addDecorator(backgrounds) .add("with text", () => ); ``` - -> In the case of Mithril, use these imports: -> -> ```js -> import { storiesOf } from '@storybook/mithril'; -> import backgrounds from "@storybook/addon-backgrounds/mithril"; -> ``` - -> In the case of Vue, use these imports: -> -> ```js -> import { storiesOf } from '@storybook/vue'; -> import backgrounds from "@storybook/addon-backgrounds/vue"; -> ``` diff --git a/addons/backgrounds/html.js b/addons/backgrounds/html.js deleted file mode 100644 index 4f7edc6bedba..000000000000 --- a/addons/backgrounds/html.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist/html'); diff --git a/addons/backgrounds/mithril.js b/addons/backgrounds/mithril.js index 884a541476ec..c22c26b6732d 100644 --- a/addons/backgrounds/mithril.js +++ b/addons/backgrounds/mithril.js @@ -1 +1 @@ -module.exports = require('./dist/mithril'); +module.exports = require('./dist/deprecated'); diff --git a/addons/backgrounds/package.json b/addons/backgrounds/package.json index 408048c3d1ef..58a0f3fbb833 100644 --- a/addons/backgrounds/package.json +++ b/addons/backgrounds/package.json @@ -29,7 +29,7 @@ "babel-runtime": "^6.26.0", "global": "^4.3.2", "prop-types": "^15.6.1", - "react-lifecycles-compat": "^3.0.2" + "util-deprecate": "^1.0.2" }, "devDependencies": { "vue": "^2.5.16" diff --git a/addons/backgrounds/src/BackgroundPanel.js b/addons/backgrounds/src/BackgroundPanel.js index 14dbd9fa1539..96bbfbbf4a4f 100644 --- a/addons/backgrounds/src/BackgroundPanel.js +++ b/addons/backgrounds/src/BackgroundPanel.js @@ -93,7 +93,7 @@ export default class BackgroundPanel extends Component { this.setState({ backgrounds }); const currentBackground = api.getQueryParam('background'); - if (currentBackground) { + if (currentBackground && backgrounds.some(bg => bg.value === currentBackground)) { this.updateIframe(currentBackground); } else if (backgrounds.filter(x => x.default).length) { const defaultBgs = backgrounds.filter(x => x.default); diff --git a/addons/backgrounds/src/__tests__/index.js b/addons/backgrounds/src/__tests__/index.js deleted file mode 100644 index 8da89469a59c..000000000000 --- a/addons/backgrounds/src/__tests__/index.js +++ /dev/null @@ -1,64 +0,0 @@ -import React from 'react'; -import { shallow } from 'enzyme'; -import EventEmitter from 'events'; - -import { BackgroundDecorator } from '../index'; -import Events from '../events'; - -const testStory = () => () =>

Hello World!

; - -describe('Background Decorator', () => { - it('should exist', () => { - const SpiedChannel = new EventEmitter(); - const backgroundDecorator = shallow( - - ); - expect(backgroundDecorator).toBeDefined(); - }); - - it('should send background-unset event when the component unmounts', () => { - const SpiedChannel = new EventEmitter(); - const backgroundDecorator = shallow( - - ); - - const spy = jest.fn(); - SpiedChannel.on(Events.UNSET, spy); - - backgroundDecorator.unmount(); - - expect(spy).toBeCalled(); - }); - - it('should send background-set event when the component mounts', () => { - const SpiedChannel = new EventEmitter(); - const spy = jest.fn(); - SpiedChannel.on(Events.SET, spy); - - shallow(); - - expect(spy).toBeCalled(); - }); - - it('should update story on change', () => { - const SpiedChannel = new EventEmitter(); - const nextStory = jest.fn(() =>

I am next story!

); - const backgroundDecorator = shallow( - - ); - - backgroundDecorator.setProps({ story: nextStory }); - expect(nextStory).toBeCalled(); - }); - - it('should not update story on other props change', () => { - const SpiedChannel = new EventEmitter(); - const story = jest.fn(() =>

I am the only one!

); - const backgroundDecorator = shallow( - - ); - - backgroundDecorator.setProps({ randomProp: true }); - expect(story.mock.calls).toHaveLength(1); - }); -}); diff --git a/addons/backgrounds/src/__tests__/vue.js b/addons/backgrounds/src/__tests__/vue.js deleted file mode 100644 index 3893473dad61..000000000000 --- a/addons/backgrounds/src/__tests__/vue.js +++ /dev/null @@ -1,44 +0,0 @@ -import Vue from 'vue'; -import { vueHandler } from '../vue'; - -import Events from '../events'; - -describe('Vue handler', () => { - it('Returns a component with a created function', () => { - const testChannel = { emit: jest.fn() }; - const testStory = () => ({ template: '
testStory
' }); - const testContext = { - kind: 'Foo', - story: 'bar baz', - }; - const testBackground = [ - { name: 'twitter', value: '#00aced' }, - { name: 'facebook', value: '#3b5998', default: true }, - ]; - const component = vueHandler(testChannel, testBackground)(testStory, testContext); - - expect(component).toMatchObject({ - created: expect.any(Function), - beforeDestroy: expect.any(Function), - render: expect.any(Function), - }); - }); - - it('Subscribes to the channel on creation', () => { - const testChannel = { emit: jest.fn() }; - const testStory = () => ({ render: h => h('div', ['testStory']) }); - const testContext = { - kind: 'Foo', - story: 'bar baz', - }; - const testBackground = [ - { name: 'twitter', value: '#00aced' }, - { name: 'facebook', value: '#3b5998', default: true }, - ]; - - new Vue(vueHandler(testChannel, testBackground)(testStory, testContext)).$mount(); - - expect(testChannel.emit).toHaveBeenCalledTimes(1); - expect(testChannel.emit).toHaveBeenCalledWith(Events.SET, expect.any(Array)); - }); -}); diff --git a/addons/backgrounds/src/deprecated.js b/addons/backgrounds/src/deprecated.js new file mode 100644 index 000000000000..f03a1a290186 --- /dev/null +++ b/addons/backgrounds/src/deprecated.js @@ -0,0 +1,8 @@ +import deprecate from 'util-deprecate'; + +import backgrounds from '.'; + +export default deprecate( + backgrounds, + "addon-backgrounds: framework-specific imports are deprecated, just use `import backgrounds from '@storybook/addon-backgrounds`" +); diff --git a/addons/backgrounds/src/html.js b/addons/backgrounds/src/html.js deleted file mode 100644 index 20eeb3d1c6a7..000000000000 --- a/addons/backgrounds/src/html.js +++ /dev/null @@ -1,17 +0,0 @@ -import addons from '@storybook/addons'; -import CoreEvents from '@storybook/core-events'; - -import Events from './events'; - -const subscription = () => () => addons.getChannel().emit(Events.UNSET); - -let prevBackgrounds; - -export default backgrounds => story => { - if (prevBackgrounds !== backgrounds) { - addons.getChannel().emit(Events.SET, backgrounds); - prevBackgrounds = backgrounds; - } - addons.getChannel().emit(CoreEvents.REGISTER_SUBSCRIPTION, subscription); - return story(); -}; diff --git a/addons/backgrounds/src/index.js b/addons/backgrounds/src/index.js index 64142e74b8b0..b6a1f857fd94 100644 --- a/addons/backgrounds/src/index.js +++ b/addons/backgrounds/src/index.js @@ -1,68 +1,20 @@ -import React from 'react'; -import { polyfill } from 'react-lifecycles-compat'; -import PropTypes from 'prop-types'; - import addons from '@storybook/addons'; +import CoreEvents from '@storybook/core-events'; import Events from './events'; -export class BackgroundDecorator extends React.Component { - constructor(props) { - super(props); - - const { channel } = props; - - // A channel is explicitly passed in for testing - if (channel) { - this.channel = channel; - } else { - this.channel = addons.getChannel(); - } - - this.state = {}; - } - - componentDidMount() { - this.channel.emit(Events.SET, this.props.backgrounds); - } - - componentWillUnmount() { - this.channel.emit(Events.UNSET); - } +let prevBackgrounds; - render() { - return this.state.story; - } -} - -BackgroundDecorator.getDerivedStateFromProps = ({ story }, { prevStory }) => { - if (story !== prevStory) { - return { - story: story(), - prevStory: story, - }; - } - return null; -}; - -BackgroundDecorator.propTypes = { - backgrounds: PropTypes.arrayOf(PropTypes.object), - channel: PropTypes.shape({ - emit: PropTypes.func, - on: PropTypes.func, - removeListener: PropTypes.func, - }), - // eslint-disable-next-line react/no-unused-prop-types - story: PropTypes.func.isRequired, +const subscription = () => () => { + prevBackgrounds = null; + addons.getChannel().emit(Events.UNSET); }; -BackgroundDecorator.defaultProps = { - backgrounds: [], - channel: undefined, +export default backgrounds => story => { + if (prevBackgrounds !== backgrounds) { + addons.getChannel().emit(Events.SET, backgrounds); + prevBackgrounds = backgrounds; + } + addons.getChannel().emit(CoreEvents.REGISTER_SUBSCRIPTION, subscription); + return story(); }; - -polyfill(BackgroundDecorator); - -export default backgrounds => story => ( - -); diff --git a/addons/backgrounds/src/mithril.js b/addons/backgrounds/src/mithril.js deleted file mode 100644 index 8c27f1390dac..000000000000 --- a/addons/backgrounds/src/mithril.js +++ /dev/null @@ -1,41 +0,0 @@ -/** @jsx m */ - -// eslint-disable-next-line import/no-extraneous-dependencies -import m from 'mithril'; - -import addons from '@storybook/addons'; - -import Events from './events'; - -export class BackgroundDecorator { - constructor(vnode) { - this.props = vnode.attrs; - - const { channel, story } = vnode.attrs; - - // A channel is explicitly passed in for testing - if (channel) { - this.channel = channel; - } else { - this.channel = addons.getChannel(); - } - - this.story = story(); - } - - oncreate() { - this.channel.emit(Events.SET, this.props.backgrounds); - } - - onremove() { - this.channel.emit(Events.UNSET); - } - - view() { - return m(this.story); - } -} - -export default backgrounds => story => ({ - view: () => , -}); diff --git a/addons/backgrounds/src/vue.js b/addons/backgrounds/src/vue.js deleted file mode 100644 index 5ff182695a70..000000000000 --- a/addons/backgrounds/src/vue.js +++ /dev/null @@ -1,30 +0,0 @@ -import addons from '@storybook/addons'; - -import Events from './events'; - -export const vueHandler = (channel, backgrounds) => (getStory, context) => ({ - data() { - return { - context, - getStory, - story: getStory(context), - }; - }, - - render(h) { - return h(this.story); - }, - - created() { - channel.emit(Events.SET, backgrounds); - }, - - beforeDestroy() { - channel.emit(Events.UNSET); - }, -}); - -export default function makeDecorator(backgrounds) { - const channel = addons.getChannel(); - return vueHandler(channel, backgrounds); -} diff --git a/addons/backgrounds/vue.js b/addons/backgrounds/vue.js index 42311b17563f..c22c26b6732d 100644 --- a/addons/backgrounds/vue.js +++ b/addons/backgrounds/vue.js @@ -1 +1 @@ -module.exports = require('./dist/vue'); +module.exports = require('./dist/deprecated'); diff --git a/addons/events/README.md b/addons/events/README.md index 81636b354b0d..cb2ffb89effc 100644 --- a/addons/events/README.md +++ b/addons/events/README.md @@ -36,7 +36,7 @@ Then write your stories like this: ```js import { storiesOf } from '@storybook/react'; -import WithEvents from '@storybook/addon-events'; +import withEvents from '@storybook/addon-events'; import EventEmiter from 'event-emiter'; import Logger from './Logger'; @@ -47,10 +47,10 @@ const emit = emiter.emit.bind(emiter); storiesOf('WithEvents', module) - .addDecorator(getStory => ( - - {getStory()} - - )) + ] + }) + ) .add('Logger', () => ); ``` diff --git a/addons/events/html.js b/addons/events/html.js deleted file mode 100644 index 4f7edc6bedba..000000000000 --- a/addons/events/html.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist/html'); diff --git a/addons/events/package.json b/addons/events/package.json index 0e89ebf85fd3..58cada97f721 100644 --- a/addons/events/package.json +++ b/addons/events/package.json @@ -25,7 +25,8 @@ "format-json": "^1.0.3", "prop-types": "^15.6.1", "react-lifecycles-compat": "^3.0.2", - "react-textarea-autosize": "^6.1.0" + "react-textarea-autosize": "^6.1.0", + "util-deprecate": "^1.0.2" }, "peerDependencies": { "react": "*" diff --git a/addons/events/src/components/Panel.js b/addons/events/src/components/Panel.js index dd4c8beff30c..11bf39265ed9 100644 --- a/addons/events/src/components/Panel.js +++ b/addons/events/src/components/Panel.js @@ -23,9 +23,6 @@ const styles = { export default class Events extends Component { static propTypes = { - api: PropTypes.shape({ - onStory: PropTypes.func, - }).isRequired, channel: PropTypes.shape({ on: PropTypes.func, emit: PropTypes.func, @@ -39,18 +36,9 @@ export default class Events extends Component { componentDidMount() { this.props.channel.on(EVENTS.ADD, this.onAdd); - - this.stopListeningOnStory = this.props.api.onStory(() => { - this.onAdd([]); - }); } componentWillUnmount() { - if (this.stopListeningOnStory) { - this.stopListeningOnStory(); - } - - this.unmounted = true; this.props.channel.removeListener(EVENTS.ADD, this.onAdd); } diff --git a/addons/events/src/html.js b/addons/events/src/html.js deleted file mode 100644 index a7090b809c99..000000000000 --- a/addons/events/src/html.js +++ /dev/null @@ -1,27 +0,0 @@ -import addons from '@storybook/addons'; -import CoreEvents from '@storybook/core-events'; - -import { EVENTS } from './constants'; - -let prevEvents; -let currentEmit; - -const onEmit = event => { - currentEmit(event.name, event.payload); -}; - -const subscription = () => { - const channel = addons.getChannel(); - channel.on(EVENTS.EMIT, onEmit); - return () => channel.removeListener(EVENTS.EMIT, onEmit); -}; - -export default ({ emit, events }) => story => { - if (prevEvents !== events) { - addons.getChannel().emit(EVENTS.ADD, events); - prevEvents = events; - } - currentEmit = emit; - addons.getChannel().emit(CoreEvents.REGISTER_SUBSCRIPTION, subscription); - return story(); -}; diff --git a/addons/events/src/index.js b/addons/events/src/index.js index 48358fbf1386..91109ab19934 100644 --- a/addons/events/src/index.js +++ b/addons/events/src/index.js @@ -1 +1,46 @@ -export default from './preview'; +import addons from '@storybook/addons'; +import CoreEvents from '@storybook/core-events'; +import deprecate from 'util-deprecate'; + +import { EVENTS } from './constants'; + +let prevEvents; +let currentEmit; + +const onEmit = event => { + currentEmit(event.name, event.payload); +}; + +const subscription = () => { + const channel = addons.getChannel(); + channel.on(EVENTS.EMIT, onEmit); + return () => { + prevEvents = null; + addons.getChannel().emit(EVENTS.ADD, []); + channel.removeListener(EVENTS.EMIT, onEmit); + }; +}; + +const addEvents = ({ emit, events }) => { + if (prevEvents !== events) { + addons.getChannel().emit(EVENTS.ADD, events); + prevEvents = events; + } + currentEmit = emit; + addons.getChannel().emit(CoreEvents.REGISTER_SUBSCRIPTION, subscription); +}; + +const WithEvents = deprecate(({ children, ...options }) => { + addEvents(options); + return children; +}, ` usage is deprecated, use .addDecorator(withEvents({emit, events})) instead`); + +export default options => { + if (options.children) { + return WithEvents(options); + } + return story => { + addEvents(options); + return story(); + }; +}; diff --git a/addons/events/src/manager.js b/addons/events/src/manager.js index 1e7436f5094e..c5929d7d525e 100644 --- a/addons/events/src/manager.js +++ b/addons/events/src/manager.js @@ -5,10 +5,10 @@ import Panel from './components/Panel'; import { ADDON_ID, PANEL_ID } from './constants'; export function register() { - addons.register(ADDON_ID, api => { + addons.register(ADDON_ID, () => { addons.addPanel(PANEL_ID, { title: 'Events', - render: () => , + render: () => , }); }); } diff --git a/addons/events/src/preview.js b/addons/events/src/preview.js deleted file mode 100644 index d5fb7b7db5eb..000000000000 --- a/addons/events/src/preview.js +++ /dev/null @@ -1,47 +0,0 @@ -import { Component } from 'react'; -import addons from '@storybook/addons'; -import PropTypes from 'prop-types'; - -import { EVENTS } from './constants'; - -export default class WithEvents extends Component { - static propTypes = { - emit: PropTypes.func.isRequired, - events: PropTypes.arrayOf( - PropTypes.shape({ - name: PropTypes.string, - title: PropTypes.string, - payload: PropTypes.any, - }) - ).isRequired, - children: PropTypes.oneOfType([PropTypes.element, PropTypes.array]).isRequired, - }; - - componentDidMount() { - const { events } = this.props; - - this.channel = addons.getChannel(); - - this.channel.on(EVENTS.EMIT, this.onEmit); - - this.channel.emit(EVENTS.ADD, events); - } - - componentDidUpdate() { - const { events } = this.props; - - this.channel.emit(EVENTS.ADD, events); - } - - componentWillUnmount() { - this.channel.removeListener(EVENTS.EMIT, this.onEmit); - } - - onEmit = event => { - this.props.emit(event.name, event.payload); - }; - - render() { - return this.props.children; - } -} diff --git a/addons/knobs/README.md b/addons/knobs/README.md index ca18c2472b2a..5311e52dc95c 100644 --- a/addons/knobs/README.md +++ b/addons/knobs/README.md @@ -39,7 +39,7 @@ Now, write your stories with knobs. ### With React ```js import { storiesOf } from '@storybook/react'; -import { withKnobs, text, boolean, number } from '@storybook/addon-knobs/react'; +import { withKnobs, text, boolean, number } from '@storybook/addon-knobs'; const stories = storiesOf('Storybook Knobs', module); @@ -67,7 +67,7 @@ stories.add('as dynamic variables', () => { ### With Angular ```js import { storiesOf } from '@storybook/angular'; -import { boolean, number, text, withKnobs } from '@storybook/addon-knobs/angular'; +import { boolean, number, text, withKnobs } from '@storybook/addon-knobs'; import { Button } from '@storybook/angular/demo'; @@ -98,34 +98,6 @@ stories.add('as dynamic variables', () => { }); ``` -> In the case of Vue, use these imports: -> -> ```js -> import { storiesOf } from '@storybook/vue'; -> import { withKnobs, text, boolean, number } from '@storybook/addon-knobs/vue'; -> ``` -> -> In the case of React-Native, use these imports: -> -> ```js -> import { storiesOf } from '@storybook/react-native'; -> import { withKnobs, text, boolean, number } from '@storybook/addon-knobs/react'; -> ``` -> -> In the case of Angular, use these imports: -> -> ```js -> import { storiesOf } from '@storybook/angular'; -> import { withKnobs, text, boolean, number } from '@storybook/addon-knobs/angular'; -> ``` -> -> In the case of Mithril, use these imports: -> -> ```js -> import { storiesOf } from '@storybook/mithril'; -> import { withKnobs, text, boolean, number } from '@storybook/addon-knobs/mithril'; -> ``` - You can see your Knobs in a Storybook panel as shown below. ![](docs/demo.png) @@ -146,7 +118,7 @@ Just like that, you can import any other following Knobs: Allows you to get some text from the user. ```js -import { text } from '@storybook/addon-knobs/react'; +import { text } from '@storybook/addon-knobs'; const label = 'Your Name'; const defaultValue = 'Arunoda Susiripala'; @@ -160,7 +132,7 @@ const value = text(label, defaultValue, groupId); Allows you to get a boolean value from the user. ```js -import { boolean } from '@storybook/addon-knobs/react'; +import { boolean } from '@storybook/addon-knobs'; const label = 'Agree?'; const defaultValue = false; @@ -173,7 +145,7 @@ const value = boolean(label, defaultValue, groupId); Allows you to get a number from the user. ```js -import { number } from '@storybook/addon-knobs/react'; +import { number } from '@storybook/addon-knobs'; const label = 'Age'; const defaultValue = 78; @@ -191,7 +163,7 @@ const value = number(label, defaultValue, {}, groupId); Allows you to get a number from the user using a range slider. ```js -import { number } from '@storybook/addon-knobs/react'; +import { number } from '@storybook/addon-knobs'; const label = 'Temperature'; const defaultValue = 73; @@ -211,7 +183,7 @@ const value = number(label, defaultValue, options, groupId); Allows you to get a colour from the user. ```js -import { color } from '@storybook/addon-knobs/react'; +import { color } from '@storybook/addon-knobs'; const label = 'Color'; const defaultValue = '#ff00ff'; @@ -225,7 +197,7 @@ const value = color(label, defaultValue, groupId); Allows you to get a JSON object or array from the user. ```js -import { object } from '@storybook/addon-knobs/react'; +import { object } from '@storybook/addon-knobs'; const label = 'Styles'; const defaultValue = { @@ -243,7 +215,7 @@ const value = object(label, defaultValue, groupId); Allows you to get an array of strings from the user. ```js -import { array } from '@storybook/addon-knobs/react'; +import { array } from '@storybook/addon-knobs'; const label = 'Styles'; const defaultValue = ['Red']; @@ -256,7 +228,7 @@ const value = array(label, defaultValue); > By default it's a comma, but this can be override by passing a separator variable. > > ```js -> import { array } from '@storybook/addon-knobs/react'; +> import { array } from '@storybook/addon-knobs'; > > const label = 'Styles'; > const defaultValue = ['Red']; @@ -274,28 +246,7 @@ const value = array(label, defaultValue, ',', groupId); Allows you to get a value from a select box from the user. ```js -import { select } from '@storybook/addon-knobs/react'; - -const label = 'Colors'; -const options = { - red: 'Red', - blue: 'Blue', - yellow: 'Yellow', -}; -const defaultValue = 'red'; -const groupId = 'GROUP-ID1'; - -const value = select(label, options, defaultValue, groupId); -``` - -> You can also provide options as an array like this: `['red', 'blue', 'yellow']` - -### selectV2 - -In v4 this will replace `select`. The value from the select now uses the values from the `options` object. - -```js -import { selectV2 } from '@storybook/addon-knobs'; +import { select } from '@storybook/addon-knobs'; const label = 'Colors'; const options = { @@ -308,15 +259,17 @@ const options = { const defaultValue = 'red'; const groupId = 'GROUP-ID1'; -const value = selectV2(label, options, defaultValue, groupId); +const value = select(label, options, defaultValue, groupId); ``` +> You can also provide options as an array like this: `['red', 'blue', 'yellow']` + ### files Allows you to get a value from a file input from the user. ```js -import { files } from '@storybook/addon-knobs/react'; +import { files } from '@storybook/addon-knobs'; const label = 'Images'; const defaultValue = []; @@ -331,7 +284,7 @@ const value = files(label, accept, defaultValue); Allow you to get date (and time) from the user. ```js -import { date } from '@storybook/addon-knobs/react'; +import { date } from '@storybook/addon-knobs'; const label = 'Event Date'; const defaultValue = new Date('Jan 20 2017'); @@ -373,12 +326,12 @@ Usage: ```js import { storiesOf } from '@storybook/react'; +import { withKnobsOptions } from '@storybook/addon-knobs'; const stories = storiesOf('Storybook Knobs', module); stories.addDecorator(withKnobsOptions({ - debounce: { wait: number, leading: boolean}, // Same as lodash debounce. - timestamps: true // Doesn't emit events while user is typing. + timestamps: true, // Doesn't emit events while user is typing. escapeHTML: true // Escapes strings to be safe for inserting as innerHTML. This option is true by default in storybook for Vue, Angular, and Polymer, because those frameworks allow rendering plain HTML. // You can still set it to false, but it's strongly unrecommendend in cases when you host your storybook on some route of your main site or web app. diff --git a/addons/knobs/angular.js b/addons/knobs/angular.js index e40620072b57..c22c26b6732d 100644 --- a/addons/knobs/angular.js +++ b/addons/knobs/angular.js @@ -1 +1 @@ -module.exports = require('./dist/angular'); +module.exports = require('./dist/deprecated'); diff --git a/addons/knobs/html.js b/addons/knobs/html.js index 4f7edc6bedba..c22c26b6732d 100644 --- a/addons/knobs/html.js +++ b/addons/knobs/html.js @@ -1 +1 @@ -module.exports = require('./dist/html'); +module.exports = require('./dist/deprecated'); diff --git a/addons/knobs/marko.js b/addons/knobs/marko.js index 239559b30c53..c22c26b6732d 100644 --- a/addons/knobs/marko.js +++ b/addons/knobs/marko.js @@ -1 +1 @@ -module.exports = require('./dist/marko'); +module.exports = require('./dist/deprecated'); diff --git a/addons/knobs/mithril.js b/addons/knobs/mithril.js index 884a541476ec..c22c26b6732d 100644 --- a/addons/knobs/mithril.js +++ b/addons/knobs/mithril.js @@ -1 +1 @@ -module.exports = require('./dist/mithril'); +module.exports = require('./dist/deprecated'); diff --git a/addons/knobs/polymer.js b/addons/knobs/polymer.js index b3cfb782c794..c22c26b6732d 100644 --- a/addons/knobs/polymer.js +++ b/addons/knobs/polymer.js @@ -1 +1 @@ -module.exports = require('./dist/polymer'); +module.exports = require('./dist/deprecated'); diff --git a/addons/knobs/react.js b/addons/knobs/react.js index 70e1111ae070..c22c26b6732d 100644 --- a/addons/knobs/react.js +++ b/addons/knobs/react.js @@ -1 +1 @@ -module.exports = require('./dist/react'); +module.exports = require('./dist/deprecated'); diff --git a/addons/knobs/src/angular/helpers.js b/addons/knobs/src/angular/helpers.js deleted file mode 100644 index 3b05496d41d9..000000000000 --- a/addons/knobs/src/angular/helpers.js +++ /dev/null @@ -1,136 +0,0 @@ -/* eslint no-underscore-dangle: 0 */ -// eslint-disable-next-line import/no-extraneous-dependencies -import { Component, SimpleChange, ChangeDetectorRef } from '@angular/core'; -import { getParameters, getAnnotations } from './utils'; - -const getComponentMetadata = ({ component, props = {}, moduleMetadata = {} }) => { - if (!component || typeof component !== 'function') throw new Error('No valid component provided'); - - const componentMeta = getAnnotations(component)[0] || {}; - const paramsMetadata = getParameters(component); - - return { - component, - props, - componentMeta, - moduleMetadata, - params: paramsMetadata, - }; -}; - -const getAnnotatedComponent = ({ componentMeta, component, params, knobStore, channel }) => { - const KnobWrapperComponent = function KnobWrapperComponent(cd, ...args) { - component.call(this, ...args); - this.cd = cd; - this.knobChanged = this.knobChanged.bind(this); - this.setPaneKnobs = this.setPaneKnobs.bind(this); - }; - - KnobWrapperComponent.prototype = Object.create(component.prototype); - KnobWrapperComponent.annotations = [new Component(componentMeta)]; - KnobWrapperComponent.parameters = [[ChangeDetectorRef], ...params]; - - KnobWrapperComponent.prototype.constructor = KnobWrapperComponent; - KnobWrapperComponent.prototype.ngOnInit = function onInit() { - if (component.prototype.ngOnInit) { - component.prototype.ngOnInit.call(this); - } - - channel.on('addon:knobs:knobChange', this.knobChanged); - channel.on('addon:knobs:knobClick', this.knobClicked); - knobStore.subscribe(this.setPaneKnobs); - this.setPaneKnobs(); - }; - - KnobWrapperComponent.prototype.ngOnDestroy = function onDestroy() { - if (component.prototype.ngOnDestroy) { - component.prototype.ngOnDestroy.call(this); - } - - channel.removeListener('addon:knobs:knobChange', this.knobChanged); - channel.removeListener('addon:knobs:knobClick', this.knobClicked); - knobStore.unsubscribe(this.setPaneKnobs); - }; - - KnobWrapperComponent.prototype.ngOnChanges = function onChanges(changes) { - if (component.prototype.ngOnChanges) { - component.prototype.ngOnChanges.call(this, changes); - } - }; - - KnobWrapperComponent.prototype.setPaneKnobs = function setPaneKnobs(timestamp = +new Date()) { - channel.emit('addon:knobs:setKnobs', { - knobs: knobStore.getAll(), - timestamp, - }); - }; - - KnobWrapperComponent.prototype.knobChanged = function knobChanged(change) { - const { name, value } = change; - const knobOptions = knobStore.get(name); - const oldValue = knobOptions.value; - knobOptions.value = value; - knobStore.markAllUnused(); - this[name] = value; - this.cd.detectChanges(); - this.ngOnChanges({ - [name]: new SimpleChange(oldValue, value, false), - }); - }; - - KnobWrapperComponent.prototype.knobClicked = function knobClicked(clicked) { - const knobOptions = knobStore.get(clicked.name); - knobOptions.callback(); - }; - - return KnobWrapperComponent; -}; - -const createComponentFromTemplate = (template, styles) => { - const componentClass = class DynamicComponent {}; - - return Component({ - template, - styles, - })(componentClass); -}; - -const resetKnobs = (knobStore, channel) => { - knobStore.reset(); - channel.emit('addon:knobs:setKnobs', { - knobs: knobStore.getAll(), - timestamp: false, - }); -}; - -export function prepareComponent({ getStory, context, channel, knobStore }) { - resetKnobs(knobStore, channel); - const story = getStory(context); - let { component } = story; - const { template, styles } = story; - - if (!component) { - component = createComponentFromTemplate(template, styles); - } - - const { componentMeta, props, params, moduleMetadata } = getComponentMetadata({ - ...story, - component, - }); - - if (!componentMeta && component) throw new Error('No component metadata available'); - - const AnnotatedComponent = getAnnotatedComponent({ - componentMeta, - component, - params, - knobStore, - channel, - }); - - return { - component: AnnotatedComponent, - props, - moduleMetadata, - }; -} diff --git a/addons/knobs/src/angular/index.js b/addons/knobs/src/angular/index.js deleted file mode 100644 index 688740ad83eb..000000000000 --- a/addons/knobs/src/angular/index.js +++ /dev/null @@ -1,24 +0,0 @@ -import { prepareComponent } from './helpers'; - -import { - knob, - text, - boolean, - number, - color, - object, - array, - date, - select, - selectV2, - button, - files, - makeDecorators, -} from '../base'; - -export { knob, text, boolean, number, color, object, array, date, select, selectV2, button, files }; - -export const angularHandler = (channel, knobStore) => getStory => context => - prepareComponent({ getStory, context, channel, knobStore }); - -export const { withKnobs, withKnobsOptions } = makeDecorators(angularHandler, { escapeHTML: true }); diff --git a/addons/knobs/src/angular/utils.js b/addons/knobs/src/angular/utils.js deleted file mode 100644 index ddb2abe543cb..000000000000 --- a/addons/knobs/src/angular/utils.js +++ /dev/null @@ -1,38 +0,0 @@ -/* globals window */ -/* eslint-disable no-param-reassign */ -// eslint-disable-next-line import/no-extraneous-dependencies -import { ɵReflectionCapabilities } from '@angular/core'; - -// eslint-disable-next-line new-cap -const reflectionCapabilities = new ɵReflectionCapabilities(); - -function getMeta(component, [name1, name2], defaultValue) { - if (!name2) { - name2 = name1; - name1 = `__${name1}__`; - } - - if (component[name1]) { - return component[name1]; - } - - if (component[name2]) { - return component[name2]; - } - - return window.Reflect.getMetadata(name2, component) || defaultValue; -} - -export function getAnnotations(component) { - return getMeta(component, ['annotations'], []); -} - -export function getParameters(component) { - const params = reflectionCapabilities.parameters(component); - - if (!params || !params[0]) { - return getMeta(component, ['parameters'], []); - } - - return params; -} diff --git a/addons/knobs/src/base.js b/addons/knobs/src/base.js deleted file mode 100644 index 1343fc15b10f..000000000000 --- a/addons/knobs/src/base.js +++ /dev/null @@ -1,99 +0,0 @@ -import deprecate from 'util-deprecate'; -import addons from '@storybook/addons'; - -import KnobManager from './KnobManager'; - -export const manager = new KnobManager(); - -export function knob(name, options) { - return manager.knob(name, options); -} - -export function text(name, value, groupId) { - return manager.knob(name, { type: 'text', value, groupId }); -} - -export function boolean(name, value, groupId) { - return manager.knob(name, { type: 'boolean', value, groupId }); -} - -export function number(name, value, options = {}, groupId) { - const rangeDefaults = { - min: 0, - max: 10, - step: 1, - }; - - const mergedOptions = options.range - ? { - ...rangeDefaults, - ...options, - } - : options; - - const finalOptions = { - ...mergedOptions, - type: 'number', - value, - groupId, - }; - - return manager.knob(name, finalOptions); -} - -export function color(name, value, groupId) { - return manager.knob(name, { type: 'color', value, groupId }); -} - -export function object(name, value, groupId) { - return manager.knob(name, { type: 'object', value, groupId }); -} - -export const select = deprecate( - (name, options, value, groupId) => - manager.knob(name, { type: 'select', options, value, groupId }), - 'in v4 keys/values of the options argument are reversed' -); - -export function selectV2(name, options, value, groupId) { - return manager.knob(name, { type: 'select', selectV2: true, options, value, groupId }); -} - -export function array(name, value, separator = ',', groupId) { - return manager.knob(name, { type: 'array', value, separator, groupId }); -} - -export function date(name, value = new Date(), groupId) { - const proxyValue = value ? value.getTime() : null; - return manager.knob(name, { type: 'date', value: proxyValue, groupId }); -} - -export function button(name, callback, groupId) { - return manager.knob(name, { type: 'button', callback, hideLabel: true, groupId }); -} - -export function files(name, accept, value = []) { - return manager.knob(name, { type: 'files', accept, value }); -} - -export function makeDecorators(handler, defaultOptions = {}) { - function wrapperKnobs(options) { - const allOptions = { ...defaultOptions, ...options }; - - manager.setOptions(allOptions); - const channel = addons.getChannel(); - manager.setChannel(channel); - channel.emit('addon:knobs:setOptions', allOptions); - - return handler(channel, manager.knobStore); - } - - return { - withKnobs(storyFn, context) { - return wrapperKnobs()(storyFn)(context); - }, - withKnobsOptions(options = {}) { - return (storyFn, context) => wrapperKnobs(options)(storyFn)(context); - }, - }; -} diff --git a/addons/knobs/src/components/Panel.js b/addons/knobs/src/components/Panel.js index c0f66faf5790..b64d96494577 100644 --- a/addons/knobs/src/components/Panel.js +++ b/addons/knobs/src/components/Panel.js @@ -1,6 +1,5 @@ import React from 'react'; import PropTypes from 'prop-types'; -import debounce from 'lodash.debounce'; import GroupTabs from './GroupTabs'; import PropForm from './PropForm'; @@ -81,14 +80,8 @@ export default class Panel extends React.Component { this.setState({ groupId: name }); } - setOptions(options = { debounce: false, timestamps: false }) { + setOptions(options = { timestamps: false }) { this.options = options; - - if (options.debounce) { - this.emitChange = debounce(this.emitChange, options.debounce.wait, { - leading: options.debounce.leading, - }); - } } setKnobs({ knobs, timestamp }) { diff --git a/addons/knobs/src/components/__tests__/Select.js b/addons/knobs/src/components/__tests__/Select.js index 71dd7825196b..464d43f66bd2 100644 --- a/addons/knobs/src/components/__tests__/Select.js +++ b/addons/knobs/src/components/__tests__/Select.js @@ -16,19 +16,7 @@ describe('Select', () => { }; }); - it('displays value', () => { - const wrapper = shallow(); - - const green = wrapper.find('option').first(); - expect(green.text()).toEqual('#00ff00'); - expect(green.prop('value')).toEqual('Green'); - }); - - describe('selectV2', () => { - beforeEach(() => { - knob.selectV2 = true; - }); - + describe('displays value', () => { it('correctly maps option keys and values', () => { const wrapper = shallow(); diff --git a/addons/knobs/src/components/types/Select.js b/addons/knobs/src/components/types/Select.js index 33a445e4b60a..f091f8f83fa6 100644 --- a/addons/knobs/src/components/types/Select.js +++ b/addons/knobs/src/components/types/Select.js @@ -18,35 +18,17 @@ const styles = { }; class SelectType extends React.Component { - constructor(props, context) { - super(props, context); - - if (!props.knob.selectV2) { - console.info('Select Knob V1 will be deprecated, please upgrade to V2 of Select Knob'); // eslint-disable-line no-console - } - } - - renderOptionList({ options, selectV2 }) { + renderOptionList({ options }) { if (Array.isArray(options)) { return options.map(val => this.renderOption(val, val)); } - return Object.keys(options).map(key => this.renderOption(key, options[key], selectV2)); + return Object.keys(options).map(key => this.renderOption(key, options[key])); } - renderOption(key, value, selectV2) { - const opts = { - key, - value: key, - }; - - let display = value; - - if (selectV2) { - opts.value = value; - display = key; - } + renderOption(key, value) { + const opts = { key, value }; - return ; + return ; } render() { @@ -75,7 +57,6 @@ SelectType.propTypes = { name: PropTypes.string, value: PropTypes.string, options: PropTypes.oneOfType([PropTypes.array, PropTypes.object]), - selectV2: PropTypes.bool, }), onChange: PropTypes.func, }; diff --git a/addons/knobs/src/deprecated.js b/addons/knobs/src/deprecated.js new file mode 100644 index 000000000000..7822c6bf60ce --- /dev/null +++ b/addons/knobs/src/deprecated.js @@ -0,0 +1,31 @@ +import deprecate from 'util-deprecate'; + +import { + knob, + text, + boolean, + number, + color, + object, + array, + date, + select, + files, + button, + withKnobs as commonWithKnobs, + withKnobsOptions as commonWithKnobsOptions, +} from '.'; + +export { knob, text, boolean, number, color, object, array, date, select, files, button }; + +export const selectV2 = deprecate(select, 'selectV2 has been renamed to select'); + +export const withKnobs = deprecate( + commonWithKnobs, + "addon-knobs: framework-specific imports are deprecated, just use `import {withKnobs} from '@storybook/addon-knobs`" +); + +export const withKnobsOptions = deprecate( + commonWithKnobsOptions, + "addon-knobs: framework-specific imports are deprecated, just use `import {withKnobsOptions} from '@storybook/addon-knobs`" +); diff --git a/addons/knobs/src/html/index.js b/addons/knobs/src/html/index.js deleted file mode 100644 index a032f2979ea0..000000000000 --- a/addons/knobs/src/html/index.js +++ /dev/null @@ -1,32 +0,0 @@ -import registerKnobs from './registerKnobs'; - -import { - knob, - text, - boolean, - number, - color, - object, - array, - date, - select, - files, - manager, - makeDecorators, -} from '../base'; - -export { knob, text, boolean, number, color, object, array, date, select, files }; - -export function button(name, callback) { - return manager.knob(name, { type: 'button', value: Date.now(), callback, hideLabel: true }); -} - -function prepareComponent({ getStory, context }) { - registerKnobs(); - - return getStory(context); -} - -export const htmlHandler = () => getStory => context => prepareComponent({ getStory, context }); - -export const { withKnobs, withKnobsOptions } = makeDecorators(htmlHandler, { escapeHTML: true }); diff --git a/addons/knobs/src/index.js b/addons/knobs/src/index.js index 5c264102cb25..d0bc02d4916f 100644 --- a/addons/knobs/src/index.js +++ b/addons/knobs/src/index.js @@ -1,56 +1,86 @@ -import { window } from 'global'; -import deprecate from 'util-deprecate'; import addons from '@storybook/addons'; -import { vueHandler } from './vue'; -import { reactHandler } from './react'; - -import { - array, - boolean, - button, - files, - color, - date, - knob, - manager, - number, - object, - select, - selectV2, - text, -} from './base'; - -export { knob, text, boolean, number, color, object, array, date, button, select, selectV2, files }; - -deprecate(() => {}, -'Using @storybook/addon-knobs directly is discouraged, please use @storybook/addon-knobs/{{framework}}'); - -// generic higher-order component decorator for all platforms - usage is discouraged -// This file Should be removed with 4.0 release -function wrapperKnobs(options) { - const channel = addons.getChannel(); - manager.setChannel(channel); +import { manager, registerKnobs } from './registerKnobs'; + +export function knob(name, options) { + return manager.knob(name, options); +} + +export function text(name, value, groupId) { + return manager.knob(name, { type: 'text', value, groupId }); +} + +export function boolean(name, value, groupId) { + return manager.knob(name, { type: 'boolean', value, groupId }); +} + +export function number(name, value, options = {}, groupId) { + const rangeDefaults = { + min: 0, + max: 10, + step: 1, + }; + + const mergedOptions = options.range + ? { + ...rangeDefaults, + ...options, + } + : options; + + const finalOptions = { + ...mergedOptions, + type: 'number', + value, + groupId, + }; - if (options) channel.emit('addon:knobs:setOptions', options); + return manager.knob(name, finalOptions); +} + +export function color(name, value, groupId) { + return manager.knob(name, { type: 'color', value, groupId }); +} - switch (window.STORYBOOK_ENV) { - case 'vue': { - return vueHandler(channel, manager.knobStore); - } - case 'react': { - return reactHandler(channel, manager.knobStore); - } - default: { - return reactHandler(channel, manager.knobStore); - } - } +export function object(name, value, groupId) { + return manager.knob(name, { type: 'object', value, groupId }); } -export function withKnobs(storyFn, context) { - return wrapperKnobs()(storyFn)(context); +export function select(name, options, value, groupId) { + return manager.knob(name, { type: 'select', selectV2: true, options, value, groupId }); } -export function withKnobsOptions(options = {}) { - return (storyFn, context) => wrapperKnobs(options)(storyFn)(context); +export function array(name, value, separator = ',', groupId) { + return manager.knob(name, { type: 'array', value, separator, groupId }); } + +export function date(name, value = new Date(), groupId) { + const proxyValue = value ? value.getTime() : null; + return manager.knob(name, { type: 'date', value: proxyValue, groupId }); +} + +export function button(name, callback, groupId) { + return manager.knob(name, { type: 'button', callback, hideLabel: true, groupId }); +} + +export function files(name, accept, value = []) { + return manager.knob(name, { type: 'files', accept, value }); +} + +const defaultOptions = { + escapeHTML: true, +}; + +export const withKnobsOptions = (options = {}) => storyFn => { + const allOptions = { ...defaultOptions, ...options }; + + manager.setOptions(allOptions); + const channel = addons.getChannel(); + manager.setChannel(channel); + channel.emit('addon:knobs:setOptions', allOptions); + + registerKnobs(); + return storyFn(); +}; + +export const withKnobs = withKnobsOptions(); diff --git a/addons/knobs/src/marko/WrapStory.marko b/addons/knobs/src/marko/WrapStory.marko deleted file mode 100644 index 790abc65f552..000000000000 --- a/addons/knobs/src/marko/WrapStory.marko +++ /dev/null @@ -1,70 +0,0 @@ -class { - - onCreate(input) { - this.props = input.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); - } - - onMount() { - // 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 changes. - this.props.knobStore.subscribe(this.setPaneKnobs); - // Set knobs in the panel for the first time. - this.setPaneKnobs(); - } - - onDestroy() { - 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); - } - - setPaneKnobs(timestamp = +new Date()) { - const { channel, knobStore } = this.props; - channel.emit('addon:knobs:setKnobs', { knobs: knobStore.getAll(), timestamp }); - } - - knobChanged(change) { - const { name, value } = change; - const { knobStore, storyFn, context } = this.props; - - // Update the related knob and it's value. - var knobOptions = knobStore.get(name); - knobOptions.value = value; - knobStore.markAllUnused(); - - this.renderElement(storyFn(context)); - } - - knobClicked(clicked) { - let knobOptions = this.props.knobStore.get(clicked.name); - knobOptions.callback(); - } - - resetKnobs() { - const { knobStore, storyFn, context } = this.props; - knobStore.reset(); - this.renderElement(storyFn(context)); - this.setPaneKnobs(false); - } - - renderElement(storyContent) { - var WrapperElm = document.getElementById('Wrapper'); - if(this.currLoadedComponent) { - this.currLoadedComponent.destroy(); - this.currLoadedComponent = null; - } - this.currLoadedComponent = storyContent.appendTo(WrapperElm).getComponent(); - } -} - -
\ No newline at end of file diff --git a/addons/knobs/src/marko/index.js b/addons/knobs/src/marko/index.js deleted file mode 100644 index 66ec565b5d9f..000000000000 --- a/addons/knobs/src/marko/index.js +++ /dev/null @@ -1,43 +0,0 @@ -import addons from '@storybook/addons'; -import WrapStory from './WrapStory.marko'; - -import { - knob, - text, - boolean, - number, - color, - object, - array, - date, - select, - selectV2, - button, - manager, -} from '../base'; - -export { knob, text, boolean, number, color, object, array, date, select, selectV2, button }; - -export const markoHandler = (channel, knobStore) => getStory => context => { - const initialContent = getStory(context); - const props = { context, storyFn: getStory, channel, knobStore, initialContent }; - - return WrapStory.renderSync({ props }); -}; - -function wrapperKnobs(options) { - const channel = addons.getChannel(); - manager.setChannel(channel); - - if (options) channel.emit('addon:knobs:setOptions', options); - - return markoHandler(channel, manager.knobStore); -} - -export function withKnobs(storyFn, context) { - return wrapperKnobs()(storyFn)(context); -} - -export function withKnobsOptions(options = {}) { - return (storyFn, context) => wrapperKnobs(options)(storyFn)(context); -} diff --git a/addons/knobs/src/mithril/WrapStory.js b/addons/knobs/src/mithril/WrapStory.js deleted file mode 100644 index dd0ff093e754..000000000000 --- a/addons/knobs/src/mithril/WrapStory.js +++ /dev/null @@ -1,68 +0,0 @@ -// eslint-disable-next-line import/no-extraneous-dependencies -import m from 'mithril'; - -export default class WrapStory { - constructor(vnode) { - 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.props = vnode.attrs; - this.storyContent = vnode.attrs.initialContent; - } - - oncreate() { - // 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 - // changes. - this.props.knobStore.subscribe(this.setPaneKnobs); - // Set knobs in the panel for the first time. - this.setPaneKnobs(); - } - - onremove() { - 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); - } - - setPaneKnobs(timestamp = +new Date()) { - const { channel, knobStore } = this.props; - channel.emit('addon:knobs:setKnobs', { knobs: knobStore.getAll(), timestamp }); - } - - knobChanged(change) { - const { name, value } = change; - 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.storyContent = storyFn(context); - m.redraw(); - } - - knobClicked(clicked) { - const knobOptions = this.props.knobStore.get(clicked.name); - knobOptions.callback(); - } - - resetKnobs() { - const { knobStore, storyFn, context } = this.props; - knobStore.reset(); - this.storyContent = storyFn(context); - m.redraw(); - this.setPaneKnobs(false); - } - - view() { - return m(this.storyContent); - } -} diff --git a/addons/knobs/src/mithril/index.js b/addons/knobs/src/mithril/index.js deleted file mode 100644 index 216049d1694c..000000000000 --- a/addons/knobs/src/mithril/index.js +++ /dev/null @@ -1,33 +0,0 @@ -/** @jsx m */ - -// eslint-disable-next-line import/no-extraneous-dependencies -import m from 'mithril'; - -import WrapStory from './WrapStory'; - -import { - knob, - text, - boolean, - number, - color, - object, - array, - date, - select, - selectV2, - button, - makeDecorators, -} from '../base'; - -export { knob, text, boolean, number, color, object, array, date, select, selectV2, button }; - -export const mithrilHandler = (channel, knobStore) => getStory => context => { - const initialContent = getStory(context); - const props = { context, storyFn: getStory, channel, knobStore, initialContent }; - return { - view: () => , - }; -}; - -export const { withKnobs, withKnobsOptions } = makeDecorators(mithrilHandler); diff --git a/addons/knobs/src/polymer/WrapStory.html b/addons/knobs/src/polymer/WrapStory.html deleted file mode 100644 index 60bf2e35a6f4..000000000000 --- a/addons/knobs/src/polymer/WrapStory.html +++ /dev/null @@ -1,94 +0,0 @@ - - - diff --git a/addons/knobs/src/polymer/index.js b/addons/knobs/src/polymer/index.js deleted file mode 100644 index 32df8b36a678..000000000000 --- a/addons/knobs/src/polymer/index.js +++ /dev/null @@ -1,33 +0,0 @@ -import window from 'global'; -import './WrapStory.html'; - -import { - knob, - text, - boolean, - number, - color, - object, - array, - date, - select, - files, - manager, - makeDecorators, -} from '../base'; - -export { knob, text, boolean, number, color, object, array, date, select, files }; - -export function button(name, callback) { - return manager.knob(name, { type: 'button', value: Date.now(), callback, hideLabel: true }); -} - -function prepareComponent({ getStory, context, channel, knobStore }) { - const WrapStory = window.customElements.get('wrap-story'); - return new WrapStory(getStory(context), channel, context, getStory, knobStore); -} - -export const polymerHandler = (channel, knobStore) => getStory => context => - prepareComponent({ getStory, context, channel, knobStore }); - -export const { withKnobs, withKnobsOptions } = makeDecorators(polymerHandler, { escapeHTML: true }); diff --git a/addons/knobs/src/react/WrapStory.js b/addons/knobs/src/react/WrapStory.js deleted file mode 100644 index 148ba186cd1f..000000000000 --- a/addons/knobs/src/react/WrapStory.js +++ /dev/null @@ -1,109 +0,0 @@ -/* eslint no-underscore-dangle: 0 */ - -import PropTypes from 'prop-types'; -import React from 'react'; -import { polyfill } from 'react-lifecycles-compat'; - -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; - this.state = {}; - } - - 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 - // changes. - this.props.knobStore.subscribe(this.setPaneKnobs); - // Set knobs in the panel for the first time. - this.setPaneKnobs(); - } - - 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); - } - - setPaneKnobs(timestamp = +new Date()) { - const { channel, knobStore } = this.props; - channel.emit('addon:knobs:setKnobs', { knobs: knobStore.getAll(), timestamp }); - } - - knobChanged(change) { - const { name, value } = change; - 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(); - this.setState({ storyContent: storyFn(context) }); - this.setPaneKnobs(false); - } - - render() { - return this.state.storyContent; - } -} - -WrapStory.getDerivedStateFromProps = ({ initialContent }, { prevContent }) => { - if (initialContent !== prevContent) { - return { - storyContent: initialContent, - prevContent: initialContent, - }; - } - return null; -}; - -WrapStory.defaultProps = { - context: {}, - initialContent: {}, - storyFn: context => context, -}; - -WrapStory.propTypes = { - context: PropTypes.object, // eslint-disable-line react/forbid-prop-types - storyFn: PropTypes.func, - channel: PropTypes.shape({ - on: PropTypes.func, - removeListener: PropTypes.func, - }).isRequired, - knobStore: PropTypes.shape({ - channel: PropTypes.func, - get: PropTypes.func, - getAll: PropTypes.func, - markAllUnused: PropTypes.func, - reset: PropTypes.func, - subscribe: PropTypes.func, - unsubscribe: PropTypes.func, - }).isRequired, - initialContent: PropTypes.node, // eslint-disable-line react/no-unused-prop-types -}; - -polyfill(WrapStory); - -export default WrapStory; diff --git a/addons/knobs/src/react/index.js b/addons/knobs/src/react/index.js deleted file mode 100644 index 109411497257..000000000000 --- a/addons/knobs/src/react/index.js +++ /dev/null @@ -1,29 +0,0 @@ -import React from 'react'; - -import WrapStory from './WrapStory'; - -import { - knob, - text, - boolean, - number, - color, - object, - array, - date, - select, - selectV2, - button, - files, - makeDecorators, -} from '../base'; - -export { knob, text, boolean, number, color, object, array, date, select, selectV2, button, files }; - -export const reactHandler = (channel, knobStore) => getStory => context => { - const initialContent = getStory(context); - const props = { context, storyFn: getStory, channel, knobStore, initialContent }; - return ; -}; - -export const { withKnobs, withKnobsOptions } = makeDecorators(reactHandler); diff --git a/addons/knobs/src/react/index.test.js b/addons/knobs/src/react/index.test.js deleted file mode 100644 index 75b1a08e47f1..000000000000 --- a/addons/knobs/src/react/index.test.js +++ /dev/null @@ -1,27 +0,0 @@ -import React from 'react'; -import { reactHandler } from './index'; -import { shallow } from 'enzyme'; // eslint-disable-line -import KnobStore from '../KnobStore'; - -describe('React Handler', () => { - describe('wrapStory', () => { - it('should contain the story and add correct props', () => { - const testChannel = { emit: jest.fn(), on: jest.fn() }; - const testStory = () =>
Test Content
; - const testContext = { - kind: 'Foo', - story: 'bar baz', - }; - - const testStore = new KnobStore(); - - const wrappedStory = reactHandler(testChannel, testStore)(testStory)(testContext); - const wrapper = shallow(wrappedStory); - expect(wrapper.find('#test-story')).toHaveLength(1); - - const storyWrapperProps = wrappedStory.props; - expect(storyWrapperProps.channel).toEqual(testChannel); - expect(storyWrapperProps.context).toEqual(testContext); - }); - }); -}); diff --git a/addons/knobs/src/html/registerKnobs.js b/addons/knobs/src/registerKnobs.js similarity index 89% rename from addons/knobs/src/html/registerKnobs.js rename to addons/knobs/src/registerKnobs.js index b654e0fe4bf7..ab16295cc5cd 100644 --- a/addons/knobs/src/html/registerKnobs.js +++ b/addons/knobs/src/registerKnobs.js @@ -1,7 +1,8 @@ import addons from '@storybook/addons'; import Events from '@storybook/core-events'; -import { manager } from '../base'; +import KnobManager from './KnobManager'; +export const manager = new KnobManager(); const { knobStore } = manager; function forceReRender() { @@ -35,8 +36,7 @@ function resetKnobs() { forceReRender(); - const channel = addons.getChannel(); - setPaneKnobs(channel, knobStore, false); + setPaneKnobs(false); } function disconnectCallbacks() { @@ -57,8 +57,6 @@ function connectCallbacks() { return disconnectCallbacks; } -function registerKnobs() { +export function registerKnobs() { addons.getChannel().emit(Events.REGISTER_SUBSCRIPTION, connectCallbacks); } - -export default registerKnobs; diff --git a/addons/knobs/src/vue/index.js b/addons/knobs/src/vue/index.js deleted file mode 100644 index df0049eee272..000000000000 --- a/addons/knobs/src/vue/index.js +++ /dev/null @@ -1,75 +0,0 @@ -import { - knob, - text, - boolean, - number, - color, - object, - array, - date, - select, - selectV2, - button, - files, - makeDecorators, -} from '../base'; - -export { knob, text, boolean, number, color, object, array, date, select, selectV2, button, files }; - -export const vueHandler = (channel, knobStore) => getStory => context => ({ - data() { - return { - context, - getStory, - story: getStory(context), - }; - }, - - render(h) { - return h(this.story); - }, - - methods: { - onKnobChange(change) { - const { name, value } = change; - // Update the related knob and it's value. - const knobOptions = knobStore.get(name); - - knobOptions.value = value; - this.story = this.getStory(this.context); - this.$forceUpdate(); - }, - - onKnobClick(clicked) { - const knobOptions = knobStore.get(clicked.name); - knobOptions.callback(); - }, - - onKnobReset() { - knobStore.reset(); - this.setPaneKnobs(false); - this.story = this.getStory(this.context); - this.$forceUpdate(); - }, - - setPaneKnobs(timestamp = +new Date()) { - channel.emit('addon:knobs:setKnobs', { knobs: knobStore.getAll(), timestamp }); - }, - }, - - 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); - }, -}); - -export const { withKnobs, withKnobsOptions } = makeDecorators(vueHandler, { escapeHTML: true }); diff --git a/addons/knobs/src/vue/index.test.js b/addons/knobs/src/vue/index.test.js deleted file mode 100644 index 9e2b4ca7a3d3..000000000000 --- a/addons/knobs/src/vue/index.test.js +++ /dev/null @@ -1,40 +0,0 @@ -import Vue from 'vue'; -import { vueHandler } from './index'; -import KnobStore from '../KnobStore'; - -describe('Vue handler', () => { - it('Returns a component with a created function', () => { - const testChannel = { emit: jest.fn(), on: jest.fn() }; - const testStory = () => ({ template: '
testStory
' }); - const testContext = { - kind: 'Foo', - story: 'bar baz', - }; - - const testStore = new KnobStore(); - const component = vueHandler(testChannel, testStore)(testStory)(testContext); - - expect(component).toMatchObject({ - created: expect.any(Function), - beforeDestroy: expect.any(Function), - render: expect.any(Function), - }); - }); - - it('Subscribes to the channel on creation', () => { - const testChannel = { emit: () => {}, on: jest.fn() }; - const testStory = () => ({ render: h => h('div', ['testStory']) }); - const testContext = { - kind: 'Foo', - story: 'bar baz', - }; - - const testStore = new KnobStore(); - new Vue(vueHandler(testChannel, testStore)(testStory)(testContext)).$mount(); - - 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)); - }); -}); diff --git a/addons/knobs/vue.js b/addons/knobs/vue.js index 42311b17563f..c22c26b6732d 100644 --- a/addons/knobs/vue.js +++ b/addons/knobs/vue.js @@ -1 +1 @@ -module.exports = require('./dist/vue'); +module.exports = require('./dist/deprecated'); diff --git a/addons/viewport/package.json b/addons/viewport/package.json index 4a037fabedfb..a163b2262aec 100644 --- a/addons/viewport/package.json +++ b/addons/viewport/package.json @@ -13,10 +13,12 @@ "dependencies": { "@storybook/addons": "4.0.0-alpha.6", "@storybook/components": "4.0.0-alpha.6", + "@storybook/core-events": "4.0.0-alpha.6", "babel-runtime": "^6.26.0", "global": "^4.3.2", "lodash.debounce": "^4.0.8", - "prop-types": "^15.6.1" + "prop-types": "^15.6.1", + "util-deprecate": "^1.0.2" }, "peerDependencies": { "react": "*" diff --git a/addons/viewport/src/preview/components/Viewport.js b/addons/viewport/src/preview/components/Viewport.js deleted file mode 100644 index 77e477eaa962..000000000000 --- a/addons/viewport/src/preview/components/Viewport.js +++ /dev/null @@ -1,52 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import addons from '@storybook/addons'; -import { - SET_STORY_DEFAULT_VIEWPORT_EVENT_ID, - VIEWPORT_CHANGED_EVENT_ID, - DEFAULT_VIEWPORT, -} from '../../shared'; - -const noop = () => {}; - -export default class Viewport extends React.Component { - static propTypes = { - name: PropTypes.string, - children: PropTypes.node.isRequired, - onViewportChange: PropTypes.func, - }; - - static defaultProps = { - name: DEFAULT_VIEWPORT, - onViewportChange: noop, - }; - - constructor(props) { - super(props); - - this.channel = addons.getChannel(); - const { onViewportChange } = props; - - if (typeof this.props.onViewportChange === 'function') { - this.onViewportChange = onViewportChange; - } - } - - componentDidMount() { - if (this.onViewportChange) { - this.channel.on(VIEWPORT_CHANGED_EVENT_ID, this.onViewportChange); - } - - this.channel.emit(SET_STORY_DEFAULT_VIEWPORT_EVENT_ID, this.props.name); - } - - componentWillUnmount() { - if (this.onViewportChange) { - this.channel.removeListener(VIEWPORT_CHANGED_EVENT_ID, this.onViewportChange); - } - } - - render() { - return this.props.children; - } -} diff --git a/addons/viewport/src/preview/components/tests/Viewport.test.js b/addons/viewport/src/preview/components/tests/Viewport.test.js deleted file mode 100644 index 4267ac7a3556..000000000000 --- a/addons/viewport/src/preview/components/tests/Viewport.test.js +++ /dev/null @@ -1,93 +0,0 @@ -import React from 'react'; -import addons from '@storybook/addons'; -import { shallow } from 'enzyme'; -import { EventEmitter } from 'events'; -import Viewport from '../Viewport'; -import { VIEWPORT_CHANGED_EVENT_ID, INITIAL_VIEWPORTS } from '../../../shared'; - -jest.mock('@storybook/addons'); - -const noop = () => {}; - -describe('Viewport', () => { - const channel = { - emit: jest.fn(), - on: jest.fn(), - removeListener: jest.fn(), - }; - - addons.getChannel.mockReturnValue(channel); - - const props = { - name: 'iphone6', - children: '1337', - }; - - let subject; - - beforeEach(() => { - subject = shallow(); - }); - - afterEach(() => { - channel.emit.mockReset(); - channel.on.mockReset(); - channel.removeListener.mockReset(); - }); - - describe('componentDidMount', () => { - it('publishes `set` event with `iphone6`', () => { - expect(channel.emit).toHaveBeenCalledTimes(1); - expect(channel.emit).toHaveBeenCalledWith( - 'addon:viewport:setStoryDefaultViewport', - 'iphone6' - ); - }); - - it('should listen to viewport changes', () => { - channel.on.mockReset(); - subject = shallow(); - - expect(channel.on).toHaveBeenCalledTimes(1); - expect(channel.on).toHaveBeenCalledWith('addon:viewport:viewportChanged', noop); - }); - }); - - describe('componentWillUnmount', () => { - it('removes viewport changes listener', () => { - subject = shallow(); - subject.unmount(); - - expect(channel.removeListener).toHaveBeenCalledTimes(1); - expect(channel.removeListener).toHaveBeenCalledWith('addon:viewport:viewportChanged', noop); - }); - }); - - describe('onViewportChange', () => { - const emitter = new EventEmitter(); - const propsWithCallback = { - name: 'unknown', - children: 'do not exist', - onViewportChange: jest.fn(), - }; - - beforeAll(() => { - addons.getChannel.mockReturnValue(emitter); - }); - - beforeEach(() => { - subject = shallow(); - }); - - it('calls onViewportChange with the newly selected viewport', () => { - emitter.emit(VIEWPORT_CHANGED_EVENT_ID, { - viewport: INITIAL_VIEWPORTS.iphone5, - }); - - expect(propsWithCallback.onViewportChange).toHaveBeenCalled(); - expect(propsWithCallback.onViewportChange).toHaveBeenCalledWith({ - viewport: INITIAL_VIEWPORTS.iphone5, - }); - }); - }); -}); diff --git a/addons/viewport/src/preview/index.js b/addons/viewport/src/preview/index.js index 14758dbad24b..c98b908c8806 100644 --- a/addons/viewport/src/preview/index.js +++ b/addons/viewport/src/preview/index.js @@ -2,8 +2,7 @@ import addons from '@storybook/addons'; import { CONFIGURE_VIEWPORT_EVENT_ID } from '../shared'; export { INITIAL_VIEWPORTS, DEFAULT_VIEWPORT } from '../shared'; -export { default as withViewport } from './withViewport'; -export { default as Viewport } from './components/Viewport'; +export { default as withViewport, Viewport } from './withViewport'; export function configureViewport(configs = {}) { const channel = addons.getChannel(); diff --git a/addons/viewport/src/preview/withViewport.js b/addons/viewport/src/preview/withViewport.js index cfe11ab7622e..1527080ee021 100644 --- a/addons/viewport/src/preview/withViewport.js +++ b/addons/viewport/src/preview/withViewport.js @@ -1,20 +1,46 @@ -import React from 'react'; +import addons from '@storybook/addons'; +import CoreEvents from '@storybook/core-events'; +import deprecate from 'util-deprecate'; -import Viewport from './components/Viewport'; +import { + SET_STORY_DEFAULT_VIEWPORT_EVENT_ID, + VIEWPORT_CHANGED_EVENT_ID, + DEFAULT_VIEWPORT, +} from '../shared'; + +function noop() {} +let handler = noop; + +const subscription = () => { + const channel = addons.getChannel(); + channel.on(VIEWPORT_CHANGED_EVENT_ID, handler); + return () => channel.removeListener(VIEWPORT_CHANGED_EVENT_ID, handler); +}; + +const setViewport = options => { + const channel = addons.getChannel(); + handler = options.onViewportChange || noop; + if (options.onViewportChange) { + channel.emit(CoreEvents.REGISTER_SUBSCRIPTION, subscription); + } + channel.emit(SET_STORY_DEFAULT_VIEWPORT_EVENT_ID, options.name || DEFAULT_VIEWPORT); +}; export default function withViewport(nameOrOptions) { const options = typeof nameOrOptions === 'string' ? { name: nameOrOptions } : nameOrOptions; - const decorator = getStory => context => ( - - {getStory()} - - ); - - return (getStory, context) => { - if (typeof context === 'undefined') { - return decorator(getStory); - } - return decorator(getStory)(context); + return (story, context) => { + const decorated = () => { + setViewport(options); + return story(); + }; + + // Absent context means a direct call, withViewport(viewport)(storyFn) + return context ? decorated() : decorated; }; } + +export const Viewport = deprecate(({ children, ...options }) => { + setViewport(options); + return children; +}, ` usage is deprecated, use .addDecorator(withViewport(viewport)) instead`); diff --git a/app/polymer/src/client/preview/render.js b/app/polymer/src/client/preview/render.js index 6ed2e5a9bce3..6fbbe908c21f 100644 --- a/app/polymer/src/client/preview/render.js +++ b/app/polymer/src/client/preview/render.js @@ -4,7 +4,14 @@ import { html, render, TemplateResult } from 'lit-html'; const rootElement = document.getElementById('root'); -export default function renderMain({ story, selectedKind, selectedStory, showMain, showError }) { +export default function renderMain({ + story, + selectedKind, + selectedStory, + showMain, + showError, + forceRender, +}) { const component = story(); if (!component) { @@ -24,7 +31,10 @@ export default function renderMain({ story, selectedKind, selectedStory, showMai } else if (component instanceof TemplateResult) { // `render` stores the TemplateInstance in the Node and tries to update based on that. // Since we reuse `rootElement` for all stories, remove the stored instance first. - render(html``, rootElement); + // But forceRender means that it's the same story, so we want too keep the state in that case. + if (!forceRender) { + render(html``, rootElement); + } render(component, rootElement); } else { rootElement.innerHTML = ''; diff --git a/app/react-native/src/manager/provider.js b/app/react-native/src/manager/provider.js index 510b5635b172..820fb3bc9439 100644 --- a/app/react-native/src/manager/provider.js +++ b/app/react-native/src/manager/provider.js @@ -56,6 +56,9 @@ export default class ReactProvider extends Provider { this.selection = { kind, story }; this.channel.emit(Events.SET_CURRENT_STORY, this.selection); }); + this.channel.on(Events.SELECT_STORY, ({ kind, story }) => { + api.selectStory(kind, story); + }); this.channel.on(Events.SET_STORIES, data => { api.setStories(data.stories); }); diff --git a/app/react-native/src/preview/components/StoryView/index.js b/app/react-native/src/preview/components/StoryView/index.js index dc056e14adbd..44abf486f288 100644 --- a/app/react-native/src/preview/components/StoryView/index.js +++ b/app/react-native/src/preview/components/StoryView/index.js @@ -10,12 +10,15 @@ export default class StoryView extends Component { this.state = { storyFn: null, selection: {} }; this.storyHandler = this.selectStory.bind(this); + this.forceRender = this.forceUpdate.bind(this); this.props.events.on(Events.SELECT_STORY, this.storyHandler); + this.props.events.on(Events.FORCE_RE_RENDER, this.forceRender); } componentWillUnmount() { this.props.events.removeListener(Events.SELECT_STORY, this.storyHandler); + this.props.events.removeListener(Events.FORCE_RE_RENDER, this.forceRender); } selectStory(storyFn, selection) { diff --git a/app/react-native/src/preview/index.js b/app/react-native/src/preview/index.js index 6e7a58d80e7b..3947b60cbfc1 100644 --- a/app/react-native/src/preview/index.js +++ b/app/react-native/src/preview/index.js @@ -69,7 +69,8 @@ export default class Preview { } channel.on(Events.GET_STORIES, () => this._sendSetStories()); channel.on(Events.SET_CURRENT_STORY, d => this._selectStory(d)); - this._events.on(Events.SET_CURRENT_STORY, d => this._selectStory(d)); + channel.on(Events.FORCE_RE_RENDER, () => this._forceRender()); + this._events.on(Events.SET_CURRENT_STORY, d => this._selectStory(d, true)); this._sendSetStories(); this._sendGetCurrentStory(); @@ -93,9 +94,17 @@ export default class Preview { channel.emit(Events.GET_CURRENT_STORY); } - _selectStory(selection) { + _selectStory(selection, fromPreview) { const { kind, story } = selection; const storyFn = this._stories.getStoryWithContext(kind, story); + if (fromPreview) { + const channel = addons.getChannel(); + channel.emit(Events.SELECT_STORY, selection); + } this._events.emit(Events.SELECT_STORY, storyFn, selection); } + + _forceRender() { + this._events.emit(Events.FORCE_RE_RENDER); + } } diff --git a/app/react/src/client/preview/render.js b/app/react/src/client/preview/render.js index 2094cc207b91..507e58685636 100644 --- a/app/react/src/client/preview/render.js +++ b/app/react/src/client/preview/render.js @@ -13,7 +13,14 @@ function render(node, el) { ); } -export default function renderMain({ story, selectedKind, selectedStory, showMain, showError }) { +export default function renderMain({ + story, + selectedKind, + selectedStory, + showMain, + showError, + forceRender, +}) { const element = story(); if (!element) { @@ -42,7 +49,10 @@ export default function renderMain({ story, selectedKind, selectedStory, showMai // Otherwise, React may not recrease instances for every story run. // This could leads to issues like below: // https://github.com/storybooks/react-storybook/issues/81 - ReactDOM.unmountComponentAtNode(rootEl); + // But forceRender means that it's the same story, so we want too keep the state in that case. + if (!forceRender) { + ReactDOM.unmountComponentAtNode(rootEl); + } showMain(); render(element, rootEl); } diff --git a/docs/src/pages/basics/quick-start-guide/index.md b/docs/src/pages/basics/quick-start-guide/index.md index 68f4b11f10ac..52d0b49c8d46 100644 --- a/docs/src/pages/basics/quick-start-guide/index.md +++ b/docs/src/pages/basics/quick-start-guide/index.md @@ -29,11 +29,12 @@ Then you can access your storybook from the browser. * * * To learn more about what `getstorybook` command does, have a look at our slow start guides: - * [React](/basics/guide-react/) - * [Vue](/basics/guide-vue/) - * [Angular](/basics/guide-angular/) - * [Mithril](/basics/guide-mithril/) - * [HTML](/basics/guide-html/) +* [React](/basics/guide-react/) +* [Vue](/basics/guide-vue/) +* [Angular](/basics/guide-angular/) +* [Mithril](/basics/guide-mithril/) +* [Marko](/basics/guide-marko/) +* [HTML](/basics/guide-html/) If you prefer a guided tutorial to reading docs, head to [Learn Storybook](https://www.learnstorybook.com) for a step-by-step guide (currently React-only). diff --git a/examples/angular-cli/addon-jest.testresults.json b/examples/angular-cli/addon-jest.testresults.json index 62fbfd2c65ce..08bff9cecbaf 100644 --- a/examples/angular-cli/addon-jest.testresults.json +++ b/examples/angular-cli/addon-jest.testresults.json @@ -1 +1 @@ -{"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":1,"numPassedTests":3,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTotalTestSuites":1,"numTotalTests":3,"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"startTime":1525677901357,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":["AppComponent"],"failureMessages":[],"fullName":"AppComponent should create the app","location":null,"status":"passed","title":"should create the app"},{"ancestorTitles":["AppComponent"],"failureMessages":[],"fullName":"AppComponent should have as title 'app'","location":null,"status":"passed","title":"should have as title 'app'"},{"ancestorTitles":["AppComponent"],"failureMessages":[],"fullName":"AppComponent should render title in a h1 tag","location":null,"status":"passed","title":"should render title in a h1 tag"}],"endTime":1525677905915,"message":"","name":"C:\\tmp\\storybook\\examples\\angular-cli\\src\\app\\app.component.spec.ts","startTime":1525677902829,"status":"passed","summary":""}],"wasInterrupted":false} \ No newline at end of file +{"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":2,"numPassedTests":6,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTotalTestSuites":2,"numTotalTests":6,"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"startTime":1525873343397,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":["AppComponent"],"failureMessages":[],"fullName":"AppComponent should create the app","location":null,"status":"passed","title":"should create the app"},{"ancestorTitles":["AppComponent"],"failureMessages":[],"fullName":"AppComponent should have as title 'app'","location":null,"status":"passed","title":"should have as title 'app'"},{"ancestorTitles":["AppComponent"],"failureMessages":[],"fullName":"AppComponent should render title in a h1 tag","location":null,"status":"passed","title":"should render title in a h1 tag"}],"endTime":1525873348302,"message":"","name":"/Users/jetbrains/IdeaProjects/storybook/examples/angular-cli/dist/app/app.component.spec.ts","startTime":1525873345081,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":["AppComponent"],"failureMessages":[],"fullName":"AppComponent should create the app","location":null,"status":"passed","title":"should create the app"},{"ancestorTitles":["AppComponent"],"failureMessages":[],"fullName":"AppComponent should have as title 'app'","location":null,"status":"passed","title":"should have as title 'app'"},{"ancestorTitles":["AppComponent"],"failureMessages":[],"fullName":"AppComponent should render title in a h1 tag","location":null,"status":"passed","title":"should render title in a h1 tag"}],"endTime":1525873348352,"message":"","name":"/Users/jetbrains/IdeaProjects/storybook/examples/angular-cli/src/app/app.component.spec.ts","startTime":1525873345086,"status":"passed","summary":""}],"wasInterrupted":false} \ No newline at end of file diff --git a/examples/angular-cli/src/stories/__snapshots__/addon-knobs.stories.storyshot b/examples/angular-cli/src/stories/__snapshots__/addon-knobs.stories.storyshot index 7b714f4052b2..e6705c07ae8c 100644 --- a/examples/angular-cli/src/stories/__snapshots__/addon-knobs.stories.storyshot +++ b/examples/angular-cli/src/stories/__snapshots__/addon-knobs.stories.storyshot @@ -27,7 +27,7 @@ exports[`Storyshots Addon|Knobs All knobs 1`] = `

- I have a stock of 20 apple, costing $ 2.25 each. + I have a stock of 20 apples, costing $ 2.25 each.

diff --git a/examples/angular-cli/src/stories/__snapshots__/custom-styles.stories.storyshot b/examples/angular-cli/src/stories/__snapshots__/custom-styles.stories.storyshot index 017c637ae3fc..9e5017225e43 100644 --- a/examples/angular-cli/src/stories/__snapshots__/custom-styles.stories.storyshot +++ b/examples/angular-cli/src/stories/__snapshots__/custom-styles.stories.storyshot @@ -31,18 +31,15 @@ exports[`Storyshots Custom|Style With Knobs 1`] = ` data={[Function Object]} target={[Function ViewContainerRef_]} > - + diff --git a/examples/angular-cli/src/stories/addon-knobs.stories.ts b/examples/angular-cli/src/stories/addon-knobs.stories.ts index ff4a661486f4..ea71f6d90c58 100644 --- a/examples/angular-cli/src/stories/addon-knobs.stories.ts +++ b/examples/angular-cli/src/stories/addon-knobs.stories.ts @@ -11,7 +11,7 @@ import { color, date, button, -} from '@storybook/addon-knobs/angular'; +} from '@storybook/addon-knobs'; import { SimpleKnobsComponent } from './knobs.component'; import { AllKnobsComponent } from './all-knobs.component'; @@ -53,11 +53,11 @@ storiesOf('Addon|Knobs', module) step: 5, }); const fruits = { - apples: 'Apple', - bananas: 'Banana', - cherries: 'Cherry', + Apple: 'apples', + Banana: 'bananas', + Cherry: 'cherries', }; - const fruit = select('fruit', fruits, 'apple'); + const fruit = select('fruit', fruits, 'apples'); const price = number('price', 2.25); const border = color('border', 'deeppink'); diff --git a/examples/crna-kitchen-sink/storybook/stories/Knobs/index.js b/examples/crna-kitchen-sink/storybook/stories/Knobs/index.js index 776fb1eb5729..7ca828cadd8d 100644 --- a/examples/crna-kitchen-sink/storybook/stories/Knobs/index.js +++ b/examples/crna-kitchen-sink/storybook/stories/Knobs/index.js @@ -16,9 +16,9 @@ export default () => { const name = text('Name', 'Storyteller'); const age = number('Age', 70, { range: true, min: 0, max: 90, step: 5 }); const fruits = { - apple: 'Apple', - banana: 'Banana', - cherry: 'Cherry', + Apple: 'apple', + Banana: 'banana', + Cherry: 'cherry', }; const fruit = select('Fruit', fruits, 'apple'); const dollars = number('Dollars', 12.5); diff --git a/examples/html-kitchen-sink/stories/__snapshots__/addon-knobs.stories.storyshot b/examples/html-kitchen-sink/stories/__snapshots__/addon-knobs.stories.storyshot index 73f9636e4b14..1517b1b70843 100644 --- a/examples/html-kitchen-sink/stories/__snapshots__/addon-knobs.stories.storyshot +++ b/examples/html-kitchen-sink/stories/__snapshots__/addon-knobs.stories.storyshot @@ -17,7 +17,7 @@ exports[`Storyshots Addons|Knobs All knobs 1`] = `

- I have a stock of 20 apple, costing $2.25 each. + I have a stock of 20 apples, costing $2.25 each.

@@ -52,3 +52,5 @@ exports[`Storyshots Addons|Knobs Simple 1`] = ` I am John Doe and I'm 44 years old. `; + +exports[`Storyshots Addons|Knobs XSS safety 1`] = `<img src=x onerror="alert('XSS Attack')" >`; diff --git a/examples/html-kitchen-sink/stories/addon-a11y.stories.js b/examples/html-kitchen-sink/stories/addon-a11y.stories.js index 7341d03e8a6a..96e90a23ae1b 100644 --- a/examples/html-kitchen-sink/stories/addon-a11y.stories.js +++ b/examples/html-kitchen-sink/stories/addon-a11y.stories.js @@ -2,7 +2,7 @@ import { document, setTimeout } from 'global'; import { storiesOf } from '@storybook/html'; import { setOptions } from '@storybook/addon-options'; -import { checkA11y } from '@storybook/addon-a11y/html'; +import { checkA11y } from '@storybook/addon-a11y'; const text = 'Testing the a11y addon'; diff --git a/examples/html-kitchen-sink/stories/addon-backgrounds.stories.js b/examples/html-kitchen-sink/stories/addon-backgrounds.stories.js index 1c8eed6ac6dc..1a5cc547cf28 100644 --- a/examples/html-kitchen-sink/stories/addon-backgrounds.stories.js +++ b/examples/html-kitchen-sink/stories/addon-backgrounds.stories.js @@ -1,6 +1,6 @@ import { storiesOf } from '@storybook/html'; -import backgrounds from '@storybook/addon-backgrounds/html'; +import backgrounds from '@storybook/addon-backgrounds'; storiesOf('Addons|Backgrounds', module) .addDecorator( diff --git a/examples/html-kitchen-sink/stories/addon-events.stories.js b/examples/html-kitchen-sink/stories/addon-events.stories.js index f0be1bee0a0e..954f7eeea87a 100644 --- a/examples/html-kitchen-sink/stories/addon-events.stories.js +++ b/examples/html-kitchen-sink/stories/addon-events.stories.js @@ -4,7 +4,7 @@ import addons from '@storybook/addons'; import CoreEvents from '@storybook/core-events'; import json from 'format-json'; -import withEvents from '@storybook/addon-events/html'; +import withEvents from '@storybook/addon-events'; import './addon-events.css'; diff --git a/examples/html-kitchen-sink/stories/addon-knobs.stories.js b/examples/html-kitchen-sink/stories/addon-knobs.stories.js index 406ba3acf184..04fd7d9c3d3a 100644 --- a/examples/html-kitchen-sink/stories/addon-knobs.stories.js +++ b/examples/html-kitchen-sink/stories/addon-knobs.stories.js @@ -11,7 +11,7 @@ import { withKnobs, text, number, -} from '@storybook/addon-knobs/html'; +} from '@storybook/addon-knobs'; storiesOf('Addons|Knobs', module) .addDecorator(withKnobs) @@ -31,11 +31,11 @@ storiesOf('Addons|Knobs', module) step: 5, }); const fruits = { - apples: 'Apple', - bananas: 'Banana', - cherries: 'Cherry', + Apple: 'apples', + Banana: 'bananas', + Cherry: 'cherries', }; - const fruit = select('Fruit', fruits, 'apple'); + const fruit = select('Fruit', fruits, 'apples'); const price = number('Price', 2.25); const colour = color('Border', 'deeppink'); @@ -63,4 +63,5 @@ storiesOf('Addons|Knobs', module)

${salutation}

`; - }); + }) + .add('XSS safety', () => text('Rendered string', '')); diff --git a/examples/marko-cli/package.json b/examples/marko-cli/package.json index f937f1dd613e..0ff7a8e61068 100644 --- a/examples/marko-cli/package.json +++ b/examples/marko-cli/package.json @@ -28,7 +28,7 @@ "scripts": { "start": "marko-starter server", "build-storybook": "build-storybook", - "storybook": "start-storybook -p 9010", + "storybook": "start-storybook -p 9005", "build": "NODE_ENV=production marko-starter build", "serve-static": "NODE_ENV=production marko-starter serve-static", "lint": "eslint src/", diff --git a/examples/marko-cli/src/stories/addon-actions.stories.js b/examples/marko-cli/src/stories/addon-actions.stories.js index ec3aa83f09a0..73d25b05d3f6 100644 --- a/examples/marko-cli/src/stories/addon-actions.stories.js +++ b/examples/marko-cli/src/stories/addon-actions.stories.js @@ -2,6 +2,6 @@ import { storiesOf } from '@storybook/marko'; import { action } from '@storybook/addon-actions'; import Button from '../components/action-button/index.marko'; -storiesOf('Addons|Actions/Button').add('Simple', () => +storiesOf('Addons|Actions/Button', module).add('Simple', () => Button.renderSync({ click: action('action logged!') }) ); diff --git a/examples/marko-cli/src/stories/addon-knobs.stories.js b/examples/marko-cli/src/stories/addon-knobs.stories.js index 35287848196d..74b6898dbb4c 100644 --- a/examples/marko-cli/src/stories/addon-knobs.stories.js +++ b/examples/marko-cli/src/stories/addon-knobs.stories.js @@ -1,5 +1,5 @@ import { storiesOf } from '@storybook/marko'; -import { withKnobs, text, number } from '@storybook/addon-knobs/marko'; +import { withKnobs, text, number } from '@storybook/addon-knobs'; import Hello from '../components/hello/index.marko'; storiesOf('Addons|Knobs/Hello', module) diff --git a/examples/mithril-kitchen-sink/src/stories/addon-backgrounds.stories.js b/examples/mithril-kitchen-sink/src/stories/addon-backgrounds.stories.js index 373a25de5bb6..307765b93697 100644 --- a/examples/mithril-kitchen-sink/src/stories/addon-backgrounds.stories.js +++ b/examples/mithril-kitchen-sink/src/stories/addon-backgrounds.stories.js @@ -4,7 +4,7 @@ import m from 'mithril'; import { storiesOf } from '@storybook/mithril'; -import backgrounds from '@storybook/addon-backgrounds/mithril'; +import backgrounds from '@storybook/addon-backgrounds'; import BaseButton from '../BaseButton'; storiesOf('Addons|Backgrounds', module) diff --git a/examples/mithril-kitchen-sink/src/stories/addon-knobs.stories.js b/examples/mithril-kitchen-sink/src/stories/addon-knobs.stories.js index d518f313e546..cd9836b357cb 100644 --- a/examples/mithril-kitchen-sink/src/stories/addon-knobs.stories.js +++ b/examples/mithril-kitchen-sink/src/stories/addon-knobs.stories.js @@ -14,7 +14,7 @@ import { color, date, button, -} from '@storybook/addon-knobs/mithril'; +} from '@storybook/addon-knobs'; storiesOf('Addons|Knobs', module) .addDecorator(withKnobs) @@ -36,11 +36,11 @@ storiesOf('Addons|Knobs', module) step: 5, }); const fruits = { - apples: 'Apple', - bananas: 'Banana', - cherries: 'Cherry', + Apple: 'apples', + Banana: 'bananas', + Cherry: 'cherries', }; - const fruit = select('Fruit', fruits, 'apple'); + const fruit = select('Fruit', fruits, 'apples'); const price = number('Price', 2.25); const colour = color('Border', 'deeppink'); @@ -63,7 +63,7 @@ storiesOf('Addons|Knobs', module)

today is {new Date(today).toLocaleDateString('en-US', dateOptions)}

{stockMessage}

Also, I have:

-
    {items.map(item => `
  • ${item}
  • `).join('')}
+
    {items.map(item =>
  • {item}
  • )}

{salutation}

), diff --git a/examples/official-storybook/stories/__snapshots__/addon-backgrounds.stories.storyshot b/examples/official-storybook/stories/__snapshots__/addon-backgrounds.stories.storyshot index 59ddd8f533da..856f3abbf94c 100644 --- a/examples/official-storybook/stories/__snapshots__/addon-backgrounds.stories.storyshot +++ b/examples/official-storybook/stories/__snapshots__/addon-backgrounds.stories.storyshot @@ -1,5 +1,11 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`Storyshots Addons|Backgrounds overriden 1`] = ` + +`; + exports[`Storyshots Addons|Backgrounds story 1 1`] = ` +
+ +
+ `; diff --git a/examples/vue-kitchen-sink/src/stories/__snapshots__/addon-knobs.stories.storyshot b/examples/vue-kitchen-sink/src/stories/__snapshots__/addon-knobs.stories.storyshot index f54e6f19d0e5..13bf0ff02a61 100644 --- a/examples/vue-kitchen-sink/src/stories/__snapshots__/addon-knobs.stories.storyshot +++ b/examples/vue-kitchen-sink/src/stories/__snapshots__/addon-knobs.stories.storyshot @@ -13,7 +13,7 @@ exports[`Storyshots Addon|Knobs All knobs 1`] = `

- I have a stock of 20 apple, costing $2.25 each. + I have a stock of 20 apples, costing $2.25 each.

diff --git a/examples/vue-kitchen-sink/src/stories/__snapshots__/custom-decorators.stories.storyshot b/examples/vue-kitchen-sink/src/stories/__snapshots__/custom-decorators.stories.storyshot index eb88673228af..d0e4a58cc4f5 100644 --- a/examples/vue-kitchen-sink/src/stories/__snapshots__/custom-decorators.stories.storyshot +++ b/examples/vue-kitchen-sink/src/stories/__snapshots__/custom-decorators.stories.storyshot @@ -5,13 +5,17 @@ exports[`Storyshots Custom|Decorator for Vue render 1`] = ` style="border: medium solid blue;" >

- + +
`; @@ -21,14 +25,18 @@ exports[`Storyshots Custom|Decorator for Vue template 1`] = ` style="border: medium solid blue;" >
- + +
`; diff --git a/examples/vue-kitchen-sink/src/stories/addon-backgrounds.stories.js b/examples/vue-kitchen-sink/src/stories/addon-backgrounds.stories.js index aacee49f3522..3621cf9d65d7 100644 --- a/examples/vue-kitchen-sink/src/stories/addon-backgrounds.stories.js +++ b/examples/vue-kitchen-sink/src/stories/addon-backgrounds.stories.js @@ -1,5 +1,5 @@ import { storiesOf } from '@storybook/vue'; -import backgrounds from '@storybook/addon-backgrounds/vue'; +import backgrounds from '@storybook/addon-backgrounds'; storiesOf('Addon|Backgrounds', module) .addDecorator( diff --git a/examples/vue-kitchen-sink/src/stories/addon-knobs.stories.js b/examples/vue-kitchen-sink/src/stories/addon-knobs.stories.js index 26015c311b76..cf8a0a7d74eb 100644 --- a/examples/vue-kitchen-sink/src/stories/addon-knobs.stories.js +++ b/examples/vue-kitchen-sink/src/stories/addon-knobs.stories.js @@ -10,7 +10,7 @@ import { color, date, button, -} from '@storybook/addon-knobs/vue'; +} from '@storybook/addon-knobs'; storiesOf('Addon|Knobs', module) .addDecorator(withKnobs) @@ -32,11 +32,11 @@ storiesOf('Addon|Knobs', module) step: 5, }); const fruits = { - apples: 'Apple', - bananas: 'Banana', - cherries: 'Cherry', + Apple: 'apples', + Banana: 'bananas', + Cherry: 'cherries', }; - const fruit = select('Fruit', fruits, 'apple'); + const fruit = select('Fruit', fruits, 'apples'); const price = number('Price', 2.25); const colour = color('Border', 'deeppink'); diff --git a/lib/addons/src/index.js b/lib/addons/src/index.js index 161a58ed0067..883633ee9fbc 100644 --- a/lib/addons/src/index.js +++ b/lib/addons/src/index.js @@ -22,6 +22,10 @@ export class AddonStore { return this.channel; } + hasChannel() { + return Boolean(this.channel); + } + setChannel(channel) { this.channel = channel; } diff --git a/lib/channel-postmessage/src/index.js b/lib/channel-postmessage/src/index.js index e8497bd90133..2395164de92b 100644 --- a/lib/channel-postmessage/src/index.js +++ b/lib/channel-postmessage/src/index.js @@ -32,7 +32,6 @@ export class PostmsgTransport { } const data = stringify({ key: KEY, event }); iframeWindow.postMessage(data, '*'); - this._handler(event); return Promise.resolve(null); } diff --git a/lib/channels/src/index.js b/lib/channels/src/index.js index ca07dc95898f..bae6bd48854a 100644 --- a/lib/channels/src/index.js +++ b/lib/channels/src/index.js @@ -4,7 +4,7 @@ export default class Channel { constructor({ transport }) { this._sender = this._randomId(); this._transport = transport; - this._transport.setHandler(this._handleEvent.bind(this)); + this._transport.setHandler(event => this._handleEvent(event)); this._listeners = {}; } @@ -14,13 +14,14 @@ export default class Channel { addPeerListener(type, listener) { const peerListener = listener; - peerListener.isPeer = from => from === this._sender; + peerListener.ignorePeer = true; this.on(type, peerListener); } emit(type, ...args) { const event = { type, args, from: this._sender }; this._transport.send(event); + this._handleEvent(event, true); } eventNames() { @@ -78,10 +79,10 @@ export default class Channel { .slice(2); } - _handleEvent(event) { + _handleEvent(event, isPeer) { const listeners = this._listeners[event.type]; - if (listeners) { - listeners.forEach(fn => !(fn.isPeer && fn.isPeer(event.from)) && fn(...event.args)); + if (listeners && (isPeer || event.from !== this._sender)) { + listeners.forEach(fn => !(isPeer && fn.ignorePeer) && fn(...event.args)); } } diff --git a/lib/channels/src/index.test.js b/lib/channels/src/index.test.js index 722a26e01396..7497f7e9cba7 100644 --- a/lib/channels/src/index.test.js +++ b/lib/channels/src/index.test.js @@ -195,11 +195,19 @@ describe('Channel', () => { }); describe('_miscellaneous', () => { - it('should not ignore if event came from itself', () => { + it('should ignore if event came from own sender', () => { const received = []; channel.on('type-1', n => received.push(n)); channel._handleEvent({ type: 'type-1', args: [11] }); channel._handleEvent({ type: 'type-1', args: [12], from: channel._sender }); + expect(received).toEqual([11]); + }); + + it('should not ignore peer event', () => { + const received = []; + channel.on('type-1', n => received.push(n)); + channel._handleEvent({ type: 'type-1', args: [11] }); + channel._handleEvent({ type: 'type-1', args: [12] }, true); expect(received).toEqual([11, 12]); }); @@ -208,6 +216,7 @@ describe('Channel', () => { channel.addPeerListener('type-1', n => received.push(n)); channel._handleEvent({ type: 'type-1', args: [11], from: channel._sender }); channel._handleEvent({ type: 'type-1', args: [12], from: '_' }); + channel._handleEvent({ type: 'type-1', args: [13] }, true); expect(received).toEqual([12]); }); }); diff --git a/lib/cli/haste-map-react-native-packager-1-ce06e11dd572473aa7654c0c19f367c5 b/lib/cli/haste-map-react-native-packager-1-ce06e11dd572473aa7654c0c19f367c5 deleted file mode 100644 index b6b715abeb1d..000000000000 --- a/lib/cli/haste-map-react-native-packager-1-ce06e11dd572473aa7654c0c19f367c5 +++ /dev/null @@ -1 +0,0 @@ -{"clocks":{},"duplicates":{},"files":{"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/storybook/index.ios.js":["",1526059430218,1,["./storybook"]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/storybook/addons.js":["",1526059430218,1,["@storybook/addon-actions/register","@storybook/addon-links/register"]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/storybook/storybook.js":["",1526059430242,1,["react","react-native","@storybook/react-native","./stories"]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/storybook/index.js":["",1526059430218,1,["./storybook"]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/storybook/index.android.js":["",1526059430218,1,["./storybook"]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/storybook/stories/CenterView/index.js":["",1526059430218,1,["react","prop-types","react-native","./style"]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/storybook/stories/CenterView/style.js":["",1526059430218,1,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/storybook/stories/index.js":["",1526059430218,1,["react","react-native","@storybook/react-native","@storybook/addon-actions","@storybook/addon-links","./Button","./CenterView","./Welcome"]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/storybook/stories/Button/index.ios.js":["",1526059430218,1,["react","prop-types","react-native"]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/storybook/stories/Button/index.android.js":["",1526059430218,1,["react","prop-types","react-native"]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/storybook/stories/Welcome/index.js":["",1526059430218,1,["react","prop-types","react-native"]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/index.ios.js":["",1526059376366,1,["react","react-native"]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/package.json":["react-native-fixture",1526059430242,1,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/ios/react_native/Images.xcassets/AppIcon.appiconset/Contents.json":["",1526059376370,1,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest/build/jest.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest/package.json":["",1495635211000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest/bin/jest.js":["",1494584416000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build/warnings.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build/condition.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build/validate.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build/index.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build/utils.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build/exampleConfig.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build/errors.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build/deprecated.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build/types.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build/defaultConfig.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build-es5/warnings.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build-es5/condition.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build-es5/validate.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build-es5/index.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build-es5/utils.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build-es5/exampleConfig.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build-es5/errors.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build-es5/deprecated.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build-es5/types.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/build-es5/defaultConfig.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-validate/package.json":["",1495018620000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-message-util/build/index.js":["",1495014561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-message-util/build-es5/index.js":["",1495014561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-message-util/package.json":["",1495018620000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/package.json":["",1495621704000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/node.js":["",1486066060000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/expression.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/loose/expression.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/loose/index.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/loose/parseutil.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/loose/statement.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/loose/tokenize.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/loose/state.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/util.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/whitespace.js":["",1486066060000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/locutil.js":["",1486066060000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/index.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/tokentype.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/walk/index.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/parseutil.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/statement.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/options.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/tokenize.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/bin/acorn.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/lval.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/identifier.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/state.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/tokencontext.js":["",1495621697000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/src/location.js":["",1486066060000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/dist/walk.js":["",1495621713000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/dist/acorn_loose.es.js":["",1495621714000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/dist/walk.es.js":["",1495621713000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/dist/acorn.js":["",1495621712000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/dist/acorn.es.js":["",1495621712000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/acorn/dist/acorn_loose.js":["",1495621714000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-haste-map/build/lib/extractRequires.js":["",1500286095000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-haste-map/build/lib/getPlatformExtension.js":["",1500286095000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-haste-map/build/crawlers/node.js":["",1500286095000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-haste-map/build/crawlers/watchman.js":["",1500286095000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-haste-map/build/worker.js":["",1500286095000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-haste-map/build/index.js":["",1500286095000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-haste-map/build/getMockName.js":["",1500286095000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-haste-map/build/ModuleMap.js":["",1500286095000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-haste-map/build/HasteFS.js":["",1500286095000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-haste-map/build/constants.js":["",1500286094000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-haste-map/build/types.js":["",1500286095000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-haste-map/package.json":["",1500286343000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/sane/package.json":["",1487656114000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/sane/index.js":["",1466638956000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/sane/node_modules/fb-watchman/package.json":["",1485558571000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/sane/node_modules/fb-watchman/index.js":["",1485475598000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/sane/src/node_watcher.js":["",1487653844000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/sane/src/cli.js":["",1466638956000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/sane/src/watchman_watcher.js":["",1482563930000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/sane/src/poll_watcher.js":["",1482563929000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/sane/src/utils/recrawl-warning-dedupe.js":["",1467160106000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/sane/src/common.js":["",1487653844000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/chalk/package.json":["",1459210524000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/chalk/index.js":["",1459210441000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react/cjs/react.development.js":["",1493759772000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react/cjs/react.production.min.js":["",1493759773000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react/package.json":["",1493759771000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react/umd/react.development.js":["",1493759771000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react/umd/react.production.min.js":["",1493759772000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react/index.js":["",1493759771000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react/node_modules/prop-types/lib/ReactPropTypesSecret.js":["",1506382846000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react/node_modules/prop-types/checkPropTypes.js":["",1506382846000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react/node_modules/prop-types/factory.js":["",1506382846000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react/node_modules/prop-types/package.json":["",1506383031000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react/node_modules/prop-types/factoryWithThrowingShims.js":["",1506382846000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react/node_modules/prop-types/index.js":["",1506382846000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react/node_modules/prop-types/factoryWithTypeCheckers.js":["",1506382846000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react/node_modules/prop-types/prop-types.js":["",1506383084000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react/node_modules/prop-types/prop-types.min.js":["",1506383085000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/esprima/package.json":["",1482462906000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/esprima/bin/esvalidate.js":["",1481604347000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/esprima/bin/esparse.js":["",1481604347000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/esprima/dist/esprima.js":["",1482463104000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/every.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseDifference.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createFind.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_cloneTypedArray.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseFor.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_initCloneByTag.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseFindIndex.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createCurry.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseSetToString.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseAssignValue.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseSum.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/chain.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseEach.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/sortedIndex.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseConformsTo.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_equalArrays.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/groupBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/orderBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/snakeCase.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/every.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/curryN.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/chain.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/sortedIndex.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/defaultsDeepAll.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/groupBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/orderBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/snakeCase.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/takeWhile.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/overArgs.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/replace.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/value.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/stubTrue.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/toNumber.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/reduceRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/toFinite.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/paths.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/findFrom.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/mergeWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/takeLastWhile.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/slice.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/updateWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/pullAllWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/has.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/seq.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/once.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/flow.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/create.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isNumber.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/convert.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/sum.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/nth.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/_mapping.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/padStart.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/dropLast.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isArrayLikeObject.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/stubString.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/forIn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/padCharsEnd.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/unzip.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/lastIndexOf.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isString.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/upperFirst.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/toString.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/omit.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/sortedUniqBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/invert.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/lastIndexOfFrom.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/endsWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/_falseOptions.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/findLastKey.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/max.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isElement.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/castArray.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/after.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isEqual.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/dropWhile.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/symmetricDifferenceBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/setWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/head.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isMatchWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/split.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/throttle.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isPlainObject.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/zipWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/invokeMap.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/zipObjectDeep.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/util.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/partition.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isEmpty.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/countBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isObjectLike.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/minBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/ceil.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/pickBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/where.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/props.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/entries.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/hasIn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/restFrom.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/camelCase.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isSet.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/wrapperValue.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/getOr.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isSymbol.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/functionsIn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/keysIn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/differenceBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/cloneDeep.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/pullAllBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/sumBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/wrap.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/truncate.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/trimEnd.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/whereEq.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isArray.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/mean.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/toPairs.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isError.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/equals.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/thru.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isBuffer.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/dissoc.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/defaultsAll.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/string.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/flowRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/extendWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/initial.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/fill.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/__.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/useWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/xor.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/template.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/propOr.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/nthArg.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/inRange.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/invokeArgsMap.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/spread.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/flattenDepth.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isUndefined.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/attempt.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/propertyOf.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/placeholder.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isInteger.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/stubFalse.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/indexBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/toArray.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/ary.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/differenceWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/unnest.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/join.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isWeakMap.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/remove.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/compose.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isRegExp.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/toIterator.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/findIndex.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/defer.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/at.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/valueOf.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/takeLast.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/forOwnRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isWeakSet.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/some.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/always.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/invertBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/capitalize.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/noop.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/init.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/negate.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/complement.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/wrapperReverse.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/forEach.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/invokeArgs.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/pad.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/bindKey.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/concat.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/round.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/clone.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isLength.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/partial.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/result.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/curry.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/deburr.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/toSafeInteger.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/maxBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/startsWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/collection.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/allPass.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/unzipWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/over.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/uniqueId.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/filter.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/now.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/unapply.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/gt.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/identical.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/mergeAll.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/pull.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/chunk.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/divide.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/toJSON.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/update.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isSafeInteger.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/upperCase.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/fromPairs.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/takeRightWhile.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/unary.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/min.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/toPath.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/property.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/templateSettings.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/size.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/random.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/unescape.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/without.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/flatten.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/matches.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/intersectionBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/keys.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/flatMapDeep.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/_util.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/defaultTo.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isArguments.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/all.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/assoc.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/functions.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/keyBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/wrapperLodash.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/before.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/omitBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/rangeStepRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/trimCharsEnd.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/lowerFirst.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/last.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/overEvery.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/wrapperChain.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/clamp.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/path.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isBoolean.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/findLastFrom.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/pipe.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/words.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/add.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/map.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/methodOf.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/forInRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/assocPath.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/iteratee.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/bind.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/toLower.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/assignAll.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/toLength.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/memoize.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/bindAll.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/compact.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/toPlainObject.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/values.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/contains.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/entriesIn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/array.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/shuffle.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/pick.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/assignIn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/findIndexFrom.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/unionWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/math.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/assignInAll.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/object.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isNil.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/xorBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/get.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/F.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/invertObj.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/unionBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/propEq.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/date.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/drop.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/stubObject.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/dropLastWhile.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/multiply.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/T.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/sortedIndexBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/parseInt.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/pathEq.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/uniqWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/rearg.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isDate.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/findLast.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/pathOr.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/meanBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/takeRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/uniqBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/debounce.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/escapeRegExp.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/assignWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/set.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isNative.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/stubArray.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/method.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/symmetricDifference.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/prop.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/zipAll.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/sortBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/sortedIndexOf.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/includesFrom.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/tail.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isEqualWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/flip.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/trimCharsStart.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/_convertBrowser.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/subtract.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/omitAll.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/dropRightWhile.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isArrayLike.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/rest.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/forOwn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isNull.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/matchesProperty.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/escape.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/valuesIn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isObject.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/nAry.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isTypedArray.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/commit.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/reject.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/identity.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/toInteger.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/sample.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/difference.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/reduce.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/pullAt.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/extendAll.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/plant.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/overSome.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/flatMapDepth.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/uniq.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/padEnd.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/times.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/transform.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/sampleSize.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/cloneWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/spreadFrom.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/findLastIndex.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/curryRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/eq.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/trimStart.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/invoke.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isMatch.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/trim.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/any.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/lang.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/assign.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/anyPass.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/sortedLastIndex.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/lowerCase.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/zipObj.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/flatMap.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/apply.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isMap.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/assignInAllWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/next.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/assignAllWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/mapKeys.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/lte.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/sortedLastIndexOf.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/floor.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/wrapperAt.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/indexOf.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/startCase.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/padCharsStart.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/function.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/number.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/xorWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isArrayBuffer.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/padChars.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/toPairsIn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/unset.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/mixin.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/each.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/symmetricDifferenceWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/delay.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/mergeAllWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/juxt.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/take.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/defaultsDeep.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/flattenDeep.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isFinite.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/rangeStep.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/toUpper.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/_baseConvert.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/curryRightN.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/union.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/eachRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/range.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/extendAllWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/dropRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/gte.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/includes.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/conforms.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/findKey.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/pluck.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/reverse.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/tap.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/sortedLastIndexBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/rangeRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/intersection.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/forEachRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/find.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/partialRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/conformsTo.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isNaN.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/defaults.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/zip.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/merge.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/constant.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/intersectionWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/isFunction.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/cond.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/zipObject.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/sortedUniq.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/kebabCase.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/lt.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/assignInWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/pickAll.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/pullAll.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/dissocPath.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/findLastIndexFrom.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/extend.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/first.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/indexOfFrom.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/trimChars.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/repeat.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/mapValues.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp/cloneDeepWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/takeWhile.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/overArgs.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/replace.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/value.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_castRest.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_composeArgsRight.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/stubTrue.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/toNumber.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseExtremum.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIsEqual.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/reduceRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/toFinite.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseForOwnRight.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseMerge.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_reorder.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIsTypedArray.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIteratee.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIsDate.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/mergeWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arrayEachRight.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/slice.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arraySampleSize.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/updateWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/pullAllWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_stackSet.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/has.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/seq.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/once.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_basePick.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseAssignIn.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getAllKeys.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/flow.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/create.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isNumber.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_stackDelete.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_root.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseMatchesProperty.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_mapCacheHas.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/sum.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/nth.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_hasPath.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_castArrayLikeObject.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getPrototype.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseGetTag.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_unescapeHtmlChar.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/padStart.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIndexOf.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_nativeCreate.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isArrayLikeObject.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/stubString.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/forIn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_mapCacheClear.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/unzip.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/lastIndexOf.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_apply.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arrayEvery.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isString.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createCompounder.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_cloneBuffer.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/upperFirst.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/toString.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/omit.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseXor.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/sortedUniqBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/invert.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_strictIndexOf.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseFindKey.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/endsWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arrayIncludes.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseLt.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_reEvaluate.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/findLastKey.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/max.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseRest.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_Map.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseReduce.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseGet.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isElement.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/castArray.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/after.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseFilter.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isEqual.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_isPrototype.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/dropWhile.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/setWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseUpdate.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseUnary.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/head.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isMatchWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createPadding.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseSortedIndexBy.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIndexOfWith.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getNative.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_assignValue.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getAllKeysIn.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/split.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseSampleSize.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/throttle.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isPlainObject.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/zipWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/invokeMap.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/zipObjectDeep.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/util.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseToPairs.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_escapeStringChar.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arrayReduceRight.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_shuffleSelf.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/partition.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseHasIn.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_hashGet.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isEmpty.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/countBy.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isObjectLike.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_stackClear.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/minBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_stringSize.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/ceil.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_nativeKeys.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/pickBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_LodashWrapper.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/entries.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fp.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/hasIn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIsSet.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIsMatch.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/camelCase.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_nodeUtil.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isSet.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/core.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_customOmitClone.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/wrapperValue.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_stringToPath.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createSet.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createAggregator.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createWrap.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_shortOut.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isSymbol.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/functionsIn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_unicodeSize.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/keysIn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_addSetEntry.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/differenceBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/cloneDeep.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/pullAllBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/sumBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/lodash.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/wrap.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/truncate.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseMatches.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/trimEnd.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_customDefaultsMerge.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createRecurry.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_hasUnicode.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_copySymbols.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isArray.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/mean.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/toPairs.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_lazyValue.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isError.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/thru.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isBuffer.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_basePropertyOf.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createOver.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arrayShuffle.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_listCacheGet.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/string.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createFlow.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/flowRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_mapToArray.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/extendWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_mapCacheGet.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/initial.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_setWrapToString.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createRange.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fill.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/package.json":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseOrderBy.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseRandom.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_matchesStrictComparable.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/xor.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/template.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIsArrayBuffer.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseGt.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/nthArg.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/inRange.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_hashSet.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_cloneSet.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/spread.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_strictLastIndexOf.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_deburrLetter.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/flattenDepth.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIntersection.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_mapCacheDelete.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIsNative.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isUndefined.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/attempt.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_nativeKeysIn.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/propertyOf.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isInteger.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_listCacheSet.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/stubFalse.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/toArray.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/ary.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_realNames.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/differenceWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_equalObjects.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/join.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseRange.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getMapData.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isWeakMap.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_defineProperty.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_parent.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_asciiSize.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_setCacheAdd.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arrayAggregator.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/remove.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isRegExp.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/toIterator.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/findIndex.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/defer.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/index.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/at.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getFuncName.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIsArguments.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/valueOf.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/forOwnRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isWeakSet.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/some.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createInverter.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/invertBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_charsEndIndex.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/capitalize.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/noop.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseFunctions.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/negate.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIsNaN.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseWhile.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/wrapperReverse.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseHas.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_asciiWords.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/forEach.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getMatchData.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_overRest.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/pad.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/bindKey.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_stackGet.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/concat.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/round.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/clone.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_stackHas.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isLength.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_cloneRegExp.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/partial.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/result.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/curry.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/deburr.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/toSafeInteger.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_MapCache.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/maxBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_setToArray.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/startsWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/collection.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createBaseEach.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/unzipWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/over.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getRawTag.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createBaseFor.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseMean.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/uniqueId.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/filter.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/now.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_escapeHtmlChar.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/gt.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/pull.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/chunk.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/divide.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/toJSON.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseClone.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_isLaziable.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/update.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isSafeInteger.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_isMasked.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/upperCase.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_isFlattenable.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arrayPush.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/fromPairs.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseToNumber.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_isKey.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/takeRightWhile.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/unary.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/min.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseSortedUniq.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_charsStartIndex.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/toPath.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/property.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/templateSettings.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_DataView.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/size.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_isMaskable.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_castPath.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/random.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_basePullAll.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_isStrictComparable.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/unescape.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseForRight.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/without.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/flatten.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/matches.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/intersectionBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_flatRest.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/keys.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/flatMapDeep.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/defaultTo.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getHolder.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseRepeat.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_Set.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_unicodeWords.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_WeakMap.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseShuffle.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_memoizeCapped.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arraySample.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isArguments.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_hasUnicodeWord.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_setToPairs.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/functions.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/keyBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/wrapperLodash.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_addMapEntry.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/before.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/omitBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_Symbol.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseAggregator.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/lowerFirst.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseSlice.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/last.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_assignMergeValue.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/overEvery.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/wrapperChain.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/clamp.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isBoolean.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createRound.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/words.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/add.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createPartial.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_copyObject.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/map.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/methodOf.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createBind.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_copyArray.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/forInRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseZipObject.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/iteratee.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/bind.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseSortBy.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseSortedIndex.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getTag.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/toLower.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/core.min.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/toLength.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_setToString.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/memoize.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseCreate.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/bindAll.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIsMap.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/compact.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/toPlainObject.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_setCacheHas.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseGetAllKeys.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/values.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseSet.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/entriesIn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseLodash.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseTimes.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/array.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/shuffle.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseSetData.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_LazyWrapper.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/pick.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arrayMap.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/assignIn.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/unionWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/math.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/object.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isNil.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/xorBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/get.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/unionBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/date.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_updateWrapDetails.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_mergeData.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/drop.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createCtor.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/stubObject.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_listCacheHas.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/multiply.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_overArg.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getData.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/sortedIndexBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseFlatten.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/parseInt.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_copySymbolsIn.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_mapCacheSet.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/uniqWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseKeysIn.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_hashClear.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/rearg.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_wrapperClone.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isDate.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_objectToString.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/findLast.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_cacheHas.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/meanBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/takeRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/uniqBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/debounce.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/escapeRegExp.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/assignWith.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_initCloneObject.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createAssigner.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_castFunction.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/set.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isNative.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_countHolders.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/stubArray.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/method.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/sortBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_SetCache.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/sortedIndexOf.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_castSlice.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseKeys.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_toKey.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseForOwn.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/tail.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseSample.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseConforms.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseNth.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_isIterateeCall.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isEqualWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseFill.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/flip.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_coreJsData.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getView.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/subtract.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_metaMap.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/dropRightWhile.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arrayLikeKeys.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseDelay.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isArrayLike.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/rest.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/forOwn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseWrapperValue.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_listCacheDelete.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isNull.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_composeArgs.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/matchesProperty.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/escape.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/valuesIn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isObject.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isTypedArray.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/commit.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/reject.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_cloneDataView.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_listCacheClear.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_cloneArrayBuffer.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/identity.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getSymbolsIn.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/toInteger.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_isKeyable.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/sample.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/difference.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/reduce.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/pullAt.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/plant.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/overSome.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/flatMapDepth.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/uniq.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/padEnd.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/times.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseUnset.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/transform.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_iteratorToArray.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/sampleSize.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_Uint8Array.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/cloneWith.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createRelationalOperation.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_lazyClone.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseUniq.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/findLastIndex.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/curryRight.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/lodash.min.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseEachRight.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_basePropertyDeep.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/eq.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseValues.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/trimStart.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIsRegExp.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arrayEach.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseAt.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/invoke.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isMatch.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createCaseFirst.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/trim.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/lang.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/assign.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/sortedLastIndex.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/lowerCase.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/flatMap.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_Stack.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isMap.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/next.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_freeGlobal.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_unicodeToArray.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_cloneSymbol.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_compareMultiple.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseAssign.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/mapKeys.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseInRange.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/lte.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/sortedLastIndexOf.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_initCloneArray.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/floor.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createMathOperation.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/wrapperAt.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_ListCache.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_assocIndexOf.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_setData.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_asciiToArray.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/indexOf.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseToString.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_cloneMap.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/startCase.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/function.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/number.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseIsEqualDeep.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/xorWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isArrayBuffer.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createToPairs.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseInverter.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/toPairsIn.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/unset.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_replaceHolders.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/mixin.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/each.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/delay.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseClamp.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/take.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/defaultsDeep.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/flattenDeep.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isFinite.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_compareAscending.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/toUpper.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_insertWrapDetails.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/union.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getValue.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/eachRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/range.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_reEscape.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/dropRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getWrapDetails.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_Promise.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseInvoke.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/gte.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/includes.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/conforms.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/findKey.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseProperty.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_equalByTag.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/reverse.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/tap.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_getSymbols.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/sortedLastIndexBy.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/rangeRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/intersection.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/forEachRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/find.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseSome.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arrayFilter.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/partialRight.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_toSource.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arrayIncludesWith.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/conformsTo.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isNaN.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseMap.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/defaults.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_customDefaultsAssignIn.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_createHybrid.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/zip.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/merge.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/constant.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/intersectionWith.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/isFunction.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/cond.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/zipObject.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/sortedUniq.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_basePullAt.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_hashDelete.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/kebabCase.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/lt.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arraySome.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/assignInWith.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseMergeDeep.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_Hash.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_baseEvery.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/pullAll.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_hashHas.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_isIndex.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_basePickBy.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/extend.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/first.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_stringToArray.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/repeat.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_reInterpolate.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/mapValues.js":["",1483223561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_lazyReverse.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/cloneDeepWith.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/lodash/_arrayReduce.js":["",1483223560000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-test-renderer/stack.js":["",1493759851000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-test-renderer/cjs/react-test-renderer-stack.development.js":["",1493759854000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-test-renderer/cjs/react-test-renderer.development.js":["",1493759851000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-test-renderer/cjs/react-test-renderer-shallow.development.js":["",1493759855000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-test-renderer/shallow.js":["",1493759851000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-test-renderer/package.json":["",1493759851000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-test-renderer/index.js":["",1493759851000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/ansi-styles/package.json":["",1459197347000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/ansi-styles/index.js":["",1459197140000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/has-ansi/package.json":["",1435681064000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/has-ansi/index.js":["",1402774137000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/xhr-sync-worker.js":["",1489341445000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSelectElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBodyElement-impl.js":["",1488085882000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/DocumentType-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/ElementContentEditable-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLQuoteElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLInputElement-impl.js":["",1487627699000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/NonDocumentTypeChildNode-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOListElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSourceElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOutputElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLIFrameElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParamElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/ProcessingInstruction-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDListElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCaptionElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHRElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMetaElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLPreElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLEmbedElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHtmlElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTrackElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/ParentNode-impl.js":["",1472933098000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMenuElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAppletElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSpanElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMediaElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAnchorElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/DocumentFragment-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/Text-impl.js":["",1482107149000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/GlobalEventHandlers-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLModElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLIElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/NonElementParentNode-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataListElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTitleElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDialogElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDivElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLScriptElement-impl.js":["",1482091713000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameSetElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/ElementCSSInlineStyle-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLProgressElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/XMLDocument-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/Document-impl.js":["",1489348951000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/DOMImplementation-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLegendElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTimeElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTemplateElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParagraphElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/CDATASection-impl.js":["",1485727387000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/LinkStyle-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAudioElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLImageElement-impl.js":["",1487635599000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameElement-impl.js":["",1482091713000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFieldSetElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFontElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadingElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/WindowEventHandlers-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUnknownElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLinkElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFormElement-impl.js":["",1482107149000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableRowElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/Element-impl.js":["",1487627699000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableColElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDirectoryElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLObjectElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLElement-impl.js":["",1487627699000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableDataCellElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTextAreaElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLabelElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCellElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptGroupElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptionElement-impl.js":["",1489348951000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/Comment-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMeterElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/Node-impl.js":["",1485727387000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUListElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableHeaderCellElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableSectionElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/ChildNode-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLButtonElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMapElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLVideoElement-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBRElement-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/node.js":["",1485727387000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/node-iterator.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/dom-token-list.js":["",1482091713000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/domparsing/DOMParser-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/form-data-symbols.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/named-properties-window.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/helpers/stylesheets.js":["",1482091713000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/helpers/document-base-url.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/helpers/internal-constants.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/helpers/focusing.js":["",1482091713000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/helpers/validate-names.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/helpers/form-controls.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/helpers/selectors.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/helpers/ordered-set-parser.js":["",1482091713000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/helpers/traversal.js":["",1485727387000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/helpers/proxied-window-event-handlers.js":["",1442354524000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/helpers/strings.js":["",1489348951000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/file-api/Blob-impl.js":["",1487627699000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/file-api/File-impl.js":["",1487627699000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/file-api/FileList-impl.js":["",1487627699000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/file-api/FileReader-impl.js":["",1487627699000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/node-document-position.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/index.js":["",1487627699000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/attributes.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/events/CustomEvent-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/events/UIEvent-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js":["",1482107149000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/events/MouseEvent-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/events/ProgressEvent-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/events/PopStateEvent-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/events/KeyboardEvent-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/events/ErrorEvent-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/events/FocusEvent-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/events/MessageEvent-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/events/TouchEvent-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/events/Event-impl.js":["",1489348951000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/events/HashChangeEvent-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLScriptElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/ProcessingInstruction.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/KeyboardEvent.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/KeyboardEventInit.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLStyleElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLSelectElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLDataListElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLVideoElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/File.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/XMLDocument.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/History.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/TreeWalker.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptionElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/ScrollIntoViewOptions.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLTemplateElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/CDATASection.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/BlobPropertyBag.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableRowElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HashChangeEvent.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLPreElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLAppletElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLLegendElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLDataElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/FileList.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLUnknownElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/NavigatorLanguage.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLLabelElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/Element.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/CustomEventInit.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLProgressElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/PopStateEvent.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLMeterElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLOListElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLLIElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/FocusEventInit.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/ScrollOptions.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLFormElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/UIEvent.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/Attr.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/CharacterData.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/MessageEvent.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/Location.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameSetElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLMapElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLFieldSetElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLAreaElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/WindowEventHandlers.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/DOMImplementation.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLDivElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/LinkStyle.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/EventListenerOptions.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLModElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/ElementCSSInlineStyle.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/NavigatorPlugins.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLMenuElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLAnchorElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/Event.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/ErrorEvent.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/FormData.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLInputElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLUListElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/ErrorEventInit.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/utils.js":["",1489350357000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HashChangeEventInit.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/EventModifierInit.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLLinkElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/Text.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLImageElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLOutputElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLSourceElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLBodyElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLMetaElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptGroupElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLDialogElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLTextAreaElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/AddEventListenerOptions.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/CustomEvent.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/ChildNode.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/NavigatorID.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLHRElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLHtmlElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/ElementContentEditable.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/NavigatorCookies.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLMediaElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLDirectoryElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLAudioElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLIFrameElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLButtonElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLParagraphElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/MouseEvent.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLFontElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLEmbedElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/FileReader.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/TouchEvent.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableSectionElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/UIEventInit.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadingElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLHyperlinkElementUtils.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/EventInit.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/DOMParser.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/NonDocumentTypeChildNode.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/Comment.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLObjectElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCellElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/DocumentFragment.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/ParentNode.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLTitleElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLBRElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/Node.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLBaseElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/FocusEvent.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/Navigator.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableColElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/GlobalEventHandlers.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLTimeElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/Blob.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLParamElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/ProgressEventInit.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/NavigatorConcurrentHardware.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCaptionElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/MessageEventInit.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLSpanElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/ProgressEvent.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLTrackElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLQuoteElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/MouseEventInit.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/FilePropertyBag.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/NonElementParentNode.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/Document.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/NavigatorOnLine.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableDataCellElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/PopStateEventInit.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableHeaderCellElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLDListElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/MutationEvent.js":["",1462148396000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableElement.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/generated/DocumentType.js":["",1489350358000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/node-filter.js":["",1445118247000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/node-list.js":["",1486153642000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js":["",1489341445000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/xmlhttprequest-upload.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/register-elements.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/xmlhttprequest-event-target.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/xhr-utils.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/xhr/FormData-impl.js":["",1487627699000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/node-type.js":["",1442354525000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/traversal/TreeWalker-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/post-message.js":["",1445118247000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/html-collection.js":["",1485727387000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/attributes/Attr-impl.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/navigator/Navigator-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorPlugins-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorLanguage-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorOnLine-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorConcurrentHardware-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorID-impl.js":["",1486153642000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorCookies-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/window/navigation.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/window/History-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/window/Location-impl.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/living/xmlhttprequest-symbols.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/browser/htmltodom.js":["",1489341445000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/browser/documentAdapter.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/browser/not-implemented.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/browser/Window.js":["",1489350078000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/browser/documentfeatures.js":["",1489341445000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/browser/resource-loader.js":["",1489341445000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/browser/default-stylesheet.js":["",1442354524000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/browser/domtohtml.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/vm-shim.js":["",1489341445000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/web-idl/dom-exception-table.json":["",1442354525000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/web-idl/DOMException.js":["",1464500473000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/level2/style.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/utils.js":["",1489348951000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/named-properties-tracker.js":["",1445118247000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/virtual-console.js":["",1489341445000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom/level3/xpath.js":["",1476562424000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/lib/jsdom.js":["",1489348951000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jsdom/package.json":["",1489350307000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/terminalUtils.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/createContext.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/Prompt.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/isValidPath.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/scrollList.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/getTestPathPattern.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/patternModeHelpers.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/updateArgv.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/BufferedConsole.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/formatTestNameByPattern.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/validatePattern.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/highlight.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/logDebugMessages.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/handleDeprecationWarnings.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/getMaxWorkers.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/lib/colorize.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/TestWatcher.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/runJest.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/runTest.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/jest.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/preRunMessage.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/cli/args.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/cli/getJest.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/cli/index.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/cli/runCLI.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/watch.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/reporters/getResultHeader.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/reporters/getConsoleOutput.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/reporters/DefaultReporter.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/reporters/BaseReporter.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/reporters/CoverageWorker.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/reporters/VerboseReporter.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/reporters/utils.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/reporters/NotifyReporter.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/reporters/Status.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/reporters/CoverageReporter.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/reporters/SummaryReporter.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/generateEmptyCoverage.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/PatternPrompt.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/TestNamePatternPrompt.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/TestPathPatternPrompt.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/constants.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/SearchSource.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/assets/jest_logo.png":["",1495635161000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/TestRunner.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/TestSequencer.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/ReporterDispatcher.js":["",1495635156000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/build/TestWorker.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/package.json":["",1495635211000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-cli/bin/jest.js":["",1494584416000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/yargs.js":["",1492117747000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/lib/levenshtein.js":["",1483945339000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/lib/yerror.js":["",1488566201000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/lib/apply-extends.js":["",1488566201000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/lib/argsert.js":["",1488566201000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/lib/usage.js":["",1488566201000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/lib/validation.js":["",1489111544000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/lib/completion.js":["",1488566201000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/lib/command.js":["",1489088075000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/lib/assign.js":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/lib/obj-filter.js":["",1483945343000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/package.json":["",1492117761000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/index.js":["",1490598608000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/nl.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/es.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/nb.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/ko.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/de.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/pt.json":["",1487441549000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/hu.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/fr.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/hi.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/pirate.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/ru.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/zh_CN.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/th.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/pl.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/en.json":["",1487441549000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/zh_TW.json":["",1487442385000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/tr.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/id.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/ja.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/be.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/it.json":["",1483821845000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs/locales/pt_BR.json":["",1487441549000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/camelcase/package.json":["",1462383203000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/camelcase/index.js":["",1462383174000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/tr46/lib/mappingTable.json":["",1453255726000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/tr46/package.json":["",1453255694000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/tr46/index.js":["",1453255442000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/escodegen/package.json":["",1504888392000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/escodegen/escodegen.js":["",1504888379000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/escodegen/bin/esgenerate.js":["",1430234946000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/escodegen/bin/escodegen.js":["",1430234946000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/bser/package.json":["",1440518626000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/bser/test/bser.js":["",1440516186000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/bser/index.js":["",1440516186000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-config/build/reporterValidationErrors.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-config/build/normalize.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-config/build/setFromArgv.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-config/build/findConfig.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-config/build/index.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-config/build/utils.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-config/build/validConfig.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-config/build/constants.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-config/build/deprecated.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-config/build/defaults.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-config/build/vendor/jsonlint.js":["",1495635157000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-config/package.json":["",1495635211000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/babel-preset-react-native/lib/resolvePlugins.js":["",1500025190000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/babel-preset-react-native/configs/main.js":["",1502961879000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/babel-preset-react-native/configs/hmr.js":["",1500025190000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/babel-preset-react-native/package.json":["",1503393676000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/babel-preset-react-native/index.js":["",1500025190000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/babel-preset-react-native/plugins.js":["",1502807341000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/babel-preset-react-native/transforms/transform-dynamic-import.js":["",1502903056000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/babel-preset-react-native/transforms/transform-regenerator-runtime-insertion.js":["",1500025190000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/babel-preset-react-native/transforms/transform-symbol-member.js":["",1500025190000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/server.js":["",1493759787000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/cjs/react-dom-test-utils.development.js":["",1493759809000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/cjs/react-dom-server.development.js":["",1493759820000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/cjs/react-dom.production.min.js":["",1493759800000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/cjs/react-dom-server.production.min.js":["",1493759824000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/cjs/react-dom.development.js":["",1493759796000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/test-utils.js":["",1493759787000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/package.json":["",1493759787000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/umd/react-dom-server.development.js":["",1493759813000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/umd/react-dom.production.min.js":["",1493759792000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/umd/react-dom-server.production.min.js":["",1493759817000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/umd/react-dom.development.js":["",1493759787000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/index.js":["",1493759787000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/node_modules/prop-types/lib/ReactPropTypesSecret.js":["",1506382846000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/node_modules/prop-types/checkPropTypes.js":["",1506382846000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/node_modules/prop-types/factory.js":["",1506382846000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/node_modules/prop-types/package.json":["",1506383031000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/node_modules/prop-types/factoryWithThrowingShims.js":["",1506382846000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/node_modules/prop-types/index.js":["",1506382846000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/node_modules/prop-types/factoryWithTypeCheckers.js":["",1506382846000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/node_modules/prop-types/prop-types.js":["",1506383084000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/react-dom/node_modules/prop-types/prop-types.min.js":["",1506383085000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-snapshot/build/index.js":["",1495014561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-snapshot/build/plugins.js":["",1495014561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-snapshot/build/utils.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-snapshot/build/State.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-snapshot/package.json":["",1495018620000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/build/ScriptTransformer.js":["",1495635159000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/build/index.js":["",1495635159000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/build/cli/args.js":["",1495635159000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/build/cli/index.js":["",1495635159000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/build/shouldInstrument.js":["",1495635159000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/package.json":["",1495635211000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/api/node.js":["",1502898493000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/api/browser.js":["",1502898493000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/util.js":["",1502898478000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/store.js":["",1502898478000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/helpers/resolve-from-possible-names.js":["",1502898493000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/helpers/normalize-ast.js":["",1502898493000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/helpers/resolve.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/helpers/resolve-preset.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/helpers/get-possible-plugin-names.js":["",1502898493000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/helpers/get-possible-preset-names.js":["",1502898493000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/helpers/resolve-plugin.js":["",1502898493000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/helpers/merge.js":["",1502898493000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/tools/build-external-helpers.js":["",1502898493000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/transformation/plugin.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/transformation/file/options/index.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/transformation/file/options/parsers.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/transformation/file/options/config.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/transformation/file/options/removed.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/transformation/file/options/option-manager.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/transformation/file/options/build-config-chain.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/transformation/file/index.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/transformation/file/metadata.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/transformation/file/logger.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/transformation/internal-plugins/shadow-functions.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/transformation/internal-plugins/block-hoist.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/transformation/pipeline.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/lib/transformation/plugin-pass.js":["",1502898494000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/package.json":["",1502898847000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/index.js":["",1489370908000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/package-lock.json":["",1502829209000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/node_modules/babel-core/register.js":["",1489370908000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-runtime/bin/jest-runtime.js":["",1494584416000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/supports-color/package.json":["",1435705110000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/supports-color/index.js":["",1435362323000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build/NullConsole.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build/validateCLIOptions.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build/setGlobal.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build/installCommonGlobals.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build/FakeTimers.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build/index.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build/Console.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build/formatTestResults.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build/clearLine.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build-es5/NullConsole.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build-es5/validateCLIOptions.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build-es5/setGlobal.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build-es5/installCommonGlobals.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build-es5/FakeTimers.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build-es5/index.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build-es5/Console.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build-es5/formatTestResults.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/build-es5/clearLine.js":["",1495014562000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-util/package.json":["",1495018620000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-changed-files/build/index.js":["",1495014557000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-changed-files/build/hg.js":["",1495014557000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-changed-files/build/git.js":["",1495014557000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-changed-files/package.json":["",1495018620000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs-parser/lib/tokenize-arg-string.js":["",1487447876000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs-parser/package.json":["",1487447876000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/yargs-parser/index.js":["",1487447876000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/pify/package.json":["",1445865370000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/pify/index.js":["",1445864677000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/ExpectationFailed.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/p-timeout.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/jasmine/Suite.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/jasmine/createSpy.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/jasmine/JsApiReporter.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/jasmine/SpyRegistry.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/jasmine/Spec.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/jasmine/ReportDispatcher.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/jasmine/jasmine-light.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/jasmine/Env.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/jasmine/Timer.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/jasmine/CallTracker.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/jest-expect.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/jasmine/SpyStrategy.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/index.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/setup-jest-globals.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/reporter.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/queueRunner.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/assert-support.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/jasmine-async.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/expectationResultFactory.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/build/treeProcessor.js":["",1495635158000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-environment-jsdom/build/index.js":["",1495014559000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-environment-jsdom/package.json":["",1495018620000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-jasmine2/package.json":["",1495635211000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/string-length/package.json":["",1437081365000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/string-length/index.js":["",1437081175000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-environment-node/build/index.js":["",1495014559000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-environment-node/package.json":["",1495018620000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/which-module/package.json":["",1465191143000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/which-module/index.js":["",1465174258000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/whatwg-url/lib/URL.js":["",1494442600000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/whatwg-url/lib/public-api.js":["",1455124772000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/whatwg-url/lib/url-state-machine.js":["",1494442600000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/whatwg-url/lib/utils.js":["",1494442600000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/whatwg-url/lib/URL-impl.js":["",1487785600000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/whatwg-url/package.json":["",1494442584000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/whatwg-url/node_modules/webidl-conversions/lib/index.js":["",1451887598000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/whatwg-url/node_modules/webidl-conversions/package.json":["",1451887643000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/tokenization/location_info_mixin.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/tokenization/named_entity_trie.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/tokenization/tokenizer.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/tokenization/preprocessor.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/tree_adapters/htmlparser2.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/tree_adapters/default.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/jsdom/parsing_unit.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/jsdom/jsdom_parser.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/serialization/serializer.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/simple_api/tokenizer_proxy.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/simple_api/simple_api_parser.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/tree_construction/open_element_stack.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/tree_construction/location_info_mixin.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/tree_construction/formatting_element_list.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/tree_construction/parser.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/common/foreign_content.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/common/utils.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/common/doctype.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/common/html.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/lib/common/unicode.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/package.json":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/parse5/index.js":["",1448751685000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-diff/build/index.js":["",1495014559000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-diff/build/diffStrings.js":["",1495014559000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-diff/build/constants.js":["",1495014559000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-diff/build-es5/diffStrings.js":["",1495014559000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-diff/build-es5/index.js":["",1495014559000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-diff/build-es5/constants.js":["",1495014559000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-diff/package.json":["",1495018620000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/prop-types/lib/ReactPropTypesSecret.js":["",1519255688000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/prop-types/checkPropTypes.js":["",1519255688000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/prop-types/package.json":["",1519685497000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/prop-types/factoryWithThrowingShims.js":["",1519255688000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/prop-types/factory.js":["",1519255688000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/prop-types/index.js":["",1519255688000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/prop-types/factoryWithTypeCheckers.js":["",1519255688000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/prop-types/prop-types.js":["",1519685502000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/prop-types/prop-types.min.js":["",1519685503000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-resolve-dependencies/build/index.js":["",1495014561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-resolve-dependencies/package.json":["",1495018620000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-mock/build/index.js":["",1495014561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-mock/build-es5/index.js":["",1495014561000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-mock/package.json":["",1495018620000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-resolve/build/index.js":["",1495635159000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-resolve/build/defaultResolver.js":["",1495635159000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/node_modules/jest-resolve/package.json":["",1495635211000,0,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png":["",1526059376366,1,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/android/app/src/main/res/mipmap-hdpi/ic_launcher.png":["",1526059376366,1,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/android/app/src/main/res/mipmap-mdpi/ic_launcher.png":["",1526059376366,1,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png":["",1526059376366,1,[]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/index.android.js":["",1526059376366,1,["react","react-native"]],"/home/kliment/Projects/storybook/lib/cli/test/run/react_native/app.json":["",1526059376366,1,[]]},"map":{"react-native-fixture":{"g":["/home/kliment/Projects/storybook/lib/cli/test/run/react_native/package.json",1]}},"mocks":{}} \ No newline at end of file diff --git a/lib/core-events/index.js b/lib/core-events/index.js index d2c34524a251..c1cbe2ea8819 100644 --- a/lib/core-events/index.js +++ b/lib/core-events/index.js @@ -9,4 +9,5 @@ module.exports = { STORY_ADDED: 'storyAdded', FORCE_RE_RENDER: 'forceReRender', REGISTER_SUBSCRIPTION: 'registerSubscription', + STORY_RENDERED: 'storyRendered', }; diff --git a/lib/core/src/client/preview/client_api.js b/lib/core/src/client/preview/client_api.js index c63cbfd4e0af..3e8337d3be41 100644 --- a/lib/core/src/client/preview/client_api.js +++ b/lib/core/src/client/preview/client_api.js @@ -1,8 +1,11 @@ /* eslint no-underscore-dangle: 0 */ import { logger } from '@storybook/client-logger'; +import addons from '@storybook/addons'; +import Events from '@storybook/core-events'; import StoryStore from './story_store'; +import subscriptionsStore from './subscriptions_store'; const defaultDecorateStory = (getStory, decorators) => decorators.reduce( @@ -10,6 +13,21 @@ const defaultDecorateStory = (getStory, decorators) => getStory ); +const metaSubscription = () => { + addons.getChannel().on(Events.REGISTER_SUBSCRIPTION, subscriptionsStore.register); + return () => + addons.getChannel().removeListener(Events.REGISTER_SUBSCRIPTION, subscriptionsStore.register); +}; + +const withSubscriptionTracking = storyFn => { + if (!addons.hasChannel()) return storyFn(); + subscriptionsStore.markAllAsUnused(); + subscriptionsStore.register(metaSubscription); + const result = storyFn(); + subscriptionsStore.clearUnused(); + return result; +}; + export default class ClientApi { constructor({ storyStore = new StoryStore(), decorateStory = defaultDecorateStory } = {}) { this._storyStore = storyStore; @@ -83,7 +101,7 @@ export default class ClientApi { // Wrap the getStory function with each decorator. The first // decorator will wrap the story function. The second will // wrap the first decorator and so on. - const decorators = [...localDecorators, ...this._globalDecorators]; + const decorators = [...localDecorators, ...this._globalDecorators, withSubscriptionTracking]; const fileName = m ? m.filename : null; diff --git a/lib/core/src/client/preview/start.js b/lib/core/src/client/preview/start.js index a5b88361de08..eadc2f00e7a9 100644 --- a/lib/core/src/client/preview/start.js +++ b/lib/core/src/client/preview/start.js @@ -12,7 +12,6 @@ import ConfigApi from './config_api'; import reducer from './reducer'; import * as Actions from './actions'; import syncUrlWithStore from './syncUrlWithStore'; -import subscriptionsStore from './subscriptions_store'; const classes = { MAIN: 'sb-show-main', @@ -21,8 +20,6 @@ const classes = { }; function showMain() { - subscriptionsStore.clearUnused(); - document.body.classList.remove(classes.NOPREVIEW); document.body.classList.remove(classes.ERROR); @@ -89,7 +86,6 @@ export default function start(render, { decorateStory } = {}) { channel.on(Events.SET_CURRENT_STORY, data => { reduxStore.dispatch(Actions.selectStory(data.kind, data.story)); }); - channel.on(Events.REGISTER_SUBSCRIPTION, subscriptionsStore.register); addons.setChannel(channel); Object.assign(context, { channel }); @@ -149,12 +145,12 @@ export default function start(render, { decorateStory } = {}) { previousKind = selectedKind; previousStory = selectedStory; - subscriptionsStore.markAllAsUnused(); render({ ...context, story, selectedKind, selectedStory, + forceRender, }); }; @@ -168,6 +164,7 @@ export default function start(render, { decorateStory } = {}) { } try { renderMain(forceRender); + addons.getChannel().emit(Events.STORY_RENDERED); } catch (ex) { showException(ex); }