mirror of
https://github.com/storybookjs/storybook.git
synced 2025-04-08 11:11:53 +08:00
Pulled upstream. Resolved conflicts.
This commit is contained in:
commit
80705e9680
@ -27,7 +27,7 @@
|
||||
"dependencies": {
|
||||
"@storybook/components": "^3.4.0-alpha.8",
|
||||
"axe-core": "^2.6.1",
|
||||
"glamorous": "^4.11.4",
|
||||
"glamorous": "^4.11.5",
|
||||
"prop-types": "^15.6.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@ -24,7 +24,7 @@
|
||||
"dependencies": {
|
||||
"global": "^4.3.2",
|
||||
"graphiql": "^0.11.11",
|
||||
"graphql": "^0.13.0",
|
||||
"graphql": "^0.13.1",
|
||||
"prop-types": "^15.6.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@ -18,7 +18,7 @@
|
||||
"@storybook/client-logger": "^3.4.0-alpha.8",
|
||||
"@storybook/components": "^3.4.0-alpha.8",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"glamorous": "^4.11.4",
|
||||
"glamorous": "^4.11.5",
|
||||
"global": "^4.3.2",
|
||||
"marksy": "^6.0.3",
|
||||
"nested-object-assign": "^1.0.1",
|
||||
|
@ -27,7 +27,7 @@
|
||||
"dependencies": {
|
||||
"@storybook/components": "^3.4.0-alpha.8",
|
||||
"glamor": "^2.20.40",
|
||||
"glamorous": "^4.11.4",
|
||||
"glamorous": "^4.11.5",
|
||||
"global": "^4.3.2",
|
||||
"prop-types": "^15.6.0"
|
||||
},
|
||||
|
@ -30,7 +30,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"raw-loader": "^0.5.1",
|
||||
"style-loader": "^0.20.1",
|
||||
"style-loader": "^0.20.2",
|
||||
"vue": "^2.5.13"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@ -74,7 +74,7 @@
|
||||
"request": "^2.81.0",
|
||||
"rxjs": "^5.4.2",
|
||||
"sass-loader": "^6.0.6",
|
||||
"style-loader": "^0.20.1",
|
||||
"style-loader": "^0.20.2",
|
||||
"ts-loader": "^2.2.2",
|
||||
"uglifyjs-webpack-plugin": "^1.1.7",
|
||||
"url-loader": "^0.6.2",
|
||||
@ -88,8 +88,8 @@
|
||||
"babel-plugin-transform-decorators-legacy": "^1.3.4",
|
||||
"codelyzer": "^4.1.0",
|
||||
"mock-fs": "^4.3.0",
|
||||
"nodemon": "^1.14.12",
|
||||
"typescript": "^2.7.1"
|
||||
"nodemon": "^1.15.0",
|
||||
"typescript": "^2.7.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": ">=4.0.0",
|
||||
|
@ -71,7 +71,7 @@
|
||||
"react-modal": "^3.2.1",
|
||||
"redux": "^3.7.2",
|
||||
"request": "^2.83.0",
|
||||
"style-loader": "^0.20.1",
|
||||
"style-loader": "^0.20.2",
|
||||
"uglifyjs-webpack-plugin": "^1.1.7",
|
||||
"url-loader": "^0.6.2",
|
||||
"util-deprecate": "^1.0.2",
|
||||
@ -79,6 +79,6 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-cli": "^6.26.0",
|
||||
"nodemon": "^1.14.12"
|
||||
"nodemon": "^1.15.0"
|
||||
}
|
||||
}
|
||||
|
@ -62,7 +62,7 @@
|
||||
"react-native-compat": "^1.0.0",
|
||||
"react-native-iphone-x-helper": "^1.0.2",
|
||||
"shelljs": "^0.8.1",
|
||||
"style-loader": "^0.20.1",
|
||||
"style-loader": "^0.20.2",
|
||||
"uglifyjs-webpack-plugin": "^1.1.7",
|
||||
"url-loader": "^0.6.2",
|
||||
"url-parse": "^1.1.9",
|
||||
|
@ -54,7 +54,7 @@
|
||||
"file-loader": "^1.1.6",
|
||||
"find-cache-dir": "^1.0.0",
|
||||
"glamor": "^2.20.40",
|
||||
"glamorous": "^4.11.4",
|
||||
"glamorous": "^4.11.5",
|
||||
"global": "^4.3.2",
|
||||
"html-loader": "^0.5.5",
|
||||
"html-webpack-plugin": "^2.30.1",
|
||||
@ -71,14 +71,14 @@
|
||||
"react-dev-utils": "^5.0.0",
|
||||
"redux": "^3.7.2",
|
||||
"request": "^2.83.0",
|
||||
"style-loader": "^0.20.1",
|
||||
"style-loader": "^0.20.2",
|
||||
"uglifyjs-webpack-plugin": "^1.1.7",
|
||||
"url-loader": "^0.6.2",
|
||||
"util-deprecate": "^1.0.2",
|
||||
"webpack": "^3.11.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^1.14.12"
|
||||
"nodemon": "^1.15.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"babel-core": "^6.26.0 || ^7.0.0-0",
|
||||
|
@ -67,7 +67,7 @@
|
||||
"react-dom": "^16.2.0",
|
||||
"redux": "^3.7.2",
|
||||
"request": "^2.83.0",
|
||||
"style-loader": "^0.20.1",
|
||||
"style-loader": "^0.20.2",
|
||||
"uglifyjs-webpack-plugin": "^1.1.7",
|
||||
"url-loader": "^0.6.2",
|
||||
"util-deprecate": "^1.0.2",
|
||||
@ -76,7 +76,7 @@
|
||||
"webpack": "^3.11.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^1.14.12",
|
||||
"nodemon": "^1.15.0",
|
||||
"vue": "^2.5.13",
|
||||
"vue-loader": "^13.7.1",
|
||||
"vue-template-compiler": "^2.5.13"
|
||||
|
@ -34,6 +34,7 @@ collectors:
|
||||
versions: "L.Y.Y"
|
||||
settings:
|
||||
batch_mode: true
|
||||
batch_bootstrap: true
|
||||
bootstrap_command: yarn --ignore-scripts --ignore-engines --silent
|
||||
github_labels:
|
||||
- dependencies:update
|
||||
|
@ -31,20 +31,20 @@
|
||||
"babel-preset-react": "^6.24.1",
|
||||
"babel-preset-stage-0": "^6.24.1",
|
||||
"bootstrap": "^3.3.7",
|
||||
"gatsby": "^1.9.199",
|
||||
"gatsby": "^1.9.201",
|
||||
"gatsby-link": "^1.6.37",
|
||||
"gatsby-plugin-sharp": "^1.6.28",
|
||||
"gatsby-plugin-sharp": "^1.6.29",
|
||||
"gatsby-remark-autolink-headers": "^1.4.12",
|
||||
"gatsby-remark-copy-linked-files": "^1.5.27",
|
||||
"gatsby-remark-images": "^1.5.44",
|
||||
"gatsby-remark-images": "^1.5.45",
|
||||
"gatsby-remark-smartypants": "^1.4.11",
|
||||
"gatsby-source-filesystem": "^1.5.19",
|
||||
"gatsby-source-filesystem": "^1.5.20",
|
||||
"gatsby-transformer-remark": "^1.7.32",
|
||||
"gh-pages": "^1.1.0",
|
||||
"global": "^4.3.2",
|
||||
"highlight.js": "^9.12.0",
|
||||
"lodash": "^4.17.5",
|
||||
"marked": "^0.3.12",
|
||||
"marked": "^0.3.14",
|
||||
"prop-types": "^15.6.0",
|
||||
"react": "^15.6.1",
|
||||
"react-document-title": "^2.0.3",
|
||||
|
@ -4395,9 +4395,9 @@ gatsby-module-loader@^1.0.10:
|
||||
babel-runtime "^6.26.0"
|
||||
loader-utils "^0.2.16"
|
||||
|
||||
gatsby-plugin-sharp@^1.6.28:
|
||||
version "1.6.28"
|
||||
resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-1.6.28.tgz#4f485f4be15d2e64a7876455aea1fc9ed80b05a7"
|
||||
gatsby-plugin-sharp@^1.6.29:
|
||||
version "1.6.29"
|
||||
resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-1.6.29.tgz#6e1df0ea3ac165decd579e574b8e53e49b6c787f"
|
||||
dependencies:
|
||||
async "^2.1.2"
|
||||
babel-runtime "^6.26.0"
|
||||
@ -4442,13 +4442,13 @@ gatsby-remark-copy-linked-files@^1.5.27:
|
||||
path-is-inside "^1.0.2"
|
||||
unist-util-visit "^1.1.1"
|
||||
|
||||
gatsby-remark-images@^1.5.44:
|
||||
version "1.5.44"
|
||||
resolved "https://registry.yarnpkg.com/gatsby-remark-images/-/gatsby-remark-images-1.5.44.tgz#19c0cdbb8fbe49c2b3f3e76d02994af8bb57d586"
|
||||
gatsby-remark-images@^1.5.45:
|
||||
version "1.5.45"
|
||||
resolved "https://registry.yarnpkg.com/gatsby-remark-images/-/gatsby-remark-images-1.5.45.tgz#d6b90b1134c7fada5ae4a39efe6c26f33f0c0e13"
|
||||
dependencies:
|
||||
babel-runtime "^6.26.0"
|
||||
cheerio "^1.0.0-rc.2"
|
||||
gatsby-plugin-sharp "^1.6.28"
|
||||
gatsby-plugin-sharp "^1.6.29"
|
||||
is-relative-url "^2.0.0"
|
||||
lodash "^4.17.4"
|
||||
slash "^1.0.0"
|
||||
@ -4463,9 +4463,9 @@ gatsby-remark-smartypants@^1.4.11:
|
||||
retext-smartypants "^2.0.0"
|
||||
unist-util-visit "^1.1.1"
|
||||
|
||||
gatsby-source-filesystem@^1.5.19:
|
||||
version "1.5.19"
|
||||
resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-1.5.19.tgz#bce5596d525f2098624a0c99c27d956fcb753c3d"
|
||||
gatsby-source-filesystem@^1.5.20:
|
||||
version "1.5.20"
|
||||
resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-1.5.20.tgz#5f5bc8989497795adee7302451174ef5eaf6086d"
|
||||
dependencies:
|
||||
babel-cli "^6.26.0"
|
||||
babel-runtime "^6.26.0"
|
||||
@ -4504,9 +4504,9 @@ gatsby-transformer-remark@^1.7.32:
|
||||
unist-util-select "^1.5.0"
|
||||
unist-util-visit "^1.1.1"
|
||||
|
||||
gatsby@^1.9.199:
|
||||
version "1.9.199"
|
||||
resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-1.9.199.tgz#8d23dcd1d3b33d012074cc8a439174dfc5a700f6"
|
||||
gatsby@^1.9.201:
|
||||
version "1.9.201"
|
||||
resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-1.9.201.tgz#792ed6dfd8e75ad89bb6c8e1fe262b493f88eb7d"
|
||||
dependencies:
|
||||
async "^2.1.2"
|
||||
babel-code-frame "^6.22.0"
|
||||
@ -6730,9 +6730,9 @@ markdown-table@^1.1.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.1.tgz#4b3dd3a133d1518b8ef0dbc709bf2a1b4824bc8c"
|
||||
|
||||
marked@^0.3.12:
|
||||
version "0.3.12"
|
||||
resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.12.tgz#7cf25ff2252632f3fe2406bde258e94eee927519"
|
||||
marked@^0.3.14:
|
||||
version "0.3.14"
|
||||
resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.14.tgz#42375c23e206b95fdd497dd1d2f33ae4d1cf3d6c"
|
||||
|
||||
marked@^0.3.6:
|
||||
version "0.3.9"
|
||||
|
@ -4,3 +4,4 @@ import '@storybook/addon-actions/register';
|
||||
import '@storybook/addon-links/register';
|
||||
import '@storybook/addon-notes/register';
|
||||
import '@storybook/addon-knobs/register';
|
||||
import '@storybook/addon-options/register';
|
||||
|
@ -1,15 +1,20 @@
|
||||
import { configure } from '@storybook/angular';
|
||||
import { setOptions } from '@storybook/addon-options';
|
||||
import addCssWarning from '../src/cssWarning';
|
||||
|
||||
addCssWarning();
|
||||
|
||||
setOptions({
|
||||
hierarchyRootSeparator: /\|/,
|
||||
});
|
||||
|
||||
function loadStories() {
|
||||
// put welcome screen at the top of the list so it's the first one displayed
|
||||
require('../src/stories');
|
||||
|
||||
// automatically import all story ts files that end with *.stories.ts
|
||||
const req = require.context('../src/stories', true, /\.stories\.ts$/)
|
||||
req.keys().forEach((filename) => req(filename))
|
||||
const req = require.context('../src/stories', true, /\.stories\.ts$/);
|
||||
req.keys().forEach((filename) => req(filename));
|
||||
}
|
||||
|
||||
configure(loadStories, module);
|
||||
|
@ -27,12 +27,13 @@
|
||||
"zone.js": "^0.8.20"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular/cli": "1.6.8",
|
||||
"@angular/cli": "1.7.0",
|
||||
"@angular/compiler-cli": "^5.2.5",
|
||||
"@angular/language-service": "^5.2.5",
|
||||
"@storybook/addon-actions": "^3.4.0-alpha.8",
|
||||
"@storybook/addon-links": "^3.4.0-alpha.8",
|
||||
"@storybook/addon-notes": "^3.4.0-alpha.8",
|
||||
"@storybook/addon-options": "^3.4.0-alpha.8",
|
||||
"@storybook/addon-storyshots": "^3.4.0-alpha.8",
|
||||
"@storybook/addons": "^3.4.0-alpha.8",
|
||||
"@storybook/angular": "^3.4.0-alpha.8",
|
||||
@ -49,6 +50,6 @@
|
||||
"karma-jasmine-html-reporter": "^0.2.2",
|
||||
"protractor": "~5.3.0",
|
||||
"ts-node": "~4.1.0",
|
||||
"typescript": "^2.7.1"
|
||||
"typescript": "^2.7.2"
|
||||
}
|
||||
}
|
||||
|
@ -1,28 +1,6 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Addon Actions Action and method 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-button-component
|
||||
_nghost-c5=""
|
||||
>
|
||||
|
||||
|
||||
<button
|
||||
_ngcontent-c5=""
|
||||
>
|
||||
Action and Method
|
||||
</button>
|
||||
|
||||
|
||||
</storybook-button-component>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Addon Actions Action only 1`] = `
|
||||
exports[`Storyshots Addon|Actions Action and method 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
@ -35,6 +13,28 @@ exports[`Storyshots Addon Actions Action only 1`] = `
|
||||
|
||||
<button
|
||||
_ngcontent-c4=""
|
||||
>
|
||||
Action and Method
|
||||
</button>
|
||||
|
||||
|
||||
</storybook-button-component>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Addon|Actions Action only 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-button-component
|
||||
_nghost-c3=""
|
||||
>
|
||||
|
||||
|
||||
<button
|
||||
_ngcontent-c3=""
|
||||
>
|
||||
Action only
|
||||
</button>
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Addon Knobs All knobs 1`] = `
|
||||
exports[`Storyshots Addon|Knobs All knobs 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
@ -84,7 +84,7 @@ exports[`Storyshots Addon Knobs All knobs 1`] = `
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Addon Knobs Simple 1`] = `
|
||||
exports[`Storyshots Addon|Knobs Simple 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
|
@ -1,18 +1,18 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Another Button button with link to another story 1`] = `
|
||||
exports[`Storyshots Addon|Links button with link to another story 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-button-component
|
||||
_nghost-c6=""
|
||||
_nghost-c5=""
|
||||
>
|
||||
|
||||
|
||||
<button
|
||||
_ngcontent-c6=""
|
||||
_ngcontent-c5=""
|
||||
>
|
||||
Go to Welcome Story
|
||||
</button>
|
||||
|
@ -1,28 +1,6 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Addon Notes Note with HTML 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-button-component
|
||||
_nghost-c8=""
|
||||
>
|
||||
|
||||
|
||||
<button
|
||||
_ngcontent-c8=""
|
||||
>
|
||||
Notes with HTML
|
||||
</button>
|
||||
|
||||
|
||||
</storybook-button-component>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Addon Notes Simple note 1`] = `
|
||||
exports[`Storyshots Addon|Notes Note with HTML 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
@ -35,6 +13,28 @@ exports[`Storyshots Addon Notes Simple note 1`] = `
|
||||
|
||||
<button
|
||||
_ngcontent-c7=""
|
||||
>
|
||||
Notes with HTML
|
||||
</button>
|
||||
|
||||
|
||||
</storybook-button-component>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Addon|Notes Simple note 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-button-component
|
||||
_nghost-c6=""
|
||||
>
|
||||
|
||||
|
||||
<button
|
||||
_ngcontent-c6=""
|
||||
>
|
||||
Notes on some Button
|
||||
</button>
|
||||
|
@ -0,0 +1,21 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Custom|ng-content Default 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<ng-component>
|
||||
<storybook-with-ng-content>
|
||||
<div
|
||||
style="color: #1e88e5;"
|
||||
>
|
||||
<h1>
|
||||
This is rendered in ng-content
|
||||
</h1>
|
||||
</div>
|
||||
</storybook-with-ng-content>
|
||||
</ng-component>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
@ -0,0 +1,29 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Custom|Pipes Simple 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-name>
|
||||
<h1>
|
||||
CustomPipe: foobar
|
||||
</h1>
|
||||
</storybook-name>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom|Pipes With Knobs 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-name>
|
||||
<h1>
|
||||
CustomPipe: foobar
|
||||
</h1>
|
||||
</storybook-name>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
@ -1,34 +1,6 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Custom Pipe Default 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-name>
|
||||
<h1>
|
||||
CustomPipe: foobar
|
||||
</h1>
|
||||
</storybook-name>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom Pipe/With Knobs NameComponent 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-name>
|
||||
<h1>
|
||||
CustomPipe: foobar
|
||||
</h1>
|
||||
</storybook-name>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom ngModule metadata simple 1`] = `
|
||||
exports[`Storyshots Custom|Providers Simple 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
@ -55,7 +27,7 @@ exports[`Storyshots Custom ngModule metadata simple 1`] = `
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom ngModule metadata with knobs 1`] = `
|
||||
exports[`Storyshots Custom|Providers With knobs 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
@ -1,6 +1,6 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Custom Style Default 1`] = `
|
||||
exports[`Storyshots Custom|Style Default 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
@ -8,13 +8,13 @@ exports[`Storyshots Custom Style Default 1`] = `
|
||||
>
|
||||
<ng-component>
|
||||
<storybook-button-component
|
||||
_nghost-c9=""
|
||||
_nghost-c8=""
|
||||
ng-reflect-text="Button with custom styles"
|
||||
>
|
||||
|
||||
|
||||
<button
|
||||
_ngcontent-c9=""
|
||||
_ngcontent-c8=""
|
||||
>
|
||||
Button with custom styles
|
||||
</button>
|
||||
@ -25,24 +25,24 @@ exports[`Storyshots Custom Style Default 1`] = `
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom Style With Knobs 1`] = `
|
||||
exports[`Storyshots Custom|Style With Knobs 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<ng-component
|
||||
_nghost-c10=""
|
||||
_nghost-c9=""
|
||||
>
|
||||
<storybook-button-component
|
||||
_ngcontent-c10=""
|
||||
_nghost-c11=""
|
||||
_ngcontent-c9=""
|
||||
_nghost-c10=""
|
||||
ng-reflect-text="Button with custom styles"
|
||||
>
|
||||
|
||||
|
||||
<button
|
||||
_ngcontent-c11=""
|
||||
_ngcontent-c10=""
|
||||
>
|
||||
Button with custom styles
|
||||
</button>
|
||||
|
@ -6,19 +6,22 @@ exports[`Storyshots Button with some emoji 1`] = `
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-button-component
|
||||
_nghost-c3=""
|
||||
>
|
||||
|
||||
|
||||
<button
|
||||
_ngcontent-c3=""
|
||||
<ng-component>
|
||||
<storybook-button-component
|
||||
_nghost-c2=""
|
||||
ng-reflect-text="😀 😎 👍 💯"
|
||||
>
|
||||
😀 😎 👍 💯
|
||||
</button>
|
||||
|
||||
|
||||
<button
|
||||
_ngcontent-c2=""
|
||||
>
|
||||
😀 😎 👍 💯
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
</storybook-button-component>
|
||||
</storybook-button-component>
|
||||
</ng-component>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
@ -29,13 +32,6 @@ exports[`Storyshots Button with text 1`] = `
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<ng-component>
|
||||
|
||||
|
||||
<h1>
|
||||
This is a template
|
||||
</h1>
|
||||
|
||||
|
||||
<storybook-button-component
|
||||
_nghost-c1=""
|
||||
ng-reflect-text="Hello Button"
|
||||
@ -50,39 +46,48 @@ exports[`Storyshots Button with text 1`] = `
|
||||
|
||||
|
||||
</storybook-button-component>
|
||||
|
||||
|
||||
</ng-component>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Welcome to Storybook 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<ng-component>
|
||||
<storybook-welcome-component
|
||||
_nghost-c2=""
|
||||
_nghost-c0=""
|
||||
>
|
||||
|
||||
|
||||
<main
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
|
||||
|
||||
<h1
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
Welcome to storybook
|
||||
</h1>
|
||||
|
||||
|
||||
<p
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
This is a UI component dev environment for your app.
|
||||
</p>
|
||||
|
||||
|
||||
<p
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
|
||||
We've added some basic stories inside the
|
||||
<span
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
class="inline-code"
|
||||
>
|
||||
src/stories
|
||||
@ -90,14 +95,14 @@ exports[`Storyshots Button with text 1`] = `
|
||||
directory.
|
||||
|
||||
<br
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
/>
|
||||
|
||||
A story is a single state of one or more UI components. You can have as many stories as
|
||||
you want.
|
||||
|
||||
<br
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
/>
|
||||
|
||||
(Basically a story is like a visual test case.)
|
||||
@ -106,12 +111,12 @@ exports[`Storyshots Button with text 1`] = `
|
||||
|
||||
|
||||
<p
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
|
||||
See these sample
|
||||
<a
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
role="button"
|
||||
tabindex="0"
|
||||
>
|
||||
@ -120,7 +125,7 @@ exports[`Storyshots Button with text 1`] = `
|
||||
for a component called
|
||||
|
||||
<span
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
class="inline-code"
|
||||
>
|
||||
Button
|
||||
@ -131,24 +136,24 @@ exports[`Storyshots Button with text 1`] = `
|
||||
|
||||
|
||||
<p
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
|
||||
Just like that, you can add your own components as stories.
|
||||
|
||||
<br
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
/>
|
||||
|
||||
You can also edit those components and see changes right away.
|
||||
|
||||
<br
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
/>
|
||||
|
||||
(Try editing the
|
||||
<span
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
class="inline-code"
|
||||
>
|
||||
Button
|
||||
@ -156,7 +161,7 @@ exports[`Storyshots Button with text 1`] = `
|
||||
stories
|
||||
located at
|
||||
<span
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
class="inline-code"
|
||||
>
|
||||
src/stories/index.js
|
||||
@ -167,17 +172,17 @@ exports[`Storyshots Button with text 1`] = `
|
||||
|
||||
|
||||
<p
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
|
||||
Usually we create stories with smaller UI components in the app.
|
||||
<br
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
/>
|
||||
|
||||
Have a look at the
|
||||
<a
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
href="https://storybook.js.org/basics/writing-stories"
|
||||
rel="noopener noreferrer"
|
||||
target="_blank"
|
||||
@ -192,25 +197,25 @@ exports[`Storyshots Button with text 1`] = `
|
||||
|
||||
|
||||
<p
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
class="note"
|
||||
>
|
||||
|
||||
|
||||
<b
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
NOTE:
|
||||
</b>
|
||||
|
||||
|
||||
<br
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
/>
|
||||
|
||||
Have a look at the
|
||||
<span
|
||||
_ngcontent-c2=""
|
||||
_ngcontent-c0=""
|
||||
class="inline-code"
|
||||
>
|
||||
.storybook/webpack.config.js
|
||||
@ -225,190 +230,6 @@ exports[`Storyshots Button with text 1`] = `
|
||||
|
||||
|
||||
</storybook-welcome-component>
|
||||
|
||||
|
||||
</ng-component>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Welcome to Storybook 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-welcome-component
|
||||
_nghost-c0=""
|
||||
>
|
||||
|
||||
|
||||
<main
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
|
||||
|
||||
<h1
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
Welcome to storybook
|
||||
</h1>
|
||||
|
||||
|
||||
<p
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
This is a UI component dev environment for your app.
|
||||
</p>
|
||||
|
||||
|
||||
<p
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
|
||||
We've added some basic stories inside the
|
||||
<span
|
||||
_ngcontent-c0=""
|
||||
class="inline-code"
|
||||
>
|
||||
src/stories
|
||||
</span>
|
||||
directory.
|
||||
|
||||
<br
|
||||
_ngcontent-c0=""
|
||||
/>
|
||||
|
||||
A story is a single state of one or more UI components. You can have as many stories as
|
||||
you want.
|
||||
|
||||
<br
|
||||
_ngcontent-c0=""
|
||||
/>
|
||||
|
||||
(Basically a story is like a visual test case.)
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
<p
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
|
||||
See these sample
|
||||
<a
|
||||
_ngcontent-c0=""
|
||||
role="button"
|
||||
tabindex="0"
|
||||
>
|
||||
stories
|
||||
</a>
|
||||
for a component called
|
||||
|
||||
<span
|
||||
_ngcontent-c0=""
|
||||
class="inline-code"
|
||||
>
|
||||
Button
|
||||
</span>
|
||||
.
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
<p
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
|
||||
Just like that, you can add your own components as stories.
|
||||
|
||||
<br
|
||||
_ngcontent-c0=""
|
||||
/>
|
||||
|
||||
You can also edit those components and see changes right away.
|
||||
|
||||
<br
|
||||
_ngcontent-c0=""
|
||||
/>
|
||||
|
||||
(Try editing the
|
||||
<span
|
||||
_ngcontent-c0=""
|
||||
class="inline-code"
|
||||
>
|
||||
Button
|
||||
</span>
|
||||
stories
|
||||
located at
|
||||
<span
|
||||
_ngcontent-c0=""
|
||||
class="inline-code"
|
||||
>
|
||||
src/stories/index.js
|
||||
</span>
|
||||
.)
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
<p
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
|
||||
Usually we create stories with smaller UI components in the app.
|
||||
<br
|
||||
_ngcontent-c0=""
|
||||
/>
|
||||
|
||||
Have a look at the
|
||||
<a
|
||||
_ngcontent-c0=""
|
||||
href="https://storybook.js.org/basics/writing-stories"
|
||||
rel="noopener noreferrer"
|
||||
target="_blank"
|
||||
>
|
||||
|
||||
Writing Stories
|
||||
|
||||
</a>
|
||||
section in our documentation.
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
<p
|
||||
_ngcontent-c0=""
|
||||
class="note"
|
||||
>
|
||||
|
||||
|
||||
<b
|
||||
_ngcontent-c0=""
|
||||
>
|
||||
NOTE:
|
||||
</b>
|
||||
|
||||
|
||||
<br
|
||||
_ngcontent-c0=""
|
||||
/>
|
||||
|
||||
Have a look at the
|
||||
<span
|
||||
_ngcontent-c0=""
|
||||
class="inline-code"
|
||||
>
|
||||
.storybook/webpack.config.js
|
||||
</span>
|
||||
|
||||
to add webpack loaders and plugins you are using in this project.
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
|
||||
</storybook-welcome-component>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
@ -2,7 +2,7 @@ import { storiesOf } from '@storybook/angular';
|
||||
import { action } from '@storybook/addon-actions';
|
||||
import { Button } from '@storybook/angular/demo';
|
||||
|
||||
storiesOf('Addon Actions', module)
|
||||
storiesOf('Addon|Actions', module)
|
||||
.add('Action only', () => ({
|
||||
component: Button,
|
||||
props: {
|
||||
|
@ -16,7 +16,7 @@ import {
|
||||
import { SimpleKnobsComponent } from './knobs.component';
|
||||
import { AllKnobsComponent } from './all-knobs.component';
|
||||
|
||||
storiesOf('Addon Knobs', module)
|
||||
storiesOf('Addon|Knobs', module)
|
||||
.addDecorator(withKnobs)
|
||||
.add('Simple', () => {
|
||||
const name = text('name', 'John Doe');
|
||||
|
@ -2,7 +2,7 @@ import { linkTo } from '@storybook/addon-links';
|
||||
import { storiesOf } from '@storybook/angular';
|
||||
import { Button } from '@storybook/angular/demo';
|
||||
|
||||
storiesOf('Another Button', module).add('button with link to another story', () => ({
|
||||
storiesOf('Addon|Links', module).add('button with link to another story', () => ({
|
||||
component: Button,
|
||||
props: {
|
||||
text: 'Go to Welcome Story',
|
||||
|
@ -2,7 +2,7 @@ import { storiesOf } from '@storybook/angular';
|
||||
import { withNotes } from '@storybook/addon-notes';
|
||||
import { Button } from '@storybook/angular/demo';
|
||||
|
||||
storiesOf('Addon Notes', module)
|
||||
storiesOf('Addon|Notes', module)
|
||||
.add(
|
||||
'Simple note',
|
||||
withNotes({ text: 'My notes on some button' })(() => ({
|
||||
|
@ -89,3 +89,93 @@ exports[`Storyshots Component dependencies inputs and inject dependencies with k
|
||||
</storybook-di-component>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom|Dependencies inputs and inject dependencies 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-di-component>
|
||||
<div>
|
||||
|
||||
|
||||
<div>
|
||||
All dependencies are defined: true
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
Title: Component dependencies
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
Injector: function Injector_(view, elDef) {
|
||||
this.view = view;
|
||||
this.elDef = elDef;
|
||||
}
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
ElementRef: {"nativeElement":{}}
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
TestToken: 123
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</storybook-di-component>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom|Dependencies inputs and inject dependencies with knobs 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-di-component>
|
||||
<div>
|
||||
|
||||
|
||||
<div>
|
||||
All dependencies are defined: true
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
Title: Component dependencies
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
Injector: function Injector_(view, elDef) {
|
||||
this.view = view;
|
||||
this.elDef = elDef;
|
||||
}
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
ElementRef: {"nativeElement":{}}
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
TestToken: 123
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</storybook-di-component>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
@ -2,7 +2,7 @@ import { storiesOf } from '@storybook/angular';
|
||||
import { withKnobs, text } from '@storybook/addon-knobs/angular';
|
||||
import { DiComponent } from './di.component';
|
||||
|
||||
storiesOf('Component dependencies', module)
|
||||
storiesOf('Custom|Dependencies', module)
|
||||
.add('inputs and inject dependencies', () => ({
|
||||
component: DiComponent,
|
||||
props: {
|
||||
|
@ -37,3 +37,41 @@ exports[`Storyshots Component styles Component with styles 1`] = `
|
||||
</storybook-styled-component>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom|styleUrls Component with styles 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-styled-component>
|
||||
<div>
|
||||
|
||||
|
||||
<p
|
||||
class="red-color"
|
||||
>
|
||||
Styled with scoped CSS
|
||||
</p>
|
||||
|
||||
|
||||
<p
|
||||
class="blue-color"
|
||||
>
|
||||
Styled with scoped SCSS
|
||||
</p>
|
||||
|
||||
|
||||
<p
|
||||
class="green-color"
|
||||
>
|
||||
Styled with global CSS
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</storybook-styled-component>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { storiesOf } from '@storybook/angular';
|
||||
import { StyledComponent } from './styled.component';
|
||||
|
||||
storiesOf('Component styles', module).add('Component with styles', () => ({
|
||||
storiesOf('Custom|styleUrls', module).add('Component with styles', () => ({
|
||||
component: StyledComponent,
|
||||
}));
|
||||
|
@ -1,66 +0,0 @@
|
||||
import { storiesOf } from '@storybook/angular';
|
||||
import { withKnobs, text } from '@storybook/addon-knobs/angular';
|
||||
|
||||
import { NameComponent } from './moduleMetadata/name.component';
|
||||
import { CustomPipePipe } from './moduleMetadata/custom.pipe';
|
||||
import { DummyService } from './moduleMetadata/dummy.service';
|
||||
import { ServiceComponent } from './moduleMetadata/service.component';
|
||||
|
||||
storiesOf('Custom Pipe', module).add('Default', () => ({
|
||||
component: NameComponent,
|
||||
props: {
|
||||
field: 'foobar',
|
||||
},
|
||||
moduleMetadata: {
|
||||
imports: [],
|
||||
schemas: [],
|
||||
declarations: [CustomPipePipe],
|
||||
providers: [],
|
||||
},
|
||||
}));
|
||||
|
||||
storiesOf('Custom Pipe/With Knobs', module)
|
||||
.addDecorator(withKnobs)
|
||||
.add('NameComponent', () => ({
|
||||
component: NameComponent,
|
||||
props: {
|
||||
field: text('field', 'foobar'),
|
||||
},
|
||||
moduleMetadata: {
|
||||
imports: [],
|
||||
schemas: [],
|
||||
declarations: [CustomPipePipe],
|
||||
providers: [],
|
||||
},
|
||||
}));
|
||||
|
||||
storiesOf('Custom ngModule metadata', module)
|
||||
.add('simple', () => ({
|
||||
component: ServiceComponent,
|
||||
props: {
|
||||
name: 'Static name',
|
||||
},
|
||||
moduleMetadata: {
|
||||
imports: [],
|
||||
schemas: [],
|
||||
declarations: [],
|
||||
providers: [DummyService],
|
||||
},
|
||||
}))
|
||||
.addDecorator(withKnobs)
|
||||
.add('with knobs', () => {
|
||||
const name = text('name', 'Dynamic knob');
|
||||
|
||||
return {
|
||||
component: ServiceComponent,
|
||||
props: {
|
||||
name,
|
||||
},
|
||||
moduleMetadata: {
|
||||
imports: [],
|
||||
schemas: [],
|
||||
declarations: [],
|
||||
providers: [DummyService],
|
||||
},
|
||||
};
|
||||
});
|
@ -0,0 +1,15 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { storiesOf } from '@storybook/angular';
|
||||
|
||||
@Component({
|
||||
selector: 'storybook-with-ng-content',
|
||||
template: `<div style="color: #1e88e5;"><ng-content></ng-content></div>`,
|
||||
})
|
||||
class WithNgContentComponent {}
|
||||
|
||||
storiesOf('Custom|ng-content', module).add('Default', () => ({
|
||||
template: `<storybook-with-ng-content><h1>This is rendered in ng-content</h1></storybook-with-ng-content>`,
|
||||
moduleMetadata: {
|
||||
declarations: [WithNgContentComponent],
|
||||
},
|
||||
}));
|
32
examples/angular-cli/src/stories/custom-pipes.stories.ts
Normal file
32
examples/angular-cli/src/stories/custom-pipes.stories.ts
Normal file
@ -0,0 +1,32 @@
|
||||
import { storiesOf } from '@storybook/angular';
|
||||
import { withKnobs, text } from '@storybook/addon-knobs/angular';
|
||||
|
||||
import { NameComponent } from './moduleMetadata/name.component';
|
||||
import { CustomPipePipe } from './moduleMetadata/custom.pipe';
|
||||
|
||||
storiesOf('Custom|Pipes', module)
|
||||
.add('Simple', () => ({
|
||||
component: NameComponent,
|
||||
props: {
|
||||
field: 'foobar',
|
||||
},
|
||||
moduleMetadata: {
|
||||
imports: [],
|
||||
schemas: [],
|
||||
declarations: [CustomPipePipe],
|
||||
providers: [],
|
||||
},
|
||||
}))
|
||||
.addDecorator(withKnobs)
|
||||
.add('With Knobs', () => ({
|
||||
component: NameComponent,
|
||||
props: {
|
||||
field: text('field', 'foobar'),
|
||||
},
|
||||
moduleMetadata: {
|
||||
imports: [],
|
||||
schemas: [],
|
||||
declarations: [CustomPipePipe],
|
||||
providers: [],
|
||||
},
|
||||
}));
|
36
examples/angular-cli/src/stories/custom-providers.stories.ts
Normal file
36
examples/angular-cli/src/stories/custom-providers.stories.ts
Normal file
@ -0,0 +1,36 @@
|
||||
import { storiesOf } from '@storybook/angular';
|
||||
import { withKnobs, text } from '@storybook/addon-knobs/angular';
|
||||
|
||||
import { DummyService } from './moduleMetadata/dummy.service';
|
||||
import { ServiceComponent } from './moduleMetadata/service.component';
|
||||
|
||||
storiesOf('Custom|Providers', module)
|
||||
.add('Simple', () => ({
|
||||
component: ServiceComponent,
|
||||
props: {
|
||||
name: 'Static name',
|
||||
},
|
||||
moduleMetadata: {
|
||||
imports: [],
|
||||
schemas: [],
|
||||
declarations: [],
|
||||
providers: [DummyService],
|
||||
},
|
||||
}))
|
||||
.addDecorator(withKnobs)
|
||||
.add('With knobs', () => {
|
||||
const name = text('name', 'Dynamic knob');
|
||||
|
||||
return {
|
||||
component: ServiceComponent,
|
||||
props: {
|
||||
name,
|
||||
},
|
||||
moduleMetadata: {
|
||||
imports: [],
|
||||
schemas: [],
|
||||
declarations: [],
|
||||
providers: [DummyService],
|
||||
},
|
||||
};
|
||||
});
|
@ -3,7 +3,7 @@ import { action } from '@storybook/addon-actions';
|
||||
import { withKnobs, text } from '@storybook/addon-knobs/angular';
|
||||
import { Button } from '@storybook/angular/demo';
|
||||
|
||||
storiesOf('Custom Style', module)
|
||||
storiesOf('Custom|Style', module)
|
||||
.add('Default', () => ({
|
||||
template: `<storybook-button-component [text]="text" (onClick)="onClick($event)"></storybook-button-component>`,
|
||||
moduleMetadata: {
|
||||
|
@ -1,5 +1,30 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Custom|ngModel custom ControlValueAccessor 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-custom-cva-component>
|
||||
|
||||
|
||||
<div>
|
||||
Type anything
|
||||
</div>
|
||||
|
||||
|
||||
<input
|
||||
class="ng-untouched ng-pristine ng-valid"
|
||||
ng-reflect-model="Type anything"
|
||||
type="text"
|
||||
/>
|
||||
|
||||
|
||||
</storybook-custom-cva-component>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots ngModel custom ControlValueAccessor 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
|
@ -7,7 +7,7 @@ const description = `
|
||||
This is an example of component that implements ControlValueAccessor interface
|
||||
`;
|
||||
|
||||
storiesOf('ngModel', module).add(
|
||||
storiesOf('Custom|ngModel', module).add(
|
||||
'custom ControlValueAccessor',
|
||||
withNotes(description)(() => ({
|
||||
component: CustomCvaComponent,
|
||||
|
@ -2,14 +2,18 @@ import { storiesOf } from '@storybook/angular';
|
||||
import { Welcome, Button } from '@storybook/angular/demo';
|
||||
|
||||
storiesOf('Welcome', module).add('to Storybook', () => ({
|
||||
component: Welcome,
|
||||
template: `<storybook-welcome-component></storybook-welcome-component>`,
|
||||
props: {},
|
||||
moduleMetadata: {
|
||||
declarations: [Welcome],
|
||||
},
|
||||
}));
|
||||
|
||||
storiesOf('Button', module)
|
||||
.add('with text', () => ({
|
||||
template: `<storybook-button-component [text]="text" (onClick)="onClick($event)"></storybook-button-component>`,
|
||||
moduleMetadata: {
|
||||
declarations: [Button, Welcome],
|
||||
declarations: [Button],
|
||||
},
|
||||
props: {
|
||||
text: 'Hello Button',
|
||||
@ -18,14 +22,12 @@ storiesOf('Button', module)
|
||||
console.log(event);
|
||||
},
|
||||
},
|
||||
template: `
|
||||
<h1> This is a template </h1>
|
||||
<storybook-button-component [text]="text" (onClick)="onClick($event)"></storybook-button-component>
|
||||
<storybook-welcome-component></storybook-welcome-component>
|
||||
`,
|
||||
}))
|
||||
.add('with some emoji', () => ({
|
||||
component: Button,
|
||||
template: `<storybook-button-component [text]="text" (onClick)="onClick($event)"></storybook-button-component>`,
|
||||
moduleMetadata: {
|
||||
declarations: [Button],
|
||||
},
|
||||
props: {
|
||||
text: '😀 😎 👍 💯',
|
||||
onClick: () => {},
|
||||
|
@ -1,5 +1,41 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Custom|Inheritance base button 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-base-button>
|
||||
|
||||
|
||||
<button>
|
||||
this is label
|
||||
</button>
|
||||
|
||||
|
||||
</storybook-base-button>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom|Inheritance icon button 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
data={[Function Object]}
|
||||
target={[Function ViewContainerRef_]}
|
||||
>
|
||||
<storybook-icon-button>
|
||||
|
||||
|
||||
<button>
|
||||
this is label - this is icon
|
||||
</button>
|
||||
|
||||
|
||||
</storybook-icon-button>
|
||||
</storybook-dynamic-app-root>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Inheritance base button 1`] = `
|
||||
<storybook-dynamic-app-root
|
||||
cfr={[Function CodegenComponentFactoryResolver]}
|
||||
|
@ -2,7 +2,7 @@ import { storiesOf } from '@storybook/angular';
|
||||
import { IconButtonComponent } from './icon-button.component';
|
||||
import { BaseButtonComponent } from './base-button.component';
|
||||
|
||||
storiesOf('Inheritance', module)
|
||||
storiesOf('Custom|Inheritance', module)
|
||||
.add('icon button', () => ({
|
||||
component: IconButtonComponent,
|
||||
props: {
|
||||
|
@ -12,7 +12,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"glamor": "^2.20.40",
|
||||
"glamorous": "^4.11.4",
|
||||
"glamorous": "^4.11.5",
|
||||
"global": "^4.3.2",
|
||||
"prop-types": "^15.6.0",
|
||||
"react": "^16.2.0",
|
||||
|
@ -2,3 +2,4 @@ import '@storybook/addon-actions/register';
|
||||
import '@storybook/addon-notes/register';
|
||||
import '@storybook/addon-knobs/register';
|
||||
import '@storybook/addon-viewport/register';
|
||||
import '@storybook/addon-options/register';
|
||||
|
@ -1,10 +1,15 @@
|
||||
/* eslint-disable import/no-extraneous-dependencies, import/no-unresolved, import/extensions */
|
||||
|
||||
import { configure } from '@storybook/polymer';
|
||||
import { setOptions } from '@storybook/addon-options';
|
||||
|
||||
setOptions({
|
||||
hierarchyRootSeparator: /\|/,
|
||||
});
|
||||
|
||||
function loadStories() {
|
||||
require('../src/stories/index.stories');
|
||||
require('../src/stories/advanced.stories');
|
||||
|
||||
const req = require.context('../src/stories', true, /\.stories\.js$/);
|
||||
req.keys().forEach((filename) => req(filename));
|
||||
}
|
||||
|
||||
configure(loadStories, module);
|
||||
|
@ -11,6 +11,7 @@
|
||||
"@storybook/addon-actions": "^3.4.0-alpha.8",
|
||||
"@storybook/addon-knobs": "^3.4.0-alpha.8",
|
||||
"@storybook/addon-notes": "^3.4.0-alpha.8",
|
||||
"@storybook/addon-options": "^3.4.0-alpha.8",
|
||||
"@storybook/addon-viewport": "^3.4.0-alpha.8",
|
||||
"@storybook/polymer": "^3.4.0-alpha.8",
|
||||
"@webcomponents/webcomponentsjs": "^1.1.0",
|
||||
|
@ -4,7 +4,15 @@
|
||||
<template>
|
||||
<style>
|
||||
.square {
|
||||
border: 1px solid black;
|
||||
border: 1px solid #3c763d;
|
||||
background-color: #5cb85c;
|
||||
padding: 10px;
|
||||
}
|
||||
.rounded {
|
||||
border-radius: 5px;
|
||||
border: 1px solid #1b6d85;
|
||||
background-color: #5bc0de;
|
||||
padding: 10px;
|
||||
}
|
||||
</style>
|
||||
<button on-click="handleTap"
|
||||
@ -41,7 +49,7 @@
|
||||
}
|
||||
|
||||
_computeClass(isSquare) {
|
||||
return isSquare && 'square';
|
||||
return isSquare ? 'square' : 'rounded';
|
||||
}
|
||||
}
|
||||
|
||||
|
15
examples/polymer-cli/src/stories/addon-actions.stories.js
Normal file
15
examples/polymer-cli/src/stories/addon-actions.stories.js
Normal file
@ -0,0 +1,15 @@
|
||||
import { storiesOf } from '@storybook/polymer';
|
||||
import { action } from '@storybook/addon-actions';
|
||||
import { document } from 'global';
|
||||
|
||||
storiesOf('Addon|Actions', module)
|
||||
.add('Action only', () => {
|
||||
const el = document.createElement('playground-button');
|
||||
el.addEventListener('click', action('log1'));
|
||||
return el;
|
||||
})
|
||||
.add('Action and method', () => {
|
||||
const el = document.createElement('playground-button');
|
||||
el.addEventListener('click', e => action('log2')(e.target));
|
||||
return el;
|
||||
});
|
56
examples/polymer-cli/src/stories/addon-knobs.stories.js
Normal file
56
examples/polymer-cli/src/stories/addon-knobs.stories.js
Normal file
@ -0,0 +1,56 @@
|
||||
import { storiesOf } from '@storybook/polymer';
|
||||
import { action } from '@storybook/addon-actions';
|
||||
import { document } from 'global';
|
||||
|
||||
import {
|
||||
withKnobs,
|
||||
text,
|
||||
button,
|
||||
number,
|
||||
select,
|
||||
date,
|
||||
color,
|
||||
array,
|
||||
boolean,
|
||||
} from '@storybook/addon-knobs/polymer';
|
||||
|
||||
storiesOf('Addon|Knobs', module)
|
||||
.addDecorator(withKnobs)
|
||||
.add('simple', () => {
|
||||
const title = text('Button title', 'Hello');
|
||||
const el = document.createElement('playground-button');
|
||||
el.setAttribute('title', title);
|
||||
button('callback', () => el.setAttribute('title', 'testing'));
|
||||
return el;
|
||||
})
|
||||
.add('complex', () => {
|
||||
const name = text('Name', 'Jane');
|
||||
const stock = number('Stock', 20, { range: true, min: 0, max: 30, step: 5 });
|
||||
const fruits = { apples: 'Apple', bananas: 'Banana', cherries: 'Cherry' };
|
||||
const fruit = select('Fruit', fruits, 'apple');
|
||||
const price = number('Price', 2.25);
|
||||
const colour = color('Border', 'deeppink');
|
||||
const today = date('Today', new Date('Jan 20 2017 GMT+0'));
|
||||
const items = array('Items', ['Laptop', 'Book', 'Whiskey']);
|
||||
const nice = boolean('Nice', true);
|
||||
|
||||
const stockMessage = stock
|
||||
? `I have a stock of ${stock} ${fruit}, costing $${price} each.`
|
||||
: `I'm out of ${fruit}${nice ? ', Sorry!' : '.'}`;
|
||||
const dateOptions = { year: 'numeric', month: 'long', day: 'numeric', timeZone: 'UTC' };
|
||||
|
||||
button('Arbitrary action', action('You clicked it!'));
|
||||
|
||||
return `
|
||||
<div style="border:2px dotted ${colour}; padding: 8px 22px; border-radius: 8px">
|
||||
<h1>My name is ${name},</h1>
|
||||
<h3>today is ${new Date(today).toLocaleDateString('en-US', dateOptions)}</h3>
|
||||
<p>${stockMessage}</p>
|
||||
<p>Also, I have:</p>
|
||||
<ul>
|
||||
${items.map(item => `<li>${item}</li>`).join('')}
|
||||
</ul>
|
||||
<p>${nice ? 'Nice to meet you!' : 'Leave me alone!'}</p>
|
||||
</div>
|
||||
`;
|
||||
});
|
23
examples/polymer-cli/src/stories/addon-notes.stories.js
Normal file
23
examples/polymer-cli/src/stories/addon-notes.stories.js
Normal file
@ -0,0 +1,23 @@
|
||||
import { storiesOf } from '@storybook/polymer';
|
||||
import { withNotes } from '@storybook/addon-notes';
|
||||
|
||||
storiesOf('Addon|Notes', module)
|
||||
.add(
|
||||
'Simple note',
|
||||
withNotes({ text: 'My notes on some bold text' })(
|
||||
() =>
|
||||
'<p><strong>Etiam vulputate elit eu venenatis eleifend. Duis nec lectus augue. Morbi egestas diam sed vulputate mollis. Fusce egestas pretium vehicula. Integer sed neque diam. Donec consectetur velit vitae enim varius, ut placerat arcu imperdiet. Praesent sed faucibus arcu. Nullam sit amet nibh a enim eleifend rhoncus. Donec pretium elementum leo at fermentum. Nulla sollicitudin, mauris quis semper tempus, sem metus tristique diam, efficitur pulvinar mi urna id urna.</strong></p>'
|
||||
)
|
||||
)
|
||||
.add(
|
||||
'Note with HTML',
|
||||
withNotes({
|
||||
text: `
|
||||
<h2>My notes on emojies</h2>
|
||||
|
||||
<em>It's not all that important to be honest, but..</em>
|
||||
|
||||
Emojis are great, I love emojis, in fact I like using them in my Component notes too! 😇
|
||||
`,
|
||||
})(() => '<p>🤔😳😯😮<br/>😄😩😓😱<br/>🤓😑😶😊</p>')
|
||||
);
|
@ -1,105 +0,0 @@
|
||||
import { storiesOf } from '@storybook/polymer';
|
||||
import { action } from '@storybook/addon-actions';
|
||||
import { withNotes } from '@storybook/addon-notes';
|
||||
import {
|
||||
withKnobs,
|
||||
text,
|
||||
button,
|
||||
number,
|
||||
select,
|
||||
date,
|
||||
color,
|
||||
array,
|
||||
boolean,
|
||||
} from '@storybook/addon-knobs/polymer';
|
||||
import { document } from 'global';
|
||||
import '../polymer-playground-app.html';
|
||||
import '../playground-button.html';
|
||||
import '../separated-button/separated-button.html';
|
||||
import './storybook-welcome-to-polymer.html';
|
||||
|
||||
storiesOf('Advanced/Decorator', module)
|
||||
.addDecorator(story => {
|
||||
const el = story();
|
||||
el.setAttribute('title', `${el.getAttribute('title')} - decorated`);
|
||||
return el;
|
||||
})
|
||||
.add('example decoration', () => {
|
||||
const el = document.createElement('playground-button');
|
||||
el.setAttribute('title', 'An example title');
|
||||
return el;
|
||||
});
|
||||
|
||||
storiesOf('Advanced/Addon Actions', module)
|
||||
.add('Action only', () => {
|
||||
const el = document.createElement('playground-button');
|
||||
el.addEventListener('click', action('log1'));
|
||||
return el;
|
||||
})
|
||||
.add('Action and method', () => {
|
||||
const el = document.createElement('playground-button');
|
||||
el.addEventListener('click', e => action('log2')(e.target));
|
||||
return el;
|
||||
});
|
||||
|
||||
storiesOf('Advanced/Addon Notes', module)
|
||||
.add(
|
||||
'Simple note',
|
||||
withNotes({ text: 'My notes on some bold text' })(
|
||||
() =>
|
||||
'<p><strong>Etiam vulputate elit eu venenatis eleifend. Duis nec lectus augue. Morbi egestas diam sed vulputate mollis. Fusce egestas pretium vehicula. Integer sed neque diam. Donec consectetur velit vitae enim varius, ut placerat arcu imperdiet. Praesent sed faucibus arcu. Nullam sit amet nibh a enim eleifend rhoncus. Donec pretium elementum leo at fermentum. Nulla sollicitudin, mauris quis semper tempus, sem metus tristique diam, efficitur pulvinar mi urna id urna.</strong></p>'
|
||||
)
|
||||
)
|
||||
.add(
|
||||
'Note with HTML',
|
||||
withNotes({
|
||||
text: `
|
||||
<h2>My notes on emojies</h2>
|
||||
|
||||
<em>It's not all that important to be honest, but..</em>
|
||||
|
||||
Emojis are great, I love emojis, in fact I like using them in my Component notes too! 😇
|
||||
`,
|
||||
})(() => '<p>🤔😳😯😮<br/>😄😩😓😱<br/>🤓😑😶😊</p>')
|
||||
);
|
||||
|
||||
storiesOf('Advanced/Addon Knobs', module)
|
||||
.addDecorator(withKnobs)
|
||||
.add('simple', () => {
|
||||
const title = text('Button title', 'Hello');
|
||||
const el = document.createElement('playground-button');
|
||||
el.setAttribute('title', title);
|
||||
button('callback', () => el.setAttribute('title', 'testing'));
|
||||
return el;
|
||||
})
|
||||
.add('complex', () => {
|
||||
const name = text('Name', 'Jane');
|
||||
const stock = number('Stock', 20, { range: true, min: 0, max: 30, step: 5 });
|
||||
const fruits = { apples: 'Apple', bananas: 'Banana', cherries: 'Cherry' };
|
||||
const fruit = select('Fruit', fruits, 'apple');
|
||||
const price = number('Price', 2.25);
|
||||
const colour = color('Border', 'deeppink');
|
||||
const today = date('Today', new Date('Jan 20 2017 GMT+0'));
|
||||
const items = array('Items', ['Laptop', 'Book', 'Whiskey']);
|
||||
const nice = boolean('Nice', true);
|
||||
|
||||
const stockMessage = stock
|
||||
? `I have a stock of ${stock} ${fruit}, costing $${price} each.`
|
||||
: `I'm out of ${fruit}${nice ? ', Sorry!' : '.'}`;
|
||||
const dateOptions = { year: 'numeric', month: 'long', day: 'numeric', timeZone: 'UTC' };
|
||||
|
||||
button('Arbitrary action', action('You clicked it!'));
|
||||
|
||||
return `
|
||||
<div style="border:2px dotted ${colour}; padding: 8px 22px; border-radius: 8px">
|
||||
<h1>My name is ${name},</h1>
|
||||
<h3>today is ${new Date(today).toLocaleDateString('en-US', dateOptions)}</h3>
|
||||
<p>${stockMessage}</p>
|
||||
<p>Also, I have:</p>
|
||||
<ul>
|
||||
${items.map(item => `<li>${item}</li>`).join('')}
|
||||
</ul>
|
||||
<p>${nice ? 'Nice to meet you!' : 'Leave me alone!'}</p>
|
||||
</div>
|
||||
`;
|
||||
});
|
@ -0,0 +1,14 @@
|
||||
import { storiesOf } from '@storybook/polymer';
|
||||
import { document } from 'global';
|
||||
|
||||
storiesOf('Custom|Decorator', module)
|
||||
.addDecorator(story => {
|
||||
const el = story();
|
||||
el.setAttribute('title', `${el.getAttribute('title')} - decorated`);
|
||||
return el;
|
||||
})
|
||||
.add('example decoration', () => {
|
||||
const el = document.createElement('playground-button');
|
||||
el.setAttribute('title', 'An example title');
|
||||
return el;
|
||||
});
|
15
examples/polymer-cli/src/stories/custom-rendering.stories.js
Normal file
15
examples/polymer-cli/src/stories/custom-rendering.stories.js
Normal file
@ -0,0 +1,15 @@
|
||||
import { storiesOf } from '@storybook/polymer';
|
||||
import { document } from 'global';
|
||||
import { StringTemplateButton } from '../string-template-button';
|
||||
|
||||
import '../separated-button/separated-button.html';
|
||||
|
||||
storiesOf('Custom|Methods for rendering', module)
|
||||
.add('html string', () => '<div>Rendered with string</div>')
|
||||
.add('html with custom elements', () => '<separated-button title="Click me!"></separated-button>')
|
||||
.add('document.createElement', () => {
|
||||
const el = document.createElement('playground-button');
|
||||
el.setAttribute('title', 'Rendered with document.createElement');
|
||||
return el;
|
||||
})
|
||||
.add('Polymer instance', () => new StringTemplateButton());
|
@ -1,34 +1,19 @@
|
||||
import { storiesOf } from '@storybook/polymer';
|
||||
import { withKnobs, text } from '@storybook/addon-knobs/polymer';
|
||||
import { document } from 'global';
|
||||
|
||||
import '../polymer-playground-app.html';
|
||||
import '../playground-button.html';
|
||||
import '../separated-button/separated-button.html';
|
||||
import './storybook-welcome-to-polymer.html';
|
||||
import { StringTemplateButton } from '../string-template-button';
|
||||
|
||||
storiesOf('Welcome', module).add(
|
||||
'Welcome',
|
||||
() => '<storybook-welcome-to-polymer></storybook-welcome-to-polymer>'
|
||||
);
|
||||
|
||||
storiesOf('App', module)
|
||||
.addDecorator(withKnobs)
|
||||
.add('full app', () => {
|
||||
const title = text('title', 'This title can be edited via a knob');
|
||||
return `<polymer-playground-app title="${title}"></polymer-playground-app>`;
|
||||
});
|
||||
storiesOf('App', module).add(
|
||||
'full app',
|
||||
() => '<polymer-playground-app title="Storybook fro Polymer"></polymer-playground-app>'
|
||||
);
|
||||
|
||||
storiesOf('Button', module)
|
||||
.add('rounded', () => '<playground-button></playground-button>')
|
||||
.add('square', () => '<playground-button is-square></playground-button>');
|
||||
|
||||
storiesOf('Methods for rendering', module)
|
||||
.add('html string', () => '<div>Rendered with string</div>')
|
||||
.add('html with custom elements', () => '<separated-button title="Click me!"></separated-button>')
|
||||
.add('document.createElement', () => {
|
||||
const el = document.createElement('playground-button');
|
||||
el.setAttribute('title', 'Rendered with document.createElement');
|
||||
return el;
|
||||
})
|
||||
.add('Polymer instance', () => new StringTemplateButton());
|
||||
|
@ -3,3 +3,4 @@ import '@storybook/addon-links/register';
|
||||
import '@storybook/addon-notes/register';
|
||||
import '@storybook/addon-knobs/register';
|
||||
import '@storybook/addon-viewport/register';
|
||||
import '@storybook/addon-options/register';
|
@ -1,5 +1,5 @@
|
||||
import { configure } from '@storybook/vue';
|
||||
|
||||
import { setOptions } from '@storybook/addon-options';
|
||||
import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
|
||||
@ -8,8 +8,15 @@ import MyButton from '../src/stories/Button.vue'
|
||||
Vue.component('my-button', MyButton);
|
||||
Vue.use(Vuex);
|
||||
|
||||
setOptions({
|
||||
hierarchyRootSeparator: /\|/,
|
||||
});
|
||||
|
||||
function loadStories() {
|
||||
require('../src/stories');
|
||||
|
||||
const req = require.context('../src/stories', true, /\.stories\.js$/);
|
||||
req.keys().forEach((filename) => req(filename));
|
||||
}
|
||||
|
||||
configure(loadStories, module);
|
||||
|
@ -18,6 +18,7 @@
|
||||
"@storybook/addon-knobs": "^3.4.0-alpha.8",
|
||||
"@storybook/addon-links": "^3.4.0-alpha.8",
|
||||
"@storybook/addon-notes": "^3.4.0-alpha.8",
|
||||
"@storybook/addon-options": "^3.4.0-alpha.8",
|
||||
"@storybook/addon-storyshots": "^3.4.0-alpha.8",
|
||||
"@storybook/addon-viewport": "^3.4.0-alpha.8",
|
||||
"@storybook/addons": "^3.4.0-alpha.8",
|
||||
|
@ -0,0 +1,19 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Addon|Actions Action and method 1`] = `
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
Click me to log the action!
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Addon|Actions Action only 1`] = `
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
Click me to log the action!
|
||||
</button>
|
||||
`;
|
@ -0,0 +1,18 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Addon|Centered rounded 1`] = `
|
||||
<div
|
||||
style="position: fixed; top: 0px; left: 0px; bottom: 0px; right: 0px; display: flex; overflow: auto;"
|
||||
>
|
||||
<div
|
||||
style="margin: auto;"
|
||||
>
|
||||
<button
|
||||
class="button rounded"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
A Button with rounded edges!
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
@ -0,0 +1,45 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Addon|Knobs All knobs 1`] = `
|
||||
<div
|
||||
style="padding: 8px 22px; border-radius: 8px;"
|
||||
>
|
||||
<h1>
|
||||
My name is Jane,
|
||||
</h1>
|
||||
|
||||
<h3>
|
||||
today is January 20, 2017
|
||||
</h3>
|
||||
|
||||
<p>
|
||||
I have a stock of 20 apple, costing $2.25 each.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Also, I have:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
Laptop
|
||||
</li>
|
||||
<li>
|
||||
Book
|
||||
</li>
|
||||
<li>
|
||||
Whiskey
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Nice to meet you!
|
||||
</p>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Addon|Knobs Simple 1`] = `
|
||||
<div>
|
||||
I am John Doe and I'm 44 years old.
|
||||
</div>
|
||||
`;
|
@ -0,0 +1,19 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Addon|Notes Note with HTML 1`] = `
|
||||
<p>
|
||||
🤔😳😯😮
|
||||
<br />
|
||||
😄😩😓😱
|
||||
<br />
|
||||
🤓😑😶😊
|
||||
</p>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Addon|Notes Simple note 1`] = `
|
||||
<p>
|
||||
<strong>
|
||||
Etiam vulputate elit eu venenatis eleifend. Duis nec lectus augue. Morbi egestas diam sed vulputate mollis. Fusce egestas pretium vehicula. Integer sed neque diam. Donec consectetur velit vitae enim varius, ut placerat arcu imperdiet. Praesent sed faucibus arcu. Nullam sit amet nibh a enim eleifend rhoncus. Donec pretium elementum leo at fermentum. Nulla sollicitudin, mauris quis semper tempus, sem metus tristique diam, efficitur pulvinar mi urna id urna.
|
||||
</strong>
|
||||
</p>
|
||||
`;
|
@ -0,0 +1,34 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Custom|Decorator for Vue render 1`] = `
|
||||
<div
|
||||
style="border: medium solid blue;"
|
||||
>
|
||||
<div
|
||||
style="border: medium solid red;"
|
||||
>
|
||||
<button
|
||||
class="button"
|
||||
>
|
||||
renders component: MyButton!
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom|Decorator for Vue template 1`] = `
|
||||
<div
|
||||
style="border: medium solid blue;"
|
||||
>
|
||||
<div
|
||||
style="border: medium solid red;"
|
||||
>
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
MyButton with template!
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
@ -0,0 +1,95 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Custom|Method for rendering Vue JSX 1`] = `
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
MyButton rendered with JSX!
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom|Method for rendering Vue pre-registered component 1`] = `
|
||||
<p>
|
||||
<em>
|
||||
This component was pre-registered in .storybook/config.js
|
||||
</em>
|
||||
<br />
|
||||
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
MyButton rendered in a template!
|
||||
</button>
|
||||
</p>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom|Method for rendering Vue render + component 1`] = `
|
||||
<button
|
||||
class="button"
|
||||
>
|
||||
renders component: MyButton!
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom|Method for rendering Vue render 1`] = `
|
||||
<div>
|
||||
renders a div with some text in it..
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom|Method for rendering Vue template + component 1`] = `
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
MyButton rendered in a template!
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom|Method for rendering Vue template + methods 1`] = `
|
||||
<p>
|
||||
<em>
|
||||
Clicking the button will navigate to another story using the 'addon-links'
|
||||
</em>
|
||||
<br />
|
||||
|
||||
<button
|
||||
class="button rounded"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
MyButton rendered in a template + props & methods!
|
||||
</button>
|
||||
</p>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom|Method for rendering Vue template 1`] = `
|
||||
<div>
|
||||
<h1>
|
||||
A template
|
||||
</h1>
|
||||
|
||||
<p>
|
||||
rendered in vue in storybook
|
||||
</p>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom|Method for rendering Vue vuex + actions 1`] = `
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
with vuex: 0!
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Custom|Method for rendering Vue whatever you want 1`] = `
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
with awesomeness: 0!
|
||||
</button>
|
||||
`;
|
@ -1,85 +1,5 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Storyshots Addon Actions Action and method 1`] = `
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
Click me to log the action!
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Addon Actions Action only 1`] = `
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
Click me to log the action!
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Addon Knobs All knobs 1`] = `
|
||||
<div
|
||||
style="padding: 8px 22px; border-radius: 8px;"
|
||||
>
|
||||
<h1>
|
||||
My name is Jane,
|
||||
</h1>
|
||||
|
||||
<h3>
|
||||
today is January 20, 2017
|
||||
</h3>
|
||||
|
||||
<p>
|
||||
I have a stock of 20 apple, costing $2.25 each.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Also, I have:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
Laptop
|
||||
</li>
|
||||
<li>
|
||||
Book
|
||||
</li>
|
||||
<li>
|
||||
Whiskey
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Nice to meet you!
|
||||
</p>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Addon Knobs Simple 1`] = `
|
||||
<div>
|
||||
I am John Doe and I'm 44 years old.
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Addon Notes Note with HTML 1`] = `
|
||||
<p>
|
||||
🤔😳😯😮
|
||||
<br />
|
||||
😄😩😓😱
|
||||
<br />
|
||||
🤓😑😶😊
|
||||
</p>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Addon Notes Simple note 1`] = `
|
||||
<p>
|
||||
<strong>
|
||||
Etiam vulputate elit eu venenatis eleifend. Duis nec lectus augue. Morbi egestas diam sed vulputate mollis. Fusce egestas pretium vehicula. Integer sed neque diam. Donec consectetur velit vitae enim varius, ut placerat arcu imperdiet. Praesent sed faucibus arcu. Nullam sit amet nibh a enim eleifend rhoncus. Donec pretium elementum leo at fermentum. Nulla sollicitudin, mauris quis semper tempus, sem metus tristique diam, efficitur pulvinar mi urna id urna.
|
||||
</strong>
|
||||
</p>
|
||||
`;
|
||||
|
||||
exports[`Storyshots App App 1`] = `
|
||||
<div
|
||||
id="app"
|
||||
@ -177,163 +97,20 @@ exports[`Storyshots App App 1`] = `
|
||||
`;
|
||||
|
||||
exports[`Storyshots Button rounded 1`] = `
|
||||
<div
|
||||
style="position: fixed; top: 0px; left: 0px; bottom: 0px; right: 0px; display: flex; overflow: auto;"
|
||||
<button
|
||||
class="button rounded"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
<div
|
||||
style="margin: auto;"
|
||||
>
|
||||
<button
|
||||
class="button rounded"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
A Button with rounded edges!
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
A Button with rounded edges!
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Button square 1`] = `
|
||||
<div
|
||||
style="position: fixed; top: 0px; left: 0px; bottom: 0px; right: 0px; display: flex; overflow: auto;"
|
||||
>
|
||||
<div
|
||||
style="margin: auto;"
|
||||
>
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
A Button with square edges!
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Decorator for Vue render 1`] = `
|
||||
<div
|
||||
style="border: medium solid blue;"
|
||||
>
|
||||
<div
|
||||
style="border: medium solid red;"
|
||||
>
|
||||
<button
|
||||
class="button"
|
||||
>
|
||||
renders component: MyButton!
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Decorator for Vue template 1`] = `
|
||||
<div
|
||||
style="border: medium solid blue;"
|
||||
>
|
||||
<div
|
||||
style="border: medium solid red;"
|
||||
>
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
MyButton with template!
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Method for rendering Vue JSX 1`] = `
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
MyButton rendered with JSX!
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Method for rendering Vue pre-registered component 1`] = `
|
||||
<p>
|
||||
<em>
|
||||
This component was pre-registered in .storybook/config.js
|
||||
</em>
|
||||
<br />
|
||||
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
MyButton rendered in a template!
|
||||
</button>
|
||||
</p>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Method for rendering Vue render + component 1`] = `
|
||||
<button
|
||||
class="button"
|
||||
>
|
||||
renders component: MyButton!
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Method for rendering Vue render 1`] = `
|
||||
<div>
|
||||
renders a div with some text in it..
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Method for rendering Vue template + component 1`] = `
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
MyButton rendered in a template!
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Method for rendering Vue template + methods 1`] = `
|
||||
<p>
|
||||
<em>
|
||||
Clicking the button will navigate to another story using the 'addon-links'
|
||||
</em>
|
||||
<br />
|
||||
|
||||
<button
|
||||
class="button rounded"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
MyButton rendered in a template + props & methods!
|
||||
</button>
|
||||
</p>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Method for rendering Vue template 1`] = `
|
||||
<div>
|
||||
<h1>
|
||||
A template
|
||||
</h1>
|
||||
|
||||
<p>
|
||||
rendered in vue in storybook
|
||||
</p>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Method for rendering Vue vuex + actions 1`] = `
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
with vuex: 0!
|
||||
</button>
|
||||
`;
|
||||
|
||||
exports[`Storyshots Method for rendering Vue whatever you want 1`] = `
|
||||
<button
|
||||
class="button"
|
||||
style="color: rgb(66, 185, 131); border-color: #42b983;"
|
||||
>
|
||||
with awesomeness: 0!
|
||||
A Button with square edges!
|
||||
</button>
|
||||
`;
|
||||
|
||||
|
@ -0,0 +1,19 @@
|
||||
import { storiesOf } from '@storybook/vue';
|
||||
import { action } from '@storybook/addon-actions';
|
||||
|
||||
storiesOf('Addon|Actions', module)
|
||||
.add('Action only', () => ({
|
||||
template: '<my-button :handle-click="log">Click me to log the action</my-button>',
|
||||
methods: {
|
||||
log: action('log1'),
|
||||
},
|
||||
}))
|
||||
.add('Action and method', () => ({
|
||||
template: '<my-button :handle-click="log">Click me to log the action</my-button>',
|
||||
methods: {
|
||||
log: e => {
|
||||
e.preventDefault();
|
||||
action('log2')(e.target);
|
||||
},
|
||||
},
|
||||
}));
|
@ -0,0 +1,11 @@
|
||||
import { storiesOf } from '@storybook/vue';
|
||||
import Centered from '@storybook/addon-centered';
|
||||
|
||||
import MyButton from './Button.vue';
|
||||
|
||||
storiesOf('Addon|Centered', module)
|
||||
.addDecorator(Centered)
|
||||
.add('rounded', () => ({
|
||||
components: { MyButton },
|
||||
template: '<my-button :rounded="true">A Button with rounded edges</my-button>',
|
||||
}));
|
69
examples/vue-kitchen-sink/src/stories/addon-knobs.stories.js
Normal file
69
examples/vue-kitchen-sink/src/stories/addon-knobs.stories.js
Normal file
@ -0,0 +1,69 @@
|
||||
import { storiesOf } from '@storybook/vue';
|
||||
import { action } from '@storybook/addon-actions';
|
||||
import {
|
||||
withKnobs,
|
||||
text,
|
||||
number,
|
||||
boolean,
|
||||
array,
|
||||
select,
|
||||
color,
|
||||
date,
|
||||
button,
|
||||
} from '@storybook/addon-knobs/vue';
|
||||
|
||||
storiesOf('Addon|Knobs', module)
|
||||
.addDecorator(withKnobs)
|
||||
.add('Simple', () => {
|
||||
const name = text('Name', 'John Doe');
|
||||
const age = number('Age', 44);
|
||||
const content = `I am ${name} and I'm ${age} years old.`;
|
||||
|
||||
return {
|
||||
template: `<div>${content}</div>`,
|
||||
};
|
||||
})
|
||||
.add('All knobs', () => {
|
||||
const name = text('Name', 'Jane');
|
||||
const stock = number('Stock', 20, {
|
||||
range: true,
|
||||
min: 0,
|
||||
max: 30,
|
||||
step: 5,
|
||||
});
|
||||
const fruits = {
|
||||
apples: 'Apple',
|
||||
bananas: 'Banana',
|
||||
cherries: 'Cherry',
|
||||
};
|
||||
const fruit = select('Fruit', fruits, 'apple');
|
||||
const price = number('Price', 2.25);
|
||||
|
||||
const colour = color('Border', 'deeppink');
|
||||
const today = date('Today', new Date('Jan 20 2017 GMT+0'));
|
||||
const items = array('Items', ['Laptop', 'Book', 'Whiskey']);
|
||||
const nice = boolean('Nice', true);
|
||||
|
||||
const stockMessage = stock
|
||||
? `I have a stock of ${stock} ${fruit}, costing $${price} each.`
|
||||
: `I'm out of ${fruit}${nice ? ', Sorry!' : '.'}`;
|
||||
const salutation = nice ? 'Nice to meet you!' : 'Leave me alone!';
|
||||
const dateOptions = { year: 'numeric', month: 'long', day: 'numeric', timeZone: 'UTC' };
|
||||
|
||||
button('Arbitrary action', action('You clicked it!'));
|
||||
|
||||
return {
|
||||
template: `
|
||||
<div style="border:2px dotted ${colour}; padding: 8px 22px; border-radius: 8px">
|
||||
<h1>My name is ${name},</h1>
|
||||
<h3>today is ${new Date(today).toLocaleDateString('en-US', dateOptions)}</h3>
|
||||
<p>${stockMessage}</p>
|
||||
<p>Also, I have:</p>
|
||||
<ul>
|
||||
${items.map(item => `<li key=${item}>${item}</li>`).join('')}
|
||||
</ul>
|
||||
<p>${salutation}</p>
|
||||
</div>
|
||||
`,
|
||||
};
|
||||
});
|
25
examples/vue-kitchen-sink/src/stories/addon-notes.stories.js
Normal file
25
examples/vue-kitchen-sink/src/stories/addon-notes.stories.js
Normal file
@ -0,0 +1,25 @@
|
||||
import { storiesOf } from '@storybook/vue';
|
||||
import { withNotes } from '@storybook/addon-notes';
|
||||
|
||||
storiesOf('Addon|Notes', module)
|
||||
.add(
|
||||
'Simple note',
|
||||
withNotes({ text: 'My notes on some bold text' })(() => ({
|
||||
template:
|
||||
'<p><strong>Etiam vulputate elit eu venenatis eleifend. Duis nec lectus augue. Morbi egestas diam sed vulputate mollis. Fusce egestas pretium vehicula. Integer sed neque diam. Donec consectetur velit vitae enim varius, ut placerat arcu imperdiet. Praesent sed faucibus arcu. Nullam sit amet nibh a enim eleifend rhoncus. Donec pretium elementum leo at fermentum. Nulla sollicitudin, mauris quis semper tempus, sem metus tristique diam, efficitur pulvinar mi urna id urna.</strong></p>',
|
||||
}))
|
||||
)
|
||||
.add(
|
||||
'Note with HTML',
|
||||
withNotes({
|
||||
text: `
|
||||
<h2>My notes on emojies</h2>
|
||||
|
||||
<em>It's not all that important to be honest, but..</em>
|
||||
|
||||
Emojis are great, I love emojis, in fact I like using them in my Component notes too! 😇
|
||||
`,
|
||||
})(() => ({
|
||||
template: '<p>🤔😳😯😮<br/>😄😩😓😱<br/>🤓😑😶😊</p>',
|
||||
}))
|
||||
);
|
@ -0,0 +1,33 @@
|
||||
import { storiesOf } from '@storybook/vue';
|
||||
|
||||
import MyButton from './Button.vue';
|
||||
|
||||
storiesOf('Custom|Decorator for Vue', module)
|
||||
.addDecorator(story => {
|
||||
// Decorated with story function
|
||||
const WrapButton = story();
|
||||
return {
|
||||
components: { WrapButton },
|
||||
template: '<div :style="{ border: borderStyle }"><wrap-button/></div>',
|
||||
data() {
|
||||
return { borderStyle: 'medium solid red' };
|
||||
},
|
||||
};
|
||||
})
|
||||
.addDecorator(() => ({
|
||||
// Decorated with `story` component
|
||||
template: '<div :style="{ border: borderStyle }"><story/></div>',
|
||||
data() {
|
||||
return {
|
||||
borderStyle: 'medium solid blue',
|
||||
};
|
||||
},
|
||||
}))
|
||||
.add('template', () => ({
|
||||
template: '<my-button>MyButton with template</my-button>',
|
||||
}))
|
||||
.add('render', () => ({
|
||||
render(h) {
|
||||
return h(MyButton, { props: { color: 'pink' } }, ['renders component: MyButton']);
|
||||
},
|
||||
}));
|
@ -0,0 +1,92 @@
|
||||
import Vuex from 'vuex';
|
||||
import { storiesOf } from '@storybook/vue';
|
||||
import { action } from '@storybook/addon-actions';
|
||||
import { linkTo } from '@storybook/addon-links';
|
||||
|
||||
import MyButton from './Button.vue';
|
||||
|
||||
storiesOf('Custom|Method for rendering Vue', module)
|
||||
.add('render', () => ({
|
||||
render: h => h('div', ['renders a div with some text in it..']),
|
||||
}))
|
||||
.add('render + component', () => ({
|
||||
render(h) {
|
||||
return h(MyButton, { props: { color: 'pink' } }, ['renders component: MyButton']);
|
||||
},
|
||||
}))
|
||||
.add('template', () => ({
|
||||
template: `
|
||||
<div>
|
||||
<h1>A template</h1>
|
||||
<p>rendered in vue in storybook</p>
|
||||
</div>`,
|
||||
}))
|
||||
.add('template + component', () => ({
|
||||
components: { MyButton },
|
||||
template: '<my-button>MyButton rendered in a template</my-button>',
|
||||
}))
|
||||
.add('template + methods', () => ({
|
||||
components: { MyButton },
|
||||
template: `
|
||||
<p>
|
||||
<em>Clicking the button will navigate to another story using the 'addon-links'</em><br/>
|
||||
<my-button :rounded="true" :handle-click="action">MyButton rendered in a template + props & methods</my-button>
|
||||
</p>`,
|
||||
methods: {
|
||||
action: linkTo('Button'),
|
||||
},
|
||||
}))
|
||||
.add('JSX', () => ({
|
||||
components: { MyButton },
|
||||
render() {
|
||||
// eslint-disable-next-line react/react-in-jsx-scope
|
||||
return <my-button>MyButton rendered with JSX</my-button>;
|
||||
},
|
||||
}))
|
||||
.add('vuex + actions', () => ({
|
||||
components: { MyButton },
|
||||
template: '<my-button :handle-click="log">with vuex: {{ $store.state.count }}</my-button>',
|
||||
store: new Vuex.Store({
|
||||
state: { count: 0 },
|
||||
mutations: {
|
||||
increment(state) {
|
||||
state.count += 1; // eslint-disable-line
|
||||
action('vuex state')(state);
|
||||
},
|
||||
},
|
||||
}),
|
||||
methods: {
|
||||
log() {
|
||||
this.$store.commit('increment');
|
||||
},
|
||||
},
|
||||
}))
|
||||
.add('whatever you want', () => ({
|
||||
components: { MyButton },
|
||||
template:
|
||||
'<my-button :handle-click="log">with awesomeness: {{ $store.state.count }}</my-button>',
|
||||
store: new Vuex.Store({
|
||||
state: { count: 0 },
|
||||
mutations: {
|
||||
increment(state) {
|
||||
state.count += 1; // eslint-disable-line
|
||||
action('vuex state')(state);
|
||||
},
|
||||
},
|
||||
}),
|
||||
methods: {
|
||||
log() {
|
||||
this.$store.commit('increment');
|
||||
},
|
||||
},
|
||||
}))
|
||||
.add('pre-registered component', () => ({
|
||||
/* By pre-registering component in config.js,
|
||||
* the need to register all components with each story is removed.
|
||||
* You'll only need the template */
|
||||
template: `
|
||||
<p>
|
||||
<em>This component was pre-registered in .storybook/config.js</em><br/>
|
||||
<my-button>MyButton rendered in a template</my-button>
|
||||
</p>`,
|
||||
}));
|
@ -1,24 +1,5 @@
|
||||
/* eslint-disable react/react-in-jsx-scope */
|
||||
|
||||
import Vuex from 'vuex';
|
||||
import { storiesOf } from '@storybook/vue';
|
||||
import { action } from '@storybook/addon-actions';
|
||||
import { linkTo } from '@storybook/addon-links';
|
||||
import { withNotes } from '@storybook/addon-notes';
|
||||
import {
|
||||
withKnobs,
|
||||
text,
|
||||
number,
|
||||
boolean,
|
||||
array,
|
||||
select,
|
||||
color,
|
||||
date,
|
||||
button,
|
||||
} from '@storybook/addon-knobs/vue';
|
||||
import Centered from '@storybook/addon-centered';
|
||||
|
||||
import MyButton from './Button.vue';
|
||||
import Welcome from './Welcome.vue';
|
||||
import App from '../App.vue';
|
||||
|
||||
@ -31,7 +12,6 @@ storiesOf('App', module).add('App', () => ({
|
||||
}));
|
||||
|
||||
storiesOf('Button', module)
|
||||
.addDecorator(Centered)
|
||||
// Works if Vue.component is called in the config.js in .storybook
|
||||
.add('rounded', () => ({
|
||||
template: '<my-button :rounded="true">A Button with rounded edges</my-button>',
|
||||
@ -39,216 +19,3 @@ storiesOf('Button', module)
|
||||
.add('square', () => ({
|
||||
template: '<my-button :rounded="false">A Button with square edges</my-button>',
|
||||
}));
|
||||
|
||||
storiesOf('Method for rendering Vue', module)
|
||||
.add('render', () => ({
|
||||
render: h => h('div', ['renders a div with some text in it..']),
|
||||
}))
|
||||
.add('render + component', () => ({
|
||||
render(h) {
|
||||
return h(MyButton, { props: { color: 'pink' } }, ['renders component: MyButton']);
|
||||
},
|
||||
}))
|
||||
.add('template', () => ({
|
||||
template: `
|
||||
<div>
|
||||
<h1>A template</h1>
|
||||
<p>rendered in vue in storybook</p>
|
||||
</div>`,
|
||||
}))
|
||||
.add('template + component', () => ({
|
||||
components: { MyButton },
|
||||
template: '<my-button>MyButton rendered in a template</my-button>',
|
||||
}))
|
||||
.add('template + methods', () => ({
|
||||
components: { MyButton },
|
||||
template: `
|
||||
<p>
|
||||
<em>Clicking the button will navigate to another story using the 'addon-links'</em><br/>
|
||||
<my-button :rounded="true" :handle-click="action">MyButton rendered in a template + props & methods</my-button>
|
||||
</p>`,
|
||||
methods: {
|
||||
action: linkTo('Button'),
|
||||
},
|
||||
}))
|
||||
.add('JSX', () => ({
|
||||
components: { MyButton },
|
||||
render() {
|
||||
return <my-button>MyButton rendered with JSX</my-button>;
|
||||
},
|
||||
}))
|
||||
.add('vuex + actions', () => ({
|
||||
components: { MyButton },
|
||||
template: '<my-button :handle-click="log">with vuex: {{ $store.state.count }}</my-button>',
|
||||
store: new Vuex.Store({
|
||||
state: { count: 0 },
|
||||
mutations: {
|
||||
increment(state) {
|
||||
state.count += 1; // eslint-disable-line
|
||||
action('vuex state')(state);
|
||||
},
|
||||
},
|
||||
}),
|
||||
methods: {
|
||||
log() {
|
||||
this.$store.commit('increment');
|
||||
},
|
||||
},
|
||||
}))
|
||||
.add('whatever you want', () => ({
|
||||
components: { MyButton },
|
||||
template:
|
||||
'<my-button :handle-click="log">with awesomeness: {{ $store.state.count }}</my-button>',
|
||||
store: new Vuex.Store({
|
||||
state: { count: 0 },
|
||||
mutations: {
|
||||
increment(state) {
|
||||
state.count += 1; // eslint-disable-line
|
||||
action('vuex state')(state);
|
||||
},
|
||||
},
|
||||
}),
|
||||
methods: {
|
||||
log() {
|
||||
this.$store.commit('increment');
|
||||
},
|
||||
},
|
||||
}))
|
||||
.add('pre-registered component', () => ({
|
||||
/* By pre-registering component in config.js,
|
||||
* the need to register all components with each story is removed.
|
||||
* You'll only need the template */
|
||||
template: `
|
||||
<p>
|
||||
<em>This component was pre-registered in .storybook/config.js</em><br/>
|
||||
<my-button>MyButton rendered in a template</my-button>
|
||||
</p>`,
|
||||
}));
|
||||
|
||||
storiesOf('Decorator for Vue', module)
|
||||
.addDecorator(story => {
|
||||
// Decorated with story function
|
||||
const WrapButton = story();
|
||||
return {
|
||||
components: { WrapButton },
|
||||
template: '<div :style="{ border: borderStyle }"><wrap-button/></div>',
|
||||
data() {
|
||||
return { borderStyle: 'medium solid red' };
|
||||
},
|
||||
};
|
||||
})
|
||||
.addDecorator(() => ({
|
||||
// Decorated with `story` component
|
||||
template: '<div :style="{ border: borderStyle }"><story/></div>',
|
||||
data() {
|
||||
return {
|
||||
borderStyle: 'medium solid blue',
|
||||
};
|
||||
},
|
||||
}))
|
||||
.add('template', () => ({
|
||||
template: '<my-button>MyButton with template</my-button>',
|
||||
}))
|
||||
.add('render', () => ({
|
||||
render(h) {
|
||||
return h(MyButton, { props: { color: 'pink' } }, ['renders component: MyButton']);
|
||||
},
|
||||
}));
|
||||
|
||||
storiesOf('Addon Actions', module)
|
||||
.add('Action only', () => ({
|
||||
template: '<my-button :handle-click="log">Click me to log the action</my-button>',
|
||||
methods: {
|
||||
log: action('log1'),
|
||||
},
|
||||
}))
|
||||
.add('Action and method', () => ({
|
||||
template: '<my-button :handle-click="log">Click me to log the action</my-button>',
|
||||
methods: {
|
||||
log: e => {
|
||||
e.preventDefault();
|
||||
action('log2')(e.target);
|
||||
},
|
||||
},
|
||||
}));
|
||||
|
||||
storiesOf('Addon Notes', module)
|
||||
.add(
|
||||
'Simple note',
|
||||
withNotes({ text: 'My notes on some bold text' })(() => ({
|
||||
template:
|
||||
'<p><strong>Etiam vulputate elit eu venenatis eleifend. Duis nec lectus augue. Morbi egestas diam sed vulputate mollis. Fusce egestas pretium vehicula. Integer sed neque diam. Donec consectetur velit vitae enim varius, ut placerat arcu imperdiet. Praesent sed faucibus arcu. Nullam sit amet nibh a enim eleifend rhoncus. Donec pretium elementum leo at fermentum. Nulla sollicitudin, mauris quis semper tempus, sem metus tristique diam, efficitur pulvinar mi urna id urna.</strong></p>',
|
||||
}))
|
||||
)
|
||||
.add(
|
||||
'Note with HTML',
|
||||
withNotes({
|
||||
text: `
|
||||
<h2>My notes on emojies</h2>
|
||||
|
||||
<em>It's not all that important to be honest, but..</em>
|
||||
|
||||
Emojis are great, I love emojis, in fact I like using them in my Component notes too! 😇
|
||||
`,
|
||||
})(() => ({
|
||||
template: '<p>🤔😳😯😮<br/>😄😩😓😱<br/>🤓😑😶😊</p>',
|
||||
}))
|
||||
);
|
||||
|
||||
storiesOf('Addon Knobs', module)
|
||||
.addDecorator(withKnobs)
|
||||
.add('Simple', () => {
|
||||
const name = text('Name', 'John Doe');
|
||||
const age = number('Age', 44);
|
||||
const content = `I am ${name} and I'm ${age} years old.`;
|
||||
|
||||
return {
|
||||
template: `<div>${content}</div>`,
|
||||
};
|
||||
})
|
||||
.add('All knobs', () => {
|
||||
const name = text('Name', 'Jane');
|
||||
const stock = number('Stock', 20, {
|
||||
range: true,
|
||||
min: 0,
|
||||
max: 30,
|
||||
step: 5,
|
||||
});
|
||||
const fruits = {
|
||||
apples: 'Apple',
|
||||
bananas: 'Banana',
|
||||
cherries: 'Cherry',
|
||||
};
|
||||
const fruit = select('Fruit', fruits, 'apple');
|
||||
const price = number('Price', 2.25);
|
||||
|
||||
const colour = color('Border', 'deeppink');
|
||||
const today = date('Today', new Date('Jan 20 2017 GMT+0'));
|
||||
const items = array('Items', ['Laptop', 'Book', 'Whiskey']);
|
||||
const nice = boolean('Nice', true);
|
||||
|
||||
const stockMessage = stock
|
||||
? `I have a stock of ${stock} ${fruit}, costing $${price} each.`
|
||||
: `I'm out of ${fruit}${nice ? ', Sorry!' : '.'}`;
|
||||
const salutation = nice ? 'Nice to meet you!' : 'Leave me alone!';
|
||||
const dateOptions = { year: 'numeric', month: 'long', day: 'numeric', timeZone: 'UTC' };
|
||||
|
||||
button('Arbitrary action', action('You clicked it!'));
|
||||
|
||||
return {
|
||||
template: `
|
||||
<div style="border:2px dotted ${colour}; padding: 8px 22px; border-radius: 8px">
|
||||
<h1>My name is ${name},</h1>
|
||||
<h3>today is ${new Date(today).toLocaleDateString('en-US', dateOptions)}</h3>
|
||||
<p>${stockMessage}</p>
|
||||
<p>Also, I have:</p>
|
||||
<ul>
|
||||
${items.map(item => `<li key=${item}>${item}</li>`).join('')}
|
||||
</ul>
|
||||
<p>${salutation}</p>
|
||||
</div>
|
||||
`,
|
||||
};
|
||||
});
|
||||
|
||||
/* eslint-enable react/react-in-jsx-scope */
|
||||
|
@ -16,7 +16,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"glamor": "^2.20.40",
|
||||
"glamorous": "^4.11.4",
|
||||
"glamorous": "^4.11.5",
|
||||
"prop-types": "^15.6.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@ -41,7 +41,7 @@
|
||||
"react-dom": "^16.0.0",
|
||||
"serve-favicon": "^2.4.5",
|
||||
"shelljs": "^0.8.1",
|
||||
"style-loader": "^0.20.1",
|
||||
"style-loader": "^0.20.2",
|
||||
"url-loader": "^0.6.2",
|
||||
"webpack": "^3.11.0",
|
||||
"webpack-dev-middleware": "^1.12.2",
|
||||
|
@ -86,12 +86,12 @@
|
||||
"jest-preset-angular": "^5.0.0",
|
||||
"jest-vue-preprocessor": "^1.3.1",
|
||||
"lerna": "2.9.0",
|
||||
"lint-staged": "^6.1.0",
|
||||
"lint-staged": "^6.1.1",
|
||||
"lodash": "^4.17.5",
|
||||
"nodemon": "^1.14.12",
|
||||
"nodemon": "^1.15.0",
|
||||
"npmlog": "^4.1.2",
|
||||
"prettier": "^1.10.2",
|
||||
"puppeteer": "^1.0.0",
|
||||
"puppeteer": "^1.1.0",
|
||||
"raf": "^3.4.0",
|
||||
"react": "^16.2.0",
|
||||
"react-dom": "^16.2.0",
|
||||
@ -105,7 +105,7 @@
|
||||
"tslint": "~5.9.1",
|
||||
"tslint-config-prettier": "^1.8.0",
|
||||
"tslint-plugin-prettier": "^1.3.0",
|
||||
"typescript": "^2.7.1"
|
||||
"typescript": "^2.7.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0",
|
||||
|
290
yarn.lock
290
yarn.lock
@ -2,27 +2,27 @@
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@angular-devkit/build-optimizer@0.0.42":
|
||||
version "0.0.42"
|
||||
resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.0.42.tgz#402b0dda4883db91e2381c3ddc55888408a7894e"
|
||||
"@angular-devkit/build-optimizer@0.3.1":
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.3.1.tgz#6a26a46c58858c7b67833c6d8a81198fa17d23e7"
|
||||
dependencies:
|
||||
loader-utils "^1.1.0"
|
||||
source-map "^0.5.6"
|
||||
typescript "~2.6.2"
|
||||
webpack-sources "^1.0.1"
|
||||
|
||||
"@angular-devkit/core@0.0.29":
|
||||
version "0.0.29"
|
||||
resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-0.0.29.tgz#6fb319b45a62eff172318cbe256fdb24ef20af2b"
|
||||
"@angular-devkit/core@0.3.1":
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-0.3.1.tgz#6aeb990dec92d06360597928748aeeedc21afdde"
|
||||
dependencies:
|
||||
ajv "~5.5.1"
|
||||
chokidar "^1.7.0"
|
||||
rxjs "^5.5.6"
|
||||
source-map "^0.5.6"
|
||||
|
||||
"@angular-devkit/schematics@0.0.52":
|
||||
version "0.0.52"
|
||||
resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-0.0.52.tgz#cbd2f42778b50d6422a254ffaec05ad4ef3cb6c0"
|
||||
"@angular-devkit/schematics@0.3.1":
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-0.3.1.tgz#eb40ca260681f4f420ca8ed41f754fb3ea689f81"
|
||||
dependencies:
|
||||
"@ngtools/json-schema" "^1.1.0"
|
||||
rxjs "^5.5.6"
|
||||
@ -33,27 +33,27 @@
|
||||
dependencies:
|
||||
tslib "^1.7.1"
|
||||
|
||||
"@angular/cli@1.6.8":
|
||||
version "1.6.8"
|
||||
resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-1.6.8.tgz#963b48086ee3e9584a136d3c45893260f516dd75"
|
||||
"@angular/cli@1.7.0":
|
||||
version "1.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-1.7.0.tgz#63c56e6d36d57bcd9d9d9425bd806f590f518211"
|
||||
dependencies:
|
||||
"@angular-devkit/build-optimizer" "0.0.42"
|
||||
"@angular-devkit/core" "0.0.29"
|
||||
"@angular-devkit/schematics" "0.0.52"
|
||||
"@ngtools/json-schema" "1.1.0"
|
||||
"@ngtools/webpack" "1.9.8"
|
||||
"@schematics/angular" "0.1.17"
|
||||
"@angular-devkit/build-optimizer" "0.3.1"
|
||||
"@angular-devkit/core" "0.3.1"
|
||||
"@angular-devkit/schematics" "0.3.1"
|
||||
"@ngtools/json-schema" "1.2.0"
|
||||
"@ngtools/webpack" "1.10.0"
|
||||
"@schematics/angular" "0.3.1"
|
||||
"@schematics/package-update" "0.3.1"
|
||||
autoprefixer "^7.2.3"
|
||||
cache-loader "^1.2.0"
|
||||
chalk "~2.2.0"
|
||||
circular-dependency-plugin "^4.2.1"
|
||||
clean-css "^4.1.9"
|
||||
common-tags "^1.3.1"
|
||||
copy-webpack-plugin "^4.1.1"
|
||||
copy-webpack-plugin "~4.4.1"
|
||||
core-object "^3.1.0"
|
||||
css-loader "^0.28.1"
|
||||
cssnano "^3.10.0"
|
||||
denodeify "^1.2.1"
|
||||
ember-cli-string-utils "^1.0.0"
|
||||
exports-loader "^0.6.3"
|
||||
extract-text-webpack-plugin "^3.0.2"
|
||||
file-loader "^1.1.5"
|
||||
fs-extra "^4.0.0"
|
||||
@ -72,6 +72,7 @@
|
||||
nopt "^4.0.1"
|
||||
opn "~5.1.0"
|
||||
portfinder "~1.0.12"
|
||||
postcss "^6.0.16"
|
||||
postcss-import "^11.0.0"
|
||||
postcss-loader "^2.0.10"
|
||||
postcss-url "^7.1.2"
|
||||
@ -82,12 +83,12 @@
|
||||
semver "^5.1.0"
|
||||
silent-error "^1.0.0"
|
||||
source-map-support "^0.4.1"
|
||||
style-loader "^0.13.1"
|
||||
style-loader "^0.19.1"
|
||||
stylus "^0.54.5"
|
||||
stylus-loader "^3.0.1"
|
||||
uglifyjs-webpack-plugin "^1.1.8"
|
||||
url-loader "^0.6.2"
|
||||
webpack "~3.10.0"
|
||||
webpack "~3.11.0"
|
||||
webpack-dev-middleware "~1.12.0"
|
||||
webpack-dev-server "~2.11.0"
|
||||
webpack-merge "^4.1.0"
|
||||
@ -223,13 +224,17 @@
|
||||
lodash "^4.2.0"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
"@ngtools/json-schema@1.1.0", "@ngtools/json-schema@^1.1.0":
|
||||
"@ngtools/json-schema@1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@ngtools/json-schema/-/json-schema-1.2.0.tgz#06e5ecd29e9a37d260a447dd873ea2becd228c4f"
|
||||
|
||||
"@ngtools/json-schema@^1.1.0":
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@ngtools/json-schema/-/json-schema-1.1.0.tgz#c3a0c544d62392acc2813a42c8a0dc6f58f86922"
|
||||
|
||||
"@ngtools/webpack@1.9.8":
|
||||
version "1.9.8"
|
||||
resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-1.9.8.tgz#c9d1d1884b86ea9a5fbbd6f65080dc3ac37c8d97"
|
||||
"@ngtools/webpack@1.10.0":
|
||||
version "1.10.0"
|
||||
resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-1.10.0.tgz#1e4f60bdba8cdb8aeb93ebb976e63bf175acd279"
|
||||
dependencies:
|
||||
chalk "~2.2.0"
|
||||
enhanced-resolve "^3.1.0"
|
||||
@ -255,12 +260,20 @@
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@polymer/polymer/-/polymer-2.5.0.tgz#261439f5ab691c230d0c5dfb518b9247064ac13d"
|
||||
|
||||
"@schematics/angular@0.1.17":
|
||||
version "0.1.17"
|
||||
resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-0.1.17.tgz#084a7cbe2de6f94a856bd08d95c9d35ef8905e2b"
|
||||
"@schematics/angular@0.3.1":
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-0.3.1.tgz#0f5185f5e718145031532fb03d127446e22ee9b8"
|
||||
dependencies:
|
||||
typescript "~2.6.2"
|
||||
|
||||
"@schematics/package-update@0.3.1":
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@schematics/package-update/-/package-update-0.3.1.tgz#b7662a2aeb724e0f162b916cc0937278a6a1e709"
|
||||
dependencies:
|
||||
rxjs "^5.5.6"
|
||||
semver "^5.3.0"
|
||||
semver-intersect "^1.1.2"
|
||||
|
||||
"@storybook/components@^3.3.3":
|
||||
version "3.3.13"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/components/-/components-3.3.13.tgz#003addacf9c98d61a35246eb7c76908d38d323c4"
|
||||
@ -315,8 +328,8 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.8.6.tgz#14445b6a1613cf4e05dd61c3c3256d0e95c0421e"
|
||||
|
||||
"@types/lodash@^4.14.85":
|
||||
version "4.14.103"
|
||||
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.103.tgz#56ac640f029f67655f0721f479f1faa982bd8122"
|
||||
version "4.14.104"
|
||||
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.104.tgz#53ee2357fa2e6e68379341d92eb2ecea4b11bb80"
|
||||
|
||||
"@types/mz@0.0.32":
|
||||
version "0.0.32"
|
||||
@ -2346,7 +2359,7 @@ blocking-proxy@^1.0.0:
|
||||
dependencies:
|
||||
minimist "^1.2.0"
|
||||
|
||||
bluebird@^3.1.1, bluebird@^3.3.0, bluebird@^3.4.6, bluebird@^3.4.7, bluebird@^3.5.0, bluebird@~3.5.0:
|
||||
bluebird@^3.1.1, bluebird@^3.3.0, bluebird@^3.4.6, bluebird@^3.4.7, bluebird@^3.5.0, bluebird@^3.5.1, bluebird@~3.5.0:
|
||||
version "3.5.1"
|
||||
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
|
||||
|
||||
@ -2709,22 +2722,22 @@ bytes@3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
|
||||
|
||||
cacache@^10.0.0, cacache@^10.0.1:
|
||||
version "10.0.2"
|
||||
resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.2.tgz#105a93a162bbedf3a25da42e1939ed99ffb145f8"
|
||||
version "10.0.4"
|
||||
resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460"
|
||||
dependencies:
|
||||
bluebird "^3.5.0"
|
||||
bluebird "^3.5.1"
|
||||
chownr "^1.0.1"
|
||||
glob "^7.1.2"
|
||||
graceful-fs "^4.1.11"
|
||||
lru-cache "^4.1.1"
|
||||
mississippi "^1.3.0"
|
||||
mississippi "^2.0.0"
|
||||
mkdirp "^0.5.1"
|
||||
move-concurrently "^1.0.1"
|
||||
promise-inflight "^1.0.1"
|
||||
rimraf "^2.6.1"
|
||||
ssri "^5.0.0"
|
||||
rimraf "^2.6.2"
|
||||
ssri "^5.2.4"
|
||||
unique-filename "^1.1.0"
|
||||
y18n "^3.2.1"
|
||||
y18n "^4.0.0"
|
||||
|
||||
cacache@^9.2.9:
|
||||
version "9.3.0"
|
||||
@ -2776,6 +2789,15 @@ cache-base@^1.0.1:
|
||||
union-value "^1.0.0"
|
||||
unset-value "^1.0.0"
|
||||
|
||||
cache-loader@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/cache-loader/-/cache-loader-1.2.0.tgz#cdc313ae53b3c13ce8ee0c9296cf16c736b15252"
|
||||
dependencies:
|
||||
async "^2.4.1"
|
||||
loader-utils "^1.1.0"
|
||||
mkdirp "^0.5.1"
|
||||
schema-utils "^0.4.2"
|
||||
|
||||
cached-path-relative@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.1.tgz#d09c4b52800aa4c078e2dd81a869aac90d2e54e7"
|
||||
@ -3062,7 +3084,7 @@ classnames@^2.2.5:
|
||||
version "2.2.5"
|
||||
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d"
|
||||
|
||||
clean-css@4.1.x:
|
||||
clean-css@4.1.x, clean-css@^4.1.9:
|
||||
version "4.1.9"
|
||||
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.9.tgz#35cee8ae7687a49b98034f70de00c4edd3826301"
|
||||
dependencies:
|
||||
@ -3728,7 +3750,7 @@ copy-descriptor@^0.1.0:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
|
||||
|
||||
copy-webpack-plugin@^4.1.1, copy-webpack-plugin@^4.4.0:
|
||||
copy-webpack-plugin@^4.4.0, copy-webpack-plugin@~4.4.1:
|
||||
version "4.4.1"
|
||||
resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.4.1.tgz#1e8c366211db6dc2ddee40e5a3e4fc661dd149e8"
|
||||
dependencies:
|
||||
@ -3959,7 +3981,7 @@ css-loader@0.28.7:
|
||||
postcss-value-parser "^3.3.0"
|
||||
source-list-map "^2.0.0"
|
||||
|
||||
css-loader@^0.28.1, css-loader@^0.28.9:
|
||||
css-loader@^0.28.9:
|
||||
version "0.28.9"
|
||||
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.9.tgz#68064b85f4e271d7ce4c48a58300928e535d1c95"
|
||||
dependencies:
|
||||
@ -4203,7 +4225,7 @@ debug@~2.2.0:
|
||||
dependencies:
|
||||
ms "0.7.1"
|
||||
|
||||
debuglog@^1.0.1:
|
||||
debuglog@*, debuglog@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
|
||||
|
||||
@ -4850,8 +4872,8 @@ es-to-primitive@^1.1.1:
|
||||
is-symbol "^1.0.1"
|
||||
|
||||
es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
|
||||
version "0.10.38"
|
||||
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.38.tgz#fa7d40d65bbc9bb8a67e1d3f9cc656a00530eed3"
|
||||
version "0.10.39"
|
||||
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.39.tgz#fca21b67559277ca4ac1a1ed7048b107b6f76d87"
|
||||
dependencies:
|
||||
es6-iterator "~2.0.3"
|
||||
es6-symbol "~3.1.1"
|
||||
@ -5150,8 +5172,8 @@ eslint@4.10.0:
|
||||
text-table "~0.2.0"
|
||||
|
||||
eslint@^4.17.0:
|
||||
version "4.17.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.17.0.tgz#dc24bb51ede48df629be7031c71d9dc0ee4f3ddf"
|
||||
version "4.18.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.18.0.tgz#ebd0ba795af6dc59aa5cee17938160af5950e051"
|
||||
dependencies:
|
||||
ajv "^5.3.0"
|
||||
babel-code-frame "^6.22.0"
|
||||
@ -5389,13 +5411,6 @@ expect@^22.3.0:
|
||||
jest-message-util "^22.2.0"
|
||||
jest-regex-util "^22.1.0"
|
||||
|
||||
exports-loader@^0.6.3:
|
||||
version "0.6.4"
|
||||
resolved "https://registry.yarnpkg.com/exports-loader/-/exports-loader-0.6.4.tgz#d70fc6121975b35fc12830cf52754be2740fc886"
|
||||
dependencies:
|
||||
loader-utils "^1.0.2"
|
||||
source-map "0.5.x"
|
||||
|
||||
express-session@~1.11.3:
|
||||
version "1.11.3"
|
||||
resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.11.3.tgz#5cc98f3f5ff84ed835f91cbf0aabd0c7107400af"
|
||||
@ -5763,8 +5778,8 @@ flatten@^1.0.2:
|
||||
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
|
||||
|
||||
flow-parser@^0.*:
|
||||
version "0.65.0"
|
||||
resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.65.0.tgz#5b6f91cb2a591d2c64e7989d21c133391902c86e"
|
||||
version "0.66.0"
|
||||
resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.66.0.tgz#be583fefb01192aa5164415d31a6241b35718983"
|
||||
|
||||
flush-write-stream@^1.0.0:
|
||||
version "1.0.2"
|
||||
@ -6187,9 +6202,9 @@ glamor@^2.20.40:
|
||||
prop-types "^15.5.10"
|
||||
through "^2.3.8"
|
||||
|
||||
glamorous@^4.11.2, glamorous@^4.11.4:
|
||||
version "4.11.4"
|
||||
resolved "https://registry.yarnpkg.com/glamorous/-/glamorous-4.11.4.tgz#61b333e1ec552abbe48e2fea48fea89fc0026149"
|
||||
glamorous@^4.11.2, glamorous@^4.11.5:
|
||||
version "4.11.6"
|
||||
resolved "https://registry.yarnpkg.com/glamorous/-/glamorous-4.11.6.tgz#337d9ec370ef3fa7cd0cd8f9f1c058fa3c55a424"
|
||||
dependencies:
|
||||
brcast "^3.0.0"
|
||||
fast-memoize "^2.2.7"
|
||||
@ -6441,7 +6456,7 @@ graphql@^0.12.3:
|
||||
dependencies:
|
||||
iterall "1.1.3"
|
||||
|
||||
graphql@^0.13.0:
|
||||
graphql@^0.13.1:
|
||||
version "0.13.1"
|
||||
resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.13.1.tgz#9b3db3d8e40d1827e4172404bfdd2e4e17a58b55"
|
||||
dependencies:
|
||||
@ -7035,7 +7050,7 @@ import-local@^1.0.0:
|
||||
pkg-dir "^2.0.0"
|
||||
resolve-cwd "^2.0.0"
|
||||
|
||||
imurmurhash@^0.1.4:
|
||||
imurmurhash@*, imurmurhash@^0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
|
||||
|
||||
@ -8819,9 +8834,9 @@ linkify-it@^2.0.0:
|
||||
dependencies:
|
||||
uc.micro "^1.0.1"
|
||||
|
||||
lint-staged@^6.1.0:
|
||||
version "6.1.0"
|
||||
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-6.1.0.tgz#28f600c10a6cbd249ceb003118a1552e53544a93"
|
||||
lint-staged@^6.1.1:
|
||||
version "6.1.1"
|
||||
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-6.1.1.tgz#cd08c4d9b8ccc2d37198d1c47ce77d22be6cf324"
|
||||
dependencies:
|
||||
app-root-path "^2.0.0"
|
||||
chalk "^2.1.0"
|
||||
@ -8841,7 +8856,7 @@ lint-staged@^6.1.0:
|
||||
p-map "^1.1.1"
|
||||
path-is-inside "^1.0.2"
|
||||
pify "^3.0.0"
|
||||
staged-git-files "0.0.4"
|
||||
staged-git-files "1.0.0"
|
||||
stringify-object "^3.2.0"
|
||||
|
||||
listr-silent-renderer@^1.1.1:
|
||||
@ -8983,6 +8998,10 @@ lodash._basecopy@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
|
||||
|
||||
lodash._baseindexof@*:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c"
|
||||
|
||||
lodash._baseisequal@^3.0.0:
|
||||
version "3.0.7"
|
||||
resolved "https://registry.yarnpkg.com/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz#d8025f76339d29342767dcc887ce5cb95a5b51f1"
|
||||
@ -9006,15 +9025,25 @@ lodash._basevalues@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7"
|
||||
|
||||
lodash._bindcallback@^3.0.0:
|
||||
lodash._bindcallback@*, lodash._bindcallback@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
|
||||
|
||||
lodash._cacheindexof@*:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92"
|
||||
|
||||
lodash._createcache@*:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093"
|
||||
dependencies:
|
||||
lodash._getnative "^3.0.0"
|
||||
|
||||
lodash._createset@~4.0.0:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26"
|
||||
|
||||
lodash._getnative@^3.0.0:
|
||||
lodash._getnative@*, lodash._getnative@^3.0.0:
|
||||
version "3.9.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
|
||||
|
||||
@ -9159,7 +9188,7 @@ lodash.pick@^4.4.0:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
|
||||
|
||||
lodash.restparam@^3.0.0:
|
||||
lodash.restparam@*, lodash.restparam@^3.0.0:
|
||||
version "3.6.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
|
||||
|
||||
@ -9672,7 +9701,7 @@ miller-rabin@^4.0.0:
|
||||
bn.js "^4.0.0"
|
||||
brorand "^1.0.1"
|
||||
|
||||
"mime-db@>= 1.30.0 < 2":
|
||||
"mime-db@>= 1.30.0 < 2", mime-db@~1.33.0:
|
||||
version "1.33.0"
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
|
||||
|
||||
@ -9680,21 +9709,17 @@ mime-db@~1.23.0:
|
||||
version "1.23.0"
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.23.0.tgz#a31b4070adaea27d732ea333740a64d0ec9a6659"
|
||||
|
||||
mime-db@~1.30.0:
|
||||
version "1.30.0"
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01"
|
||||
|
||||
mime-types@2.1.11:
|
||||
version "2.1.11"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.11.tgz#c259c471bda808a85d6cd193b430a5fae4473b3c"
|
||||
dependencies:
|
||||
mime-db "~1.23.0"
|
||||
|
||||
mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.17, mime-types@~2.1.6, mime-types@~2.1.7, mime-types@~2.1.9:
|
||||
version "2.1.17"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a"
|
||||
mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.16, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.6, mime-types@~2.1.7, mime-types@~2.1.9:
|
||||
version "2.1.18"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
|
||||
dependencies:
|
||||
mime-db "~1.30.0"
|
||||
mime-db "~1.33.0"
|
||||
|
||||
mime@1.3.4:
|
||||
version "1.3.4"
|
||||
@ -9769,6 +9794,21 @@ mississippi@^1.2.0, mississippi@^1.3.0, mississippi@~1.3.0:
|
||||
stream-each "^1.1.0"
|
||||
through2 "^2.0.0"
|
||||
|
||||
mississippi@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f"
|
||||
dependencies:
|
||||
concat-stream "^1.5.0"
|
||||
duplexify "^3.4.2"
|
||||
end-of-stream "^1.1.0"
|
||||
flush-write-stream "^1.0.0"
|
||||
from2 "^2.1.0"
|
||||
parallel-transform "^1.1.0"
|
||||
pump "^2.0.1"
|
||||
pumpify "^1.3.3"
|
||||
stream-each "^1.1.0"
|
||||
through2 "^2.0.0"
|
||||
|
||||
mixin-deep@^1.2.0:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe"
|
||||
@ -10176,7 +10216,7 @@ nodemailer@^2.5.0:
|
||||
nodemailer-smtp-transport "2.7.2"
|
||||
socks "1.1.9"
|
||||
|
||||
nodemon@^1.14.12:
|
||||
nodemon@^1.15.0:
|
||||
version "1.15.0"
|
||||
resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.15.0.tgz#ddec01eeb9c33d53dfbf7eddb2fa32f723474c1e"
|
||||
dependencies:
|
||||
@ -11486,7 +11526,7 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0
|
||||
source-map "^0.5.6"
|
||||
supports-color "^3.2.3"
|
||||
|
||||
postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.13, postcss@^6.0.17, postcss@^6.0.8, postcss@^6.0.9:
|
||||
postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.13, postcss@^6.0.16, postcss@^6.0.17, postcss@^6.0.8, postcss@^6.0.9:
|
||||
version "6.0.18"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.18.tgz#370f5f44d47f3a205f0eb2f6262bbf202df2a80e"
|
||||
dependencies:
|
||||
@ -11710,7 +11750,7 @@ pump@^1.0.0:
|
||||
end-of-stream "^1.1.0"
|
||||
once "^1.3.1"
|
||||
|
||||
pump@^2.0.0:
|
||||
pump@^2.0.0, pump@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
|
||||
dependencies:
|
||||
@ -11750,9 +11790,9 @@ puppeteer@^0.13.0:
|
||||
rimraf "^2.6.1"
|
||||
ws "^3.0.0"
|
||||
|
||||
puppeteer@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.0.0.tgz#20f3bb6ad6c6778b4d1fb750e808a29fec0a88a4"
|
||||
puppeteer@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.1.0.tgz#97fbc2fbbf9ab659e7e202a68ac1ba54b8bc0a25"
|
||||
dependencies:
|
||||
debug "^2.6.8"
|
||||
extract-zip "^1.6.5"
|
||||
@ -12415,7 +12455,7 @@ readable-stream@~2.0.0, readable-stream@~2.0.5, readable-stream@~2.0.6:
|
||||
string_decoder "~0.10.x"
|
||||
util-deprecate "~1.0.1"
|
||||
|
||||
readdir-scoped-modules@^1.0.0:
|
||||
readdir-scoped-modules@*, readdir-scoped-modules@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747"
|
||||
dependencies:
|
||||
@ -13321,7 +13361,13 @@ semver-dsl@^1.0.1:
|
||||
dependencies:
|
||||
semver "^5.3.0"
|
||||
|
||||
"semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@5.x, "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0:
|
||||
semver-intersect@^1.1.2:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/semver-intersect/-/semver-intersect-1.3.0.tgz#d0d727d17d8abd2ff699fce6ae6ab83073d51b36"
|
||||
dependencies:
|
||||
semver "^5.0.0"
|
||||
|
||||
"semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@5.x, "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.0, semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
|
||||
|
||||
@ -13924,9 +13970,9 @@ ssri@^4.1.2, ssri@^4.1.6, ssri@~4.1.6:
|
||||
dependencies:
|
||||
safe-buffer "^5.1.0"
|
||||
|
||||
ssri@^5.0.0:
|
||||
version "5.2.2"
|
||||
resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.2.2.tgz#797be390aefe03996e4d961657a946121e2feacf"
|
||||
ssri@^5.0.0, ssri@^5.2.4:
|
||||
version "5.2.4"
|
||||
resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.2.4.tgz#9985e14041e65fc397af96542be35724ac11da52"
|
||||
dependencies:
|
||||
safe-buffer "^5.1.1"
|
||||
|
||||
@ -13938,9 +13984,9 @@ stacktrace-parser@^0.1.3:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.4.tgz#01397922e5f62ecf30845522c95c4fe1d25e7d4e"
|
||||
|
||||
staged-git-files@0.0.4:
|
||||
version "0.0.4"
|
||||
resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-0.0.4.tgz#d797e1b551ca7a639dec0237dc6eb4bb9be17d35"
|
||||
staged-git-files@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.0.0.tgz#cdb847837c1fcc52c08a872d4883cc0877668a80"
|
||||
|
||||
state-toggle@^1.0.0:
|
||||
version "1.0.0"
|
||||
@ -14209,13 +14255,14 @@ style-loader@0.19.0:
|
||||
loader-utils "^1.0.2"
|
||||
schema-utils "^0.3.0"
|
||||
|
||||
style-loader@^0.13.1:
|
||||
version "0.13.2"
|
||||
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.13.2.tgz#74533384cf698c7104c7951150b49717adc2f3bb"
|
||||
style-loader@^0.19.1:
|
||||
version "0.19.1"
|
||||
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.19.1.tgz#591ffc80bcefe268b77c5d9ebc0505d772619f85"
|
||||
dependencies:
|
||||
loader-utils "^1.0.2"
|
||||
schema-utils "^0.3.0"
|
||||
|
||||
style-loader@^0.20.1:
|
||||
style-loader@^0.20.2:
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.20.2.tgz#851b373c187890331776e9cde359eea9c95ecd00"
|
||||
dependencies:
|
||||
@ -14798,11 +14845,11 @@ type-check@~0.3.2:
|
||||
prelude-ls "~1.1.2"
|
||||
|
||||
type-is@~1.6.15, type-is@~1.6.6:
|
||||
version "1.6.15"
|
||||
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
|
||||
version "1.6.16"
|
||||
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194"
|
||||
dependencies:
|
||||
media-typer "0.3.0"
|
||||
mime-types "~2.1.15"
|
||||
mime-types "~2.1.18"
|
||||
|
||||
typedarray@^0.0.6, typedarray@~0.0.5:
|
||||
version "0.0.6"
|
||||
@ -14812,7 +14859,7 @@ typescript@2.5.3:
|
||||
version "2.5.3"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.5.3.tgz#df3dcdc38f3beb800d4bc322646b04a3f6ca7f0d"
|
||||
|
||||
typescript@^2.7.1:
|
||||
typescript@^2.7.2:
|
||||
version "2.7.2"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.7.2.tgz#2d615a1ef4aee4f574425cdff7026edf81919836"
|
||||
|
||||
@ -14864,8 +14911,8 @@ uglifyjs-webpack-plugin@^0.4.6:
|
||||
webpack-sources "^1.0.1"
|
||||
|
||||
uglifyjs-webpack-plugin@^1.1.7, uglifyjs-webpack-plugin@^1.1.8:
|
||||
version "1.1.8"
|
||||
resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.8.tgz#1302fb9471a7daf3d0a5174da6d65f0f415e75ad"
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.0.tgz#f706fa4c655000a086b4a97c7d835ed0f6e9b0ef"
|
||||
dependencies:
|
||||
cacache "^10.0.1"
|
||||
find-cache-dir "^1.0.0"
|
||||
@ -15285,7 +15332,7 @@ v8flags@^3.0.0:
|
||||
dependencies:
|
||||
homedir-polyfill "^1.0.1"
|
||||
|
||||
validate-npm-package-license@^3.0.1:
|
||||
validate-npm-package-license@*, validate-npm-package-license@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
|
||||
dependencies:
|
||||
@ -15386,7 +15433,7 @@ vm-browserify@0.0.4, vm-browserify@~0.0.1:
|
||||
dependencies:
|
||||
indexof "0.0.1"
|
||||
|
||||
vm2@patriksimek/vm2#custom_files:
|
||||
"vm2@github:patriksimek/vm2#custom_files":
|
||||
version "3.5.0"
|
||||
resolved "https://codeload.github.com/patriksimek/vm2/tar.gz/7e82f90ac705fc44fad044147cb0df09b4c79a57"
|
||||
|
||||
@ -15680,7 +15727,7 @@ webpack@3.8.1:
|
||||
webpack-sources "^1.0.1"
|
||||
yargs "^8.0.2"
|
||||
|
||||
webpack@^3.11.0:
|
||||
webpack@^3.11.0, webpack@~3.11.0:
|
||||
version "3.11.0"
|
||||
resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.11.0.tgz#77da451b1d7b4b117adaf41a1a93b5742f24d894"
|
||||
dependencies:
|
||||
@ -15707,33 +15754,6 @@ webpack@^3.11.0:
|
||||
webpack-sources "^1.0.1"
|
||||
yargs "^8.0.2"
|
||||
|
||||
webpack@~3.10.0:
|
||||
version "3.10.0"
|
||||
resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.10.0.tgz#5291b875078cf2abf42bdd23afe3f8f96c17d725"
|
||||
dependencies:
|
||||
acorn "^5.0.0"
|
||||
acorn-dynamic-import "^2.0.0"
|
||||
ajv "^5.1.5"
|
||||
ajv-keywords "^2.0.0"
|
||||
async "^2.1.2"
|
||||
enhanced-resolve "^3.4.0"
|
||||
escope "^3.6.0"
|
||||
interpret "^1.0.0"
|
||||
json-loader "^0.5.4"
|
||||
json5 "^0.5.1"
|
||||
loader-runner "^2.3.0"
|
||||
loader-utils "^1.1.0"
|
||||
memory-fs "~0.4.1"
|
||||
mkdirp "~0.5.0"
|
||||
node-libs-browser "^2.0.0"
|
||||
source-map "^0.5.3"
|
||||
supports-color "^4.2.1"
|
||||
tapable "^0.2.7"
|
||||
uglifyjs-webpack-plugin "^0.4.6"
|
||||
watchpack "^1.4.0"
|
||||
webpack-sources "^1.0.1"
|
||||
yargs "^8.0.2"
|
||||
|
||||
websocket-driver@>=0.5.1:
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb"
|
||||
@ -16050,6 +16070,10 @@ y18n@^3.2.0, y18n@^3.2.1:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
|
||||
|
||||
y18n@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
|
||||
|
||||
yallist@^2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
|
||||
|
Loading…
x
Reference in New Issue
Block a user