mirror of
https://github.com/storybookjs/storybook.git
synced 2025-04-06 07:21:16 +08:00
Merge branch 'release/3.3' into shilman/refactor-core
This commit is contained in:
commit
4039493fda
@ -74,7 +74,7 @@ module.exports = {
|
||||
'jsx-a11y/accessible-emoji': ignore,
|
||||
'jsx-a11y/href-no-hash': ignore,
|
||||
'jsx-a11y/label-has-for': ignore,
|
||||
'jsx-a11y/click-events-have-key-events': warn,
|
||||
'jsx-a11y/click-events-have-key-events': error,
|
||||
'jsx-a11y/anchor-is-valid': [warn, { aspects: ['invalidHref'] }],
|
||||
'react/no-unescaped-entities': ignore,
|
||||
},
|
||||
|
41
CHANGELOG.md
41
CHANGELOG.md
@ -143,6 +143,47 @@
|
||||
- Update eslint-plugin-jest to the latest version 🚀 [#1795](https://github.com/storybooks/storybook/pull/1795)
|
||||
- Update lerna to the latest version 🚀 [#1768](https://github.com/storybooks/storybook/pull/1768)
|
||||
|
||||
# 3.2.15
|
||||
|
||||
2017-November-10
|
||||
|
||||
#### Features
|
||||
|
||||
- Optimizing for iphone x [#2260](https://github.com/storybooks/storybook/pull/2260)
|
||||
- Fix accessibility warnings [#2270](https://github.com/storybooks/storybook/pull/2270)
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
- Fix propTypes in addon-background [#2279](https://github.com/storybooks/storybook/pull/2279)
|
||||
- Addon-info: allow duplicate displayNames [#2269](https://github.com/storybooks/storybook/pull/2269)
|
||||
- Fix browser navigation [#2261](https://github.com/storybooks/storybook/pull/2261)
|
||||
|
||||
#### Maintenance
|
||||
|
||||
- Fixes to build scripts for Windows. [#2051](https://github.com/storybooks/storybook/pull/2051)
|
||||
- Update dependencies.yml to include batch updates for docs dependencies [#2252](https://github.com/storybooks/storybook/pull/2252)
|
||||
|
||||
#### Dependency Upgrades
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
11 PRs
|
||||
</summary>
|
||||
|
||||
- Update 4 dependencies from npm [#2267](https://github.com/storybooks/storybook/pull/2267)
|
||||
- Update 8 dependencies from npm [#2262](https://github.com/storybooks/storybook/pull/2262)
|
||||
- Update 3 dependencies from npm [#2257](https://github.com/storybooks/storybook/pull/2257)
|
||||
- Update babel-eslint in / from 8.0.1 to 8.0.2 [#2253](https://github.com/storybooks/storybook/pull/2253)
|
||||
- 3 packages updated by dependencies.io [#2251](https://github.com/storybooks/storybook/pull/2251)
|
||||
- Update devDependencies [#2232](https://github.com/storybooks/storybook/pull/2232)
|
||||
- Update react-textarea-autosize to 5.1.0 [#2233](https://github.com/storybooks/storybook/pull/2233)
|
||||
- Update insert-css to 2.0.0 [#2234](https://github.com/storybooks/storybook/pull/2234)
|
||||
- Update file-loader to 1.1.5 [#2236](https://github.com/storybooks/storybook/pull/2236)
|
||||
- Update read-pkg-up to 3.0.0 [#2237](https://github.com/storybooks/storybook/pull/2237)
|
||||
- Update react-modal to 3.1.0 [#2238](https://github.com/storybooks/storybook/pull/2238)
|
||||
|
||||
</details>
|
||||
|
||||
# 3.2.14
|
||||
|
||||
2017-November-01
|
||||
|
46
CODE_OF_CONDUCT.md
Normal file
46
CODE_OF_CONDUCT.md
Normal file
@ -0,0 +1,46 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at ndelangen@me.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
|
||||
|
||||
[homepage]: http://contributor-covenant.org
|
||||
[version]: http://contributor-covenant.org/version/1/4/
|
@ -28,9 +28,9 @@
|
||||
"uuid": "^3.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0",
|
||||
"react-test-renderer": "^16.0.0",
|
||||
"react": "^16.1.0",
|
||||
"react-dom": "^16.1.0",
|
||||
"react-test-renderer": "^16.1.0",
|
||||
"shelljs": "^0.7.8"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@ -1,7 +1,6 @@
|
||||
import React, { Component } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import addons from '@storybook/addons';
|
||||
import EventEmitter from 'events';
|
||||
|
||||
import Swatch from './Swatch';
|
||||
|
||||
@ -118,7 +117,11 @@ BackgroundPanel.propTypes = {
|
||||
getQueryParam: PropTypes.func,
|
||||
setQueryParams: PropTypes.func,
|
||||
}).isRequired,
|
||||
channel: PropTypes.instanceOf(EventEmitter),
|
||||
channel: PropTypes.shape({
|
||||
emit: PropTypes.func,
|
||||
on: PropTypes.func,
|
||||
removeListener: PropTypes.func,
|
||||
}),
|
||||
};
|
||||
BackgroundPanel.defaultProps = {
|
||||
channel: undefined,
|
||||
|
@ -27,7 +27,7 @@ describe('Background Panel', () => {
|
||||
it('should have a default background value of transparent', () => {
|
||||
const backgroundPanel = shallow(<BackgroundPanel channel={channel} api={mockedApi} />);
|
||||
|
||||
expect(backgroundPanel.state().backgrounds.length).toBe(0);
|
||||
expect(backgroundPanel.state().backgrounds).toHaveLength(0);
|
||||
});
|
||||
|
||||
it('should show setup instructions if no colors provided', () => {
|
||||
@ -72,7 +72,7 @@ describe('Background Panel', () => {
|
||||
|
||||
// check to make sure the default bg was added
|
||||
const headings = backgroundPanel.find('h4');
|
||||
expect(headings.length).toBe(8);
|
||||
expect(headings).toHaveLength(8);
|
||||
});
|
||||
|
||||
it('should allow the default swatch become the background color', () => {
|
||||
@ -90,7 +90,7 @@ describe('Background Panel', () => {
|
||||
|
||||
// check to make sure the default bg was added
|
||||
const headings = backgroundPanel.find('h4');
|
||||
expect(headings.length).toBe(8);
|
||||
expect(headings).toHaveLength(8);
|
||||
});
|
||||
|
||||
it('should unset all swatches on receiving the background-unset message', () => {
|
||||
|
@ -17,7 +17,7 @@ describe('Swatch', () => {
|
||||
<Swatch value="bar" name="foo" setBackground={mockedSetBackround} />
|
||||
).html();
|
||||
|
||||
expect(markup.match(/foo/gim).length).toBe(1);
|
||||
expect(markup.match(/foo/gim)).toHaveLength(1);
|
||||
});
|
||||
|
||||
it('should render the value of the swatch and set it to be the background', () => {
|
||||
@ -25,8 +25,8 @@ describe('Swatch', () => {
|
||||
<Swatch value="bar" name="foo" setBackground={mockedSetBackround} />
|
||||
).html();
|
||||
|
||||
expect(markup.match(/background:bar/gim).length).toBe(1);
|
||||
expect(markup.match(/bar/gim).length).toBe(2);
|
||||
expect(markup.match(/background:bar/gim)).toHaveLength(1);
|
||||
expect(markup.match(/bar/gim)).toHaveLength(2);
|
||||
});
|
||||
|
||||
it('should emit message on click', () => {
|
||||
|
@ -31,7 +31,7 @@ describe('Background Decorator', () => {
|
||||
<BackgroundDecorator story={testStory} channel={SpiedChannel} />
|
||||
);
|
||||
|
||||
expect(backgroundDecorator.html().match(/background:transparent/gim).length).toBe(1);
|
||||
expect(backgroundDecorator.html().match(/background:transparent/gim)).toHaveLength(1);
|
||||
});
|
||||
|
||||
it('should set internal state when background event called', () => {
|
||||
@ -87,6 +87,6 @@ describe('Background Decorator', () => {
|
||||
);
|
||||
|
||||
backgroundDecorator.setProps({ randomProp: true });
|
||||
expect(story.mock.calls.length).toBe(1);
|
||||
expect(story.mock.calls).toHaveLength(1);
|
||||
});
|
||||
});
|
||||
|
@ -1,6 +1,5 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import EventEmitter from 'events';
|
||||
|
||||
import addons from '@storybook/addons';
|
||||
|
||||
@ -63,7 +62,11 @@ export class BackgroundDecorator extends React.Component {
|
||||
}
|
||||
BackgroundDecorator.propTypes = {
|
||||
backgrounds: PropTypes.arrayOf(PropTypes.object),
|
||||
channel: PropTypes.instanceOf(EventEmitter),
|
||||
channel: PropTypes.shape({
|
||||
emit: PropTypes.func,
|
||||
on: PropTypes.func,
|
||||
removeListener: PropTypes.func,
|
||||
}),
|
||||
story: PropTypes.func.isRequired,
|
||||
};
|
||||
BackgroundDecorator.defaultProps = {
|
||||
|
@ -24,12 +24,12 @@
|
||||
"babel-runtime": "^6.26.0",
|
||||
"format-json": "^1.0.3",
|
||||
"prop-types": "^15.6.0",
|
||||
"react-textarea-autosize": "^5.1.0",
|
||||
"react-textarea-autosize": "^5.2.0",
|
||||
"uuid": "^3.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0"
|
||||
"react": "^16.1.0",
|
||||
"react-dom": "^16.1.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "*"
|
||||
|
@ -27,8 +27,8 @@
|
||||
"prop-types": "^15.6.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0",
|
||||
"react": "^16.1.0",
|
||||
"react-dom": "^16.1.0",
|
||||
"shelljs": "^0.7.8"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@ -24,9 +24,9 @@
|
||||
"util-deprecate": "^1.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0",
|
||||
"react-test-renderer": "^16.0.0"
|
||||
"react": "^16.1.0",
|
||||
"react-dom": "^16.1.0",
|
||||
"react-test-renderer": "^16.1.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "*"
|
||||
|
@ -14,14 +14,16 @@ import { Pre } from './markdown';
|
||||
global.STORYBOOK_REACT_CLASSES = global.STORYBOOK_REACT_CLASSES || [];
|
||||
const { STORYBOOK_REACT_CLASSES } = global;
|
||||
|
||||
const getName = type => type.displayName || type.name;
|
||||
|
||||
const stylesheet = {
|
||||
link: {
|
||||
button: {
|
||||
base: {
|
||||
fontFamily: 'sans-serif',
|
||||
fontSize: '12px',
|
||||
display: 'block',
|
||||
position: 'fixed',
|
||||
textDecoration: 'none',
|
||||
border: 'none',
|
||||
background: '#28c',
|
||||
color: '#fff',
|
||||
padding: '5px 15px',
|
||||
@ -149,9 +151,9 @@ export default class Story extends React.Component {
|
||||
}
|
||||
|
||||
_renderOverlay() {
|
||||
const linkStyle = {
|
||||
...stylesheet.link.base,
|
||||
...stylesheet.link.topRight,
|
||||
const buttonStyle = {
|
||||
...stylesheet.button.base,
|
||||
...stylesheet.button.topRight,
|
||||
};
|
||||
|
||||
const infoStyle = Object.assign({}, stylesheet.info);
|
||||
@ -172,13 +174,13 @@ export default class Story extends React.Component {
|
||||
return (
|
||||
<div>
|
||||
<div style={this.state.stylesheet.children}>{this.props.children}</div>
|
||||
<a style={linkStyle} onClick={openOverlay} role="button" tabIndex="0">
|
||||
<button type="button" style={buttonStyle} onClick={openOverlay}>
|
||||
Show Info
|
||||
</a>
|
||||
</button>
|
||||
<div style={infoStyle}>
|
||||
<a style={linkStyle} onClick={closeOverlay} role="button" tabIndex="0">
|
||||
<button type="button" style={buttonStyle} onClick={closeOverlay}>
|
||||
×
|
||||
</a>
|
||||
</button>
|
||||
<div style={this.state.stylesheet.infoPage}>
|
||||
<div style={this.state.stylesheet.infoBody}>
|
||||
{this._getInfoHeader()}
|
||||
@ -324,14 +326,13 @@ export default class Story extends React.Component {
|
||||
extract(this.props.children);
|
||||
|
||||
const array = Array.from(types.keys());
|
||||
array.sort((a, b) => (a.displayName || a.name) > (b.displayName || b.name));
|
||||
array.sort((a, b) => getName(a) > getName(b));
|
||||
|
||||
const { maxPropObjectKeys, maxPropArrayLength, maxPropStringLength } = this.props;
|
||||
const propTables = array.map(type => (
|
||||
<div key={type.displayName || type.name}>
|
||||
<h2 style={this.state.stylesheet.propTableHead}>
|
||||
"{type.displayName || type.name}" Component
|
||||
</h2>
|
||||
const propTables = array.map((type, i) => (
|
||||
// eslint-disable-next-line react/no-array-index-key
|
||||
<div key={`${getName(type)}_${i}`}>
|
||||
<h2 style={this.state.stylesheet.propTableHead}>"{getName(type)}" Component</h2>
|
||||
<PropTable
|
||||
type={type}
|
||||
maxPropObjectKeys={maxPropObjectKeys}
|
||||
|
@ -25,13 +25,13 @@
|
||||
"prop-types": "^15.6.0",
|
||||
"react-color": "^2.11.4",
|
||||
"react-datetime": "^2.10.3",
|
||||
"react-textarea-autosize": "^5.1.0",
|
||||
"react-textarea-autosize": "^5.2.0",
|
||||
"util-deprecate": "^1.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"raw-loader": "^0.5.1",
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0",
|
||||
"react": "^16.1.0",
|
||||
"react-dom": "^16.1.0",
|
||||
"style-loader": "^0.19.0",
|
||||
"vue": "^2.5.3"
|
||||
},
|
||||
|
@ -13,6 +13,7 @@ const styles = {
|
||||
display: 'inline-block',
|
||||
cursor: 'pointer',
|
||||
width: '100%',
|
||||
padding: 0,
|
||||
},
|
||||
popover: {
|
||||
position: 'absolute',
|
||||
@ -71,9 +72,9 @@ class ColorType extends React.Component {
|
||||
};
|
||||
return (
|
||||
<div id={knob.name}>
|
||||
<div style={styles.swatch} onClick={this.handleClick} role="button" tabIndex="0">
|
||||
<button type="button" style={styles.swatch} onClick={this.handleClick}>
|
||||
<div style={colorStyle} />
|
||||
</div>
|
||||
</button>
|
||||
{conditionalRender(
|
||||
displayColorPicker,
|
||||
() => (
|
||||
|
@ -17,7 +17,7 @@ describe('React Handler', () => {
|
||||
|
||||
const wrappedStory = reactHandler(testChannel, testStore)(testStory)(testContext);
|
||||
const wrapper = shallow(wrappedStory);
|
||||
expect(wrapper.find('#test-story').length).toBe(1);
|
||||
expect(wrapper.find('#test-story')).toHaveLength(1);
|
||||
|
||||
const storyWrapperProps = wrappedStory.props;
|
||||
expect(storyWrapperProps.channel).toEqual(testChannel);
|
||||
|
@ -28,8 +28,8 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"enzyme": "^3.0.0",
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0",
|
||||
"react": "^16.1.0",
|
||||
"react-dom": "^16.1.0",
|
||||
"shelljs": "^0.7.8"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@ -25,9 +25,9 @@
|
||||
"util-deprecate": "^1.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"react": "^16.0.0",
|
||||
"react": "^16.1.0",
|
||||
"react-addons-test-utils": "^15.5.1",
|
||||
"react-dom": "^16.0.0"
|
||||
"react-dom": "^16.1.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "*"
|
||||
|
@ -23,9 +23,9 @@
|
||||
"@storybook/addons": "^3.3.0-alpha.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0",
|
||||
"react-test-renderer": "^16.0.0",
|
||||
"react": "^16.1.0",
|
||||
"react-dom": "^16.1.0",
|
||||
"react-test-renderer": "^16.1.0",
|
||||
"shelljs": "^0.7.8"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@ -33,8 +33,8 @@
|
||||
"babel-preset-react": "^6.24.1",
|
||||
"jest": "^20.0.4",
|
||||
"jest-cli": "^20.0.4",
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0"
|
||||
"react": "^16.1.0",
|
||||
"react-dom": "^16.1.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@storybook/addons": "^3.3.0-alpha.3",
|
||||
|
@ -59,6 +59,7 @@
|
||||
"postcss-loader": "^2.0.8",
|
||||
"prop-types": "^15.6.0",
|
||||
"react-native-compat": "^1.0.0",
|
||||
"react-native-iphone-x-helper": "^1.0.1",
|
||||
"shelljs": "^0.7.8",
|
||||
"style-loader": "^0.18.2",
|
||||
"url-loader": "^0.6.2",
|
||||
@ -68,13 +69,13 @@
|
||||
"webpack": "^3.8.1",
|
||||
"webpack-dev-middleware": "^1.12.0",
|
||||
"webpack-hot-middleware": "^2.20.0",
|
||||
"ws": "^3.3.0"
|
||||
"ws": "^3.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-cli": "^6.26.0",
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0",
|
||||
"react-native": "^0.50.1"
|
||||
"react": "^16.1.0",
|
||||
"react-dom": "^16.1.0",
|
||||
"react-native": "^0.50.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "*",
|
||||
|
@ -1,8 +1,10 @@
|
||||
import React, { Component } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { ifIphoneX } from 'react-native-iphone-x-helper';
|
||||
|
||||
import {
|
||||
Animated,
|
||||
Dimensions,
|
||||
Easing,
|
||||
View,
|
||||
TouchableWithoutFeedback,
|
||||
@ -14,6 +16,14 @@ import style from './style';
|
||||
import StoryListView from '../StoryListView';
|
||||
import StoryView from '../StoryView';
|
||||
|
||||
/**
|
||||
* Returns true if the screen is in portrait mode
|
||||
*/
|
||||
const isDeviceInPortrait = () => {
|
||||
const dim = Dimensions.get('screen');
|
||||
return dim.height >= dim.width;
|
||||
};
|
||||
|
||||
const openMenuImage = require('./menu_open.png');
|
||||
const closeMenuImage = require('./menu_close.png');
|
||||
|
||||
@ -26,29 +36,41 @@ export default class OnDeviceUI extends Component {
|
||||
isMenuOpen: false,
|
||||
selectedKind: null,
|
||||
selectedStory: null,
|
||||
menuWidth: 0,
|
||||
menuWidth: Dimensions.get('screen').width / 2,
|
||||
isPortrait: isDeviceInPortrait(),
|
||||
};
|
||||
|
||||
this.storyChangedHandler = this.handleStoryChanged.bind(this);
|
||||
this.menuToggledHandler = this.handleToggleMenu.bind(this);
|
||||
this.menuLayoutHandler = this.handleMenuLayout.bind(this);
|
||||
|
||||
this.props.events.on('story', this.storyChangedHandler);
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
this.props.events.removeListener('story', this.storyChangedHandler);
|
||||
componentWillMount = () => {
|
||||
Dimensions.addEventListener('change', this.handleDeviceRotation);
|
||||
this.props.events.on('story', this.handleStoryChange);
|
||||
};
|
||||
|
||||
componentDidMount() {
|
||||
StatusBar.setHidden(true);
|
||||
}
|
||||
|
||||
handleStoryChanged(storyFn, selection) {
|
||||
componentWillUnmount = () => {
|
||||
Dimensions.removeEventListener('change', this.handleDeviceRotation);
|
||||
this.props.events.removeListener('story', this.handleStoryChange);
|
||||
};
|
||||
|
||||
handleDeviceRotation = () => {
|
||||
this.setState({
|
||||
isPortrait: isDeviceInPortrait(),
|
||||
menuWidth: Dimensions.get('screen').width / 2,
|
||||
});
|
||||
};
|
||||
|
||||
handleStoryChange = (storyFn, selection) => {
|
||||
const { kind, story } = selection;
|
||||
this.setState({
|
||||
selectedKind: kind,
|
||||
selectedStory: story,
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
handleToggleMenu() {
|
||||
handleToggleMenu = () => {
|
||||
const isMenuOpen = !this.state.isMenuOpen;
|
||||
|
||||
Animated.timing(this.state.menuAnimation, {
|
||||
@ -60,17 +82,22 @@ export default class OnDeviceUI extends Component {
|
||||
this.setState({
|
||||
isMenuOpen,
|
||||
});
|
||||
}
|
||||
|
||||
handleMenuLayout(e) {
|
||||
this.setState({
|
||||
menuWidth: e.nativeEvent.layout.width,
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
render() {
|
||||
const { stories, events, url } = this.props;
|
||||
const { menuAnimation, selectedKind, selectedStory, menuWidth } = this.state;
|
||||
const { isPortrait, menuAnimation, selectedKind, selectedStory, menuWidth } = this.state;
|
||||
|
||||
const iPhoneXStyles = ifIphoneX(
|
||||
isPortrait
|
||||
? {
|
||||
marginVertical: 30,
|
||||
}
|
||||
: {
|
||||
marginHorizontal: 30,
|
||||
},
|
||||
{}
|
||||
);
|
||||
|
||||
const menuStyles = [
|
||||
style.menuContainer,
|
||||
@ -84,15 +111,7 @@ export default class OnDeviceUI extends Component {
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
const menuSpacerStyles = [
|
||||
{
|
||||
width: menuAnimation.interpolate({
|
||||
inputRange: [0, 1],
|
||||
outputRange: [0, menuWidth],
|
||||
}),
|
||||
},
|
||||
iPhoneXStyles,
|
||||
];
|
||||
|
||||
const headerStyles = [
|
||||
@ -105,6 +124,10 @@ export default class OnDeviceUI extends Component {
|
||||
},
|
||||
];
|
||||
|
||||
const previewContainerStyles = [style.previewContainer, iPhoneXStyles];
|
||||
|
||||
const previewWrapperStyles = [style.previewWrapper, iPhoneXStyles];
|
||||
|
||||
/*
|
||||
Checks if import is a base64 encoded string uri.
|
||||
If using haul as bundler, some projects are set up to include small files as base64 strings.
|
||||
@ -120,12 +143,10 @@ export default class OnDeviceUI extends Component {
|
||||
|
||||
return (
|
||||
<View style={style.main}>
|
||||
<StatusBar hidden />
|
||||
<Animated.View style={menuSpacerStyles} />
|
||||
<View style={style.previewContainer}>
|
||||
<View style={previewContainerStyles}>
|
||||
<Animated.View style={headerStyles}>
|
||||
<TouchableWithoutFeedback
|
||||
onPress={this.menuToggledHandler}
|
||||
onPress={this.handleToggleMenu}
|
||||
testID="Storybook.OnDeviceUI.open"
|
||||
accessibilityLabel="Storybook.OnDeviceUI.open"
|
||||
>
|
||||
@ -134,18 +155,18 @@ export default class OnDeviceUI extends Component {
|
||||
</View>
|
||||
</TouchableWithoutFeedback>
|
||||
<Text style={style.headerText} numberOfLines={1}>
|
||||
{selectedKind} / {selectedStory}
|
||||
{selectedKind} {selectedStory}
|
||||
</Text>
|
||||
</Animated.View>
|
||||
<View style={style.previewWrapper}>
|
||||
<View style={previewWrapperStyles}>
|
||||
<View style={style.preview}>
|
||||
<StoryView url={url} events={events} />
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
<Animated.View style={menuStyles} onLayout={this.menuLayoutHandler}>
|
||||
<Animated.View style={menuStyles}>
|
||||
<TouchableWithoutFeedback
|
||||
onPress={this.menuToggledHandler}
|
||||
onPress={this.handleToggleMenu}
|
||||
testID="Storybook.OnDeviceUI.close"
|
||||
accessibilityLabel="Storybook.OnDeviceUI.close"
|
||||
>
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 313 B After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
Before Width: | Height: | Size: 184 B After Width: | Height: | Size: 4.6 KiB |
@ -4,29 +4,28 @@ export default {
|
||||
main: {
|
||||
flex: 1,
|
||||
flexDirection: 'row',
|
||||
backgroundColor: 'rgba(255, 255, 255, 1)',
|
||||
backgroundColor: 'white',
|
||||
},
|
||||
icon: {
|
||||
width: 20,
|
||||
height: 20,
|
||||
opacity: 0.5,
|
||||
width: 30,
|
||||
height: 30,
|
||||
},
|
||||
headerContainer: {
|
||||
flexDirection: 'row',
|
||||
alignItems: 'center',
|
||||
margin: 5,
|
||||
margin: 10,
|
||||
},
|
||||
headerText: {
|
||||
marginLeft: 5,
|
||||
fontSize: 14,
|
||||
color: 'rgba(0, 0, 0, 0.5)',
|
||||
marginLeft: 10,
|
||||
fontSize: 20,
|
||||
color: 'black',
|
||||
},
|
||||
menuContainer: {
|
||||
...StyleSheet.absoluteFillObject,
|
||||
right: null,
|
||||
paddingHorizontal: 8,
|
||||
paddingBottom: 8,
|
||||
backgroundColor: 'rgba(247, 247, 247, 1)',
|
||||
paddingHorizontal: 10,
|
||||
paddingBottom: 10,
|
||||
backgroundColor: 'rgba(255, 255, 255, 0.8)',
|
||||
},
|
||||
previewContainer: {
|
||||
flex: 1,
|
||||
@ -35,7 +34,7 @@ export default {
|
||||
flex: 1,
|
||||
},
|
||||
closeButton: {
|
||||
marginVertical: 5,
|
||||
marginVertical: 10,
|
||||
},
|
||||
preview: {
|
||||
...StyleSheet.absoluteFillObject,
|
||||
|
@ -3,21 +3,21 @@ export default {
|
||||
flex: 1,
|
||||
},
|
||||
header: {
|
||||
paddingTop: 4,
|
||||
paddingBottom: 4,
|
||||
paddingTop: 5,
|
||||
paddingBottom: 5,
|
||||
},
|
||||
headerText: {
|
||||
fontSize: 16,
|
||||
fontSize: 20,
|
||||
},
|
||||
headerTextSelected: {
|
||||
fontWeight: 'bold',
|
||||
},
|
||||
item: {
|
||||
paddingVertical: 4,
|
||||
paddingVertical: 5,
|
||||
paddingHorizontal: 16,
|
||||
},
|
||||
itemText: {
|
||||
fontSize: 14,
|
||||
fontSize: 16,
|
||||
},
|
||||
itemTextSelected: {
|
||||
fontWeight: 'bold',
|
||||
|
@ -79,8 +79,8 @@
|
||||
"devDependencies": {
|
||||
"babel-cli": "^6.26.0",
|
||||
"nodemon": "^1.12.1",
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0"
|
||||
"react": "^16.1.0",
|
||||
"react-dom": "^16.1.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=15.0.0 || ^16.0.0",
|
||||
|
@ -86,7 +86,9 @@ export function renderMain(data, storyStore) {
|
||||
|
||||
if (!isReactRenderable(element)) {
|
||||
const error = {
|
||||
title: `Expecting a valid React element from the story: "${selectedStory}" of "${selectedKind}".`,
|
||||
title: `Expecting a valid React element from the story: "${selectedStory}" of "${
|
||||
selectedKind
|
||||
}".`,
|
||||
description: stripIndents`
|
||||
Seems like you are not returning a correct React element from the story.
|
||||
Could you double check that?
|
||||
|
@ -61,8 +61,8 @@
|
||||
"postcss-loader": "^2.0.8",
|
||||
"prop-types": "^15.6.0",
|
||||
"qs": "^6.5.1",
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0",
|
||||
"react": "^16.1.0",
|
||||
"react-dom": "^16.1.0",
|
||||
"redux": "^3.7.2",
|
||||
"request": "^2.83.0",
|
||||
"serve-favicon": "^2.4.5",
|
||||
@ -71,7 +71,7 @@
|
||||
"url-loader": "^0.6.2",
|
||||
"util-deprecate": "^1.0.2",
|
||||
"uuid": "^3.1.0",
|
||||
"vue-hot-reload-api": "^2.1.1",
|
||||
"vue-hot-reload-api": "^2.2.3",
|
||||
"vue-style-loader": "^3.0.1",
|
||||
"webpack": "^3.6.0",
|
||||
"webpack-dev-middleware": "^1.12.0",
|
||||
@ -81,7 +81,7 @@
|
||||
"babel-cli": "^6.26.0",
|
||||
"nodemon": "^1.12.1",
|
||||
"vue": "^2.5.3",
|
||||
"vue-loader": "^13.4.0",
|
||||
"vue-loader": "^13.5.0",
|
||||
"vue-template-compiler": "^2.5.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@ -17,10 +17,10 @@
|
||||
"storybook": "start-storybook -p 9009 -s pages"
|
||||
},
|
||||
"dependencies": {
|
||||
"@storybook/addon-actions": "^3.2.13",
|
||||
"@storybook/addon-links": "^3.2.13",
|
||||
"@storybook/addons": "^3.2.13",
|
||||
"@storybook/react": "^3.2.13",
|
||||
"@storybook/addon-actions": "^3.2.15",
|
||||
"@storybook/addon-links": "^3.2.15",
|
||||
"@storybook/addons": "^3.2.15",
|
||||
"@storybook/react": "^3.2.15",
|
||||
"babel-cli": "^6.26.0",
|
||||
"babel-core": "^6.26.0",
|
||||
"babel-plugin-transform-runtime": "^6.23.0",
|
||||
|
@ -29,11 +29,11 @@ You can generally reuse webpack rules fairly easily by placing them in a file th
|
||||
|
||||
A common error is that an addon tries to access the "channel", but the channel is not set. This can happen in a few different cases:
|
||||
|
||||
1. In storybook/addon development, it can be an NPM version problem. If there are two versions of the addons NPM package, it will cause problems. In this case, make sure there is only a single version of `@storybook/addons` being used by your project.
|
||||
2. In React Native, it's a special case that's documented in [#1192](https://github.com/storybooks/storybook/issues/1192)
|
||||
3. You have inadvertently installed multiple addons with differing versions. Upgrade or downgrade all `@storybook/addon-*` modules so they have the same version.
|
||||
1. In storybook/addon development, it can be an NPM version problem. If there are two versions of the addons NPM package, it will cause problems. In this case, make sure there is only a single version of `@storybook/addons` being used by your project.
|
||||
2. In React Native, it's a special case that's documented in [#1192](https://github.com/storybooks/storybook/issues/1192)
|
||||
3. You have inadvertently installed multiple addons with differing versions. Upgrade or downgrade all `@storybook/addon-*` modules so they have the same version.
|
||||
|
||||
Most of the time, the fix is deleting the `node_modules` folder with any `package-lock.json` or `yarn.lock` and reinstalling.
|
||||
> Most of the time, the fix is deleting the `node_modules` folder with any `package-lock.json` or `yarn.lock` and reinstalling.
|
||||
|
||||
### Can I modify React component state in stories?
|
||||
|
||||
|
256
docs/yarn.lock
256
docs/yarn.lock
@ -6,67 +6,67 @@
|
||||
version "3.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@hypnosphi/fuse.js/-/fuse.js-3.0.9.tgz#ea99f6121b4a8f065b4c71f85595db2714498807"
|
||||
|
||||
"@storybook/addon-actions@^3.2.13":
|
||||
version "3.2.13"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.2.13.tgz#7fae9201514f0efeee710d466828ea3c6bf0ec16"
|
||||
"@storybook/addon-actions@^3.2.15":
|
||||
version "3.2.15"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.2.15.tgz#a54228d86baeb637adbbbdd11ff0c040d9862952"
|
||||
dependencies:
|
||||
"@storybook/addons" "^3.2.13"
|
||||
"@storybook/addons" "^3.2.15"
|
||||
deep-equal "^1.0.1"
|
||||
json-stringify-safe "^5.0.1"
|
||||
prop-types "^15.6.0"
|
||||
react-inspector "^2.2.0"
|
||||
react-inspector "^2.2.1"
|
||||
uuid "^3.1.0"
|
||||
|
||||
"@storybook/addon-links@^3.2.13":
|
||||
version "3.2.13"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.2.13.tgz#925bb46350583a73538ac655f23df6f55019b560"
|
||||
"@storybook/addon-links@^3.2.15":
|
||||
version "3.2.15"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.2.15.tgz#87a0dc9bad7b208aca7142863a237b5135a47a34"
|
||||
dependencies:
|
||||
"@storybook/addons" "^3.2.13"
|
||||
"@storybook/addons" "^3.2.15"
|
||||
|
||||
"@storybook/addons@^3.2.13":
|
||||
version "3.2.13"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.2.13.tgz#a133103770a7f2330bc931571df1b2ae660f8f71"
|
||||
"@storybook/addons@^3.2.15":
|
||||
version "3.2.15"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.2.15.tgz#120fc3e34454b9e6c779f25b945d354511168abc"
|
||||
|
||||
"@storybook/channel-postmessage@^3.2.13":
|
||||
version "3.2.13"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.2.13.tgz#41d243e8def775696ac9159254b28c7d183b891c"
|
||||
"@storybook/channel-postmessage@^3.2.15":
|
||||
version "3.2.15"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.2.15.tgz#34ef971cd231a4c034c293693bb5b78c83a1b7cb"
|
||||
dependencies:
|
||||
"@storybook/channels" "^3.2.13"
|
||||
"@storybook/channels" "^3.2.15"
|
||||
global "^4.3.2"
|
||||
json-stringify-safe "^5.0.1"
|
||||
|
||||
"@storybook/channels@^3.2.13":
|
||||
version "3.2.13"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.2.13.tgz#d4e04f99b1bb12cc3203839823218860358be480"
|
||||
"@storybook/channels@^3.2.15":
|
||||
version "3.2.15"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.2.15.tgz#c76277d9050e0a0027a9e06edff662db55f391d6"
|
||||
|
||||
"@storybook/components@^3.2.13":
|
||||
version "3.2.13"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/components/-/components-3.2.13.tgz#0576139f54468c9039da6a05d8ed2f1656f6007e"
|
||||
"@storybook/components@^3.2.15":
|
||||
version "3.2.15"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/components/-/components-3.2.15.tgz#238e8faf0f5668534dea98868327760b24139460"
|
||||
dependencies:
|
||||
glamor "^2.20.40"
|
||||
glamorous "^4.9.7"
|
||||
glamorous "^4.11.0"
|
||||
prop-types "^15.6.0"
|
||||
|
||||
"@storybook/react-fuzzy@^0.4.1":
|
||||
version "0.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/react-fuzzy/-/react-fuzzy-0.4.1.tgz#612bdf7768585ad6e086b4738efbf204e94290a0"
|
||||
"@storybook/react-fuzzy@^0.4.3":
|
||||
version "0.4.3"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/react-fuzzy/-/react-fuzzy-0.4.3.tgz#36f7536ba97bf08b03cb57f47c58ae2cca330aec"
|
||||
dependencies:
|
||||
babel-runtime "^6.23.0"
|
||||
classnames "^2.2.5"
|
||||
fuse.js "^3.0.1"
|
||||
prop-types "^15.5.9"
|
||||
|
||||
"@storybook/react@^3.2.13":
|
||||
version "3.2.13"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.2.13.tgz#d5b4d24a16a78b74d89bcee22475c755a05693cd"
|
||||
"@storybook/react@^3.2.15":
|
||||
version "3.2.15"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.2.15.tgz#f031d78c667dead434ae196aba4d5d9b83376f46"
|
||||
dependencies:
|
||||
"@storybook/addon-actions" "^3.2.13"
|
||||
"@storybook/addon-links" "^3.2.13"
|
||||
"@storybook/addons" "^3.2.13"
|
||||
"@storybook/channel-postmessage" "^3.2.13"
|
||||
"@storybook/ui" "^3.2.13"
|
||||
"@storybook/addon-actions" "^3.2.15"
|
||||
"@storybook/addon-links" "^3.2.15"
|
||||
"@storybook/addons" "^3.2.15"
|
||||
"@storybook/channel-postmessage" "^3.2.15"
|
||||
"@storybook/ui" "^3.2.15"
|
||||
airbnb-js-shims "^1.3.0"
|
||||
autoprefixer "^7.1.5"
|
||||
autoprefixer "^7.1.6"
|
||||
babel-core "^6.26.0"
|
||||
babel-loader "^7.1.2"
|
||||
babel-plugin-react-docgen "^1.8.0"
|
||||
@ -75,21 +75,21 @@
|
||||
babel-preset-env "^1.6.1"
|
||||
babel-preset-minify "^0.2.0"
|
||||
babel-preset-react "^6.24.1"
|
||||
babel-preset-react-app "^3.0.3"
|
||||
babel-preset-react-app "^3.1.0"
|
||||
babel-preset-stage-0 "^6.24.1"
|
||||
babel-runtime "^6.26.0"
|
||||
case-sensitive-paths-webpack-plugin "^2.1.1"
|
||||
chalk "^2.2.0"
|
||||
chalk "^2.3.0"
|
||||
commander "^2.11.0"
|
||||
common-tags "^1.4.0"
|
||||
configstore "^3.1.1"
|
||||
core-js "^2.5.1"
|
||||
css-loader "^0.28.7"
|
||||
express "^4.16.2"
|
||||
file-loader "^0.11.2"
|
||||
file-loader "^1.1.5"
|
||||
find-cache-dir "^1.0.0"
|
||||
glamor "^2.20.40"
|
||||
glamorous "^4.9.7"
|
||||
glamorous "^4.11.0"
|
||||
global "^4.3.2"
|
||||
json-loader "^0.5.7"
|
||||
json-stringify-safe "^5.0.1"
|
||||
@ -100,7 +100,6 @@
|
||||
postcss-loader "^2.0.8"
|
||||
prop-types "^15.6.0"
|
||||
qs "^6.5.1"
|
||||
react-modal "^2.4.1"
|
||||
redux "^3.7.2"
|
||||
request "^2.83.0"
|
||||
serve-favicon "^2.4.5"
|
||||
@ -113,13 +112,13 @@
|
||||
webpack-dev-middleware "^1.12.0"
|
||||
webpack-hot-middleware "^2.20.0"
|
||||
|
||||
"@storybook/ui@^3.2.13":
|
||||
version "3.2.13"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.2.13.tgz#c50150a793802e1f4f344fe3ee7af3998d7c5196"
|
||||
"@storybook/ui@^3.2.15":
|
||||
version "3.2.15"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.2.15.tgz#a73d24aa67877df4f69f497a0d7a67cfb34f3f39"
|
||||
dependencies:
|
||||
"@hypnosphi/fuse.js" "^3.0.9"
|
||||
"@storybook/components" "^3.2.13"
|
||||
"@storybook/react-fuzzy" "^0.4.1"
|
||||
"@storybook/components" "^3.2.15"
|
||||
"@storybook/react-fuzzy" "^0.4.3"
|
||||
babel-runtime "^6.26.0"
|
||||
deep-equal "^1.0.1"
|
||||
events "^1.1.1"
|
||||
@ -134,13 +133,21 @@
|
||||
prop-types "^15.6.0"
|
||||
qs "^6.5.1"
|
||||
react-icons "^2.2.7"
|
||||
react-inspector "^2.2.0"
|
||||
react-inspector "^2.2.1"
|
||||
react-komposer "^2.0.0"
|
||||
react-modal "^2.4.1"
|
||||
react-split-pane "^0.1.65"
|
||||
react-modal "^3.1.2"
|
||||
react-split-pane "^0.1.68"
|
||||
react-treebeard "^2.0.3"
|
||||
redux "^3.7.2"
|
||||
|
||||
"@types/inline-style-prefixer@^3.0.0":
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/inline-style-prefixer/-/inline-style-prefixer-3.0.1.tgz#8541e636b029124b747952e9a28848286d2b5bf6"
|
||||
|
||||
"@types/react@^16.0.18":
|
||||
version "16.0.22"
|
||||
resolved "https://registry.yarnpkg.com/@types/react/-/react-16.0.22.tgz#19ad106e124aceebd2b4d430a278d55413ee8759"
|
||||
|
||||
abbrev@1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
|
||||
@ -465,12 +472,12 @@ autoprefixer@^6.0.2, autoprefixer@^6.3.1:
|
||||
postcss "^5.2.16"
|
||||
postcss-value-parser "^3.2.3"
|
||||
|
||||
autoprefixer@^7.1.5:
|
||||
version "7.1.5"
|
||||
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.1.5.tgz#d65d14b83c7cd1dd7bc801daa00557addf5a06b2"
|
||||
autoprefixer@^7.1.6:
|
||||
version "7.1.6"
|
||||
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.1.6.tgz#fb933039f74af74a83e71225ce78d9fd58ba84d7"
|
||||
dependencies:
|
||||
browserslist "^2.5.0"
|
||||
caniuse-lite "^1.0.30000744"
|
||||
browserslist "^2.5.1"
|
||||
caniuse-lite "^1.0.30000748"
|
||||
normalize-range "^0.1.2"
|
||||
num2fraction "^1.2.2"
|
||||
postcss "^6.0.13"
|
||||
@ -747,13 +754,13 @@ babel-plugin-check-es2015-constants@^6.22.0:
|
||||
dependencies:
|
||||
babel-runtime "^6.22.0"
|
||||
|
||||
babel-plugin-dynamic-import-node@1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-1.0.2.tgz#adb5bc8f48a89311540395ae9f0cc3ed4b10bb2e"
|
||||
babel-plugin-dynamic-import-node@1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-1.1.0.tgz#bd1d88ac7aaf98df4917c384373b04d971a2b37a"
|
||||
dependencies:
|
||||
babel-plugin-syntax-dynamic-import "^6.18.0"
|
||||
babel-template "^6.24.1"
|
||||
babel-types "^6.24.1"
|
||||
babel-template "^6.26.0"
|
||||
babel-types "^6.26.0"
|
||||
|
||||
babel-plugin-minify-builtins@^0.2.0:
|
||||
version "0.2.0"
|
||||
@ -1177,14 +1184,7 @@ babel-plugin-transform-object-assign@^6.8.0:
|
||||
dependencies:
|
||||
babel-runtime "^6.22.0"
|
||||
|
||||
babel-plugin-transform-object-rest-spread@6.23.0:
|
||||
version "6.23.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz#875d6bc9be761c58a2ae3feee5dc4895d8c7f921"
|
||||
dependencies:
|
||||
babel-plugin-syntax-object-rest-spread "^6.8.0"
|
||||
babel-runtime "^6.22.0"
|
||||
|
||||
babel-plugin-transform-object-rest-spread@^6.22.0:
|
||||
babel-plugin-transform-object-rest-spread@6.26.0, babel-plugin-transform-object-rest-spread@^6.22.0:
|
||||
version "6.26.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06"
|
||||
dependencies:
|
||||
@ -1231,13 +1231,7 @@ babel-plugin-transform-react-jsx@6.24.1, babel-plugin-transform-react-jsx@^6.24.
|
||||
babel-plugin-syntax-jsx "^6.8.0"
|
||||
babel-runtime "^6.22.0"
|
||||
|
||||
babel-plugin-transform-regenerator@6.24.1:
|
||||
version "6.24.1"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418"
|
||||
dependencies:
|
||||
regenerator-transform "0.9.11"
|
||||
|
||||
babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.24.1, babel-plugin-transform-regenerator@^6.26.0:
|
||||
babel-plugin-transform-regenerator@6.26.0, babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.24.1, babel-plugin-transform-regenerator@^6.26.0:
|
||||
version "6.26.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f"
|
||||
dependencies:
|
||||
@ -1294,42 +1288,7 @@ babel-polyfill@^6.26.0:
|
||||
core-js "^2.5.0"
|
||||
regenerator-runtime "^0.10.5"
|
||||
|
||||
babel-preset-env@1.5.2:
|
||||
version "1.5.2"
|
||||
resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.5.2.tgz#cd4ae90a6e94b709f97374b33e5f8b983556adef"
|
||||
dependencies:
|
||||
babel-plugin-check-es2015-constants "^6.22.0"
|
||||
babel-plugin-syntax-trailing-function-commas "^6.22.0"
|
||||
babel-plugin-transform-async-to-generator "^6.22.0"
|
||||
babel-plugin-transform-es2015-arrow-functions "^6.22.0"
|
||||
babel-plugin-transform-es2015-block-scoped-functions "^6.22.0"
|
||||
babel-plugin-transform-es2015-block-scoping "^6.23.0"
|
||||
babel-plugin-transform-es2015-classes "^6.23.0"
|
||||
babel-plugin-transform-es2015-computed-properties "^6.22.0"
|
||||
babel-plugin-transform-es2015-destructuring "^6.23.0"
|
||||
babel-plugin-transform-es2015-duplicate-keys "^6.22.0"
|
||||
babel-plugin-transform-es2015-for-of "^6.23.0"
|
||||
babel-plugin-transform-es2015-function-name "^6.22.0"
|
||||
babel-plugin-transform-es2015-literals "^6.22.0"
|
||||
babel-plugin-transform-es2015-modules-amd "^6.22.0"
|
||||
babel-plugin-transform-es2015-modules-commonjs "^6.23.0"
|
||||
babel-plugin-transform-es2015-modules-systemjs "^6.23.0"
|
||||
babel-plugin-transform-es2015-modules-umd "^6.23.0"
|
||||
babel-plugin-transform-es2015-object-super "^6.22.0"
|
||||
babel-plugin-transform-es2015-parameters "^6.23.0"
|
||||
babel-plugin-transform-es2015-shorthand-properties "^6.22.0"
|
||||
babel-plugin-transform-es2015-spread "^6.22.0"
|
||||
babel-plugin-transform-es2015-sticky-regex "^6.22.0"
|
||||
babel-plugin-transform-es2015-template-literals "^6.22.0"
|
||||
babel-plugin-transform-es2015-typeof-symbol "^6.23.0"
|
||||
babel-plugin-transform-es2015-unicode-regex "^6.22.0"
|
||||
babel-plugin-transform-exponentiation-operator "^6.22.0"
|
||||
babel-plugin-transform-regenerator "^6.22.0"
|
||||
browserslist "^2.1.2"
|
||||
invariant "^2.2.2"
|
||||
semver "^5.3.0"
|
||||
|
||||
babel-preset-env@^1.6.1:
|
||||
babel-preset-env@1.6.1, babel-preset-env@^1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.1.tgz#a18b564cc9b9afdf4aae57ae3c1b0d99188e6f48"
|
||||
dependencies:
|
||||
@ -1427,21 +1386,21 @@ babel-preset-minify@^0.2.0:
|
||||
babel-plugin-transform-undefined-to-void "^6.8.3"
|
||||
lodash.isplainobject "^4.0.6"
|
||||
|
||||
babel-preset-react-app@^3.0.3:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-3.0.3.tgz#5716d6a8c7354db0cc2707207ab6ceb3b2e0a825"
|
||||
babel-preset-react-app@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-3.1.0.tgz#d77f6061ab9d7bf4b3cdc86b7cde9ded0df03e48"
|
||||
dependencies:
|
||||
babel-plugin-dynamic-import-node "1.0.2"
|
||||
babel-plugin-dynamic-import-node "1.1.0"
|
||||
babel-plugin-syntax-dynamic-import "6.18.0"
|
||||
babel-plugin-transform-class-properties "6.24.1"
|
||||
babel-plugin-transform-object-rest-spread "6.23.0"
|
||||
babel-plugin-transform-object-rest-spread "6.26.0"
|
||||
babel-plugin-transform-react-constant-elements "6.23.0"
|
||||
babel-plugin-transform-react-jsx "6.24.1"
|
||||
babel-plugin-transform-react-jsx-self "6.22.0"
|
||||
babel-plugin-transform-react-jsx-source "6.22.0"
|
||||
babel-plugin-transform-regenerator "6.24.1"
|
||||
babel-plugin-transform-regenerator "6.26.0"
|
||||
babel-plugin-transform-runtime "6.23.0"
|
||||
babel-preset-env "1.5.2"
|
||||
babel-preset-env "1.6.1"
|
||||
babel-preset-react "6.24.1"
|
||||
|
||||
babel-preset-react-hmre@^1.1.1:
|
||||
@ -1805,12 +1764,12 @@ browserslist@^2.1.2:
|
||||
caniuse-lite "^1.0.30000718"
|
||||
electron-to-chromium "^1.3.18"
|
||||
|
||||
browserslist@^2.5.0:
|
||||
version "2.5.1"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.5.1.tgz#68e4bc536bbcc6086d62843a2ffccea8396821c6"
|
||||
browserslist@^2.5.1:
|
||||
version "2.8.0"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.8.0.tgz#27d64028130a2e8585ca96f7c3b7730eff4de493"
|
||||
dependencies:
|
||||
caniuse-lite "^1.0.30000744"
|
||||
electron-to-chromium "^1.3.24"
|
||||
caniuse-lite "^1.0.30000758"
|
||||
electron-to-chromium "^1.3.27"
|
||||
|
||||
bser@^2.0.0:
|
||||
version "2.0.0"
|
||||
@ -1906,9 +1865,9 @@ caniuse-lite@^1.0.30000718:
|
||||
version "1.0.30000740"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000740.tgz#f2c4c04d6564eb812e61006841700ad557f6f973"
|
||||
|
||||
caniuse-lite@^1.0.30000744:
|
||||
version "1.0.30000748"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000748.tgz#44c8d6da52ad65a5d7b9dca4efebd0bdd982ba09"
|
||||
caniuse-lite@^1.0.30000748, caniuse-lite@^1.0.30000758:
|
||||
version "1.0.30000760"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000760.tgz#ec720395742f1c7ec8947fd6dd2604e77a8f98ff"
|
||||
|
||||
capture-stack-trace@^1.0.0:
|
||||
version "1.0.0"
|
||||
@ -1974,9 +1933,9 @@ chalk@^2.1.0:
|
||||
escape-string-regexp "^1.0.5"
|
||||
supports-color "^4.0.0"
|
||||
|
||||
chalk@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.2.0.tgz#477b3bf2f9b8fd5ca9e429747e37f724ee7af240"
|
||||
chalk@^2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
|
||||
dependencies:
|
||||
ansi-styles "^3.1.0"
|
||||
escape-string-regexp "^1.0.5"
|
||||
@ -2772,7 +2731,7 @@ electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.18:
|
||||
version "1.3.24"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.24.tgz#9b7b88bb05ceb9fa016a177833cc2dde388f21b6"
|
||||
|
||||
electron-to-chromium@^1.3.24:
|
||||
electron-to-chromium@^1.3.27:
|
||||
version "1.3.27"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz#78ecb8a399066187bb374eede35d9c70565a803d"
|
||||
|
||||
@ -3231,6 +3190,13 @@ file-loader@^0.11.2:
|
||||
dependencies:
|
||||
loader-utils "^1.0.2"
|
||||
|
||||
file-loader@^1.1.5:
|
||||
version "1.1.5"
|
||||
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.5.tgz#91c25b6b6fbe56dae99f10a425fd64933b5c9daa"
|
||||
dependencies:
|
||||
loader-utils "^1.0.2"
|
||||
schema-utils "^0.3.0"
|
||||
|
||||
file-type@^3.1.0:
|
||||
version "3.9.0"
|
||||
resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9"
|
||||
@ -3625,9 +3591,9 @@ glamor@^2.20.40:
|
||||
prop-types "^15.5.10"
|
||||
through "^2.3.8"
|
||||
|
||||
glamorous@^4.9.7:
|
||||
version "4.9.7"
|
||||
resolved "https://registry.yarnpkg.com/glamorous/-/glamorous-4.9.7.tgz#78bb008d1404b5bd91ad4d043ec0dc6430ad2653"
|
||||
glamorous@^4.11.0:
|
||||
version "4.11.0"
|
||||
resolved "https://registry.yarnpkg.com/glamorous/-/glamorous-4.11.0.tgz#cb846dda1450c895c59a34060fb19e3251ed619f"
|
||||
dependencies:
|
||||
brcast "^3.0.0"
|
||||
fast-memoize "^2.2.7"
|
||||
@ -6827,9 +6793,9 @@ react-icons@^2.2.7:
|
||||
dependencies:
|
||||
react-icon-base "2.1.0"
|
||||
|
||||
react-inspector@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-2.2.0.tgz#2aa0778c3512063f598d7a89a28a5d5c7733cad7"
|
||||
react-inspector@^2.2.1:
|
||||
version "2.2.1"
|
||||
resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-2.2.1.tgz#c24f9a0131960b8e63c8392254d34df0717aabdf"
|
||||
dependencies:
|
||||
babel-runtime "^6.26.0"
|
||||
is-dom "^1.0.9"
|
||||
@ -6854,9 +6820,9 @@ react-komposer@^2.0.0:
|
||||
react-stubber "^1.0.0"
|
||||
shallowequal "^0.2.2"
|
||||
|
||||
react-modal@^2.4.1:
|
||||
version "2.4.1"
|
||||
resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-2.4.1.tgz#cb09b26711b148eb9f59cb180e1b7d82980ded05"
|
||||
react-modal@^3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.1.2.tgz#6e1fd656315d6fc62a1edda2b5aecc9752ac6bca"
|
||||
dependencies:
|
||||
exenv "^1.2.0"
|
||||
prop-types "^15.5.10"
|
||||
@ -6930,10 +6896,12 @@ react-sizeme@^2.2.0:
|
||||
invariant "^2.2.2"
|
||||
lodash "^4.17.4"
|
||||
|
||||
react-split-pane@^0.1.65:
|
||||
version "0.1.66"
|
||||
resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.66.tgz#369085dd07ec1237bda123e73813dcc7dc6502c1"
|
||||
react-split-pane@^0.1.68:
|
||||
version "0.1.68"
|
||||
resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.68.tgz#a4ed40b0e77f0578cb6c9f9e65edd32726e4b16a"
|
||||
dependencies:
|
||||
"@types/inline-style-prefixer" "^3.0.0"
|
||||
"@types/react" "^16.0.18"
|
||||
inline-style-prefixer "^3.0.6"
|
||||
prop-types "^15.5.10"
|
||||
react-style-proptype "^3.0.0"
|
||||
@ -7165,14 +7133,6 @@ regenerator-runtime@^0.11.0:
|
||||
version "0.11.0"
|
||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1"
|
||||
|
||||
regenerator-transform@0.9.11:
|
||||
version "0.9.11"
|
||||
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283"
|
||||
dependencies:
|
||||
babel-runtime "^6.18.0"
|
||||
babel-types "^6.19.0"
|
||||
private "^0.1.6"
|
||||
|
||||
regenerator-transform@^0.10.0:
|
||||
version "0.10.1"
|
||||
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd"
|
||||
|
@ -16,8 +16,8 @@
|
||||
"glamorous": "^4.11.0",
|
||||
"global": "^4.3.2",
|
||||
"prop-types": "^15.6.0",
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0",
|
||||
"react": "^16.1.0",
|
||||
"react-dom": "^16.1.0",
|
||||
"uuid": "^3.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -17,12 +17,12 @@ exports[`Storyshots Addon Info.Decorator Use Info as story decorator 1`] = `
|
||||
Button
|
||||
</button>
|
||||
</div>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -32,14 +32,13 @@ exports[`Storyshots Addon Info.Decorator Use Info as story decorator 1`] = `
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
Show Info
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
@ -56,12 +55,12 @@ exports[`Storyshots Addon Info.Decorator Use Info as story decorator 1`] = `
|
||||
}
|
||||
}
|
||||
>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -71,14 +70,13 @@ exports[`Storyshots Addon Info.Decorator Use Info as story decorator 1`] = `
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
×
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={undefined}
|
||||
>
|
||||
@ -405,6 +403,345 @@ exports[`Storyshots Addon Info.Decorator Use Info as story decorator 1`] = `
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Addon Info.GitHub issues #1814 1`] = `
|
||||
<div>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
"position": "relative",
|
||||
"zIndex": 0,
|
||||
}
|
||||
}
|
||||
>
|
||||
<div>
|
||||
<input
|
||||
type="text"
|
||||
/>
|
||||
<textarea />
|
||||
</div>
|
||||
</div>
|
||||
<button
|
||||
onClick={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
"display": "block",
|
||||
"fontFamily": "sans-serif",
|
||||
"fontSize": "12px",
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
type="button"
|
||||
>
|
||||
Show Info
|
||||
</button>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
"background": "white",
|
||||
"bottom": 0,
|
||||
"display": "none",
|
||||
"left": 0,
|
||||
"overflow": "auto",
|
||||
"padding": "0 40px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"top": 0,
|
||||
"zIndex": 99999,
|
||||
}
|
||||
}
|
||||
>
|
||||
<button
|
||||
onClick={[Function]}
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
"display": "block",
|
||||
"fontFamily": "sans-serif",
|
||||
"fontSize": "12px",
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
type="button"
|
||||
>
|
||||
×
|
||||
</button>
|
||||
<div
|
||||
style={undefined}
|
||||
>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
"WebkitFontSmoothing": "antialiased",
|
||||
"backgroundColor": "#fff",
|
||||
"border": "1px solid #eee",
|
||||
"borderRadius": "2px",
|
||||
"boxShadow": "0px 2px 3px rgba(0, 0, 0, 0.05)",
|
||||
"color": "#444",
|
||||
"fontFamily": "-apple-system, \\".SFNSText-Regular\\", \\"San Francisco\\", BlinkMacSystemFont, \\"Segoe UI\\", \\"Roboto\\", \\"Oxygen\\", \\"Ubuntu\\", \\"Cantarell\\", \\"Fira Sans\\", \\"Droid Sans\\", \\"Helvetica Neue\\", \\"Lucida Grande\\", \\"Arial\\", sans-serif",
|
||||
"fontSize": "15px",
|
||||
"fontWeight": 300,
|
||||
"lineHeight": 1.45,
|
||||
"marginTop": "50px",
|
||||
"padding": "20px 40px 40px",
|
||||
}
|
||||
}
|
||||
>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
"borderBottom": "1px solid #eee",
|
||||
"marginBottom": 10,
|
||||
"paddingTop": 10,
|
||||
}
|
||||
}
|
||||
>
|
||||
<h1
|
||||
style={
|
||||
Object {
|
||||
"fontSize": "35px",
|
||||
"margin": 0,
|
||||
"padding": 0,
|
||||
}
|
||||
}
|
||||
>
|
||||
Addon Info.GitHub issues
|
||||
</h1>
|
||||
<h2
|
||||
style={
|
||||
Object {
|
||||
"fontSize": "22px",
|
||||
"fontWeight": 400,
|
||||
"margin": "0 0 10px 0",
|
||||
"padding": 0,
|
||||
}
|
||||
}
|
||||
>
|
||||
#1814
|
||||
</h2>
|
||||
</div>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
"marginBottom": 0,
|
||||
}
|
||||
}
|
||||
>
|
||||
<p
|
||||
style={
|
||||
Object {
|
||||
"WebkitFontSmoothing": "antialiased",
|
||||
"color": "#444",
|
||||
"fontFamily": "-apple-system, \\".SFNSText-Regular\\", \\"San Francisco\\", BlinkMacSystemFont, \\"Segoe UI\\", \\"Roboto\\", \\"Oxygen\\", \\"Ubuntu\\", \\"Cantarell\\", \\"Fira Sans\\", \\"Droid Sans\\", \\"Helvetica Neue\\", \\"Lucida Grande\\", \\"Arial\\", sans-serif",
|
||||
"fontSize": "15px",
|
||||
}
|
||||
}
|
||||
>
|
||||
Allow Duplicate DisplayNames for HOC #1814
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<h1
|
||||
style={
|
||||
Object {
|
||||
"borderBottom": "1px solid #EEE",
|
||||
"fontSize": "25px",
|
||||
"margin": "20px 0 0 0",
|
||||
"padding": "0 0 5px 0",
|
||||
}
|
||||
}
|
||||
>
|
||||
Story Source
|
||||
</h1>
|
||||
<pre
|
||||
style={
|
||||
Object {
|
||||
"backgroundColor": "#fafafa",
|
||||
"fontFamily": "Menlo, Monaco, \\"Courier New\\", monospace",
|
||||
"fontSize": ".88em",
|
||||
"lineHeight": 1.5,
|
||||
"overflowX": "scroll",
|
||||
"padding": ".5rem",
|
||||
}
|
||||
}
|
||||
>
|
||||
<div>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
"paddingLeft": 18,
|
||||
"paddingRight": 3,
|
||||
}
|
||||
}
|
||||
>
|
||||
<span
|
||||
style={
|
||||
Object {
|
||||
"color": "#777",
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
div
|
||||
</span>
|
||||
<span />
|
||||
<span
|
||||
style={
|
||||
Object {
|
||||
"color": "#777",
|
||||
}
|
||||
}
|
||||
>
|
||||
>
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
"paddingLeft": 33,
|
||||
"paddingRight": 3,
|
||||
}
|
||||
}
|
||||
>
|
||||
<span
|
||||
style={
|
||||
Object {
|
||||
"color": "#777",
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
Unknown
|
||||
</span>
|
||||
<span />
|
||||
<span
|
||||
style={
|
||||
Object {
|
||||
"color": "#777",
|
||||
}
|
||||
}
|
||||
>
|
||||
/>
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
"paddingLeft": 33,
|
||||
"paddingRight": 3,
|
||||
}
|
||||
}
|
||||
>
|
||||
<span
|
||||
style={
|
||||
Object {
|
||||
"color": "#777",
|
||||
}
|
||||
}
|
||||
>
|
||||
<
|
||||
Unknown
|
||||
</span>
|
||||
<span />
|
||||
<span
|
||||
style={
|
||||
Object {
|
||||
"color": "#777",
|
||||
}
|
||||
}
|
||||
>
|
||||
/>
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
"paddingLeft": 18,
|
||||
"paddingRight": 3,
|
||||
}
|
||||
}
|
||||
>
|
||||
<span
|
||||
style={
|
||||
Object {
|
||||
"color": "#777",
|
||||
}
|
||||
}
|
||||
>
|
||||
</
|
||||
div
|
||||
>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</pre>
|
||||
</div>
|
||||
<div>
|
||||
<h1
|
||||
style={
|
||||
Object {
|
||||
"borderBottom": "1px solid #EEE",
|
||||
"fontSize": "25px",
|
||||
"margin": "20px 0 0 0",
|
||||
"padding": "0 0 5px 0",
|
||||
}
|
||||
}
|
||||
>
|
||||
Prop Types
|
||||
</h1>
|
||||
<div>
|
||||
<h2
|
||||
style={
|
||||
Object {
|
||||
"margin": "20px 0 0 0",
|
||||
}
|
||||
}
|
||||
>
|
||||
"
|
||||
|
||||
" Component
|
||||
</h2>
|
||||
<small>
|
||||
No propTypes defined!
|
||||
</small>
|
||||
</div>
|
||||
<div>
|
||||
<h2
|
||||
style={
|
||||
Object {
|
||||
"margin": "20px 0 0 0",
|
||||
}
|
||||
}
|
||||
>
|
||||
"
|
||||
|
||||
" Component
|
||||
</h2>
|
||||
<small>
|
||||
No propTypes defined!
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Addon Info.Markdown Displays Markdown in description 1`] = `
|
||||
<div>
|
||||
<div
|
||||
@ -422,12 +759,12 @@ exports[`Storyshots Addon Info.Markdown Displays Markdown in description 1`] = `
|
||||
Button
|
||||
</button>
|
||||
</div>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -437,14 +774,13 @@ exports[`Storyshots Addon Info.Markdown Displays Markdown in description 1`] = `
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
Show Info
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
@ -461,12 +797,12 @@ exports[`Storyshots Addon Info.Markdown Displays Markdown in description 1`] = `
|
||||
}
|
||||
}
|
||||
>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -476,14 +812,13 @@ exports[`Storyshots Addon Info.Markdown Displays Markdown in description 1`] = `
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
×
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={undefined}
|
||||
>
|
||||
@ -906,12 +1241,12 @@ exports[`Storyshots Addon Info.Options.header Shows or hides Info Addon header 1
|
||||
Button
|
||||
</button>
|
||||
</div>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -921,14 +1256,13 @@ exports[`Storyshots Addon Info.Options.header Shows or hides Info Addon header 1
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
Show Info
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
@ -945,12 +1279,12 @@ exports[`Storyshots Addon Info.Options.header Shows or hides Info Addon header 1
|
||||
}
|
||||
}
|
||||
>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -960,14 +1294,13 @@ exports[`Storyshots Addon Info.Options.header Shows or hides Info Addon header 1
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
×
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={undefined}
|
||||
>
|
||||
@ -1638,12 +1971,12 @@ exports[`Storyshots Addon Info.Options.propTables Shows additional component pro
|
||||
Button
|
||||
</button>
|
||||
</div>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -1653,14 +1986,13 @@ exports[`Storyshots Addon Info.Options.propTables Shows additional component pro
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
Show Info
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
@ -1677,12 +2009,12 @@ exports[`Storyshots Addon Info.Options.propTables Shows additional component pro
|
||||
}
|
||||
}
|
||||
>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -1692,14 +2024,13 @@ exports[`Storyshots Addon Info.Options.propTables Shows additional component pro
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
×
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={undefined}
|
||||
>
|
||||
@ -2177,12 +2508,12 @@ exports[`Storyshots Addon Info.Options.propTablesExclude Exclude component from
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -2192,14 +2523,13 @@ exports[`Storyshots Addon Info.Options.propTablesExclude Exclude component from
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
Show Info
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
@ -2216,12 +2546,12 @@ exports[`Storyshots Addon Info.Options.propTablesExclude Exclude component from
|
||||
}
|
||||
}
|
||||
>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -2231,14 +2561,13 @@ exports[`Storyshots Addon Info.Options.propTablesExclude Exclude component from
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
×
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={undefined}
|
||||
>
|
||||
@ -2691,12 +3020,12 @@ exports[`Storyshots Addon Info.Options.source Shows or hides Info Addon source 1
|
||||
Button
|
||||
</button>
|
||||
</div>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -2706,14 +3035,13 @@ exports[`Storyshots Addon Info.Options.source Shows or hides Info Addon source 1
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
Show Info
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
@ -2730,12 +3058,12 @@ exports[`Storyshots Addon Info.Options.source Shows or hides Info Addon source 1
|
||||
}
|
||||
}
|
||||
>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -2745,14 +3073,13 @@ exports[`Storyshots Addon Info.Options.source Shows or hides Info Addon source 1
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
×
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={undefined}
|
||||
>
|
||||
@ -3011,12 +3338,12 @@ exports[`Storyshots Addon Info.Options.styles Change info styles // I think this
|
||||
Button
|
||||
</button>
|
||||
</div>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -3026,14 +3353,13 @@ exports[`Storyshots Addon Info.Options.styles Change info styles // I think this
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
Show Info
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
@ -3050,12 +3376,12 @@ exports[`Storyshots Addon Info.Options.styles Change info styles // I think this
|
||||
}
|
||||
}
|
||||
>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -3065,14 +3391,13 @@ exports[`Storyshots Addon Info.Options.styles Change info styles // I think this
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
×
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={undefined}
|
||||
>
|
||||
@ -3397,12 +3722,12 @@ exports[`Storyshots Addon Info.React Docgen Comments from Flow declarations 1`]
|
||||
Flow Typed Button
|
||||
</button>
|
||||
</div>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -3412,14 +3737,13 @@ exports[`Storyshots Addon Info.React Docgen Comments from Flow declarations 1`]
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
Show Info
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
@ -3436,12 +3760,12 @@ exports[`Storyshots Addon Info.React Docgen Comments from Flow declarations 1`]
|
||||
}
|
||||
}
|
||||
>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -3451,14 +3775,13 @@ exports[`Storyshots Addon Info.React Docgen Comments from Flow declarations 1`]
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
×
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={undefined}
|
||||
>
|
||||
@ -3809,12 +4132,12 @@ exports[`Storyshots Addon Info.React Docgen Comments from PropType declarations
|
||||
Docgen Button
|
||||
</button>
|
||||
</div>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -3824,14 +4147,13 @@ exports[`Storyshots Addon Info.React Docgen Comments from PropType declarations
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
Show Info
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
@ -3848,12 +4170,12 @@ exports[`Storyshots Addon Info.React Docgen Comments from PropType declarations
|
||||
}
|
||||
}
|
||||
>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -3863,14 +4185,13 @@ exports[`Storyshots Addon Info.React Docgen Comments from PropType declarations
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
×
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={undefined}
|
||||
>
|
||||
@ -4442,12 +4763,12 @@ exports[`Storyshots Addon Info.React Docgen Comments from component declaration
|
||||
Button
|
||||
</button>
|
||||
</div>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -4457,14 +4778,13 @@ exports[`Storyshots Addon Info.React Docgen Comments from component declaration
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
Show Info
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
@ -4481,12 +4801,12 @@ exports[`Storyshots Addon Info.React Docgen Comments from component declaration
|
||||
}
|
||||
}
|
||||
>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -4496,14 +4816,13 @@ exports[`Storyshots Addon Info.React Docgen Comments from component declaration
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
×
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={undefined}
|
||||
>
|
||||
|
@ -63,12 +63,12 @@ exports[`Storyshots Button addons composition 1`] = `
|
||||
"
|
||||
</div>
|
||||
</div>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -78,14 +78,13 @@ exports[`Storyshots Button addons composition 1`] = `
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
Show Info
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
@ -102,12 +101,12 @@ exports[`Storyshots Button addons composition 1`] = `
|
||||
}
|
||||
}
|
||||
>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -117,14 +116,13 @@ exports[`Storyshots Button addons composition 1`] = `
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
×
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={undefined}
|
||||
>
|
||||
@ -468,12 +466,12 @@ exports[`Storyshots Button with new info 1`] = `
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -483,14 +481,13 @@ exports[`Storyshots Button with new info 1`] = `
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
Show Info
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
@ -507,12 +504,12 @@ exports[`Storyshots Button with new info 1`] = `
|
||||
}
|
||||
}
|
||||
>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -522,14 +519,13 @@ exports[`Storyshots Button with new info 1`] = `
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
×
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={undefined}
|
||||
>
|
||||
@ -1134,12 +1130,12 @@ exports[`Storyshots Button with some info 1`] = `
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -1149,14 +1145,13 @@ exports[`Storyshots Button with some info 1`] = `
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
Show Info
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={
|
||||
Object {
|
||||
@ -1173,12 +1168,12 @@ exports[`Storyshots Button with some info 1`] = `
|
||||
}
|
||||
}
|
||||
>
|
||||
<a
|
||||
<button
|
||||
onClick={[Function]}
|
||||
role="button"
|
||||
style={
|
||||
Object {
|
||||
"background": "#28c",
|
||||
"border": "none",
|
||||
"borderRadius": "0 0 0 5px",
|
||||
"color": "#fff",
|
||||
"cursor": "pointer",
|
||||
@ -1188,14 +1183,13 @@ exports[`Storyshots Button with some info 1`] = `
|
||||
"padding": "5px 15px",
|
||||
"position": "fixed",
|
||||
"right": 0,
|
||||
"textDecoration": "none",
|
||||
"top": 0,
|
||||
}
|
||||
}
|
||||
tabIndex="0"
|
||||
type="button"
|
||||
>
|
||||
×
|
||||
</a>
|
||||
</button>
|
||||
<div
|
||||
style={undefined}
|
||||
>
|
||||
|
@ -100,3 +100,19 @@ storiesOf('Addon Info.Decorator', module)
|
||||
withInfo('Info could be used as a global or local decorator as well.')(story)(context)
|
||||
)
|
||||
.add('Use Info as story decorator', () => <BaseButton label="Button" />);
|
||||
|
||||
const hoc = WrapComponent => ({ ...props }) => <WrapComponent {...props} />;
|
||||
|
||||
const Input = hoc(() => <input type="text" />);
|
||||
|
||||
const TextArea = hoc(({ children }) => <textarea>{children}</textarea>);
|
||||
|
||||
storiesOf('Addon Info.GitHub issues', module).add(
|
||||
'#1814',
|
||||
withInfo('Allow Duplicate DisplayNames for HOC #1814')(() => (
|
||||
<div>
|
||||
<Input />
|
||||
<TextArea />
|
||||
</div>
|
||||
))
|
||||
);
|
||||
|
@ -18,8 +18,8 @@
|
||||
"cross-env": "^5.1.1",
|
||||
"css-loader": "^0.28.7",
|
||||
"file-loader": "^1.1.5",
|
||||
"vue-hot-reload-api": "^2.2.0",
|
||||
"vue-loader": "^13.4.0",
|
||||
"vue-hot-reload-api": "^2.2.3",
|
||||
"vue-loader": "^13.5.0",
|
||||
"vue-style-loader": "^3.0.1",
|
||||
"vue-template-compiler": "^2.5.3",
|
||||
"webpack": "^3.6.0",
|
||||
|
@ -100,8 +100,8 @@ describe('Channel', () => {
|
||||
channel.once('type-1', 11);
|
||||
channel.once('type-2', 21);
|
||||
channel.once('type-2', 22);
|
||||
expect(channel._listeners['type-1'].length).toEqual(1);
|
||||
expect(channel._listeners['type-2'].length).toEqual(2);
|
||||
expect(channel._listeners['type-1']).toHaveLength(1);
|
||||
expect(channel._listeners['type-2']).toHaveLength(2);
|
||||
});
|
||||
|
||||
it('should call event listeners only once', () => {
|
||||
@ -131,8 +131,8 @@ describe('Channel', () => {
|
||||
channel.prependOnceListener('type-1', 11);
|
||||
channel.prependOnceListener('type-2', 21);
|
||||
channel.prependOnceListener('type-2', 22);
|
||||
expect(channel._listeners['type-1'].length).toEqual(1);
|
||||
expect(channel._listeners['type-2'].length).toEqual(2);
|
||||
expect(channel._listeners['type-1']).toHaveLength(1);
|
||||
expect(channel._listeners['type-2']).toHaveLength(2);
|
||||
});
|
||||
|
||||
it('should call event listeners only once', () => {
|
||||
|
@ -10,8 +10,8 @@
|
||||
"dependencies": {
|
||||
"babel-runtime": "^6.20.0",
|
||||
"meteor-node-stubs": "~0.2.4",
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0"
|
||||
"react": "^16.1.0",
|
||||
"react-dom": "^16.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-preset-env": "^1.6.1",
|
||||
|
@ -19,8 +19,8 @@
|
||||
"prop-types": "^15.6.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0"
|
||||
"react": "^16.1.0",
|
||||
"react-dom": "^16.1.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "*",
|
||||
|
@ -33,7 +33,7 @@
|
||||
"react-icons": "^2.2.7",
|
||||
"react-inspector": "^2.2.1",
|
||||
"react-komposer": "^2.0.0",
|
||||
"react-modal": "^3.1.0",
|
||||
"react-modal": "^3.1.2",
|
||||
"react-split-pane": "^0.1.68",
|
||||
"react-treebeard": "^2.0.3",
|
||||
"redux": "^3.7.2"
|
||||
|
@ -3,7 +3,9 @@ import { features } from '../../../libs/key_events';
|
||||
import apiActions from '../../api/actions';
|
||||
|
||||
const deprecationMessage = (oldName, newName) =>
|
||||
`The ${oldName} option has been renamed to ${newName} and will not be available in the next major Storybook release. Please update your config.`;
|
||||
`The ${oldName} option has been renamed to ${
|
||||
newName
|
||||
} and will not be available in the next major Storybook release. Please update your config.`;
|
||||
|
||||
export function keyEventToOptions(currentOptions, event) {
|
||||
switch (event) {
|
||||
|
@ -9,7 +9,7 @@ class AddonPanel extends Component {
|
||||
tabStyle = Object.assign({}, style.tablink, style.activetab);
|
||||
}
|
||||
|
||||
const onClick = () => e => {
|
||||
const onClick = e => {
|
||||
e.preventDefault();
|
||||
this.props.onPanelSelect(name);
|
||||
};
|
||||
@ -20,9 +20,9 @@ class AddonPanel extends Component {
|
||||
}
|
||||
|
||||
return (
|
||||
<a key={name} style={tabStyle} onClick={onClick()} role="tab" tabIndex="0">
|
||||
<button type="button" key={name} style={tabStyle} onClick={onClick} role="tab">
|
||||
{title}
|
||||
</a>
|
||||
</button>
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,7 @@ describe('manager.ui.components.addon_panel.index', () => {
|
||||
const wrapper = shallow(
|
||||
<AddonPanel panels={panels} onPanelSelect={onPanelSelect} selectedPanel="test1" />
|
||||
);
|
||||
wrapper.find('a').simulate('click', { preventDefault });
|
||||
wrapper.find('button').simulate('click', { preventDefault });
|
||||
|
||||
expect(onPanelSelect).toHaveBeenCalled();
|
||||
expect(preventDefault).toHaveBeenCalled();
|
||||
|
@ -43,13 +43,14 @@ export default {
|
||||
fontSize: 11,
|
||||
letterSpacing: '1px',
|
||||
padding: '10px 15px',
|
||||
textDecoration: 'none',
|
||||
textTransform: 'uppercase',
|
||||
transition: 'opacity 0.3s',
|
||||
opacity: 0.5,
|
||||
maxHeight: 60,
|
||||
overflow: 'hidden',
|
||||
cursor: 'pointer',
|
||||
background: 'transparent',
|
||||
border: 'none',
|
||||
},
|
||||
|
||||
activetab: {
|
||||
|
@ -52,8 +52,10 @@ const suggestionTemplate = (props, state, styles, clickHandler) =>
|
||||
state.results.map((val, i) => {
|
||||
const style = state.selectedIndex === i ? styles.selectedResultStyle : styles.resultsStyle;
|
||||
return (
|
||||
// eslint-disable-next-line jsx-a11y/interactive-supports-focus
|
||||
// react-fuzzy has its own keyboard navigation
|
||||
// eslint-disable-next-line jsx-a11y/interactive-supports-focus,jsx-a11y/click-events-have-key-events
|
||||
<div
|
||||
tabIndex={0}
|
||||
role="option"
|
||||
aria-selected={state.selectedIndex === i}
|
||||
key={val.value}
|
||||
@ -116,8 +118,6 @@ export default class SearchBox extends React.Component {
|
||||
style={modalStyle}
|
||||
contentLabel="Search"
|
||||
shouldReturnFocusAfterClose={false}
|
||||
// see https://github.com/reactjs/react-modal/pull/540/files#r148984350
|
||||
shouldFocusAfterRender={false}
|
||||
>
|
||||
<FuzzySearch
|
||||
list={formatStories(this.props.stories)}
|
||||
|
@ -40,7 +40,7 @@ export function getUrlState(data) {
|
||||
};
|
||||
}
|
||||
|
||||
export function changeUrl(clientStore) {
|
||||
export function changeUrl(clientStore, usePush) {
|
||||
// Do not change the URL if we are inside a popState event.
|
||||
if (config.insidePopState) return;
|
||||
|
||||
@ -48,7 +48,7 @@ export function changeUrl(clientStore) {
|
||||
if (!data.selectedKind) return;
|
||||
|
||||
const state = getUrlState(data);
|
||||
window.history.pushState(state, '', state.url);
|
||||
window.history[usePush ? 'pushState' : 'replaceState'](state, '', state.url);
|
||||
}
|
||||
|
||||
export function updateStore(queryParams, actions) {
|
||||
@ -95,8 +95,22 @@ export default function({ clientStore }, actions) {
|
||||
// handle initial URL
|
||||
handleInitialUrl(actions, window.location);
|
||||
|
||||
const data = clientStore.getAll();
|
||||
let prevKind = data.selectedKind;
|
||||
let prevStory = data.selectedStory;
|
||||
|
||||
// subscribe to clientStore and change the URL
|
||||
clientStore.subscribe(() => changeUrl(clientStore));
|
||||
clientStore.subscribe(() => {
|
||||
const { selectedKind, selectedStory } = clientStore.getAll();
|
||||
// use pushState only when a new story is selected
|
||||
const usePush =
|
||||
prevKind != null &&
|
||||
prevStory != null &&
|
||||
(selectedKind !== prevKind || selectedStory !== prevStory);
|
||||
changeUrl(clientStore, usePush);
|
||||
prevKind = selectedKind;
|
||||
prevStory = selectedStory;
|
||||
});
|
||||
changeUrl(clientStore);
|
||||
|
||||
// handle back button
|
||||
|
@ -10,7 +10,7 @@ describe('manager.ui.config.handle_routing', () => {
|
||||
config.insidePopState = false;
|
||||
});
|
||||
|
||||
test('should put the correct URL and state to pushState', done => {
|
||||
test('should put the correct URL and state to replaceState', done => {
|
||||
const state = {
|
||||
selectedKind: 'kk',
|
||||
selectedStory: 'ss',
|
||||
@ -31,7 +31,7 @@ describe('manager.ui.config.handle_routing', () => {
|
||||
const url =
|
||||
'?customText=test&selectedKind=kk&selectedStory=ss&full=0&addons=1&stories=1&panelRight=1&addonPanel=pp';
|
||||
|
||||
const pushState = {
|
||||
const replaceState = {
|
||||
url,
|
||||
selectedKind: 'kk',
|
||||
selectedStory: 'ss',
|
||||
@ -42,16 +42,16 @@ describe('manager.ui.config.handle_routing', () => {
|
||||
addonPanel: 'pp',
|
||||
customText: 'test',
|
||||
};
|
||||
const originalPushState = window.history.pushState;
|
||||
window.history.pushState = (s, t, u) => {
|
||||
expect(s).toEqual(pushState);
|
||||
expect(u).toBe(pushState.url);
|
||||
const originalReplaceState = window.history.replaceState;
|
||||
window.history.replaceState = (s, t, u) => {
|
||||
expect(s).toEqual(replaceState);
|
||||
expect(u).toBe(replaceState.url);
|
||||
done();
|
||||
};
|
||||
|
||||
changeUrl(clientStore);
|
||||
|
||||
window.history.pushState = originalPushState;
|
||||
window.history.replaceState = originalReplaceState;
|
||||
});
|
||||
});
|
||||
|
||||
|
14
package.json
14
package.json
@ -54,14 +54,14 @@
|
||||
"codecov": "^3.0.0",
|
||||
"commander": "^2.11.0",
|
||||
"cross-env": "^5.1.1",
|
||||
"danger": "^2.0.0",
|
||||
"danger": "^2.0.1",
|
||||
"enzyme": "^3.1.1",
|
||||
"enzyme-adapter-react-16": "^1.0.4",
|
||||
"eslint": "^4.10.0",
|
||||
"eslint-config-airbnb": "^16.1.0",
|
||||
"eslint-config-prettier": "^2.7.0",
|
||||
"eslint-plugin-import": "^2.8.0",
|
||||
"eslint-plugin-jest": "^21.0.0",
|
||||
"eslint-plugin-jest": "^21.3.2",
|
||||
"eslint-plugin-json": "^1.2.0",
|
||||
"eslint-plugin-jsx-a11y": "^6.0.2",
|
||||
"eslint-plugin-prettier": "^2.2.0",
|
||||
@ -75,18 +75,18 @@
|
||||
"jest": "^21.2.0",
|
||||
"jest-cli": "^21.2.1",
|
||||
"jest-enzyme": "^4.0.1",
|
||||
"jest-image-snapshot": "^2.1.0",
|
||||
"jest-image-snapshot": "^2.2.0",
|
||||
"lerna": "^2.5.1",
|
||||
"lint-staged": "^4.3.0",
|
||||
"lodash": "^4.17.4",
|
||||
"nodemon": "^1.12.1",
|
||||
"npmlog": "^4.1.2",
|
||||
"prettier": "^1.7.4",
|
||||
"prettier": "^1.8.2",
|
||||
"puppeteer": "^0.12.0",
|
||||
"raf": "^3.4.0",
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0",
|
||||
"react-test-renderer": "^16.0.0",
|
||||
"react": "^16.1.0",
|
||||
"react-dom": "^16.1.0",
|
||||
"react-test-renderer": "^16.1.0",
|
||||
"remark-cli": "^4.0.0",
|
||||
"remark-lint": "^6.0.1",
|
||||
"remark-lint-code": "^2.0.0",
|
||||
|
117
yarn.lock
117
yarn.lock
@ -230,8 +230,8 @@
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/node@*", "@types/node@^8.0.0":
|
||||
version "8.0.49"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.49.tgz#417f86ab4829c629fe561779ee48751e0fe2a11b"
|
||||
version "8.0.31"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.31.tgz#d9af61093cf4bfc9f066ca34de0175012cfb0ce9"
|
||||
|
||||
"@types/node@^6.0.46", "@types/node@~6.0.60":
|
||||
version "6.0.90"
|
||||
@ -3657,7 +3657,7 @@ damerau-levenshtein@^1.0.0:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514"
|
||||
|
||||
danger@^2.0.0:
|
||||
danger@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/danger/-/danger-2.0.1.tgz#d3b303162c1132cb0a5471eb79f041f1941f9de2"
|
||||
dependencies:
|
||||
@ -4506,9 +4506,9 @@ eslint-plugin-import@2.8.0, eslint-plugin-import@^2.8.0:
|
||||
minimatch "^3.0.3"
|
||||
read-pkg-up "^2.0.0"
|
||||
|
||||
eslint-plugin-jest@^21.0.0:
|
||||
version "21.2.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-21.2.0.tgz#292044df9cf0866ad9c530e78e6528fae287b926"
|
||||
eslint-plugin-jest@^21.3.2:
|
||||
version "21.3.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-21.3.2.tgz#b1cefc05f0fed700eb40185a94d16f6d575d1ef9"
|
||||
|
||||
eslint-plugin-json@^1.2.0:
|
||||
version "1.2.0"
|
||||
@ -7133,9 +7133,9 @@ jest-haste-map@^21, jest-haste-map@^21.2.0:
|
||||
sane "^2.0.0"
|
||||
worker-farm "^1.3.1"
|
||||
|
||||
jest-image-snapshot@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/jest-image-snapshot/-/jest-image-snapshot-2.1.0.tgz#a8863f38de868e0175335dd9a1b170650e0bcdc9"
|
||||
jest-image-snapshot@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/jest-image-snapshot/-/jest-image-snapshot-2.2.0.tgz#48b9aa6d9545e55b1eae4086454694ce80f8f434"
|
||||
dependencies:
|
||||
chalk "^1.1.3"
|
||||
lodash "^4.17.4"
|
||||
@ -8528,9 +8528,9 @@ methods@~1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
|
||||
|
||||
metro-bundler@^0.20.0:
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/metro-bundler/-/metro-bundler-0.20.0.tgz#a2faef20ba7f566484a6c5bd585f590f8640c183"
|
||||
metro-bundler@^0.20.1:
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/metro-bundler/-/metro-bundler-0.20.2.tgz#6c4dc9ea24314d876c466103eff5d78d15646bb5"
|
||||
dependencies:
|
||||
absolute-path "^0.0.0"
|
||||
async "^2.4.0"
|
||||
@ -8564,7 +8564,8 @@ metro-bundler@^0.20.0:
|
||||
source-map "^0.5.6"
|
||||
temp "0.8.3"
|
||||
throat "^4.1.0"
|
||||
uglify-es "^3.1.0"
|
||||
uglify-es "^3.1.8"
|
||||
wordwrap "^1.0.0"
|
||||
write-file-atomic "^1.2.0"
|
||||
xpipe "^1.0.5"
|
||||
|
||||
@ -10210,9 +10211,13 @@ preserve@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
|
||||
|
||||
prettier@^1.7.0, prettier@^1.7.4:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.8.0.tgz#d9dc68277cf1ded816c8e8863ab47889c29ce9a6"
|
||||
prettier@^1.7.0:
|
||||
version "1.7.4"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.7.4.tgz#5e8624ae9363c80f95ec644584ecdf55d74f93fa"
|
||||
|
||||
prettier@^1.8.2:
|
||||
version "1.8.2"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.8.2.tgz#bff83e7fd573933c607875e5ba3abbdffb96aeb8"
|
||||
|
||||
pretty-bytes@^4.0.2:
|
||||
version "4.0.2"
|
||||
@ -10633,9 +10638,9 @@ react-docgen@^2.15.0:
|
||||
node-dir "^0.1.10"
|
||||
recast "^0.12.6"
|
||||
|
||||
react-dom@^16.0.0:
|
||||
version "16.0.0"
|
||||
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.0.0.tgz#9cc3079c3dcd70d4c6e01b84aab2a7e34c303f58"
|
||||
react-dom@^16.0.0, react-dom@^16.1.0:
|
||||
version "16.1.0"
|
||||
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.1.0.tgz#ab6fd2a285096f388aeba51919a573d06c9bdde4"
|
||||
dependencies:
|
||||
fbjs "^0.8.16"
|
||||
loose-envify "^1.1.0"
|
||||
@ -10705,7 +10710,7 @@ react-modal@^2.2.4:
|
||||
exenv "^1.2.0"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
react-modal@^3.1.0:
|
||||
react-modal@^3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.1.2.tgz#6e1fd656315d6fc62a1edda2b5aecc9752ac6bca"
|
||||
dependencies:
|
||||
@ -10718,9 +10723,13 @@ react-native-compat@^1.0.0:
|
||||
dependencies:
|
||||
prop-types "^15.5.10"
|
||||
|
||||
react-native@^0.50.1:
|
||||
version "0.50.1"
|
||||
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.50.1.tgz#3d8bb7c96dd3151788e795a22155d305f15abfd1"
|
||||
react-native-iphone-x-helper@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.0.1.tgz#950dbdaca66f458689a7e9697c5beb9bd53f98f2"
|
||||
|
||||
react-native@^0.50.3:
|
||||
version "0.50.3"
|
||||
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.50.3.tgz#91282bd5356cc7d794969cdc443cc764389b9af4"
|
||||
dependencies:
|
||||
absolute-path "^0.0.0"
|
||||
art "^0.10.0"
|
||||
@ -10748,7 +10757,7 @@ react-native@^0.50.1:
|
||||
graceful-fs "^4.1.3"
|
||||
inquirer "^3.0.6"
|
||||
lodash "^4.16.6"
|
||||
metro-bundler "^0.20.0"
|
||||
metro-bundler "^0.20.1"
|
||||
mime "^1.3.4"
|
||||
minimist "^1.2.0"
|
||||
mkdirp "^0.5.1"
|
||||
@ -10858,18 +10867,26 @@ react-style-proptype@^3.0.0:
|
||||
dependencies:
|
||||
prop-types "^15.5.4"
|
||||
|
||||
react-test-renderer@^16.0.0, react-test-renderer@^16.0.0-0:
|
||||
react-test-renderer@^16.0.0-0:
|
||||
version "16.0.0"
|
||||
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.0.0.tgz#9fe7b8308f2f71f29fc356d4102086f131c9cb15"
|
||||
dependencies:
|
||||
fbjs "^0.8.16"
|
||||
object-assign "^4.1.1"
|
||||
|
||||
react-textarea-autosize@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-5.1.0.tgz#ffbf8164fce217c79443c1c17dedf730592df224"
|
||||
react-test-renderer@^16.1.0:
|
||||
version "16.1.0"
|
||||
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.1.0.tgz#33a1d3ce896311e0dd1547649b1456ffa7fda415"
|
||||
dependencies:
|
||||
prop-types "^15.5.10"
|
||||
fbjs "^0.8.16"
|
||||
object-assign "^4.1.1"
|
||||
prop-types "^15.6.0"
|
||||
|
||||
react-textarea-autosize@^5.2.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-5.2.0.tgz#a5dba76149b658c2c5dcd3a25e5a0a96b9fe668e"
|
||||
dependencies:
|
||||
prop-types "^15.6.0"
|
||||
|
||||
react-timer-mixin@^0.13.2:
|
||||
version "0.13.3"
|
||||
@ -10903,9 +10920,9 @@ react-treebeard@^2.0.3:
|
||||
shallowequal "^0.2.2"
|
||||
velocity-react "^1.3.1"
|
||||
|
||||
react@^16.0.0:
|
||||
version "16.0.0"
|
||||
resolved "https://registry.yarnpkg.com/react/-/react-16.0.0.tgz#ce7df8f1941b036f02b2cca9dbd0cb1f0e855e2d"
|
||||
react@^16.0.0, react@^16.1.0:
|
||||
version "16.1.0"
|
||||
resolved "https://registry.yarnpkg.com/react/-/react-16.1.0.tgz#1c2bdac3c17fe7ee9282fa35aca6cc36387903e1"
|
||||
dependencies:
|
||||
fbjs "^0.8.16"
|
||||
loose-envify "^1.1.0"
|
||||
@ -13217,7 +13234,7 @@ ua-parser-js@^0.7.9:
|
||||
version "0.7.17"
|
||||
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac"
|
||||
|
||||
uglify-es@^3.1.0:
|
||||
uglify-es@^3.1.8:
|
||||
version "3.1.8"
|
||||
resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.1.8.tgz#2f21a56871d6354dcc21469cc034c3967f14c5b1"
|
||||
dependencies:
|
||||
@ -13713,13 +13730,17 @@ void-elements@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
|
||||
|
||||
vue-hot-reload-api@^2.1.1, vue-hot-reload-api@^2.2.0:
|
||||
vue-hot-reload-api@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.2.0.tgz#9a21b35ced3634434a43ee80efb7350ea8fb206d"
|
||||
|
||||
vue-loader@^13.4.0:
|
||||
version "13.4.0"
|
||||
resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-13.4.0.tgz#44aa7eef4fb1be89fbc37193ad33b8253417c4b9"
|
||||
vue-hot-reload-api@^2.2.3:
|
||||
version "2.2.3"
|
||||
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.2.3.tgz#43c8e5506d65a271d2571936d77253019fd3eb17"
|
||||
|
||||
vue-loader@^13.5.0:
|
||||
version "13.5.0"
|
||||
resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-13.5.0.tgz#52f7b3790a267eff80012b77ea187a54586dd5d4"
|
||||
dependencies:
|
||||
consolidate "^0.14.0"
|
||||
hash-sum "^1.0.2"
|
||||
@ -14087,14 +14108,14 @@ wordwrap@0.0.2:
|
||||
version "0.0.2"
|
||||
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
|
||||
|
||||
wordwrap@^1.0.0, wordwrap@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
|
||||
|
||||
wordwrap@~0.0.2:
|
||||
version "0.0.3"
|
||||
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
|
||||
|
||||
wordwrap@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
|
||||
|
||||
worker-farm@^1.3.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.5.1.tgz#8e9f4a7da4f3c595aa600903051b969390423fa1"
|
||||
@ -14196,9 +14217,17 @@ ws@^2.0.3:
|
||||
safe-buffer "~5.0.1"
|
||||
ultron "~1.1.0"
|
||||
|
||||
ws@^3.0.0, ws@^3.3.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.0.tgz#f8b948a1378af7efa702f5513da08dd516897c31"
|
||||
ws@^3.0.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-3.2.0.tgz#d5d3d6b11aff71e73f808f40cc69d52bb6d4a185"
|
||||
dependencies:
|
||||
async-limiter "~1.0.0"
|
||||
safe-buffer "~5.1.0"
|
||||
ultron "~1.1.0"
|
||||
|
||||
ws@^3.3.1:
|
||||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.1.tgz#d97e34dee06a1190c61ac1e95f43cb60b78cf939"
|
||||
dependencies:
|
||||
async-limiter "~1.0.0"
|
||||
safe-buffer "~5.1.0"
|
||||
|
Loading…
x
Reference in New Issue
Block a user