feat(detail view): add detail view (#470)
* feat(detail view): add detail view * update tests * fix some complexity issues * fix a permutator test value * re-order imports * re-case readme markdown file names
This commit is contained in:
Родитель
4b1ed8abf7
Коммит
665b871ce1
|
@ -71,3 +71,6 @@ www/
|
|||
#Ignore VSCode
|
||||
.vscode/
|
||||
.vs/
|
||||
|
||||
# tmp directories
|
||||
.tmp/
|
|
@ -0,0 +1,69 @@
|
|||
/**
|
||||
* Utility for converting README files to .tsx files.
|
||||
* Usage: node build/convert-readme.js %path%
|
||||
*/
|
||||
const path = require("path");
|
||||
const glob = require("glob");
|
||||
const fs = require("fs");
|
||||
const argv = require("yargs").argv;
|
||||
const MarkdownIt = require("markdown-it");
|
||||
|
||||
const srcDir = argv.src || "./src/**/README.md";
|
||||
|
||||
/**
|
||||
* Start and end file strings
|
||||
*/
|
||||
const startFile = `// Generated file from ../../build
|
||||
/* tslint:disable */
|
||||
import * as React from "react";
|
||||
export default class Documentation extends React.Component<{}, {}> {
|
||||
public render(): JSX.Element {
|
||||
return (
|
||||
<div style={{padding: "14px"}}>\n `;
|
||||
|
||||
const endFile = `\n </div>
|
||||
);
|
||||
}
|
||||
}\n`;
|
||||
|
||||
const md = new MarkdownIt({
|
||||
html: true,
|
||||
linkify: true,
|
||||
typographer: true,
|
||||
xhtmlOut: true
|
||||
});
|
||||
|
||||
/**
|
||||
* All paths passed to the convert script
|
||||
*/
|
||||
const paths = argv._;
|
||||
|
||||
/**
|
||||
* Function to create string exports of a given path
|
||||
*/
|
||||
function exportReadme(readmePath) {
|
||||
const readmePaths = path.resolve(process.cwd(), srcDir);
|
||||
|
||||
glob(readmePaths, void(0), function(error, files) {
|
||||
files.forEach((filePath) => {
|
||||
let documentation = startFile;
|
||||
const markdown = fs.readFileSync(filePath, "utf8");
|
||||
const exportPath = filePath.replace(/README\.md/, readmePath);
|
||||
documentation += md.render(markdown);
|
||||
documentation += endFile;
|
||||
|
||||
if (!fs.existsSync(exportPath)){
|
||||
fs.mkdirSync(exportPath);
|
||||
}
|
||||
|
||||
fs.writeFileSync(path.resolve(exportPath, "documentation.tsx"), documentation);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert all paths
|
||||
*/
|
||||
if (Array.isArray(paths)) {
|
||||
paths.forEach(exportReadme);
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
/**
|
||||
* Utility for copying readme to their dist folders.
|
||||
* Usage: node build/copy-readme.js
|
||||
*/
|
||||
const path = require("path");
|
||||
const fs = require("fs");
|
||||
const glob = require("glob");
|
||||
|
||||
const rootDir = path.resolve(process.cwd());
|
||||
const srcReadmePaths = "src/**/README.md";
|
||||
const destDir = "dist";
|
||||
|
||||
/**
|
||||
* Function to copy readme files to their dist folder
|
||||
*/
|
||||
function copyReadmeFiles() {
|
||||
const resolvedSrcReadmePaths = path.resolve(rootDir, srcReadmePaths);
|
||||
|
||||
glob(resolvedSrcReadmePaths, void(0), function(error, files) {
|
||||
files.forEach((filePath) => {
|
||||
const destReadmePath = filePath.replace(/(\bsrc\b)(?!.*\1)/, destDir);
|
||||
fs.copyFileSync(filePath, destReadmePath);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy all files
|
||||
*/
|
||||
copyReadmeFiles();
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -20,6 +20,7 @@
|
|||
"@types/node": "^9.4.7",
|
||||
"glob": "^7.1.2",
|
||||
"lerna": "^2.9.0",
|
||||
"markdown-it": "^8.4.1",
|
||||
"rimraf": "^2.6.2",
|
||||
"ts-node": "^5.0.1",
|
||||
"typescript": "^2.7.2",
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -17,7 +17,7 @@
|
|||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
||||
"requires": {
|
||||
"sprintf-js": "~1.0.2"
|
||||
"sprintf-js": "1.0.3"
|
||||
}
|
||||
},
|
||||
"babel-code-frame": {
|
||||
|
@ -25,9 +25,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
|
||||
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
|
||||
"requires": {
|
||||
"chalk": "^1.1.3",
|
||||
"esutils": "^2.0.2",
|
||||
"js-tokens": "^3.0.2"
|
||||
"chalk": "1.1.3",
|
||||
"esutils": "2.0.2",
|
||||
"js-tokens": "3.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"chalk": {
|
||||
|
@ -35,11 +35,11 @@
|
|||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"requires": {
|
||||
"ansi-styles": "^2.2.1",
|
||||
"escape-string-regexp": "^1.0.2",
|
||||
"has-ansi": "^2.0.0",
|
||||
"strip-ansi": "^3.0.0",
|
||||
"supports-color": "^2.0.0"
|
||||
"ansi-styles": "2.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"has-ansi": "2.0.0",
|
||||
"strip-ansi": "3.0.1",
|
||||
"supports-color": "2.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -54,7 +54,7 @@
|
|||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"balanced-match": "1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
|
@ -68,9 +68,9 @@
|
|||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
|
||||
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
|
||||
"requires": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"supports-color": "^5.3.0"
|
||||
"ansi-styles": "3.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"supports-color": "5.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
|
@ -78,7 +78,7 @@
|
|||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
||||
"requires": {
|
||||
"color-convert": "^1.9.0"
|
||||
"color-convert": "1.9.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
|
@ -86,7 +86,7 @@
|
|||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
|
||||
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
|
||||
"requires": {
|
||||
"has-flag": "^3.0.0"
|
||||
"has-flag": "3.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -96,7 +96,7 @@
|
|||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
|
||||
"integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
|
||||
"requires": {
|
||||
"color-name": "^1.1.1"
|
||||
"color-name": "1.1.3"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
|
@ -144,12 +144,12 @@
|
|||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
|
||||
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.0.4",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
"fs.realpath": "1.0.0",
|
||||
"inflight": "1.0.6",
|
||||
"inherits": "2.0.3",
|
||||
"minimatch": "3.0.4",
|
||||
"once": "1.4.0",
|
||||
"path-is-absolute": "1.0.1"
|
||||
}
|
||||
},
|
||||
"has-ansi": {
|
||||
|
@ -157,7 +157,7 @@
|
|||
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
|
||||
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
|
@ -170,8 +170,8 @@
|
|||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
|
||||
"requires": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
"once": "1.4.0",
|
||||
"wrappy": "1.0.2"
|
||||
}
|
||||
},
|
||||
"inherits": {
|
||||
|
@ -189,8 +189,8 @@
|
|||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
|
||||
"integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
"argparse": "1.0.10",
|
||||
"esprima": "4.0.0"
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
|
@ -198,7 +198,7 @@
|
|||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
"brace-expansion": "1.1.11"
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
|
@ -206,7 +206,7 @@
|
|||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
"wrappy": "1.0.2"
|
||||
}
|
||||
},
|
||||
"path-is-absolute": {
|
||||
|
@ -224,7 +224,7 @@
|
|||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
|
||||
"integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
|
||||
"requires": {
|
||||
"path-parse": "^1.0.5"
|
||||
"path-parse": "1.0.5"
|
||||
}
|
||||
},
|
||||
"semver": {
|
||||
|
@ -242,7 +242,7 @@
|
|||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
|
@ -260,18 +260,18 @@
|
|||
"resolved": "https://registry.npmjs.org/tslint/-/tslint-5.10.0.tgz",
|
||||
"integrity": "sha1-EeJrzLiK+gLdDZlWyuPUVAtfVMM=",
|
||||
"requires": {
|
||||
"babel-code-frame": "^6.22.0",
|
||||
"builtin-modules": "^1.1.1",
|
||||
"chalk": "^2.3.0",
|
||||
"commander": "^2.12.1",
|
||||
"diff": "^3.2.0",
|
||||
"glob": "^7.1.1",
|
||||
"js-yaml": "^3.7.0",
|
||||
"minimatch": "^3.0.4",
|
||||
"resolve": "^1.3.2",
|
||||
"semver": "^5.3.0",
|
||||
"tslib": "^1.8.0",
|
||||
"tsutils": "^2.12.1"
|
||||
"babel-code-frame": "6.26.0",
|
||||
"builtin-modules": "1.1.1",
|
||||
"chalk": "2.4.1",
|
||||
"commander": "2.15.1",
|
||||
"diff": "3.5.0",
|
||||
"glob": "7.1.2",
|
||||
"js-yaml": "3.11.0",
|
||||
"minimatch": "3.0.4",
|
||||
"resolve": "1.7.1",
|
||||
"semver": "5.5.0",
|
||||
"tslib": "1.9.1",
|
||||
"tsutils": "2.27.0"
|
||||
}
|
||||
},
|
||||
"tsutils": {
|
||||
|
@ -279,7 +279,7 @@
|
|||
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.27.0.tgz",
|
||||
"integrity": "sha512-JcyX25oM9pFcb3zh60OqG1St8p/uSqC5Bgipdo3ieacB/Ao4dPhm7hAtKT9NrEu23CyYrrgJPV3CqYfo+/+T4w==",
|
||||
"requires": {
|
||||
"tslib": "^1.8.1"
|
||||
"tslib": "1.9.1"
|
||||
}
|
||||
},
|
||||
"typescript": {
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
||||
"requires": {
|
||||
"sprintf-js": "~1.0.2"
|
||||
"sprintf-js": "1.0.3"
|
||||
}
|
||||
},
|
||||
"babel-code-frame": {
|
||||
|
@ -25,9 +25,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
|
||||
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
|
||||
"requires": {
|
||||
"chalk": "^1.1.3",
|
||||
"esutils": "^2.0.2",
|
||||
"js-tokens": "^3.0.2"
|
||||
"chalk": "1.1.3",
|
||||
"esutils": "2.0.2",
|
||||
"js-tokens": "3.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"chalk": {
|
||||
|
@ -35,11 +35,11 @@
|
|||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"requires": {
|
||||
"ansi-styles": "^2.2.1",
|
||||
"escape-string-regexp": "^1.0.2",
|
||||
"has-ansi": "^2.0.0",
|
||||
"strip-ansi": "^3.0.0",
|
||||
"supports-color": "^2.0.0"
|
||||
"ansi-styles": "2.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"has-ansi": "2.0.0",
|
||||
"strip-ansi": "3.0.1",
|
||||
"supports-color": "2.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -54,7 +54,7 @@
|
|||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"balanced-match": "1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
|
@ -68,9 +68,9 @@
|
|||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
|
||||
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
|
||||
"requires": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"supports-color": "^5.3.0"
|
||||
"ansi-styles": "3.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"supports-color": "5.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
|
@ -78,7 +78,7 @@
|
|||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
||||
"requires": {
|
||||
"color-convert": "^1.9.0"
|
||||
"color-convert": "1.9.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
|
@ -86,7 +86,7 @@
|
|||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
|
||||
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
|
||||
"requires": {
|
||||
"has-flag": "^3.0.0"
|
||||
"has-flag": "3.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -96,7 +96,7 @@
|
|||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
|
||||
"integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
|
||||
"requires": {
|
||||
"color-name": "^1.1.1"
|
||||
"color-name": "1.1.3"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
|
@ -144,12 +144,12 @@
|
|||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
|
||||
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.0.4",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
"fs.realpath": "1.0.0",
|
||||
"inflight": "1.0.6",
|
||||
"inherits": "2.0.3",
|
||||
"minimatch": "3.0.4",
|
||||
"once": "1.4.0",
|
||||
"path-is-absolute": "1.0.1"
|
||||
}
|
||||
},
|
||||
"has-ansi": {
|
||||
|
@ -157,7 +157,7 @@
|
|||
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
|
||||
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
|
@ -170,8 +170,8 @@
|
|||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
|
||||
"requires": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
"once": "1.4.0",
|
||||
"wrappy": "1.0.2"
|
||||
}
|
||||
},
|
||||
"inherits": {
|
||||
|
@ -189,8 +189,8 @@
|
|||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
|
||||
"integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
"argparse": "1.0.10",
|
||||
"esprima": "4.0.0"
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
|
@ -198,7 +198,7 @@
|
|||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
"brace-expansion": "1.1.11"
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
|
@ -206,7 +206,7 @@
|
|||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
"wrappy": "1.0.2"
|
||||
}
|
||||
},
|
||||
"path-is-absolute": {
|
||||
|
@ -224,7 +224,7 @@
|
|||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
|
||||
"integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
|
||||
"requires": {
|
||||
"path-parse": "^1.0.5"
|
||||
"path-parse": "1.0.5"
|
||||
}
|
||||
},
|
||||
"semver": {
|
||||
|
@ -242,7 +242,7 @@
|
|||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
|
@ -260,18 +260,18 @@
|
|||
"resolved": "https://registry.npmjs.org/tslint/-/tslint-5.10.0.tgz",
|
||||
"integrity": "sha1-EeJrzLiK+gLdDZlWyuPUVAtfVMM=",
|
||||
"requires": {
|
||||
"babel-code-frame": "^6.22.0",
|
||||
"builtin-modules": "^1.1.1",
|
||||
"chalk": "^2.3.0",
|
||||
"commander": "^2.12.1",
|
||||
"diff": "^3.2.0",
|
||||
"glob": "^7.1.1",
|
||||
"js-yaml": "^3.7.0",
|
||||
"minimatch": "^3.0.4",
|
||||
"resolve": "^1.3.2",
|
||||
"semver": "^5.3.0",
|
||||
"tslib": "^1.8.0",
|
||||
"tsutils": "^2.12.1"
|
||||
"babel-code-frame": "6.26.0",
|
||||
"builtin-modules": "1.1.1",
|
||||
"chalk": "2.4.1",
|
||||
"commander": "2.15.1",
|
||||
"diff": "3.5.0",
|
||||
"glob": "7.1.2",
|
||||
"js-yaml": "3.11.0",
|
||||
"minimatch": "3.0.4",
|
||||
"resolve": "1.7.1",
|
||||
"semver": "5.5.0",
|
||||
"tslib": "1.9.1",
|
||||
"tsutils": "2.27.0"
|
||||
}
|
||||
},
|
||||
"tsutils": {
|
||||
|
@ -279,7 +279,7 @@
|
|||
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.27.0.tgz",
|
||||
"integrity": "sha512-JcyX25oM9pFcb3zh60OqG1St8p/uSqC5Bgipdo3ieacB/Ao4dPhm7hAtKT9NrEu23CyYrrgJPV3CqYfo+/+T4w==",
|
||||
"requires": {
|
||||
"tslib": "^1.8.1"
|
||||
"tslib": "1.9.1"
|
||||
}
|
||||
},
|
||||
"typescript": {
|
||||
|
|
|
@ -23,7 +23,7 @@ const formChildOptions: IFormChildOption[] = formChildFromExamplesFactory(exampl
|
|||
/* tslint:disable */
|
||||
function render(): void {
|
||||
ReactDOM.render(
|
||||
<Site title={"FAST components base"} formChildOptions={formChildOptions}>
|
||||
<Site title={"FAST base component documentation"} formChildOptions={formChildOptions}>
|
||||
<SiteCategory slot={"category"} name={"Components"}>
|
||||
{componentFactory(examples)}
|
||||
</SiteCategory>
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -14,11 +14,14 @@
|
|||
"types": "dist/index.d.ts",
|
||||
"scripts": {
|
||||
"clean:dist": "node ../../build/clean.js dist",
|
||||
"convert:readme": "node ../../build/convert-readme.js .tmp",
|
||||
"copy:all": "npm run copy:json-schema && npm run copy:readme",
|
||||
"copy:json-schema": "node ../../build/copy-schemas.js",
|
||||
"copy:readme": "node ../../build/copy-readme.js",
|
||||
"build:app": "webpack --progress",
|
||||
"prepare": "npm run clean:dist && tsc -p ./tsconfig.json && npm run copy:json-schema",
|
||||
"prepare": "npm run clean:dist && tsc -p ./tsconfig.json && npm run copy:all",
|
||||
"start": "webpack-dev-server",
|
||||
"test": "npm run tslint && npm run unit-tests && npm run build:app",
|
||||
"test": "npm run convert:readme && npm run tslint && npm run unit-tests && npm run build:app",
|
||||
"tslint": "tslint -c ./tslint.json 'src/**/*.ts{,x}' '**/*.ts{,x}'",
|
||||
"tslint:fix": "tslint -c ./tslint.json --fix 'src/**/*.ts{,x}' '**/*.ts{,x}'",
|
||||
"unit-tests": "jest --maxWorkers=4",
|
||||
|
@ -72,6 +75,7 @@
|
|||
"webpack": "^4.1.0",
|
||||
"webpack-cli": "^2.0.11",
|
||||
"webpack-dev-server": "^3.1.0",
|
||||
"webpack-shell-plugin": "^0.5.0",
|
||||
"yargs": "^11.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
## Guidance
|
||||
The *Button* component can be either an [anchor](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a) or [button](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button) element but will appear with button styling.
|
|
@ -1,13 +1,21 @@
|
|||
import * as React from "react";
|
||||
import { ISnapshotTestSuite } from "@microsoft/fast-jest-snapshots-react";
|
||||
import { IManagedClasses } from "@microsoft/fast-components-class-name-contracts-base";
|
||||
import Button, { IButtonHandledProps, IButtonManagedClasses, IButtonUnhandledProps } from "./button";
|
||||
import * as schema from "./button.schema.json";
|
||||
import * as React from "react";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
const examples: ISnapshotTestSuite<IButtonHandledProps & IButtonManagedClasses> = {
|
||||
name: "button",
|
||||
component: Button,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
managedClasses: {
|
||||
button: "button"
|
||||
},
|
||||
children: "Button"
|
||||
},
|
||||
data: [
|
||||
{
|
||||
managedClasses: {
|
|
@ -1,12 +1,2 @@
|
|||
# Implementation
|
||||
|
||||
## Implementation example
|
||||
```javascript
|
||||
<Checkbox
|
||||
id='id01'
|
||||
name='checkbox1'
|
||||
value='checkboxExampleValue1'
|
||||
text='Checkbox label'
|
||||
checked={false}
|
||||
/>
|
||||
```
|
||||
## Guidance
|
||||
The *Checkbox* component can be a [checkbox](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a).
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
import * as React from "react";
|
||||
import { ISnapshotTestSuite } from "@microsoft/fast-jest-snapshots-react";
|
||||
import { IManagedClasses } from "@microsoft/fast-components-class-name-contracts-base";
|
||||
import Checkbox, { CheckboxHTMLTags, ICheckboxHandledProps, ICheckboxManagedClasses, ICheckboxUnhandledProps } from "./checkbox";
|
||||
import * as schema from "./checkbox.schema.json";
|
||||
import * as React from "react";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
const classes: ICheckboxManagedClasses = {
|
||||
managedClasses: {
|
||||
|
@ -18,6 +19,11 @@ const examples: ISnapshotTestSuite<ICheckboxHandledProps & ICheckboxManagedClass
|
|||
name: "checkbox",
|
||||
component: Checkbox,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
...classes,
|
||||
checked: true
|
||||
},
|
||||
data: [
|
||||
{
|
||||
...classes
|
|
@ -0,0 +1,2 @@
|
|||
## Guidance
|
||||
The *Divider* component can be an [hr](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hr) element.
|
|
@ -1,13 +1,20 @@
|
|||
import * as React from "react";
|
||||
import { ISnapshotTestSuite } from "@microsoft/fast-jest-snapshots-react";
|
||||
import { IManagedClasses } from "@microsoft/fast-components-class-name-contracts-base";
|
||||
import Divider, { IDividerHandledProps, IDividerManagedClasses, IDividerUnhandledProps } from "./divider";
|
||||
import * as schema from "./divider.schema.json";
|
||||
import * as React from "react";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
const examples: ISnapshotTestSuite<IDividerHandledProps & IDividerManagedClasses> = {
|
||||
name: "divider",
|
||||
component: Divider,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
managedClasses: {
|
||||
divider: "divider"
|
||||
}
|
||||
},
|
||||
data: [
|
||||
{
|
||||
managedClasses: {
|
0
packages/fast-components-react-base/src/hypertext/DOCS.md → packages/fast-components-react-base/src/hypertext/README.md
Executable file → Normal file
0
packages/fast-components-react-base/src/hypertext/DOCS.md → packages/fast-components-react-base/src/hypertext/README.md
Executable file → Normal file
|
@ -1,13 +1,22 @@
|
|||
import * as React from "react";
|
||||
import { ISnapshotTestSuite } from "@microsoft/fast-jest-snapshots-react";
|
||||
import { IManagedClasses } from "@microsoft/fast-components-class-name-contracts-base";
|
||||
import Hypertext, { IHypertextHandledProps, IHypertextManagedClasses, IHypertextUnhandledProps } from "./hypertext";
|
||||
import * as schema from "./hypertext.schema.json";
|
||||
import * as React from "react";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
const examples: ISnapshotTestSuite<IHypertextHandledProps & IHypertextManagedClasses> = {
|
||||
name: "hypertext",
|
||||
component: Hypertext,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
managedClasses: {
|
||||
hypertext: "hypertext"
|
||||
},
|
||||
href: "https://www.microsoft.com/en-us/",
|
||||
children: "Microsoft"
|
||||
},
|
||||
data: [
|
||||
{
|
||||
managedClasses: {
|
|
@ -1,31 +1,8 @@
|
|||
# Implementation
|
||||
## Best practices
|
||||
Use *image* to break up text-heavy pages, to illustrate products for sale, or to improve storytelling on a page. The use of *image* should always support the page’s story and, when possible, contribute to that story. Size the *image* to complement the rest of the page content. Use the **picture** option to employ a selection of image versions for different viewport sizes.
|
||||
|
||||
## Implementation example
|
||||
```javascript
|
||||
### Style guidance
|
||||
Don't use *image* as a substitute for *hero*, *feature*, or *product* and *content placements*. Don't use an image if it reduces the effectiveness of the page.
|
||||
|
||||
<!-- Returns <img />-->
|
||||
<Image
|
||||
src='https://placehold.it/539x300/2F2F2F/171717'
|
||||
alt='Placeholder with grey background and dimension watermark without any imagery'
|
||||
/>
|
||||
|
||||
<!-- Returns <img /> using SrcSet-->
|
||||
<Image
|
||||
src='https://placehold.it/539x300/2F2F2F/171717'
|
||||
srcSet='https://placehold.it/1399x600/2F2F2F/171717 1399w, https://placehold.it/1083x500/2F2F2F/171717 1083w, https://placehold.it/767x400/2F2F2F/171717 767w'
|
||||
sizes='100vw'
|
||||
alt='Placeholder with grey background and dimension watermark without any imagery'
|
||||
/>
|
||||
|
||||
<!-- Returns <picture />-->
|
||||
<Image
|
||||
vp6='https://placehold.it/2048x600/2F2F2F/171717'
|
||||
vp5='https://placehold.it/1778x600/2F2F2F/171717'
|
||||
vp4='https://placehold.it/1399x600/2F2F2F/171717'
|
||||
vp3='https://placehold.it/1083x500/2F2F2F/171717'
|
||||
vp2='https://placehold.it/767x400/2F2F2F/171717'
|
||||
vp1='https://placehold.it/539x300/2F2F2F/171717'
|
||||
alt='Placeholder with grey background and dimension watermark without any imagery'
|
||||
/>
|
||||
|
||||
```
|
||||
## Accessibility
|
||||
An image must **always** have an `alt` attribute. Not only does it give the image meaning for non-sighted users, but if the image fails to load, the `alt` text will be displayed instead. Always use descriptive `alt` text that concisely describes what the *image* conveys. Make sure you are communicating what the *image* is telling you visually. If the *image* is purely for visual decoration and does not convey any meaningful information, such as an icon to reinforce adjacent text, then you should set the `alt` attribute to an empty string: `alt=""`. *Images* with complex content (e.g. charts and graphs) may need an additional description for non-sighted users. For example, provide a link to a text description or describe the *image* in detail on the page itself.
|
||||
|
|
|
@ -5,4 +5,4 @@ Use *image* to break up text-heavy pages, to illustrate products for sale, or to
|
|||
Don't use *image* as a substitute for *hero*, *feature*, or *product* and *content placements*. Don't use an image if it reduces the effectiveness of the page.
|
||||
|
||||
## Accessibility
|
||||
An image must **always** have an `alt` attribute. Not only does it give the image meaning for non-sighted users, but if the image fails to load, the `alt` text will be displayed instead. Always use descriptive `alt` text that concisely describes what the *image* conveys. Make sure you are communicating what the *image* is telling you visually. If the *image* is purely for visual decoration and does not convey any meaningful information, such as an icon to reinforce adjacent text, then you should set the `alt` attribute to an empty string: `alt=""`. *Images* with complex content (e.g. charts and graphs) may need an additional description for non-sighted users. For example, provide a link to a text description or describe the *image* in detail on the page itself.
|
||||
An image must **always** have an `alt` attribute. Not only does it give the image meaning for non-sighted users, but if the image fails to load, the `alt` text will be displayed instead. Always use descriptive `alt` text that concisely describes what the *image* conveys. Make sure you are communicating what the *image* is telling you visually. If the *image* is purely for visual decoration and does not convey any meaningful information, such as an icon to reinforce adjacent text, then you should set the `alt` attribute to an empty string: `alt=""`. *Images* with complex content (e.g. charts and graphs) may need an additional description for non-sighted users. For example, provide a link to a text description or describe the *image* in detail on the page itself.
|
|
@ -1,12 +1,24 @@
|
|||
import * as React from "react";
|
||||
import { ISnapshotTestSuite } from "@microsoft/fast-jest-snapshots-react";
|
||||
import { IManagedClasses } from "@microsoft/fast-components-class-name-contracts-base";
|
||||
import Image, { IImageHandledProps, IImageMangedClasses, IImageUnhandledProps } from "./image";
|
||||
import * as schema from "./image.schema.json";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
const examples: ISnapshotTestSuite<IImageHandledProps & IImageMangedClasses> = {
|
||||
name: "image",
|
||||
component: Image,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
managedClasses: {
|
||||
picture: "picture",
|
||||
image: "image",
|
||||
image_round: "image-round"
|
||||
},
|
||||
vp1: "https://placehold.it/539x300/2F2F2F/171717",
|
||||
alt: "Placeholder with grey background and dimension watermark without any imagery"
|
||||
},
|
||||
data: [
|
||||
{
|
||||
managedClasses: {
|
|
@ -1,6 +1,16 @@
|
|||
# Implementation
|
||||
# Introduction
|
||||
*Label* is a replacement for the HTML `label` or `legend` element. It can be used alone or grouped with other related components. Some components have the *label* built-in, but most do not. *Labels* cannot exceed one line of text.
|
||||
|
||||
## Implementation example
|
||||
```javascript
|
||||
<Label tag={'label'} children={'Label'} />
|
||||
```
|
||||
## Best practices
|
||||
Use *label* to inform the user of information about one or more visually co-located components. For example, use *label* to tell the user what they should enter into an adjacent input component, or to group a set of related components. It is possible use *label* to display instructional text near a group of related components, but there are better choices such as caption or paragraph.
|
||||
|
||||
### Usage guidance
|
||||
Use sentence case (e.g. "Last name"), but avoid punctuation such as colons. *Label* text should be short and succinct, not a full sentence. When labeling components, write the *label* text as a noun or a concise noun phrase, without using full sentences. Using commas to separate list items is an exception to this rule.
|
||||
|
||||
### Behavioral guidance
|
||||
When instructional text is needed near a group of controls, consider using caption instead. *Labels* are only intended for identification purposes, not as instructional text.
|
||||
|
||||
## Accessibility
|
||||
Input elements inside a `form` must be associated with corresponding `label` elements, either by using *label* as a wrapper element for the form input, or by associating the `for` attribute of the *label* with the input element’s `id` attribute.
|
||||
|
||||
A meaningful `label` is still required on input elements with implicit labels (e.g. a search input flagged by a background “search” icon). In these cases, the `hidden` option should be passed as `true`.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#Introduction
|
||||
# Introduction
|
||||
*Label* is a replacement for the HTML `label` or `legend` element. It can be used alone or grouped with other related components. Some components have the *label* built-in, but most do not. *Labels* cannot exceed one line of text.
|
||||
|
||||
## Best practices
|
|
@ -1,3 +1,4 @@
|
|||
import * as React from "react";
|
||||
import { ISnapshotTestSuite } from "@microsoft/fast-jest-snapshots-react";
|
||||
import { IManagedClasses } from "@microsoft/fast-components-class-name-contracts-base";
|
||||
import Label, {
|
||||
|
@ -7,11 +8,21 @@ import Label, {
|
|||
LabelTag
|
||||
} from "./label";
|
||||
import * as schema from "./label.schema.json";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
const examples: ISnapshotTestSuite<ILabelHandledProps & ILabelMangedClasses> = {
|
||||
name: "label",
|
||||
component: Label,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
managedClasses: {
|
||||
label: "label",
|
||||
label_hidden: "hidden_label"
|
||||
},
|
||||
tag: LabelTag.label,
|
||||
children: "Label"
|
||||
},
|
||||
data: [
|
||||
{
|
||||
managedClasses: {
|
|
@ -1,13 +1,30 @@
|
|||
import * as React from "react";
|
||||
import { ISnapshotTestSuite } from "@microsoft/fast-jest-snapshots-react";
|
||||
import { IManagedClasses } from "@microsoft/fast-components-class-name-contracts-base";
|
||||
import Toggle, { IToggleHandledProps, IToggleManagedClasses, IToggleUnhandledProps } from "./toggle";
|
||||
import * as schema from "./toggle.schema.json";
|
||||
import * as React from "react";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
const examples: ISnapshotTestSuite<IToggleHandledProps & IToggleManagedClasses> = {
|
||||
name: "toggle",
|
||||
component: Toggle,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
managedClasses: {
|
||||
toggle: "toggle",
|
||||
toggle_label: "toggle_label",
|
||||
toggle_wrapper: "toggle_wrapper",
|
||||
toggle_input: "toggle_input",
|
||||
toggle_button: "toggle_button",
|
||||
},
|
||||
children: "Toggle",
|
||||
id: "toggle01",
|
||||
labelId: "label01",
|
||||
selectedString: "On",
|
||||
statusLabelId: "span01",
|
||||
unselectedString: "Off"
|
||||
},
|
||||
data: [
|
||||
{
|
||||
managedClasses: {
|
|
@ -0,0 +1,2 @@
|
|||
## Guidance
|
||||
This component uses a type ramp and can be used to create a number of inline typographic elements.
|
|
@ -1,3 +1,4 @@
|
|||
import * as React from "react";
|
||||
import { ISnapshotTestSuite } from "@microsoft/fast-jest-snapshots-react";
|
||||
import { IManagedClasses } from "@microsoft/fast-components-class-name-contracts-base";
|
||||
import Typography, {
|
||||
|
@ -8,7 +9,7 @@ import Typography, {
|
|||
TypographyTag
|
||||
} from "./typography";
|
||||
import * as schema from "./typography.schema.json";
|
||||
import * as React from "react";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
const testString: string = "Test string";
|
||||
const managedClassExamples: any = {
|
||||
|
@ -27,6 +28,13 @@ const examples: ISnapshotTestSuite<ITypographyHandledProps & ITypographyManagedC
|
|||
name: "typography",
|
||||
component: Typography,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
managedClasses: managedClassExamples,
|
||||
tag: TypographyTag.h1,
|
||||
typeLevel: TypeLevel._1,
|
||||
children: "Typography"
|
||||
},
|
||||
data: [
|
||||
{
|
||||
managedClasses: managedClassExamples,
|
|
@ -18,6 +18,6 @@
|
|||
"node_modules",
|
||||
"**/*.spec.ts",
|
||||
"**/*.spec.tsx",
|
||||
"**/examples.data.ts"
|
||||
"**/examples.data.tsx"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
const path = require("path");
|
||||
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const WebpackShellPlugin = require("webpack-shell-plugin");
|
||||
|
||||
const appDir = path.resolve(__dirname, "./app");
|
||||
const outDir = path.resolve(__dirname, "./www");
|
||||
|
@ -31,6 +32,11 @@ module.exports = {
|
|||
plugins: [
|
||||
new HtmlWebpackPlugin({
|
||||
contentBase: outDir,
|
||||
}),
|
||||
new WebpackShellPlugin({
|
||||
onBuildStart: [
|
||||
`npm run convert:readme`
|
||||
]
|
||||
})
|
||||
],
|
||||
devServer: {
|
||||
|
|
|
@ -28,7 +28,7 @@ function render(): void {
|
|||
ReactDOM.render(
|
||||
<div>
|
||||
<DesignSystemProvider designSystem={DesignSystemDefaults}>
|
||||
<Site title={"FAST Microsoft components"} formChildOptions={formChildOptions}>
|
||||
<Site title={"FAST Microsoft component documentation"} formChildOptions={formChildOptions}>
|
||||
<SiteCategory slot={"category"} name={"Building blocks"}>
|
||||
<SiteCategoryIcon slot="category-icon">
|
||||
<div dangerouslySetInnerHTML={{__html: glyphBuildingblocks}} />
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -16,11 +16,14 @@
|
|||
"types": "dist/index.d.ts",
|
||||
"scripts": {
|
||||
"clean:dist": "node ../../build/clean.js dist",
|
||||
"convert:readme": "node ../../build/convert-readme.js .tmp",
|
||||
"copy:all": "npm run copy:json-schema && npm run copy:readme",
|
||||
"copy:json-schema": "node ../../build/copy-schemas.js",
|
||||
"copy:readme": "node ../../build/copy-readme.js",
|
||||
"build:app": "webpack --progress",
|
||||
"prepare": "npm run clean:dist && tsc -p ./tsconfig.json && npm run copy:json-schema",
|
||||
"prepare": "npm run clean:dist && tsc -p ./tsconfig.json && npm run copy:all",
|
||||
"start": "webpack-dev-server",
|
||||
"test": "npm run tslint && npm run unit-tests && npm run build:app",
|
||||
"test": "npm run convert:readme && npm run tslint && npm run unit-tests && npm run build:app",
|
||||
"tslint": "tslint -c ./tslint.json '**/*.ts{,x}'",
|
||||
"tslint:fix": "tslint -c ./tslint.json --fix '**/*.ts{,x}'",
|
||||
"unit-tests": "jest --maxWorkers=4",
|
||||
|
@ -78,6 +81,7 @@
|
|||
"webpack": "^4.1.0",
|
||||
"webpack-cli": "^2.0.11",
|
||||
"webpack-dev-server": "^3.1.0",
|
||||
"webpack-shell-plugin": "^0.5.0",
|
||||
"yargs": "^11.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
## Guidance
|
||||
This component uses the [button](https://github.com/Microsoft/fast-dna/tree/master/packages/fast-components-react-base/src/button) base component.
|
|
@ -10,11 +10,16 @@ import {
|
|||
IButtonUnhandledProps
|
||||
} from "./button.props";
|
||||
import * as schema from "./button.schema.json";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
export default {
|
||||
name: "button",
|
||||
component: Button,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
children: "Button"
|
||||
},
|
||||
data: [
|
||||
{
|
||||
children: "Default button"
|
|
@ -0,0 +1,2 @@
|
|||
## Guidance
|
||||
This component uses the [checkbox](https://github.com/Microsoft/fast-dna/tree/master/packages/fast-components-react-base/src/checkbox) base component.
|
|
@ -1,13 +1,19 @@
|
|||
import * as React from "react";
|
||||
import { ISnapshotTestSuite } from "@microsoft/fast-jest-snapshots-react";
|
||||
import { IManagedClasses } from "@microsoft/fast-jss-manager-react";
|
||||
import Checkbox from "./index";
|
||||
import { ICheckboxHandledProps } from "@microsoft/fast-components-react-base";
|
||||
import * as schema from "@microsoft/fast-components-react-base/dist/checkbox/checkbox.schema.json";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
export default {
|
||||
name: "checkbox",
|
||||
component: Checkbox,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
text: "Checkbox"
|
||||
},
|
||||
data: [
|
||||
{
|
||||
text: "Default"
|
|
@ -0,0 +1,2 @@
|
|||
## Guidance
|
||||
This component uses the [divider](https://github.com/Microsoft/fast-dna/tree/master/packages/fast-components-react-base/src/divider) base component.
|
|
@ -1,13 +1,19 @@
|
|||
import * as React from "react";
|
||||
import { ISnapshotTestSuite } from "@microsoft/fast-jest-snapshots-react";
|
||||
import { IManagedClasses } from "@microsoft/fast-jss-manager-react";
|
||||
import Divider from "./index";
|
||||
import { DividerRoles, IDividerHandledProps } from "@microsoft/fast-components-react-base";
|
||||
import * as schema from "@microsoft/fast-components-react-base/dist/divider/divider.schema.json";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
export default {
|
||||
name: "divider",
|
||||
component: Divider,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
role: void 0
|
||||
},
|
||||
data: [
|
||||
{
|
||||
role: void 0
|
|
@ -0,0 +1,2 @@
|
|||
## Guidance
|
||||
This component uses the [typography](https://github.com/Microsoft/fast-dna/tree/master/packages/fast-components-react-base/src/typography) base component.
|
|
@ -12,6 +12,7 @@ import {
|
|||
IHeadingUnhandledProps
|
||||
} from "./heading.props";
|
||||
import * as schema from "./heading.schema.json";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
const testString: string = "Heading test string";
|
||||
|
||||
|
@ -19,6 +20,10 @@ export default {
|
|||
name: "heading",
|
||||
component: Heading,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
children: "Heading"
|
||||
},
|
||||
data: [
|
||||
{
|
||||
children: testString
|
|
@ -0,0 +1,2 @@
|
|||
## Guidance
|
||||
This component uses the [hypertext](https://github.com/Microsoft/fast-dna/tree/master/packages/fast-components-react-base/src/hypertext) base component.
|
|
@ -1,14 +1,20 @@
|
|||
import * as React from "react";
|
||||
import { ISnapshotTestSuite } from "@microsoft/fast-jest-snapshots-react";
|
||||
import { IManagedClasses } from "@microsoft/fast-jss-manager-react";
|
||||
import Hypertext from "./index";
|
||||
import { IHypertextHandledProps } from "@microsoft/fast-components-react-base";
|
||||
import * as schema from "@microsoft/fast-components-react-base/dist/hypertext/hypertext.schema.json";
|
||||
import * as React from "react";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
export default {
|
||||
name: "hypertext",
|
||||
component: Hypertext,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
href: "https://www.microsoft.com/en-us/",
|
||||
children: "Microsoft"
|
||||
},
|
||||
data: [
|
||||
{
|
||||
href: "https://msdn.microsoft.com",
|
|
@ -0,0 +1,2 @@
|
|||
## Guidance
|
||||
This component uses the [image](https://github.com/Microsoft/fast-dna/tree/master/packages/fast-components-react-base/src/image) base component.
|
|
@ -1,13 +1,21 @@
|
|||
import * as React from "react";
|
||||
import { ISnapshotTestSuite } from "@microsoft/fast-jest-snapshots-react";
|
||||
import { IManagedClasses } from "@microsoft/fast-jss-manager-react";
|
||||
import Image from "./index";
|
||||
import { IImageHandledProps } from "@microsoft/fast-components-react-base";
|
||||
import * as schema from "@microsoft/fast-components-react-base/dist/image/image.schema.json";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
export default {
|
||||
name: "image",
|
||||
component: Image,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
round: true,
|
||||
vp1: "https://placehold.it/300x300/3E3E3E/171717",
|
||||
alt: "Placeholder with grey background and dimension watermark without any imagery"
|
||||
},
|
||||
data: [
|
||||
{
|
||||
round: true,
|
|
@ -0,0 +1,2 @@
|
|||
## Guidance
|
||||
This component uses the [label](https://github.com/Microsoft/fast-dna/tree/master/packages/fast-components-react-base/src/label) base component.
|
|
@ -1,14 +1,20 @@
|
|||
import * as React from "react";
|
||||
import { ISnapshotTestSuite } from "@microsoft/fast-jest-snapshots-react";
|
||||
import { IManagedClasses } from "@microsoft/fast-jss-manager-react";
|
||||
import Label from "./index";
|
||||
import { ILabelHandledProps, LabelTag } from "@microsoft/fast-components-react-base";
|
||||
import * as schema from "@microsoft/fast-components-react-base/dist/label/label.schema.json";
|
||||
import * as React from "react";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
export default {
|
||||
name: "label",
|
||||
component: Label,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
tag: LabelTag.label,
|
||||
children: "Label"
|
||||
},
|
||||
data: [
|
||||
{
|
||||
tag: LabelTag.label,
|
|
@ -0,0 +1,2 @@
|
|||
## Guidance
|
||||
This component uses the [toggle](https://github.com/Microsoft/fast-dna/tree/master/packages/fast-components-react-base/src/toggle) base component.
|
|
@ -1,13 +1,24 @@
|
|||
import * as React from "react";
|
||||
import { ISnapshotTestSuite } from "@microsoft/fast-jest-snapshots-react";
|
||||
import { IManagedClasses } from "@microsoft/fast-jss-manager-react";
|
||||
import Toggle from "./index";
|
||||
import { IToggleHandledProps } from "@microsoft/fast-components-react-base";
|
||||
import * as schema from "@microsoft/fast-components-react-base/dist/toggle/toggle.schema.json";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
export default {
|
||||
name: "toggle",
|
||||
component: Toggle,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
children: "Toggle label (default on)",
|
||||
id: "toggle01",
|
||||
labelId: "label01",
|
||||
selectedString: "On",
|
||||
statusLabelId: "span01",
|
||||
unselectedString: "Off"
|
||||
},
|
||||
data: [
|
||||
{
|
||||
children: "Toggle label (default on)",
|
|
@ -0,0 +1,2 @@
|
|||
## Guidance
|
||||
This component uses the [typography](https://github.com/Microsoft/fast-dna/tree/master/packages/fast-components-react-base/src/typography) base component.
|
|
@ -1,8 +1,10 @@
|
|||
import * as React from "react";
|
||||
import { ISnapshotTestSuite } from "@microsoft/fast-jest-snapshots-react";
|
||||
import { IManagedClasses } from "@microsoft/fast-jss-manager-react";
|
||||
import Typography from "./index";
|
||||
import { ITypographyHandledProps, ITypographyManagedClasses, TypeLevel, TypographyTag } from "@microsoft/fast-components-react-base";
|
||||
import * as schema from "@microsoft/fast-components-react-base/dist/typography/typography.schema.json";
|
||||
import Documentation from "./.tmp/documentation";
|
||||
|
||||
const testString: string = "Typography example string";
|
||||
|
||||
|
@ -10,6 +12,10 @@ export default {
|
|||
name: "typography",
|
||||
component: Typography,
|
||||
schema: schema as any,
|
||||
documentation: <Documentation />,
|
||||
detailData: {
|
||||
children: "Typography"
|
||||
},
|
||||
data: [
|
||||
{
|
||||
children: testString
|
|
@ -18,6 +18,6 @@
|
|||
"node_modules",
|
||||
"**/*.spec.ts",
|
||||
"**/*.spec.tsx",
|
||||
"**/examples.data.ts"
|
||||
"**/examples.data.tsx"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
const path = require("path");
|
||||
const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin");
|
||||
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const WebpackShellPlugin = require("webpack-shell-plugin");
|
||||
|
||||
const appDir = path.resolve(__dirname, "./app");
|
||||
const outDir = path.resolve(__dirname, "./www");
|
||||
|
@ -35,6 +36,11 @@ module.exports = {
|
|||
}),
|
||||
new HtmlWebpackPlugin({
|
||||
contentBase: outDir,
|
||||
}),
|
||||
new WebpackShellPlugin({
|
||||
onBuildStart: [
|
||||
`npm run convert:readme`
|
||||
]
|
||||
})
|
||||
],
|
||||
resolve: {
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
||||
"requires": {
|
||||
"sprintf-js": "~1.0.2"
|
||||
"sprintf-js": "1.0.3"
|
||||
}
|
||||
},
|
||||
"babel-code-frame": {
|
||||
|
@ -25,9 +25,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
|
||||
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
|
||||
"requires": {
|
||||
"chalk": "^1.1.3",
|
||||
"esutils": "^2.0.2",
|
||||
"js-tokens": "^3.0.2"
|
||||
"chalk": "1.1.3",
|
||||
"esutils": "2.0.2",
|
||||
"js-tokens": "3.0.2"
|
||||
}
|
||||
},
|
||||
"babel-core": {
|
||||
|
@ -35,25 +35,25 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
|
||||
"integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
|
||||
"requires": {
|
||||
"babel-code-frame": "^6.26.0",
|
||||
"babel-generator": "^6.26.0",
|
||||
"babel-helpers": "^6.24.1",
|
||||
"babel-messages": "^6.23.0",
|
||||
"babel-register": "^6.26.0",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"babel-template": "^6.26.0",
|
||||
"babel-traverse": "^6.26.0",
|
||||
"babel-types": "^6.26.0",
|
||||
"babylon": "^6.18.0",
|
||||
"convert-source-map": "^1.5.1",
|
||||
"debug": "^2.6.9",
|
||||
"json5": "^0.5.1",
|
||||
"lodash": "^4.17.4",
|
||||
"minimatch": "^3.0.4",
|
||||
"path-is-absolute": "^1.0.1",
|
||||
"private": "^0.1.8",
|
||||
"slash": "^1.0.0",
|
||||
"source-map": "^0.5.7"
|
||||
"babel-code-frame": "6.26.0",
|
||||
"babel-generator": "6.26.1",
|
||||
"babel-helpers": "6.24.1",
|
||||
"babel-messages": "6.23.0",
|
||||
"babel-register": "6.26.0",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-template": "6.26.0",
|
||||
"babel-traverse": "6.26.0",
|
||||
"babel-types": "6.26.0",
|
||||
"babylon": "6.18.0",
|
||||
"convert-source-map": "1.5.1",
|
||||
"debug": "2.6.9",
|
||||
"json5": "0.5.1",
|
||||
"lodash": "4.17.10",
|
||||
"minimatch": "3.0.4",
|
||||
"path-is-absolute": "1.0.1",
|
||||
"private": "0.1.8",
|
||||
"slash": "1.0.0",
|
||||
"source-map": "0.5.7"
|
||||
}
|
||||
},
|
||||
"babel-generator": {
|
||||
|
@ -61,14 +61,14 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
|
||||
"integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
|
||||
"requires": {
|
||||
"babel-messages": "^6.23.0",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"babel-types": "^6.26.0",
|
||||
"detect-indent": "^4.0.0",
|
||||
"jsesc": "^1.3.0",
|
||||
"lodash": "^4.17.4",
|
||||
"source-map": "^0.5.7",
|
||||
"trim-right": "^1.0.1"
|
||||
"babel-messages": "6.23.0",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-types": "6.26.0",
|
||||
"detect-indent": "4.0.0",
|
||||
"jsesc": "1.3.0",
|
||||
"lodash": "4.17.10",
|
||||
"source-map": "0.5.7",
|
||||
"trim-right": "1.0.1"
|
||||
}
|
||||
},
|
||||
"babel-helper-builder-binary-assignment-operator-visitor": {
|
||||
|
@ -76,9 +76,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
|
||||
"integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
|
||||
"requires": {
|
||||
"babel-helper-explode-assignable-expression": "^6.24.1",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-helper-explode-assignable-expression": "6.24.1",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-helper-call-delegate": {
|
||||
|
@ -86,10 +86,10 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
|
||||
"integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
|
||||
"requires": {
|
||||
"babel-helper-hoist-variables": "^6.24.1",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-traverse": "^6.24.1",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-helper-hoist-variables": "6.24.1",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-traverse": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-helper-define-map": {
|
||||
|
@ -97,10 +97,10 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
|
||||
"integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
|
||||
"requires": {
|
||||
"babel-helper-function-name": "^6.24.1",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"babel-types": "^6.26.0",
|
||||
"lodash": "^4.17.4"
|
||||
"babel-helper-function-name": "6.24.1",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-types": "6.26.0",
|
||||
"lodash": "4.17.10"
|
||||
}
|
||||
},
|
||||
"babel-helper-explode-assignable-expression": {
|
||||
|
@ -108,9 +108,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
|
||||
"integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-traverse": "^6.24.1",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-traverse": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-helper-function-name": {
|
||||
|
@ -118,11 +118,11 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
|
||||
"integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
|
||||
"requires": {
|
||||
"babel-helper-get-function-arity": "^6.24.1",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-template": "^6.24.1",
|
||||
"babel-traverse": "^6.24.1",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-helper-get-function-arity": "6.24.1",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-template": "6.26.0",
|
||||
"babel-traverse": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-helper-get-function-arity": {
|
||||
|
@ -130,8 +130,8 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
|
||||
"integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-helper-hoist-variables": {
|
||||
|
@ -139,8 +139,8 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
|
||||
"integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-helper-optimise-call-expression": {
|
||||
|
@ -148,8 +148,8 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
|
||||
"integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-helper-regex": {
|
||||
|
@ -157,9 +157,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
|
||||
"integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.26.0",
|
||||
"babel-types": "^6.26.0",
|
||||
"lodash": "^4.17.4"
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-types": "6.26.0",
|
||||
"lodash": "4.17.10"
|
||||
}
|
||||
},
|
||||
"babel-helper-remap-async-to-generator": {
|
||||
|
@ -167,11 +167,11 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
|
||||
"integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
|
||||
"requires": {
|
||||
"babel-helper-function-name": "^6.24.1",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-template": "^6.24.1",
|
||||
"babel-traverse": "^6.24.1",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-helper-function-name": "6.24.1",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-template": "6.26.0",
|
||||
"babel-traverse": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-helper-replace-supers": {
|
||||
|
@ -179,12 +179,12 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
|
||||
"integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
|
||||
"requires": {
|
||||
"babel-helper-optimise-call-expression": "^6.24.1",
|
||||
"babel-messages": "^6.23.0",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-template": "^6.24.1",
|
||||
"babel-traverse": "^6.24.1",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-helper-optimise-call-expression": "6.24.1",
|
||||
"babel-messages": "6.23.0",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-template": "6.26.0",
|
||||
"babel-traverse": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-helpers": {
|
||||
|
@ -192,8 +192,8 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
|
||||
"integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-template": "^6.24.1"
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-template": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-messages": {
|
||||
|
@ -201,7 +201,7 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
|
||||
"integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0"
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-check-es2015-constants": {
|
||||
|
@ -209,7 +209,7 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
|
||||
"integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0"
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-syntax-async-functions": {
|
||||
|
@ -232,9 +232,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
|
||||
"integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
|
||||
"requires": {
|
||||
"babel-helper-remap-async-to-generator": "^6.24.1",
|
||||
"babel-plugin-syntax-async-functions": "^6.8.0",
|
||||
"babel-runtime": "^6.22.0"
|
||||
"babel-helper-remap-async-to-generator": "6.24.1",
|
||||
"babel-plugin-syntax-async-functions": "6.13.0",
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-arrow-functions": {
|
||||
|
@ -242,7 +242,7 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
|
||||
"integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0"
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-block-scoped-functions": {
|
||||
|
@ -250,7 +250,7 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
|
||||
"integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0"
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-block-scoping": {
|
||||
|
@ -258,11 +258,11 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
|
||||
"integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.26.0",
|
||||
"babel-template": "^6.26.0",
|
||||
"babel-traverse": "^6.26.0",
|
||||
"babel-types": "^6.26.0",
|
||||
"lodash": "^4.17.4"
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-template": "6.26.0",
|
||||
"babel-traverse": "6.26.0",
|
||||
"babel-types": "6.26.0",
|
||||
"lodash": "4.17.10"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-classes": {
|
||||
|
@ -270,15 +270,15 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
|
||||
"integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
|
||||
"requires": {
|
||||
"babel-helper-define-map": "^6.24.1",
|
||||
"babel-helper-function-name": "^6.24.1",
|
||||
"babel-helper-optimise-call-expression": "^6.24.1",
|
||||
"babel-helper-replace-supers": "^6.24.1",
|
||||
"babel-messages": "^6.23.0",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-template": "^6.24.1",
|
||||
"babel-traverse": "^6.24.1",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-helper-define-map": "6.26.0",
|
||||
"babel-helper-function-name": "6.24.1",
|
||||
"babel-helper-optimise-call-expression": "6.24.1",
|
||||
"babel-helper-replace-supers": "6.24.1",
|
||||
"babel-messages": "6.23.0",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-template": "6.26.0",
|
||||
"babel-traverse": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-computed-properties": {
|
||||
|
@ -286,8 +286,8 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
|
||||
"integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-template": "^6.24.1"
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-template": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-destructuring": {
|
||||
|
@ -295,7 +295,7 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
|
||||
"integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0"
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-duplicate-keys": {
|
||||
|
@ -303,8 +303,8 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
|
||||
"integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-for-of": {
|
||||
|
@ -312,7 +312,7 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
|
||||
"integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0"
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-function-name": {
|
||||
|
@ -320,9 +320,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
|
||||
"integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
|
||||
"requires": {
|
||||
"babel-helper-function-name": "^6.24.1",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-helper-function-name": "6.24.1",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-literals": {
|
||||
|
@ -330,7 +330,7 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
|
||||
"integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0"
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-modules-amd": {
|
||||
|
@ -338,9 +338,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
|
||||
"integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
|
||||
"requires": {
|
||||
"babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-template": "^6.24.1"
|
||||
"babel-plugin-transform-es2015-modules-commonjs": "6.26.2",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-template": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-modules-commonjs": {
|
||||
|
@ -348,10 +348,10 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
|
||||
"integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
|
||||
"requires": {
|
||||
"babel-plugin-transform-strict-mode": "^6.24.1",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"babel-template": "^6.26.0",
|
||||
"babel-types": "^6.26.0"
|
||||
"babel-plugin-transform-strict-mode": "6.24.1",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-template": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-modules-systemjs": {
|
||||
|
@ -359,9 +359,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
|
||||
"integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
|
||||
"requires": {
|
||||
"babel-helper-hoist-variables": "^6.24.1",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-template": "^6.24.1"
|
||||
"babel-helper-hoist-variables": "6.24.1",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-template": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-modules-umd": {
|
||||
|
@ -369,9 +369,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
|
||||
"integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
|
||||
"requires": {
|
||||
"babel-plugin-transform-es2015-modules-amd": "^6.24.1",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-template": "^6.24.1"
|
||||
"babel-plugin-transform-es2015-modules-amd": "6.24.1",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-template": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-object-super": {
|
||||
|
@ -379,8 +379,8 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
|
||||
"integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
|
||||
"requires": {
|
||||
"babel-helper-replace-supers": "^6.24.1",
|
||||
"babel-runtime": "^6.22.0"
|
||||
"babel-helper-replace-supers": "6.24.1",
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-parameters": {
|
||||
|
@ -388,12 +388,12 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
|
||||
"integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
|
||||
"requires": {
|
||||
"babel-helper-call-delegate": "^6.24.1",
|
||||
"babel-helper-get-function-arity": "^6.24.1",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-template": "^6.24.1",
|
||||
"babel-traverse": "^6.24.1",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-helper-call-delegate": "6.24.1",
|
||||
"babel-helper-get-function-arity": "6.24.1",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-template": "6.26.0",
|
||||
"babel-traverse": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-shorthand-properties": {
|
||||
|
@ -401,8 +401,8 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
|
||||
"integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-spread": {
|
||||
|
@ -410,7 +410,7 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
|
||||
"integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0"
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-sticky-regex": {
|
||||
|
@ -418,9 +418,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
|
||||
"integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
|
||||
"requires": {
|
||||
"babel-helper-regex": "^6.24.1",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-helper-regex": "6.26.0",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-template-literals": {
|
||||
|
@ -428,7 +428,7 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
|
||||
"integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0"
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-typeof-symbol": {
|
||||
|
@ -436,7 +436,7 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
|
||||
"integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0"
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-unicode-regex": {
|
||||
|
@ -444,9 +444,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
|
||||
"integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
|
||||
"requires": {
|
||||
"babel-helper-regex": "^6.24.1",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"regexpu-core": "^2.0.0"
|
||||
"babel-helper-regex": "6.26.0",
|
||||
"babel-runtime": "6.26.0",
|
||||
"regexpu-core": "2.0.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-exponentiation-operator": {
|
||||
|
@ -454,9 +454,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
|
||||
"integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
|
||||
"requires": {
|
||||
"babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1",
|
||||
"babel-plugin-syntax-exponentiation-operator": "^6.8.0",
|
||||
"babel-runtime": "^6.22.0"
|
||||
"babel-helper-builder-binary-assignment-operator-visitor": "6.24.1",
|
||||
"babel-plugin-syntax-exponentiation-operator": "6.13.0",
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-regenerator": {
|
||||
|
@ -464,7 +464,7 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
|
||||
"integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
|
||||
"requires": {
|
||||
"regenerator-transform": "^0.10.0"
|
||||
"regenerator-transform": "0.10.1"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-strict-mode": {
|
||||
|
@ -472,8 +472,8 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
|
||||
"integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-types": "^6.24.1"
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-preset-env": {
|
||||
|
@ -481,36 +481,36 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz",
|
||||
"integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==",
|
||||
"requires": {
|
||||
"babel-plugin-check-es2015-constants": "^6.22.0",
|
||||
"babel-plugin-syntax-trailing-function-commas": "^6.22.0",
|
||||
"babel-plugin-transform-async-to-generator": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-block-scoping": "^6.23.0",
|
||||
"babel-plugin-transform-es2015-classes": "^6.23.0",
|
||||
"babel-plugin-transform-es2015-computed-properties": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-destructuring": "^6.23.0",
|
||||
"babel-plugin-transform-es2015-duplicate-keys": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-for-of": "^6.23.0",
|
||||
"babel-plugin-transform-es2015-function-name": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-literals": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-modules-amd": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
|
||||
"babel-plugin-transform-es2015-modules-systemjs": "^6.23.0",
|
||||
"babel-plugin-transform-es2015-modules-umd": "^6.23.0",
|
||||
"babel-plugin-transform-es2015-object-super": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-parameters": "^6.23.0",
|
||||
"babel-plugin-transform-es2015-shorthand-properties": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-spread": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-sticky-regex": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-template-literals": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-typeof-symbol": "^6.23.0",
|
||||
"babel-plugin-transform-es2015-unicode-regex": "^6.22.0",
|
||||
"babel-plugin-transform-exponentiation-operator": "^6.22.0",
|
||||
"babel-plugin-transform-regenerator": "^6.22.0",
|
||||
"browserslist": "^3.2.6",
|
||||
"invariant": "^2.2.2",
|
||||
"semver": "^5.3.0"
|
||||
"babel-plugin-check-es2015-constants": "6.22.0",
|
||||
"babel-plugin-syntax-trailing-function-commas": "6.22.0",
|
||||
"babel-plugin-transform-async-to-generator": "6.24.1",
|
||||
"babel-plugin-transform-es2015-arrow-functions": "6.22.0",
|
||||
"babel-plugin-transform-es2015-block-scoped-functions": "6.22.0",
|
||||
"babel-plugin-transform-es2015-block-scoping": "6.26.0",
|
||||
"babel-plugin-transform-es2015-classes": "6.24.1",
|
||||
"babel-plugin-transform-es2015-computed-properties": "6.24.1",
|
||||
"babel-plugin-transform-es2015-destructuring": "6.23.0",
|
||||
"babel-plugin-transform-es2015-duplicate-keys": "6.24.1",
|
||||
"babel-plugin-transform-es2015-for-of": "6.23.0",
|
||||
"babel-plugin-transform-es2015-function-name": "6.24.1",
|
||||
"babel-plugin-transform-es2015-literals": "6.22.0",
|
||||
"babel-plugin-transform-es2015-modules-amd": "6.24.1",
|
||||
"babel-plugin-transform-es2015-modules-commonjs": "6.26.2",
|
||||
"babel-plugin-transform-es2015-modules-systemjs": "6.24.1",
|
||||
"babel-plugin-transform-es2015-modules-umd": "6.24.1",
|
||||
"babel-plugin-transform-es2015-object-super": "6.24.1",
|
||||
"babel-plugin-transform-es2015-parameters": "6.24.1",
|
||||
"babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
|
||||
"babel-plugin-transform-es2015-spread": "6.22.0",
|
||||
"babel-plugin-transform-es2015-sticky-regex": "6.24.1",
|
||||
"babel-plugin-transform-es2015-template-literals": "6.22.0",
|
||||
"babel-plugin-transform-es2015-typeof-symbol": "6.23.0",
|
||||
"babel-plugin-transform-es2015-unicode-regex": "6.24.1",
|
||||
"babel-plugin-transform-exponentiation-operator": "6.24.1",
|
||||
"babel-plugin-transform-regenerator": "6.26.0",
|
||||
"browserslist": "3.2.7",
|
||||
"invariant": "2.2.4",
|
||||
"semver": "5.5.0"
|
||||
}
|
||||
},
|
||||
"babel-register": {
|
||||
|
@ -518,13 +518,13 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
|
||||
"integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
|
||||
"requires": {
|
||||
"babel-core": "^6.26.0",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"core-js": "^2.5.0",
|
||||
"home-or-tmp": "^2.0.0",
|
||||
"lodash": "^4.17.4",
|
||||
"mkdirp": "^0.5.1",
|
||||
"source-map-support": "^0.4.15"
|
||||
"babel-core": "6.26.3",
|
||||
"babel-runtime": "6.26.0",
|
||||
"core-js": "2.5.6",
|
||||
"home-or-tmp": "2.0.0",
|
||||
"lodash": "4.17.10",
|
||||
"mkdirp": "0.5.1",
|
||||
"source-map-support": "0.4.18"
|
||||
}
|
||||
},
|
||||
"babel-runtime": {
|
||||
|
@ -532,8 +532,8 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
|
||||
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
|
||||
"requires": {
|
||||
"core-js": "^2.4.0",
|
||||
"regenerator-runtime": "^0.11.0"
|
||||
"core-js": "2.5.6",
|
||||
"regenerator-runtime": "0.11.1"
|
||||
}
|
||||
},
|
||||
"babel-template": {
|
||||
|
@ -541,11 +541,11 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
|
||||
"integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.26.0",
|
||||
"babel-traverse": "^6.26.0",
|
||||
"babel-types": "^6.26.0",
|
||||
"babylon": "^6.18.0",
|
||||
"lodash": "^4.17.4"
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-traverse": "6.26.0",
|
||||
"babel-types": "6.26.0",
|
||||
"babylon": "6.18.0",
|
||||
"lodash": "4.17.10"
|
||||
}
|
||||
},
|
||||
"babel-traverse": {
|
||||
|
@ -553,15 +553,15 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
|
||||
"integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
|
||||
"requires": {
|
||||
"babel-code-frame": "^6.26.0",
|
||||
"babel-messages": "^6.23.0",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"babel-types": "^6.26.0",
|
||||
"babylon": "^6.18.0",
|
||||
"debug": "^2.6.8",
|
||||
"globals": "^9.18.0",
|
||||
"invariant": "^2.2.2",
|
||||
"lodash": "^4.17.4"
|
||||
"babel-code-frame": "6.26.0",
|
||||
"babel-messages": "6.23.0",
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-types": "6.26.0",
|
||||
"babylon": "6.18.0",
|
||||
"debug": "2.6.9",
|
||||
"globals": "9.18.0",
|
||||
"invariant": "2.2.4",
|
||||
"lodash": "4.17.10"
|
||||
}
|
||||
},
|
||||
"babel-types": {
|
||||
|
@ -569,10 +569,10 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
|
||||
"integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.26.0",
|
||||
"esutils": "^2.0.2",
|
||||
"lodash": "^4.17.4",
|
||||
"to-fast-properties": "^1.0.3"
|
||||
"babel-runtime": "6.26.0",
|
||||
"esutils": "2.0.2",
|
||||
"lodash": "4.17.10",
|
||||
"to-fast-properties": "1.0.3"
|
||||
}
|
||||
},
|
||||
"babylon": {
|
||||
|
@ -590,7 +590,7 @@
|
|||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"balanced-match": "1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
|
@ -599,8 +599,8 @@
|
|||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.7.tgz",
|
||||
"integrity": "sha512-oYVLxFVqpX9uMhOIQBLtZL+CX4uY8ZpWcjNTaxyWl5rO8yA9SSNikFnAfvk8J3P/7z3BZwNmEqFKaJoYltj3MQ==",
|
||||
"requires": {
|
||||
"caniuse-lite": "^1.0.30000835",
|
||||
"electron-to-chromium": "^1.3.45"
|
||||
"caniuse-lite": "1.0.30000842",
|
||||
"electron-to-chromium": "1.3.47"
|
||||
}
|
||||
},
|
||||
"builtin-modules": {
|
||||
|
@ -618,11 +618,11 @@
|
|||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"requires": {
|
||||
"ansi-styles": "^2.2.1",
|
||||
"escape-string-regexp": "^1.0.2",
|
||||
"has-ansi": "^2.0.0",
|
||||
"strip-ansi": "^3.0.0",
|
||||
"supports-color": "^2.0.0"
|
||||
"ansi-styles": "2.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"has-ansi": "2.0.0",
|
||||
"strip-ansi": "3.0.1",
|
||||
"supports-color": "2.0.0"
|
||||
}
|
||||
},
|
||||
"chroma-js": {
|
||||
|
@ -635,7 +635,7 @@
|
|||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
|
||||
"integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
|
||||
"requires": {
|
||||
"color-name": "^1.1.1"
|
||||
"color-name": "1.1.3"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
|
@ -676,7 +676,7 @@
|
|||
"resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
|
||||
"integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
|
||||
"requires": {
|
||||
"repeating": "^2.0.0"
|
||||
"repeating": "2.0.1"
|
||||
}
|
||||
},
|
||||
"diff": {
|
||||
|
@ -714,12 +714,12 @@
|
|||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
|
||||
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.0.4",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
"fs.realpath": "1.0.0",
|
||||
"inflight": "1.0.6",
|
||||
"inherits": "2.0.3",
|
||||
"minimatch": "3.0.4",
|
||||
"once": "1.4.0",
|
||||
"path-is-absolute": "1.0.1"
|
||||
}
|
||||
},
|
||||
"globals": {
|
||||
|
@ -732,7 +732,7 @@
|
|||
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
|
||||
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
|
@ -745,8 +745,8 @@
|
|||
"resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
|
||||
"integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
|
||||
"requires": {
|
||||
"os-homedir": "^1.0.0",
|
||||
"os-tmpdir": "^1.0.1"
|
||||
"os-homedir": "1.0.2",
|
||||
"os-tmpdir": "1.0.2"
|
||||
}
|
||||
},
|
||||
"inflight": {
|
||||
|
@ -754,8 +754,8 @@
|
|||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
|
||||
"requires": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
"once": "1.4.0",
|
||||
"wrappy": "1.0.2"
|
||||
}
|
||||
},
|
||||
"inherits": {
|
||||
|
@ -768,7 +768,7 @@
|
|||
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
|
||||
"integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
|
||||
"requires": {
|
||||
"loose-envify": "^1.0.0"
|
||||
"loose-envify": "1.3.1"
|
||||
}
|
||||
},
|
||||
"is-finite": {
|
||||
|
@ -776,7 +776,7 @@
|
|||
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
|
||||
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
|
||||
"requires": {
|
||||
"number-is-nan": "^1.0.0"
|
||||
"number-is-nan": "1.0.1"
|
||||
}
|
||||
},
|
||||
"js-tokens": {
|
||||
|
@ -789,8 +789,8 @@
|
|||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
|
||||
"integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
"argparse": "1.0.10",
|
||||
"esprima": "4.0.0"
|
||||
}
|
||||
},
|
||||
"jsesc": {
|
||||
|
@ -813,7 +813,7 @@
|
|||
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
|
||||
"integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
|
||||
"requires": {
|
||||
"js-tokens": "^3.0.0"
|
||||
"js-tokens": "3.0.2"
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
|
@ -821,7 +821,7 @@
|
|||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
"brace-expansion": "1.1.11"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
|
@ -852,7 +852,7 @@
|
|||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
"wrappy": "1.0.2"
|
||||
}
|
||||
},
|
||||
"os-homedir": {
|
||||
|
@ -895,9 +895,9 @@
|
|||
"resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
|
||||
"integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.18.0",
|
||||
"babel-types": "^6.19.0",
|
||||
"private": "^0.1.6"
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-types": "6.26.0",
|
||||
"private": "0.1.8"
|
||||
}
|
||||
},
|
||||
"regexpu-core": {
|
||||
|
@ -905,9 +905,9 @@
|
|||
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
|
||||
"integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
|
||||
"requires": {
|
||||
"regenerate": "^1.2.1",
|
||||
"regjsgen": "^0.2.0",
|
||||
"regjsparser": "^0.1.4"
|
||||
"regenerate": "1.4.0",
|
||||
"regjsgen": "0.2.0",
|
||||
"regjsparser": "0.1.5"
|
||||
}
|
||||
},
|
||||
"regjsgen": {
|
||||
|
@ -920,7 +920,7 @@
|
|||
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
|
||||
"integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
|
||||
"requires": {
|
||||
"jsesc": "~0.5.0"
|
||||
"jsesc": "0.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"jsesc": {
|
||||
|
@ -935,7 +935,7 @@
|
|||
"resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
|
||||
"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
|
||||
"requires": {
|
||||
"is-finite": "^1.0.0"
|
||||
"is-finite": "1.0.2"
|
||||
}
|
||||
},
|
||||
"resolve": {
|
||||
|
@ -943,7 +943,7 @@
|
|||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
|
||||
"integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
|
||||
"requires": {
|
||||
"path-parse": "^1.0.5"
|
||||
"path-parse": "1.0.5"
|
||||
}
|
||||
},
|
||||
"semver": {
|
||||
|
@ -966,7 +966,7 @@
|
|||
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
|
||||
"integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
|
||||
"requires": {
|
||||
"source-map": "^0.5.6"
|
||||
"source-map": "0.5.7"
|
||||
}
|
||||
},
|
||||
"sprintf-js": {
|
||||
|
@ -979,7 +979,7 @@
|
|||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
|
@ -1007,18 +1007,18 @@
|
|||
"resolved": "https://registry.npmjs.org/tslint/-/tslint-5.10.0.tgz",
|
||||
"integrity": "sha1-EeJrzLiK+gLdDZlWyuPUVAtfVMM=",
|
||||
"requires": {
|
||||
"babel-code-frame": "^6.22.0",
|
||||
"builtin-modules": "^1.1.1",
|
||||
"chalk": "^2.3.0",
|
||||
"commander": "^2.12.1",
|
||||
"diff": "^3.2.0",
|
||||
"glob": "^7.1.1",
|
||||
"js-yaml": "^3.7.0",
|
||||
"minimatch": "^3.0.4",
|
||||
"resolve": "^1.3.2",
|
||||
"semver": "^5.3.0",
|
||||
"tslib": "^1.8.0",
|
||||
"tsutils": "^2.12.1"
|
||||
"babel-code-frame": "6.26.0",
|
||||
"builtin-modules": "1.1.1",
|
||||
"chalk": "2.4.1",
|
||||
"commander": "2.15.1",
|
||||
"diff": "3.5.0",
|
||||
"glob": "7.1.2",
|
||||
"js-yaml": "3.11.0",
|
||||
"minimatch": "3.0.4",
|
||||
"resolve": "1.7.1",
|
||||
"semver": "5.5.0",
|
||||
"tslib": "1.9.1",
|
||||
"tsutils": "2.27.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
|
@ -1026,7 +1026,7 @@
|
|||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
||||
"requires": {
|
||||
"color-convert": "^1.9.0"
|
||||
"color-convert": "1.9.1"
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
|
@ -1034,9 +1034,9 @@
|
|||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
|
||||
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
|
||||
"requires": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"supports-color": "^5.3.0"
|
||||
"ansi-styles": "3.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"supports-color": "5.4.0"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
|
@ -1044,7 +1044,7 @@
|
|||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
|
||||
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
|
||||
"requires": {
|
||||
"has-flag": "^3.0.0"
|
||||
"has-flag": "3.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1054,7 +1054,7 @@
|
|||
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.27.0.tgz",
|
||||
"integrity": "sha512-JcyX25oM9pFcb3zh60OqG1St8p/uSqC5Bgipdo3ieacB/Ao4dPhm7hAtKT9NrEu23CyYrrgJPV3CqYfo+/+T4w==",
|
||||
"requires": {
|
||||
"tslib": "^1.8.1"
|
||||
"tslib": "1.9.1"
|
||||
}
|
||||
},
|
||||
"typescript": {
|
||||
|
|
|
@ -1,13 +1,23 @@
|
|||
import * as React from "react";
|
||||
import * as ReactDOM from "react-dom";
|
||||
import { glyphBuildingblocks } from "@microsoft/fast-glyphs-msft";
|
||||
import Site, { IFormChildOption, SiteCategory, SiteCategoryIcon, SiteCategoryItem, SiteMenu, SiteMenuItem } from "../src";
|
||||
import Button from "./components/button";
|
||||
import ButtonSchema from "./components/button.schema.json";
|
||||
import Paragraph from "./components/paragraph";
|
||||
import ParagraphSchema from "./components/paragraph.schema.json";
|
||||
import Site, {
|
||||
IFormChildOption,
|
||||
SiteCategory,
|
||||
SiteCategoryDocumentation,
|
||||
SiteCategoryIcon,
|
||||
SiteCategoryItem,
|
||||
SiteMenu,
|
||||
SiteMenuItem
|
||||
} from "../src";
|
||||
import Button from "./components/button/button";
|
||||
import ButtonSchema from "./components/button/button.schema.json";
|
||||
import Paragraph from "./components/paragraph/paragraph";
|
||||
import ParagraphSchema from "./components/paragraph/paragraph.schema.json";
|
||||
import PolymerHeading from "./components/polymer-heading";
|
||||
import { ISiteCategoryProps } from "../src/components/site/category";
|
||||
import ParagraphDocs from "./components/paragraph/.tmp/documentation";
|
||||
import ButtonDocs from "./components/button/.tmp/documentation";
|
||||
|
||||
function renderSiteMenu(): JSX.Element {
|
||||
return (
|
||||
|
@ -31,15 +41,41 @@ function renderBuildingBlocks(): JSX.Element {
|
|||
function renderComponentsFactory(componentData: any[]): JSX.Element[] {
|
||||
return componentData.map((componentDataItem: any, index: number) => {
|
||||
return (
|
||||
<SiteCategoryItem slot={"canvas"} key={index} data={componentDataItem} />
|
||||
<SiteCategoryItem
|
||||
slot={index === 0 ? "canvas-detail-view-example" : "canvas-example-view"}
|
||||
key={index}
|
||||
data={componentDataItem}
|
||||
/>
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function renderDocumentation(categoryObj: ISiteCategoryProps): JSX.Element {
|
||||
switch (categoryObj.name) {
|
||||
case "Paragraph Nested":
|
||||
case "Paragraph":
|
||||
return (
|
||||
<SiteCategoryDocumentation slot={"canvas-detail-view-documentation"}>
|
||||
<ParagraphDocs />
|
||||
</SiteCategoryDocumentation>
|
||||
);
|
||||
case "Other Button":
|
||||
case "Button":
|
||||
return (
|
||||
<SiteCategoryDocumentation slot={"canvas-detail-view-documentation"}>
|
||||
<ButtonDocs />
|
||||
</SiteCategoryDocumentation>
|
||||
);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
function renderCategory(componentObj: any[], categoryObj: ISiteCategoryProps): JSX.Element {
|
||||
return (
|
||||
<SiteCategory {...categoryObj}>
|
||||
{renderComponentsFactory(componentObj)}
|
||||
{renderDocumentation(categoryObj)}
|
||||
</SiteCategory>
|
||||
);
|
||||
}
|
||||
|
@ -118,7 +154,7 @@ const formChildOptions: IFormChildOption[] = [
|
|||
function render(): void {
|
||||
ReactDOM.render(
|
||||
<Site
|
||||
title={"FAST Development site test"}
|
||||
title={"FAST Documentation site"}
|
||||
formChildOptions={formChildOptions}
|
||||
frameworks={["react" as any, "angular" as any]}
|
||||
>
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
# Button
|
||||
The button test component.
|
|
@ -0,0 +1,2 @@
|
|||
# Paragraph
|
||||
The paragraph test component.
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -16,10 +16,11 @@
|
|||
"types": "dist/index.d.ts",
|
||||
"scripts": {
|
||||
"clean:dist": "node ../../build/clean.js dist",
|
||||
"convert:readme": "node ../../build/convert-readme.js --src=app/**/README.md .tmp",
|
||||
"build:app": "webpack --progress",
|
||||
"prepare": "npm run clean:dist && tsc -p ./tsconfig.json",
|
||||
"start": "webpack-dev-server --progress",
|
||||
"test": "npm run tslint && npm run build:app",
|
||||
"test": "npm run convert:readme && npm run tslint && npm run build:app",
|
||||
"tslint": "tslint -c ./tslint.json '**/*.ts{,x}'",
|
||||
"tslint:fix": "tslint -c ./tslint.json --fix '**/*.ts{,x}'"
|
||||
},
|
||||
|
@ -28,7 +29,8 @@
|
|||
"@microsoft/fast-glyphs-msft": "^1.6.0",
|
||||
"@microsoft/fast-jss-manager-react": "^1.6.0",
|
||||
"@microsoft/fast-jss-utilities": "^1.6.0",
|
||||
"@microsoft/fast-layouts-react": "^1.0.0"
|
||||
"@microsoft/fast-layouts-react": "^1.0.0",
|
||||
"@microsoft/fast-markdown-msft-react": "^1.6.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@microsoft/fast-tslint-rules": "^1.6.0",
|
||||
|
@ -54,6 +56,7 @@
|
|||
"webpack": "^4.0.1",
|
||||
"webpack-cli": "^2.0.11",
|
||||
"webpack-dev-server": "^3.1.0",
|
||||
"webpack-shell-plugin": "^0.5.0",
|
||||
"yargs": "^11.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
|
|
@ -130,8 +130,15 @@ class ActionBar extends React.Component<IActionBarProps & IManagedClasses<IActio
|
|||
<ComponentViewToggle
|
||||
to={this.props.match.path}
|
||||
onClick={this.onComponentViewChangeCallback(ComponentViewTypes.detail)}
|
||||
label="View examples"
|
||||
label="View detail"
|
||||
current={this.isAriaCurrent(ComponentViewTypes.detail)}
|
||||
glyph={glyphPage}
|
||||
/>
|
||||
<ComponentViewToggle
|
||||
to={`${this.props.match.path}${ComponentViewTypes[ComponentViewTypes.examples]}/`}
|
||||
onClick={this.onComponentViewChangeCallback(ComponentViewTypes.examples)}
|
||||
label="View examples"
|
||||
current={this.isAriaCurrent(ComponentViewTypes.examples)}
|
||||
glyph={glyphExamples}
|
||||
/>
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
import * as React from "react";
|
||||
|
||||
export interface ICategoryDocumentationProps {
|
||||
slot: string;
|
||||
}
|
||||
|
||||
class CategoryDocumentation extends React.Component<ICategoryDocumentationProps, {}> {
|
||||
public render(): JSX.Element {
|
||||
return (
|
||||
<div>
|
||||
{this.props.children}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default CategoryDocumentation;
|
|
@ -9,7 +9,7 @@ export interface ISiteCategoryItemManagedClasses {
|
|||
}
|
||||
|
||||
export interface ISiteCategoryItemProps {
|
||||
slot: string;
|
||||
slot?: string;
|
||||
categoryItemComponentMinWidth?: number;
|
||||
designSystem?: any;
|
||||
data: any;
|
||||
|
|
|
@ -2,6 +2,7 @@ import * as React from "react";
|
|||
import { Route, Switch, withRouter } from "react-router-dom";
|
||||
import { RouteComponentProps } from "react-router";
|
||||
import { IDevSiteDesignSystem } from "../design-system";
|
||||
import { toPx } from "@microsoft/fast-jss-utilities";
|
||||
import manageJss, { ComponentStyles, IJSSManagerProps, IManagedClasses } from "@microsoft/fast-jss-manager-react";
|
||||
|
||||
/**
|
||||
|
@ -13,41 +14,56 @@ export enum ComponentViewTypes {
|
|||
}
|
||||
|
||||
export interface IComponentViewManagedClasses {
|
||||
componentView: string;
|
||||
componentExampleView: string;
|
||||
componentDetailView: string;
|
||||
}
|
||||
|
||||
export interface IComponentViewProps extends RouteComponentProps<{}> {
|
||||
viewType: ComponentViewTypes;
|
||||
}
|
||||
|
||||
const style: ComponentStyles<IComponentViewManagedClasses, IDevSiteDesignSystem> = {
|
||||
componentView: {
|
||||
componentExampleView: {
|
||||
overflow: "auto",
|
||||
flexGrow: "1",
|
||||
width: "100%",
|
||||
display: "grid",
|
||||
gridTemplateColumns: "1fr 1fr 1fr",
|
||||
},
|
||||
componentDetailView: {
|
||||
overflow: "auto",
|
||||
flexGrow: "1"
|
||||
}
|
||||
};
|
||||
|
||||
class ComponentView extends React.Component<RouteComponentProps<{}> & IManagedClasses<IComponentViewManagedClasses>, {}> {
|
||||
class ComponentView extends React.Component<IComponentViewProps & IManagedClasses<IComponentViewManagedClasses>, {}> {
|
||||
public render(): React.ReactElement<HTMLDivElement> {
|
||||
// TODO: #294, #295 uncomment and use exact match for the detail page and examples page when detail page
|
||||
// content is available
|
||||
return (
|
||||
<div className={this.props.managedClasses.componentView}>
|
||||
<div className={this.getClassName()}>
|
||||
<Switch>
|
||||
<Route path="/" exact={true} component={null} />
|
||||
{/* <Route path={this.props.match.url} exact={true} component={this.renderDetailPage} /> */}
|
||||
<Route path={this.props.match.url} component={this.renderExamplesPage} />
|
||||
<Route
|
||||
path={this.props.match.url}
|
||||
exact={true}
|
||||
component={this.renderView}
|
||||
/>
|
||||
<Route
|
||||
path={`${this.props.match.url}/${ComponentViewTypes[ComponentViewTypes.examples]}`}
|
||||
exact={true}
|
||||
component={this.renderView}
|
||||
/>
|
||||
</Switch>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
private renderDetailPage = (): React.ReactElement<HTMLElement> => {
|
||||
return (
|
||||
<h1>Detail</h1>
|
||||
);
|
||||
private getClassName(): string {
|
||||
return this.props.viewType === ComponentViewTypes.examples
|
||||
? this.props.managedClasses.componentExampleView
|
||||
: this.props.managedClasses.componentDetailView;
|
||||
}
|
||||
|
||||
private renderExamplesPage = (): React.ReactNode => {
|
||||
private renderView = (): React.ReactElement<HTMLElement> => {
|
||||
return (
|
||||
<React.Fragment>
|
||||
{this.props.children}
|
||||
|
|
|
@ -18,8 +18,9 @@ export interface IComponentWrapperManagedClasses {
|
|||
export interface IComponentWrapperProps<T> {
|
||||
active: boolean;
|
||||
index: number;
|
||||
singleRow?: boolean;
|
||||
designSystem: T;
|
||||
onClick: (activeIndex: number) => void;
|
||||
onClick?: (activeIndex: number) => void;
|
||||
}
|
||||
|
||||
const componentWrapperBorder: string = `${toPx(1)} solid rgb(226, 226, 226)`;
|
||||
|
@ -91,7 +92,9 @@ class ComponentWrapper extends React.Component<IComponentWrapperProps<IDevSiteDe
|
|||
}
|
||||
|
||||
private handleClick = (): void => {
|
||||
this.props.onClick(this.props.index);
|
||||
if (this.props.onClick) {
|
||||
this.props.onClick(this.props.index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ import CategoryList from "./category-list";
|
|||
import SiteMenu from "./menu";
|
||||
import SiteMenuItem from "./menu-item";
|
||||
import SiteCategory from "./category";
|
||||
import SiteCategoryDocumentation from "./category-documentation";
|
||||
import SiteCategoryIcon from "./category-icon";
|
||||
import SiteCategoryItem from "./category-item";
|
||||
import ActionBar from "./action-bar";
|
||||
|
@ -30,6 +31,12 @@ import {
|
|||
Row
|
||||
} from "@microsoft/fast-layouts-react";
|
||||
|
||||
export enum ComponentViewSlot {
|
||||
example = "canvas-example-view",
|
||||
detailExample = "canvas-detail-view-example",
|
||||
detailDocumentation = "canvas-detail-view-documentation"
|
||||
}
|
||||
|
||||
export interface ISiteProps {
|
||||
title: string;
|
||||
formChildOptions: IFormChildOption[];
|
||||
|
@ -48,7 +55,8 @@ export interface IComponentRoute {
|
|||
route: string;
|
||||
schema: any;
|
||||
componentMapping: any;
|
||||
component: JSX.Element[];
|
||||
exampleView: JSX.Element[];
|
||||
detailView: JSX.Element[];
|
||||
}
|
||||
|
||||
export interface IComponentData {
|
||||
|
@ -60,6 +68,7 @@ export interface ISiteState {
|
|||
activeComponentIndex: number;
|
||||
componentName: string;
|
||||
componentData: IComponentData;
|
||||
detailViewComponentData: IComponentData;
|
||||
tableOfContentsCollapsed: boolean;
|
||||
componentView: ComponentViewTypes;
|
||||
formView: boolean;
|
||||
|
@ -154,6 +163,7 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
componentView: ComponentViewTypes.examples,
|
||||
componentName: this.getComponentName(),
|
||||
componentData: this.getComponentData(),
|
||||
detailViewComponentData: this.getDetailViewComponentData(),
|
||||
formView: true,
|
||||
devToolsView: false
|
||||
};
|
||||
|
@ -170,7 +180,7 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
exact={true}
|
||||
path={"/"}
|
||||
>
|
||||
{this.renderShellRow({component: null, route: "/"} as IComponentRoute)}
|
||||
{this.renderShellRow({exampleView: null, route: "/"} as IComponentRoute)}
|
||||
</Route>
|
||||
{this.renderRoutes()}
|
||||
<Route path="*" component={NotFound} />
|
||||
|
@ -200,7 +210,7 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
|
||||
this.getRoutes((this.props.children as JSX.Element), "/", SiteSlot.category).forEach((route: IComponentRoute) => {
|
||||
componentData[route.route] = [];
|
||||
route.component.forEach((routeChild: JSX.Element, index: number) => {
|
||||
route.exampleView.forEach((routeChild: JSX.Element, index: number) => {
|
||||
componentData[route.route][index] = routeChild.props.data;
|
||||
});
|
||||
});
|
||||
|
@ -208,6 +218,21 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
return componentData;
|
||||
}
|
||||
|
||||
private getDetailViewComponentData(): IComponentData {
|
||||
const componentData: IComponentData = {};
|
||||
|
||||
this.getRoutes((this.props.children as JSX.Element), "/", SiteSlot.category).forEach((route: IComponentRoute) => {
|
||||
componentData[route.route] = [];
|
||||
route.detailView.forEach((routeChild: JSX.Element, index: number) => {
|
||||
if (routeChild && routeChild.props && routeChild.props.slot === ComponentViewSlot.detailExample) {
|
||||
componentData[route.route] = routeChild.props.data;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
return componentData;
|
||||
}
|
||||
|
||||
private getComponentName = (currentPath?: string): string => {
|
||||
const matchedPath: RegExpMatchArray = currentPath
|
||||
? currentPath.match(/([a-z\d\-]+)(\/*)$/i)
|
||||
|
@ -302,7 +327,7 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
/>
|
||||
</Row>
|
||||
<div className={this.props.managedClasses.site_canvasContent}>
|
||||
<ComponentView>
|
||||
<ComponentView {...{ viewType: this.state.componentView }}>
|
||||
{this.renderChildrenBySlot(this, ShellSlot.canvas)}
|
||||
{this.renderComponentByRoute(route)}
|
||||
</ComponentView>
|
||||
|
@ -316,7 +341,7 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
jssStyleSheet={paneStyleSheet}
|
||||
minWidth={324}
|
||||
>
|
||||
{this.generateForm(route.component, route.schema, route.route)}
|
||||
{this.generateForm(route.exampleView, route.schema, route.route)}
|
||||
</Pane>
|
||||
</Row>
|
||||
);
|
||||
|
@ -329,7 +354,7 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
activeFramework={this.props.activeFramework}
|
||||
activeSchema={schema}
|
||||
activeComponentName={this.state.componentName}
|
||||
activeFormData={this.state.componentData[this.state.currentPath][this.state.activeComponentIndex]}
|
||||
activeFormData={this.getCurrentComponentData()}
|
||||
childOptions={this.props.formChildOptions}
|
||||
frameworks={Array.isArray(this.props.frameworks) ? this.props.frameworks : [this.props.frameworks]}
|
||||
onToggleView={this.handleToggleDevToolsView}
|
||||
|
@ -338,15 +363,34 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
}
|
||||
}
|
||||
|
||||
private getCurrentComponentData(): any {
|
||||
if (this.state.componentView === ComponentViewTypes.examples) {
|
||||
return this.state.componentData[this.state.currentPath][this.state.activeComponentIndex];
|
||||
} else if (this.state.componentView === ComponentViewTypes.detail) {
|
||||
return this.state.detailViewComponentData[this.state.currentPath];
|
||||
}
|
||||
}
|
||||
|
||||
private handleComponentDataChange = (data: any): void => {
|
||||
const currentPath: string = this.getCurrentPath();
|
||||
const componentData: IComponentData = Object.assign({}, this.state.componentData);
|
||||
componentData[currentPath][this.state.activeComponentIndex] = data;
|
||||
|
||||
this.setState({
|
||||
componentData,
|
||||
currentPath
|
||||
});
|
||||
if (this.state.componentView === ComponentViewTypes.examples) {
|
||||
const componentData: IComponentData = Object.assign({}, this.state.componentData);
|
||||
componentData[currentPath][this.state.activeComponentIndex] = data;
|
||||
|
||||
this.setState({
|
||||
componentData,
|
||||
currentPath
|
||||
});
|
||||
} else if (this.state.componentView === ComponentViewTypes.detail) {
|
||||
const detailViewComponentData: IComponentData = Object.assign({}, this.state.detailViewComponentData);
|
||||
detailViewComponentData[currentPath] = data;
|
||||
|
||||
this.setState({
|
||||
detailViewComponentData,
|
||||
currentPath
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private handleToggleDevToolsView = (): void => {
|
||||
|
@ -363,11 +407,15 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
|
||||
private generateForm(component: JSX.Element[], schema: any, route: string): JSX.Element {
|
||||
if (component && schema) {
|
||||
const componentData: any = this.state.componentView === ComponentViewTypes.examples
|
||||
? Object.assign({}, this.state.componentData[route][this.state.activeComponentIndex])
|
||||
: Object.assign({}, this.state.detailViewComponentData[route]);
|
||||
|
||||
return (
|
||||
<Form
|
||||
className={this.props.managedClasses.site_paneForm}
|
||||
schema={schema}
|
||||
data={Object.assign({}, this.state.componentData[route][this.state.activeComponentIndex])}
|
||||
data={componentData}
|
||||
onChange={this.handleComponentDataChange.bind(route)}
|
||||
childOptions={this.props.formChildOptions}
|
||||
/>
|
||||
|
@ -376,9 +424,9 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
}
|
||||
|
||||
private renderComponentByRoute(route: IComponentRoute): JSX.Element[] {
|
||||
if (route.component) {
|
||||
return route.component.map((componentItem: JSX.Element, index: number) => {
|
||||
if (route.componentMapping) {
|
||||
if (route.exampleView && this.state.componentView === ComponentViewTypes.examples) {
|
||||
return route.exampleView.map((componentItem: JSX.Element, index: number) => {
|
||||
if (route.componentMapping && componentItem.props && componentItem.props.slot === ComponentViewSlot.example) {
|
||||
return (
|
||||
<ComponentWrapper
|
||||
key={index}
|
||||
|
@ -392,9 +440,45 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
);
|
||||
}
|
||||
});
|
||||
} else if (route.detailView && this.state.componentView === ComponentViewTypes.detail) {
|
||||
return route.detailView.map((componentItem: JSX.Element, index: number) => {
|
||||
if (route.componentMapping) {
|
||||
return (
|
||||
<React.Fragment key={index}>
|
||||
{this.renderDetailViewComponent(componentItem, index, route)}
|
||||
{this.renderDetailViewDocumentation(componentItem)}
|
||||
</React.Fragment>
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private renderDetailViewComponent(component: JSX.Element, index: number, route: IComponentRoute): JSX.Element {
|
||||
if (component && component.props && component.props.slot === ComponentViewSlot.detailExample) {
|
||||
return (
|
||||
<ComponentWrapper
|
||||
key={index}
|
||||
index={index}
|
||||
designSystem={component.props.designSystem}
|
||||
active={true}
|
||||
>
|
||||
<route.componentMapping {...this.state.detailViewComponentData[route.route]} />
|
||||
</ComponentWrapper>
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private renderDetailViewDocumentation(component: JSX.Element): JSX.Element {
|
||||
if (component && component.props && component.props.slot === ComponentViewSlot.detailDocumentation) {
|
||||
return component;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private handleComponentClick = (activeIndex: number): void => {
|
||||
this.setState({
|
||||
activeComponentIndex: activeIndex
|
||||
|
@ -446,12 +530,16 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
private getCurrentRoute(item: JSX.Element, slot: SiteSlot, baseRoute: string, currentRoutes: IComponentRoute[]): IComponentRoute[] {
|
||||
const currentRoute: IComponentRoute[] = currentRoutes;
|
||||
const itemRoute: string = `${baseRoute}${item.props.name}/`;
|
||||
const slotItems: JSX.Element[] = this.renderChildrenBySlot(item, ShellSlot.canvas);
|
||||
const detailDocumentationSlotItems: JSX.Element[] = this.renderChildrenBySlot(item, ComponentViewSlot.detailDocumentation);
|
||||
const detailExampleSlotItems: JSX.Element[] = this.renderChildrenBySlot(item, ComponentViewSlot.detailExample);
|
||||
const detailSlotItems: JSX.Element[] = detailExampleSlotItems.concat(detailDocumentationSlotItems);
|
||||
const exampleSlotItems: JSX.Element[] = this.renderChildrenBySlot(item, ComponentViewSlot.example);
|
||||
|
||||
if (slotItems && slotItems.length > 0) {
|
||||
if (exampleSlotItems && exampleSlotItems.length > 0) {
|
||||
currentRoute.push({
|
||||
route: this.convertToHyphenated(itemRoute),
|
||||
component: slotItems,
|
||||
exampleView: exampleSlotItems,
|
||||
detailView: detailSlotItems,
|
||||
schema: item.props.schema,
|
||||
componentMapping: item.props.component
|
||||
});
|
||||
|
@ -471,11 +559,13 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
}
|
||||
|
||||
private renderChildrenBySlot(component: any, slot: string): JSX.Element[] {
|
||||
return React.Children.map(component.props.children, (child: JSX.Element, index: number) => {
|
||||
if (child.props && child.props.slot === slot) {
|
||||
return child;
|
||||
}
|
||||
});
|
||||
if (component && component.props) {
|
||||
return React.Children.map(component.props.children, (child: JSX.Element, index: number) => {
|
||||
if (child && child.props && child.props.slot === slot) {
|
||||
return child;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private renderPaneCollapseToggle(): JSX.Element {
|
||||
|
@ -510,7 +600,9 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
const tocItems: any[] = Array.isArray(items) ? items : [items];
|
||||
|
||||
tocItems.forEach((item: JSX.Element) => {
|
||||
if (item.props.slot === slot && ((collapsed && this.renderTocItemCategoryIcon(item)) || !collapsed)) {
|
||||
const isInSlot: boolean = item && item.props && item.props.slot === slot;
|
||||
|
||||
if (isInSlot && ((collapsed && this.renderTocItemCategoryIcon(item)) || !collapsed)) {
|
||||
categoryItems.push(item);
|
||||
}
|
||||
});
|
||||
|
@ -608,12 +700,12 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
private renderTocItemCategoryIcon(item: JSX.Element): JSX.Element {
|
||||
if (Array.isArray(item.props.children)) {
|
||||
item.props.children.forEach((childElement: JSX.Element) => {
|
||||
if (childElement.props.slot === SiteSlot.categoryIcon) {
|
||||
if (childElement && childElement.props && childElement.props.slot === SiteSlot.categoryIcon) {
|
||||
return childElement;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
if (item.props.children.props.slot === SiteSlot.categoryIcon) {
|
||||
if (item.props.children.props && item.props.children.props.slot === SiteSlot.categoryIcon) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
|
@ -623,16 +715,20 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
|
||||
private hasCanvasContent(item: JSX.Element): boolean {
|
||||
let hasCanvasContent: boolean = false;
|
||||
const slot: string = ShellSlot.canvas;
|
||||
const exampleSlot: string = ComponentViewSlot.example;
|
||||
const detailExampleSlot: string = ComponentViewSlot.detailExample;
|
||||
const detailDocumentationSlot: string = ComponentViewSlot.detailDocumentation;
|
||||
|
||||
if (item.props.children) {
|
||||
if (Array.isArray(item.props.children)) {
|
||||
item.props.children.forEach((child: JSX.Element) => {
|
||||
hasCanvasContent = child.props.slot === slot;
|
||||
});
|
||||
} else {
|
||||
hasCanvasContent = item.props.children.props && item.props.children.props.slot === slot;
|
||||
}
|
||||
const itemChildren: JSX.Element[] = Array.isArray(item.props.children) ? item.props.children : [item.props.children];
|
||||
|
||||
itemChildren.forEach((child: JSX.Element): void => {
|
||||
hasCanvasContent = child && child.props
|
||||
? child.props.slot === exampleSlot
|
||||
|| child.props.slot === detailExampleSlot
|
||||
|| child.props.slot === detailDocumentationSlot
|
||||
: false;
|
||||
});
|
||||
}
|
||||
|
||||
return hasCanvasContent;
|
||||
|
@ -644,4 +740,4 @@ class Site extends React.Component<ISiteProps & IManagedClasses<ISiteManagedClas
|
|||
}
|
||||
|
||||
export default manageJss(styles)(Site);
|
||||
export { SiteMenu, SiteMenuItem, SiteCategory, SiteCategoryIcon, SiteCategoryItem };
|
||||
export { SiteMenu, SiteMenuItem, SiteCategory, SiteCategoryDocumentation, SiteCategoryIcon, SiteCategoryItem };
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
import * as React from "react";
|
||||
import { SiteCategoryItem } from "../";
|
||||
import { DesignSystemProvider } from "@microsoft/fast-jss-manager-react";
|
||||
|
||||
export default function componentDetailExampleFactory<T>(example?: any, designSystem?: T): JSX.Element {
|
||||
if (example) {
|
||||
return (
|
||||
<SiteCategoryItem
|
||||
slot={"canvas-detail-view-example"}
|
||||
data={example}
|
||||
designSystem={designSystem ? designSystem : void 0}
|
||||
/>
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
import * as React from "react";
|
||||
import { SiteCategoryDocumentation } from "../";
|
||||
|
||||
export default function componentExampleFactory(documentation?: JSX.Element): JSX.Element {
|
||||
return (
|
||||
<SiteCategoryDocumentation slot={"canvas-detail-view-documentation"}>
|
||||
{documentation}
|
||||
</SiteCategoryDocumentation>
|
||||
);
|
||||
}
|
|
@ -5,7 +5,12 @@ import { DesignSystemProvider } from "@microsoft/fast-jss-manager-react";
|
|||
export default function componentExampleFactory<T>(examples: any, componentExample: string, designSystem?: T): JSX.Element[] {
|
||||
return examples[componentExample].data.map((componentExampleData: any, index: number) => {
|
||||
return (
|
||||
<SiteCategoryItem key={index} slot={"canvas"} data={componentExampleData} designSystem={designSystem ? designSystem : void 0} />
|
||||
<SiteCategoryItem
|
||||
key={index}
|
||||
slot={"canvas-example-view"}
|
||||
data={componentExampleData}
|
||||
designSystem={designSystem ? designSystem : void 0}
|
||||
/>
|
||||
);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
import * as React from "react";
|
||||
import componentDetailExampleFactory from "./component-detail-example-factory";
|
||||
import componentExampleFactory from "./component-example-factory";
|
||||
import componentDocumentationFactory from "./component-documentation-factory";
|
||||
import { SiteCategory } from "../";
|
||||
|
||||
export default function componentFactory<T>(examples: any, designSystem?: T): JSX.Element[] {
|
||||
|
@ -12,7 +14,9 @@ export default function componentFactory<T>(examples: any, designSystem?: T): JS
|
|||
schema={examples[exampleKey].schema}
|
||||
component={examples[exampleKey].component}
|
||||
>
|
||||
{componentDetailExampleFactory<T>(examples[exampleKey].detailData, designSystem)}
|
||||
{componentExampleFactory<T>(examples, exampleKey, designSystem)}
|
||||
{componentDocumentationFactory(examples[exampleKey].documentation)}
|
||||
</SiteCategory>
|
||||
);
|
||||
});
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
import componentDocumentationFactory from "./component-documentation-factory";
|
||||
export { componentDocumentationFactory };
|
||||
|
||||
import componentFactory from "./component-factory";
|
||||
export { componentFactory };
|
||||
|
||||
import componentDetailExampleFactory from "./component-detail-example-factory";
|
||||
export { componentDetailExampleFactory };
|
||||
|
||||
import componentExampleFactory from "./component-example-factory";
|
||||
export { componentExampleFactory };
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ const webpack = require('webpack');
|
|||
const path = require('path');
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const WebpackShellPlugin = require('webpack-shell-plugin');
|
||||
|
||||
module.exports = {
|
||||
devtool: 'inline-source-map',
|
||||
|
@ -38,6 +39,11 @@ module.exports = {
|
|||
new HtmlWebpackPlugin({
|
||||
title: 'Test',
|
||||
template: path.resolve(__dirname, './app/index.html')
|
||||
}),
|
||||
new WebpackShellPlugin({
|
||||
onBuildStart: [
|
||||
`npm run convert:readme`
|
||||
]
|
||||
})
|
||||
],
|
||||
devServer: {
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -17,7 +17,7 @@
|
|||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
||||
"requires": {
|
||||
"color-convert": "^1.9.0"
|
||||
"color-convert": "1.9.1"
|
||||
}
|
||||
},
|
||||
"argparse": {
|
||||
|
@ -25,7 +25,7 @@
|
|||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
||||
"requires": {
|
||||
"sprintf-js": "~1.0.2"
|
||||
"sprintf-js": "1.0.3"
|
||||
}
|
||||
},
|
||||
"arrify": {
|
||||
|
@ -38,9 +38,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
|
||||
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
|
||||
"requires": {
|
||||
"chalk": "^1.1.3",
|
||||
"esutils": "^2.0.2",
|
||||
"js-tokens": "^3.0.2"
|
||||
"chalk": "1.1.3",
|
||||
"esutils": "2.0.2",
|
||||
"js-tokens": "3.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
|
@ -53,11 +53,11 @@
|
|||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"requires": {
|
||||
"ansi-styles": "^2.2.1",
|
||||
"escape-string-regexp": "^1.0.2",
|
||||
"has-ansi": "^2.0.0",
|
||||
"strip-ansi": "^3.0.0",
|
||||
"supports-color": "^2.0.0"
|
||||
"ansi-styles": "2.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"has-ansi": "2.0.0",
|
||||
"strip-ansi": "3.0.1",
|
||||
"supports-color": "2.0.0"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
|
@ -77,7 +77,7 @@
|
|||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"balanced-match": "1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
|
@ -96,9 +96,9 @@
|
|||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
|
||||
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
|
||||
"requires": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"supports-color": "^5.3.0"
|
||||
"ansi-styles": "3.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"supports-color": "5.4.0"
|
||||
}
|
||||
},
|
||||
"color-convert": {
|
||||
|
@ -106,7 +106,7 @@
|
|||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
|
||||
"integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
|
||||
"requires": {
|
||||
"color-name": "^1.1.1"
|
||||
"color-name": "1.1.3"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
|
@ -154,12 +154,12 @@
|
|||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
|
||||
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.0.4",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
"fs.realpath": "1.0.0",
|
||||
"inflight": "1.0.6",
|
||||
"inherits": "2.0.3",
|
||||
"minimatch": "3.0.4",
|
||||
"once": "1.4.0",
|
||||
"path-is-absolute": "1.0.1"
|
||||
}
|
||||
},
|
||||
"has-ansi": {
|
||||
|
@ -167,7 +167,7 @@
|
|||
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
|
||||
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
|
@ -180,8 +180,8 @@
|
|||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
|
||||
"requires": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
"once": "1.4.0",
|
||||
"wrappy": "1.0.2"
|
||||
}
|
||||
},
|
||||
"inherits": {
|
||||
|
@ -199,8 +199,8 @@
|
|||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
|
||||
"integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
"argparse": "1.0.10",
|
||||
"esprima": "4.0.0"
|
||||
}
|
||||
},
|
||||
"make-error": {
|
||||
|
@ -213,7 +213,7 @@
|
|||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
"brace-expansion": "1.1.11"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
|
@ -241,7 +241,7 @@
|
|||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
"wrappy": "1.0.2"
|
||||
}
|
||||
},
|
||||
"path-is-absolute": {
|
||||
|
@ -259,7 +259,7 @@
|
|||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
|
||||
"integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
|
||||
"requires": {
|
||||
"path-parse": "^1.0.5"
|
||||
"path-parse": "1.0.5"
|
||||
}
|
||||
},
|
||||
"semver": {
|
||||
|
@ -277,8 +277,8 @@
|
|||
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz",
|
||||
"integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==",
|
||||
"requires": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"source-map": "^0.6.0"
|
||||
"buffer-from": "1.0.0",
|
||||
"source-map": "0.6.1"
|
||||
}
|
||||
},
|
||||
"sprintf-js": {
|
||||
|
@ -291,7 +291,7 @@
|
|||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
|
@ -299,7 +299,7 @@
|
|||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
|
||||
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
|
||||
"requires": {
|
||||
"has-flag": "^3.0.0"
|
||||
"has-flag": "3.0.0"
|
||||
}
|
||||
},
|
||||
"ts-node": {
|
||||
|
@ -307,14 +307,14 @@
|
|||
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-5.0.1.tgz",
|
||||
"integrity": "sha512-XK7QmDcNHVmZkVtkiwNDWiERRHPyU8nBqZB1+iv2UhOG0q3RQ9HsZ2CMqISlFbxjrYFGfG2mX7bW4dAyxBVzUw==",
|
||||
"requires": {
|
||||
"arrify": "^1.0.0",
|
||||
"chalk": "^2.3.0",
|
||||
"diff": "^3.1.0",
|
||||
"make-error": "^1.1.1",
|
||||
"minimist": "^1.2.0",
|
||||
"mkdirp": "^0.5.1",
|
||||
"source-map-support": "^0.5.3",
|
||||
"yn": "^2.0.0"
|
||||
"arrify": "1.0.1",
|
||||
"chalk": "2.4.1",
|
||||
"diff": "3.5.0",
|
||||
"make-error": "1.3.4",
|
||||
"minimist": "1.2.0",
|
||||
"mkdirp": "0.5.1",
|
||||
"source-map-support": "0.5.6",
|
||||
"yn": "2.0.0"
|
||||
}
|
||||
},
|
||||
"tslib": {
|
||||
|
@ -327,18 +327,18 @@
|
|||
"resolved": "https://registry.npmjs.org/tslint/-/tslint-5.10.0.tgz",
|
||||
"integrity": "sha1-EeJrzLiK+gLdDZlWyuPUVAtfVMM=",
|
||||
"requires": {
|
||||
"babel-code-frame": "^6.22.0",
|
||||
"builtin-modules": "^1.1.1",
|
||||
"chalk": "^2.3.0",
|
||||
"commander": "^2.12.1",
|
||||
"diff": "^3.2.0",
|
||||
"glob": "^7.1.1",
|
||||
"js-yaml": "^3.7.0",
|
||||
"minimatch": "^3.0.4",
|
||||
"resolve": "^1.3.2",
|
||||
"semver": "^5.3.0",
|
||||
"tslib": "^1.8.0",
|
||||
"tsutils": "^2.12.1"
|
||||
"babel-code-frame": "6.26.0",
|
||||
"builtin-modules": "1.1.1",
|
||||
"chalk": "2.4.1",
|
||||
"commander": "2.15.1",
|
||||
"diff": "3.5.0",
|
||||
"glob": "7.1.2",
|
||||
"js-yaml": "3.11.0",
|
||||
"minimatch": "3.0.4",
|
||||
"resolve": "1.7.1",
|
||||
"semver": "5.5.0",
|
||||
"tslib": "1.9.1",
|
||||
"tsutils": "2.27.0"
|
||||
}
|
||||
},
|
||||
"tsutils": {
|
||||
|
@ -346,7 +346,7 @@
|
|||
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.27.0.tgz",
|
||||
"integrity": "sha512-JcyX25oM9pFcb3zh60OqG1St8p/uSqC5Bgipdo3ieacB/Ao4dPhm7hAtKT9NrEu23CyYrrgJPV3CqYfo+/+T4w==",
|
||||
"requires": {
|
||||
"tslib": "^1.8.1"
|
||||
"tslib": "1.9.1"
|
||||
}
|
||||
},
|
||||
"typescript": {
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -20,10 +20,20 @@ export interface ISnapshotTestSuite<T> {
|
|||
*/
|
||||
component: React.ComponentClass<T>;
|
||||
|
||||
/**
|
||||
* The detail view component data
|
||||
*/
|
||||
detailData: T;
|
||||
|
||||
/**
|
||||
* An array of prop instances for the component
|
||||
*/
|
||||
data: T[];
|
||||
|
||||
/**
|
||||
* Documentation for the component
|
||||
*/
|
||||
documentation?: JSX.Element;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -17,7 +17,7 @@
|
|||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
||||
"requires": {
|
||||
"sprintf-js": "~1.0.2"
|
||||
"sprintf-js": "1.0.3"
|
||||
}
|
||||
},
|
||||
"babel-code-frame": {
|
||||
|
@ -25,9 +25,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
|
||||
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
|
||||
"requires": {
|
||||
"chalk": "^1.1.3",
|
||||
"esutils": "^2.0.2",
|
||||
"js-tokens": "^3.0.2"
|
||||
"chalk": "1.1.3",
|
||||
"esutils": "2.0.2",
|
||||
"js-tokens": "3.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"chalk": {
|
||||
|
@ -35,11 +35,11 @@
|
|||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"requires": {
|
||||
"ansi-styles": "^2.2.1",
|
||||
"escape-string-regexp": "^1.0.2",
|
||||
"has-ansi": "^2.0.0",
|
||||
"strip-ansi": "^3.0.0",
|
||||
"supports-color": "^2.0.0"
|
||||
"ansi-styles": "2.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"has-ansi": "2.0.0",
|
||||
"strip-ansi": "3.0.1",
|
||||
"supports-color": "2.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -54,7 +54,7 @@
|
|||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"balanced-match": "1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
|
@ -68,9 +68,9 @@
|
|||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
|
||||
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
|
||||
"requires": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"supports-color": "^5.3.0"
|
||||
"ansi-styles": "3.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"supports-color": "5.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
|
@ -78,7 +78,7 @@
|
|||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
||||
"requires": {
|
||||
"color-convert": "^1.9.0"
|
||||
"color-convert": "1.9.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
|
@ -86,7 +86,7 @@
|
|||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
|
||||
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
|
||||
"requires": {
|
||||
"has-flag": "^3.0.0"
|
||||
"has-flag": "3.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -96,7 +96,7 @@
|
|||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
|
||||
"integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
|
||||
"requires": {
|
||||
"color-name": "^1.1.1"
|
||||
"color-name": "1.1.3"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
|
@ -149,12 +149,12 @@
|
|||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
|
||||
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.0.4",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
"fs.realpath": "1.0.0",
|
||||
"inflight": "1.0.6",
|
||||
"inherits": "2.0.3",
|
||||
"minimatch": "3.0.4",
|
||||
"once": "1.4.0",
|
||||
"path-is-absolute": "1.0.1"
|
||||
}
|
||||
},
|
||||
"has-ansi": {
|
||||
|
@ -162,7 +162,7 @@
|
|||
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
|
||||
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
|
@ -175,8 +175,8 @@
|
|||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
|
||||
"requires": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
"once": "1.4.0",
|
||||
"wrappy": "1.0.2"
|
||||
}
|
||||
},
|
||||
"inherits": {
|
||||
|
@ -194,8 +194,8 @@
|
|||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
|
||||
"integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
"argparse": "1.0.10",
|
||||
"esprima": "4.0.0"
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
|
@ -203,7 +203,7 @@
|
|||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
"brace-expansion": "1.1.11"
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
|
@ -211,7 +211,7 @@
|
|||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
"wrappy": "1.0.2"
|
||||
}
|
||||
},
|
||||
"path-is-absolute": {
|
||||
|
@ -229,7 +229,7 @@
|
|||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
|
||||
"integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
|
||||
"requires": {
|
||||
"path-parse": "^1.0.5"
|
||||
"path-parse": "1.0.5"
|
||||
}
|
||||
},
|
||||
"semver": {
|
||||
|
@ -247,7 +247,7 @@
|
|||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
|
@ -265,18 +265,18 @@
|
|||
"resolved": "https://registry.npmjs.org/tslint/-/tslint-5.10.0.tgz",
|
||||
"integrity": "sha1-EeJrzLiK+gLdDZlWyuPUVAtfVMM=",
|
||||
"requires": {
|
||||
"babel-code-frame": "^6.22.0",
|
||||
"builtin-modules": "^1.1.1",
|
||||
"chalk": "^2.3.0",
|
||||
"commander": "^2.12.1",
|
||||
"diff": "^3.2.0",
|
||||
"glob": "^7.1.1",
|
||||
"js-yaml": "^3.7.0",
|
||||
"minimatch": "^3.0.4",
|
||||
"resolve": "^1.3.2",
|
||||
"semver": "^5.3.0",
|
||||
"tslib": "^1.8.0",
|
||||
"tsutils": "^2.12.1"
|
||||
"babel-code-frame": "6.26.0",
|
||||
"builtin-modules": "1.1.1",
|
||||
"chalk": "2.4.1",
|
||||
"commander": "2.15.1",
|
||||
"diff": "3.5.0",
|
||||
"glob": "7.1.2",
|
||||
"js-yaml": "3.11.0",
|
||||
"minimatch": "3.0.4",
|
||||
"resolve": "1.7.1",
|
||||
"semver": "5.5.0",
|
||||
"tslib": "1.9.1",
|
||||
"tsutils": "2.27.0"
|
||||
}
|
||||
},
|
||||
"tsutils": {
|
||||
|
@ -284,7 +284,7 @@
|
|||
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.27.0.tgz",
|
||||
"integrity": "sha512-JcyX25oM9pFcb3zh60OqG1St8p/uSqC5Bgipdo3ieacB/Ao4dPhm7hAtKT9NrEu23CyYrrgJPV3CqYfo+/+T4w==",
|
||||
"requires": {
|
||||
"tslib": "^1.8.1"
|
||||
"tslib": "1.9.1"
|
||||
}
|
||||
},
|
||||
"typescript": {
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -18,70 +18,70 @@ describe("Convert markdown to HTML", function(): void {
|
|||
const markdown: string = "https://test.com";
|
||||
expect(md.render(markdown).replace(newlineRegex, "")).toBe(
|
||||
/* tslint:disable-next-line */
|
||||
"<Typography tag=\"p\" typeLevel={2}><Hypertext text=\"https://test.com\" href=\"https://test.com\" target=\"_blank\">https://test.com</Hypertext></Typography>"
|
||||
"<Typography tag=\"p\" typeLevel={7}><Hypertext text=\"https://test.com\" href=\"https://test.com\" target=\"_blank\">https://test.com</Hypertext></Typography>"
|
||||
);
|
||||
});
|
||||
|
||||
test("should convert a (c) to a copywrite symbol", function(): void {
|
||||
const markdown: string = "(c)";
|
||||
expect(md.render(markdown).replace(newlineRegex, "")).toBe(
|
||||
"<Typography tag=\"p\" typeLevel={2}>©</Typography>"
|
||||
"<Typography tag=\"p\" typeLevel={7}>©</Typography>"
|
||||
);
|
||||
});
|
||||
|
||||
test("should allow HTML to be in markdown", function(): void {
|
||||
const markdown: string = "<a href=\"#\">hello world</a>";
|
||||
expect(md.render(markdown).replace(newlineRegex, "")).toBe(
|
||||
`<Typography tag=\"p\" typeLevel={2}><a href="#">hello world</a></Typography>`
|
||||
`<Typography tag=\"p\" typeLevel={7}><a href="#">hello world</a></Typography>`
|
||||
);
|
||||
});
|
||||
|
||||
test("should convert a markdown link to a FAST MSFT hypertext", function(): void {
|
||||
const markdown: string = "[Test](/test)";
|
||||
expect(md.render(markdown).replace(newlineRegex, "")).toBe(
|
||||
"<Typography tag=\"p\" typeLevel={2}><Hypertext text=\"Test\" href=\"/test\">Test</Hypertext></Typography>"
|
||||
"<Typography tag=\"p\" typeLevel={7}><Hypertext text=\"Test\" href=\"/test\">Test</Hypertext></Typography>"
|
||||
);
|
||||
});
|
||||
|
||||
test("should convert a markdown unordered bullet list to a list", function(): void {
|
||||
const markdown: string = "* list item";
|
||||
expect(md.render(markdown).replace(newlineRegex, "")).toBe(
|
||||
"<ul><li><Typography tag=\"p\" typeLevel={2}>list item</Typography></li></ul>"
|
||||
"<ul><li><Typography tag=\"p\" typeLevel={7}>list item</Typography></li></ul>"
|
||||
);
|
||||
});
|
||||
|
||||
test("should convert a markdown ordered list to a list", function(): void {
|
||||
const markdown: string = "1. list item";
|
||||
expect(md.render(markdown).replace(newlineRegex, "")).toBe(
|
||||
"<ol><li><Typography tag=\"p\" typeLevel={2}>list item</Typography></li></ol>"
|
||||
"<ol><li><Typography tag=\"p\" typeLevel={7}>list item</Typography></li></ol>"
|
||||
);
|
||||
});
|
||||
|
||||
test("should convert a markdown heading to a FAST MSFT heading", function(): void {
|
||||
const markdown: string = "# Hello world";
|
||||
expect(md.render(markdown).replace(newlineRegex, "")).toBe(
|
||||
"<Heading id=\"hello-world\" tag=\"h1\" typeLevel={3}>Hello world</Heading>"
|
||||
"<Heading id=\"hello-world\" tag=\"h1\" level={3}>Hello world</Heading>"
|
||||
);
|
||||
});
|
||||
|
||||
test("should convert any code snippets into a PrismCode react component", function(): void {
|
||||
const markdown: string = "```\n{}\n```";
|
||||
expect(md.render(markdown).replace(newlineRegex, "")).toBe(
|
||||
`<PrismCode>{\"{}\\n\"}</PrismCode>`
|
||||
`<pre><code>{\"{}\\n\"}</code></pre>`
|
||||
);
|
||||
});
|
||||
|
||||
test("should convert any code snippets with a language specified into a PrismCode react component", function(): void {
|
||||
const markdown: string = "```jsx\n{}\n```";
|
||||
expect(md.render(markdown).replace(newlineRegex, "")).toBe(
|
||||
`<PrismCode className="language-jsx">{\"{}\\n\"}</PrismCode>`
|
||||
`<pre className="language-jsx"><code>{\"{}\\n\"}</code></pre>`
|
||||
);
|
||||
});
|
||||
|
||||
test("should convert any inline text with {, }, < and > into their HTML codes", function(): void {
|
||||
const markdown: string = "some text with { and } and < and >";
|
||||
expect(md.render(markdown).replace(newlineRegex, "")).toBe(
|
||||
`<Typography tag=\"p\" typeLevel={2}>some text with { and } and < and ></Typography>`
|
||||
`<Typography tag=\"p\" typeLevel={7}>some text with { and } and < and ></Typography>`
|
||||
);
|
||||
});
|
||||
|
||||
|
|
|
@ -26,19 +26,19 @@ class FastMarkdownIt {
|
|||
constructor(md: MarkdownIt) {
|
||||
md.core.ruler.push("fast", (new CreateRule(md) as any));
|
||||
md.renderer.rules.paragraph_open = function(): string {
|
||||
return `<Typography tag="p" typeLevel={2}>`;
|
||||
return `<Typography tag="p" typeLevel={7}>`;
|
||||
};
|
||||
md.renderer.rules.heading_open = function(tokens: ITokens<IToken>, idx: number): string {
|
||||
const id: string = tokens[idx + 1].children[0].content.toLowerCase().replace(/\s/g, "-").replace(/[^a-z\-]/g, "");
|
||||
return `<Heading id="${id}" tag="${tokens[idx].tag}" typeLevel={${parseInt(tokens[idx].tag.charAt(1), 10) + 2}}>`;
|
||||
return `<Heading id="${id}" tag="${tokens[idx].tag}" level={${parseInt(tokens[idx].tag.charAt(1), 10) + 2}}>`;
|
||||
};
|
||||
md.renderer.rules.text = (tokens: ITokens<IToken>, idx: number): string => {
|
||||
return this.replaceSpecialCharacters(tokens[idx].content);
|
||||
};
|
||||
md.renderer.rules.fence = function(tokens: ITokens<IToken>, idx: number): string {
|
||||
let codeSnippet: string = `<PrismCode${tokens[idx].info ? ` className="language-${tokens[idx].info}"` : ""}>`;
|
||||
let codeSnippet: string = `<pre${tokens[idx].info ? ` className="language-${tokens[idx].info}"` : ""}><code>`;
|
||||
codeSnippet += `{${JSON.stringify(tokens[idx].content, null, 2)}}`;
|
||||
codeSnippet += `</PrismCode>`;
|
||||
codeSnippet += `</code></pre>`;
|
||||
|
||||
return codeSnippet;
|
||||
};
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"moduleResolution": "node",
|
||||
"module": "ES6",
|
||||
"module": "commonjs",
|
||||
"target": "ES6",
|
||||
"baseUrl": ".",
|
||||
"declaration": true,
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -17,7 +17,7 @@
|
|||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
||||
"requires": {
|
||||
"sprintf-js": "~1.0.2"
|
||||
"sprintf-js": "1.0.3"
|
||||
}
|
||||
},
|
||||
"babel-code-frame": {
|
||||
|
@ -25,9 +25,9 @@
|
|||
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
|
||||
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
|
||||
"requires": {
|
||||
"chalk": "^1.1.3",
|
||||
"esutils": "^2.0.2",
|
||||
"js-tokens": "^3.0.2"
|
||||
"chalk": "1.1.3",
|
||||
"esutils": "2.0.2",
|
||||
"js-tokens": "3.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"chalk": {
|
||||
|
@ -35,11 +35,11 @@
|
|||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"requires": {
|
||||
"ansi-styles": "^2.2.1",
|
||||
"escape-string-regexp": "^1.0.2",
|
||||
"has-ansi": "^2.0.0",
|
||||
"strip-ansi": "^3.0.0",
|
||||
"supports-color": "^2.0.0"
|
||||
"ansi-styles": "2.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"has-ansi": "2.0.0",
|
||||
"strip-ansi": "3.0.1",
|
||||
"supports-color": "2.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -54,7 +54,7 @@
|
|||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"balanced-match": "1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
|
@ -68,9 +68,9 @@
|
|||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
|
||||
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
|
||||
"requires": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"supports-color": "^5.3.0"
|
||||
"ansi-styles": "3.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"supports-color": "5.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
|
@ -78,7 +78,7 @@
|
|||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
||||
"requires": {
|
||||
"color-convert": "^1.9.0"
|
||||
"color-convert": "1.9.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
|
@ -86,7 +86,7 @@
|
|||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
|
||||
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
|
||||
"requires": {
|
||||
"has-flag": "^3.0.0"
|
||||
"has-flag": "3.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -96,7 +96,7 @@
|
|||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
|
||||
"integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
|
||||
"requires": {
|
||||
"color-name": "^1.1.1"
|
||||
"color-name": "1.1.3"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
|
@ -144,12 +144,12 @@
|
|||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
|
||||
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.0.4",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
"fs.realpath": "1.0.0",
|
||||
"inflight": "1.0.6",
|
||||
"inherits": "2.0.3",
|
||||
"minimatch": "3.0.4",
|
||||
"once": "1.4.0",
|
||||
"path-is-absolute": "1.0.1"
|
||||
}
|
||||
},
|
||||
"has-ansi": {
|
||||
|
@ -157,7 +157,7 @@
|
|||
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
|
||||
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
|
@ -170,8 +170,8 @@
|
|||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
|
||||
"requires": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
"once": "1.4.0",
|
||||
"wrappy": "1.0.2"
|
||||
}
|
||||
},
|
||||
"inherits": {
|
||||
|
@ -189,8 +189,8 @@
|
|||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
|
||||
"integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
"argparse": "1.0.10",
|
||||
"esprima": "4.0.0"
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
|
@ -198,7 +198,7 @@
|
|||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
"brace-expansion": "1.1.11"
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
|
@ -206,7 +206,7 @@
|
|||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
"wrappy": "1.0.2"
|
||||
}
|
||||
},
|
||||
"path-is-absolute": {
|
||||
|
@ -224,7 +224,7 @@
|
|||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
|
||||
"integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
|
||||
"requires": {
|
||||
"path-parse": "^1.0.5"
|
||||
"path-parse": "1.0.5"
|
||||
}
|
||||
},
|
||||
"semver": {
|
||||
|
@ -242,7 +242,7 @@
|
|||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
|
@ -260,18 +260,18 @@
|
|||
"resolved": "https://registry.npmjs.org/tslint/-/tslint-5.10.0.tgz",
|
||||
"integrity": "sha1-EeJrzLiK+gLdDZlWyuPUVAtfVMM=",
|
||||
"requires": {
|
||||
"babel-code-frame": "^6.22.0",
|
||||
"builtin-modules": "^1.1.1",
|
||||
"chalk": "^2.3.0",
|
||||
"commander": "^2.12.1",
|
||||
"diff": "^3.2.0",
|
||||
"glob": "^7.1.1",
|
||||
"js-yaml": "^3.7.0",
|
||||
"minimatch": "^3.0.4",
|
||||
"resolve": "^1.3.2",
|
||||
"semver": "^5.3.0",
|
||||
"tslib": "^1.8.0",
|
||||
"tsutils": "^2.12.1"
|
||||
"babel-code-frame": "6.26.0",
|
||||
"builtin-modules": "1.1.1",
|
||||
"chalk": "2.4.1",
|
||||
"commander": "2.15.1",
|
||||
"diff": "3.5.0",
|
||||
"glob": "7.1.2",
|
||||
"js-yaml": "3.11.0",
|
||||
"minimatch": "3.0.4",
|
||||
"resolve": "1.7.1",
|
||||
"semver": "5.5.0",
|
||||
"tslib": "1.9.1",
|
||||
"tsutils": "2.27.0"
|
||||
}
|
||||
},
|
||||
"tslint-react": {
|
||||
|
@ -279,7 +279,7 @@
|
|||
"resolved": "https://registry.npmjs.org/tslint-react/-/tslint-react-3.6.0.tgz",
|
||||
"integrity": "sha512-AIv1QcsSnj7e9pFir6cJ6vIncTqxfqeFF3Lzh8SuuBljueYzEAtByuB6zMaD27BL0xhMEqsZ9s5eHuCONydjBw==",
|
||||
"requires": {
|
||||
"tsutils": "^2.13.1"
|
||||
"tsutils": "2.27.0"
|
||||
}
|
||||
},
|
||||
"tsutils": {
|
||||
|
@ -287,7 +287,7 @@
|
|||
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.27.0.tgz",
|
||||
"integrity": "sha512-JcyX25oM9pFcb3zh60OqG1St8p/uSqC5Bgipdo3ieacB/Ao4dPhm7hAtKT9NrEu23CyYrrgJPV3CqYfo+/+T4w==",
|
||||
"requires": {
|
||||
"tslib": "^1.8.1"
|
||||
"tslib": "1.9.1"
|
||||
}
|
||||
},
|
||||
"typescript": {
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Загрузка…
Ссылка в новой задаче