diff --git a/Composer/packages/client/package.json b/Composer/packages/client/package.json
index c2026efa62..6e5c7cffe1 100644
--- a/Composer/packages/client/package.json
+++ b/Composer/packages/client/package.json
@@ -4,6 +4,9 @@
"private": true,
"dependencies": {
"@babel/core": "7.2.2",
+ "@composer-extensions/obieditortest": "*",
+ "@composer-extensions/sample-json-editor": "*",
+ "@emotion/core": "^10.0.7",
"@svgr/webpack": "4.1.0",
"axios": "^0.18.0",
"babel-core": "7.0.0-bridge.0",
@@ -34,6 +37,7 @@
"jest-resolve": "23.6.0",
"jest-watch-typeahead": "^0.2.1",
"mini-css-extract-plugin": "0.5.0",
+ "office-ui-fabric-react": "^6.146.1",
"optimize-css-assets-webpack-plugin": "5.0.1",
"pnp-webpack-plugin": "1.2.1",
"postcss-flexbugs-fixes": "4.1.0",
@@ -48,14 +52,13 @@
"resolve": "1.10.0",
"sass-loader": "7.1.0",
"style-loader": "0.23.1",
+ "styled-components": "^4.1.3",
"terser-webpack-plugin": "1.2.2",
"url-loader": "1.1.2",
"webpack": "4.28.3",
"webpack-dev-server": "3.1.14",
"webpack-manifest-plugin": "2.0.4",
- "workbox-webpack-plugin": "3.6.3",
- "@composer-extensions/sample-json-editor": "*",
- "@composer-extensions/obieditortest": "*"
+ "workbox-webpack-plugin": "3.6.3"
},
"scripts": {
"start": "node scripts/start.js",
@@ -119,6 +122,26 @@
"babel": {
"presets": [
"react-app"
- ]
+ ],
+ "env": {
+ "production": {
+ "plugins": [
+ "emotion"
+ ]
+ },
+ "development": {
+ "plugins": [
+ [
+ "emotion",
+ {
+ "sourceMap": true
+ }
+ ]
+ ]
+ }
+ }
+ },
+ "devDependencies": {
+ "babel-plugin-emotion": "^10.0.7"
}
}
diff --git a/Composer/packages/client/scripts/start.js b/Composer/packages/client/scripts/start.js
index 1dc9805f99..f0266131af 100644
--- a/Composer/packages/client/scripts/start.js
+++ b/Composer/packages/client/scripts/start.js
@@ -1,36 +1,35 @@
-'use strict';
+"use strict";
// Do this as the first thing so that any code reading it knows the right env.
-process.env.BABEL_ENV = 'development';
-process.env.NODE_ENV = 'development';
+process.env.BABEL_ENV = "development";
+process.env.NODE_ENV = "development";
// Makes the script crash on unhandled rejections instead of silently
// ignoring them. In the future, promise rejections that are not handled will
// terminate the Node.js process with a non-zero exit code.
-process.on('unhandledRejection', err => {
+process.on("unhandledRejection", err => {
throw err;
});
// Ensure environment variables are read.
-require('../config/env');
+require("../config/env");
-
-const fs = require('fs');
-const chalk = require('react-dev-utils/chalk');
-const webpack = require('webpack');
-const WebpackDevServer = require('webpack-dev-server');
-const clearConsole = require('react-dev-utils/clearConsole');
-const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles');
+const fs = require("fs");
+const chalk = require("react-dev-utils/chalk");
+const webpack = require("webpack");
+const WebpackDevServer = require("webpack-dev-server");
+const clearConsole = require("react-dev-utils/clearConsole");
+const checkRequiredFiles = require("react-dev-utils/checkRequiredFiles");
const {
choosePort,
createCompiler,
prepareProxy,
- prepareUrls,
-} = require('react-dev-utils/WebpackDevServerUtils');
-const openBrowser = require('react-dev-utils/openBrowser');
-const paths = require('../config/paths');
-const configFactory = require('../config/webpack.config');
-const createDevServerConfig = require('../config/webpackDevServer.config');
+ prepareUrls
+} = require("react-dev-utils/WebpackDevServerUtils");
+const openBrowser = require("react-dev-utils/openBrowser");
+const paths = require("../config/paths");
+const configFactory = require("../config/webpack.config");
+const createDevServerConfig = require("../config/webpackDevServer.config");
const useYarn = fs.existsSync(paths.yarnLockFile);
const isInteractive = process.stdout.isTTY;
@@ -56,14 +55,14 @@ if (process.env.HOST) {
`If this was unintentional, check that you haven't mistakenly set it in your shell.`
);
console.log(
- `Learn more here: ${chalk.yellow('http://bit.ly/CRA-advanced-config')}`
+ `Learn more here: ${chalk.yellow("http://bit.ly/CRA-advanced-config")}`
);
console.log();
}
// We require that you explictly set browsers and do not fall back to
// browserslist defaults.
-const { checkBrowsers } = require('react-dev-utils/browsersHelper');
+const { checkBrowsers } = require("react-dev-utils/browsersHelper");
checkBrowsers(paths.appPath, isInteractive)
.then(() => {
// We attempt to use the default port but if it is busy, we offer the user to
@@ -75,8 +74,8 @@ checkBrowsers(paths.appPath, isInteractive)
// We have not found a port.
return;
}
- const config = configFactory('development');
- const protocol = process.env.HTTPS === 'true' ? 'https' : 'http';
+ const config = configFactory("development");
+ const protocol = process.env.HTTPS === "true" ? "https" : "http";
const appName = require(paths.appPackageJson).name;
const urls = prepareUrls(protocol, HOST, port);
// Create a webpack compiler that is configured with custom messages.
@@ -98,11 +97,11 @@ checkBrowsers(paths.appPath, isInteractive)
if (isInteractive) {
clearConsole();
}
- console.log(chalk.cyan('Starting the development server...\n'));
+ console.log(chalk.cyan("Starting the development server...\n"));
openBrowser(urls.localUrlForBrowser);
});
- ['SIGINT', 'SIGTERM'].forEach(function(sig) {
+ ["SIGINT", "SIGTERM"].forEach(function(sig) {
process.on(sig, function() {
devServer.close();
process.exit();
diff --git a/Composer/packages/client/src/App.css b/Composer/packages/client/src/App.css
index 7a911e9d9f..bd0bda26ab 100644
--- a/Composer/packages/client/src/App.css
+++ b/Composer/packages/client/src/App.css
@@ -8,20 +8,20 @@
pointer-events: none;
}
-.App-header{
+.App-header {
position: relative;
line-height: 50px;
- background: #393939;
+ background: #001f52;
font-size: 20px;
color: #fff;
height: 50px;
-}
+}
.header-aside {
- width: 200px;
+ width: 200;
+ margin-left: 100px;
}
-
.App-sidebar {
position: fixed;
width: 200px;
@@ -31,7 +31,7 @@
color: white;
}
-.App-bot {
+.App-bot {
position: fixed;
width: 400px;
top: 0;
@@ -45,13 +45,14 @@
background: #393939;
color: white;
border: none;
-};
+}
.bot-message {
font-size: 18px;
}
-.App-sidebar ul, .App-sidebar li {
+.App-sidebar ul,
+.App-sidebar li {
padding: 5px;
margin: 0;
list-style: none;
@@ -61,7 +62,7 @@
.App-main {
position: fixed;
left: 200px;
- top:50px;
+ top: 50px;
bottom: 0;
right: 0;
min-height: 80vh;
@@ -80,35 +81,30 @@
}
}
-.frame-html
-{
+.frame-html {
margin: 0px;
padding: 0px;
width: 100%;
height: 100%;
}
-.frame-body
-{
+.frame-body {
margin: 0px;
padding: 0px;
width: 100%;
height: 100%;
}
-
-.frame-root
-{
+.frame-root {
margin: 0px;
padding: 0px;
width: 100%;
height: 100%;
}
-.frame-content
-{
+.frame-content {
margin: 0px;
padding: 0px;
width: 100%;
height: 100%;
-}
\ No newline at end of file
+}
diff --git a/Composer/packages/client/src/App.js b/Composer/packages/client/src/App.js
index 8158a87c51..7f1dbe3b7c 100644
--- a/Composer/packages/client/src/App.js
+++ b/Composer/packages/client/src/App.js
@@ -1,91 +1,130 @@
-import React, { useState, useEffect, Fragment, useRef, useLayoutEffect, useCallback } from 'react';
-import './App.css';
-import httpClient from './utils/http';
-import ExtensionContainerWrapper from './ExtensionContainerWrapper';
+import React, {
+ useState,
+ useEffect,
+ Fragment,
+ useRef,
+ useLayoutEffect,
+ useCallback
+} from "react";
+import { Nav, INavLink } from "office-ui-fabric-react/lib/Nav";
+import { NavItem } from "./components/NavItem";
+import { CogTree } from "./components/CogTree";
+import "./App.css";
+import httpClient from "./utils/http";
+import ExtensionContainerWrapper from "./ExtensionContainerWrapper";
-function App() {
- const [files, setFiles] = useState([]);
- const [openFileIndex, setOpenFileIndex] = useState(-1);
- const [botStatus, setBotStatus] = useState("stopped");
- const openFileIndexRef = useRef();
- const filesRef = useRef();
+import { initializeIcons } from "office-ui-fabric-react/lib/Icons";
- const client = new httpClient();
+initializeIcons(/* optional base url */);
- useEffect(()=> {
- client.getFiles((files) => {
- if(files.length > 0) {
- setFiles(files)
- }
- });
- }, [])
+function App() {
+ const [files, setFiles] = useState([]);
+ const [openFileIndex, setOpenFileIndex] = useState(-1);
+ const [botStatus, setBotStatus] = useState("stopped");
+ const openFileIndexRef = useRef();
+ const filesRef = useRef();
- useLayoutEffect(() => {
- openFileIndexRef.current = openFileIndex;
- })
+ const client = new httpClient();
- useLayoutEffect(() => {
- filesRef.current = files;
- })
+ useEffect(() => {
+ client.getFiles(files => {
+ if (files.length > 0) {
+ setFiles(files);
+ }
+ });
+ }, []);
- function handleValueChange(newFileObject) {
- const currentIndex = openFileIndexRef.current;
- const files = filesRef.current;
+ useLayoutEffect(() => {
+ openFileIndexRef.current = openFileIndex;
+ });
- let payload = {
- name: files[currentIndex].name,
- content: newFileObject.content
- }
-
- let newFiles = files.slice();
- newFiles[currentIndex].content = newFileObject.content;
- setFiles(newFiles)
+ useLayoutEffect(() => {
+ filesRef.current = files;
+ });
- client.saveFile(payload)
- }
+ function handleValueChange(newFileObject) {
+ const currentIndex = openFileIndexRef.current;
+ const files = filesRef.current;
+ let payload = {
+ name: files[currentIndex].name,
+ content: newFileObject.content
+ };
+ let newFiles = files.slice();
+ newFiles[currentIndex].content = newFileObject.content;
+ setFiles(newFiles);
- function handleFileClick (file, index) {
- setOpenFileIndex(index);
- }
+ client.saveFile(payload);
+ }
- return (
-
-
- Composer
-
-
-
- {
- botStatus === "running"?
- "Bot is running at http://localhost:3979":""
- }
-
-
-
-
-
- {openFileIndex > -1?
-
- : 'Welcome'}
-
-
- )
+ function handleFileClick(file, index) {
+ setOpenFileIndex(index);
+ }
+
+ return (
+
+
+ Composer
+
+
+
+ {botStatus === "running"
+ ? "Bot is running at http://localhost:3979"
+ : ""}
+
+
+
+
+
+
+
+
+ {/* */}
+
+ {openFileIndex > -1 && (
+
+ )}
+
+
+ );
}
export default App;
diff --git a/Composer/packages/client/src/components/CogTree/index.js b/Composer/packages/client/src/components/CogTree/index.js
new file mode 100644
index 0000000000..91a8edaee1
--- /dev/null
+++ b/Composer/packages/client/src/components/CogTree/index.js
@@ -0,0 +1,54 @@
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import { Nav, INavLink } from "office-ui-fabric-react/lib/Nav";
+
+export const CogTree = files => (
+
+);
diff --git a/Composer/packages/client/src/components/CogTree/styles.js b/Composer/packages/client/src/components/CogTree/styles.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Composer/packages/client/src/components/NavItem/index.js b/Composer/packages/client/src/components/NavItem/index.js
new file mode 100644
index 0000000000..250cf1623c
--- /dev/null
+++ b/Composer/packages/client/src/components/NavItem/index.js
@@ -0,0 +1,13 @@
+import { Icon } from "office-ui-fabric-react/lib/Icon";
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import { outer, icon, label } from "./styles";
+
+export const NavItem = props => (
+
+);
diff --git a/Composer/packages/client/src/components/NavItem/styles.js b/Composer/packages/client/src/components/NavItem/styles.js
new file mode 100644
index 0000000000..8b6fc718fc
--- /dev/null
+++ b/Composer/packages/client/src/components/NavItem/styles.js
@@ -0,0 +1,22 @@
+import { css } from "@emotion/core";
+
+export const outer = css`
+ font-size: 30px;
+ color: #4f4f4f;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding: 20px 0 0 0;
+ cursor: pointer;
+ &:hover {
+ color: #0083cb;
+ }
+`;
+
+export const icon = css`
+ font-size: 25px;
+`;
+
+export const label = css`
+ font-size: 13px;
+`;
diff --git a/Composer/yarn.lock b/Composer/yarn.lock
index 92db79969f..f9df528c9b 100644
--- a/Composer/yarn.lock
+++ b/Composer/yarn.lock
@@ -953,6 +953,89 @@
resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7"
integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==
+"@emotion/cache@^10.0.7":
+ version "10.0.7"
+ resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.7.tgz#6221de2e939f62022c04b4df2c165ce577809f23"
+ integrity sha512-wscXuawG+nQhSNbDpJdAqvv5d2g1O+fpwf/wD/CAmW/wsuN8hNzahWh2ldSVakqO9sINewyQNFl74IeDeTkRZg==
+ dependencies:
+ "@emotion/sheet" "0.9.2"
+ "@emotion/stylis" "0.8.3"
+ "@emotion/utils" "0.11.1"
+ "@emotion/weak-memoize" "0.2.2"
+
+"@emotion/core@^10.0.7":
+ version "10.0.7"
+ resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.7.tgz#a894324b944cb06dcd36813afe35f07b0ed8d20d"
+ integrity sha512-f5ZeA8R5mTiD2VDFCy6kRTXrQXN/1s79WPvEZZSwROJIyy9mHBB0/Lxg9BSIXfFdXryVw76kHNehTcBkgDYS7A==
+ dependencies:
+ "@emotion/cache" "^10.0.7"
+ "@emotion/css" "^10.0.7"
+ "@emotion/serialize" "^0.11.4"
+ "@emotion/sheet" "0.9.2"
+ "@emotion/utils" "0.11.1"
+
+"@emotion/css@^10.0.7":
+ version "10.0.7"
+ resolved "https://registry.yarnpkg.com/@emotion/css/-/css-10.0.7.tgz#fbee607e07aeea444b147719b6472612fff9199b"
+ integrity sha512-r8JuPanNW0+ftBKFSna+6p5X7ewvU8d8NaNBlFjdPYl7xmtbDmoz8E7ceXqF4QgdRH4FBFIIRFzTA4Y05JwkIw==
+ dependencies:
+ "@emotion/serialize" "^0.11.4"
+ "@emotion/utils" "0.11.1"
+ babel-plugin-emotion "^10.0.7"
+
+"@emotion/hash@0.7.1":
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.1.tgz#9833722341379fb7d67f06a4b00ab3c37913da53"
+ integrity sha512-OYpa/Sg+2GDX+jibUfpZVn1YqSVRpYmTLF2eyAfrFTIJSbwyIrc+YscayoykvaOME/wV4BV0Sa0yqdMrgse6mA==
+
+"@emotion/is-prop-valid@^0.7.3":
+ version "0.7.3"
+ resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.7.3.tgz#a6bf4fa5387cbba59d44e698a4680f481a8da6cc"
+ integrity sha512-uxJqm/sqwXw3YPA5GXX365OBcJGFtxUVkB6WyezqFHlNe9jqUWH5ur2O2M8dGBz61kn1g3ZBlzUunFQXQIClhA==
+ dependencies:
+ "@emotion/memoize" "0.7.1"
+
+"@emotion/memoize@0.7.1":
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.1.tgz#e93c13942592cf5ef01aa8297444dc192beee52f"
+ integrity sha512-Qv4LTqO11jepd5Qmlp3M1YEjBumoTHcHFdgPTQ+sFlIL5myi/7xu/POwP7IRu6odBdmLXdtIs1D6TuW6kbwbbg==
+
+"@emotion/serialize@^0.11.4":
+ version "0.11.4"
+ resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.4.tgz#691e615184a23cd3b9ae9b1eaa79eb8798e52379"
+ integrity sha512-JKmn+Qnc8f6OZKSHmNq1RpO27raIi6Kj0uqBaSOUVMW6NI0M3wLpV4pK5hZO4I+1WuCC39hOBPgQ/GcgoHbDeg==
+ dependencies:
+ "@emotion/hash" "0.7.1"
+ "@emotion/memoize" "0.7.1"
+ "@emotion/unitless" "0.7.3"
+ "@emotion/utils" "0.11.1"
+ csstype "^2.5.7"
+
+"@emotion/sheet@0.9.2":
+ version "0.9.2"
+ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.2.tgz#74e5c6b5e489a1ba30ab246ab5eedd96916487c4"
+ integrity sha512-pVBLzIbC/QCHDKJF2E82V2H/W/B004mDFQZiyo/MSR+VC4pV5JLG0TF/zgQDFvP3fZL/5RTPGEmXlYJBMUuJ+A==
+
+"@emotion/stylis@0.8.3":
+ version "0.8.3"
+ resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.3.tgz#3ca7e9bcb31b3cb4afbaeb66156d86ee85e23246"
+ integrity sha512-M3nMfJ6ndJMYloSIbYEBq6G3eqoYD41BpDOxreE8j0cb4fzz/5qvmqU9Mb2hzsXcCnIlGlWhS03PCzVGvTAe0Q==
+
+"@emotion/unitless@0.7.3", "@emotion/unitless@^0.7.0":
+ version "0.7.3"
+ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.3.tgz#6310a047f12d21a1036fb031317219892440416f"
+ integrity sha512-4zAPlpDEh2VwXswwr/t8xGNDGg8RQiPxtxZ3qQEXyQsBV39ptTdESCjuBvGze1nLMVrxmTIKmnO/nAV8Tqjjzg==
+
+"@emotion/utils@0.11.1":
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.1.tgz#8529b7412a6eb4b48bdf6e720cc1b8e6e1e17628"
+ integrity sha512-8M3VN0hetwhsJ8dH8VkVy7xo5/1VoBsDOk/T4SJOeXwTO1c4uIqVNx2qyecLFnnUWD5vvUqHQ1gASSeUN6zcTg==
+
+"@emotion/weak-memoize@0.2.2":
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.2.tgz#63985d3d8b02530e0869962f4da09142ee8e200e"
+ integrity sha512-n/VQ4mbfr81aqkx/XmVicOLjviMuy02eenSdJY33SVA7S2J42EU0P1H0mOogfYedb3wXA0d/LVtBrgTSm04WEA==
+
"@insin/npm-install-webpack-plugin@5.0.0":
version "5.0.0"
resolved "https://registry.yarnpkg.com/@insin/npm-install-webpack-plugin/-/npm-install-webpack-plugin-5.0.0.tgz#514a027a259cb51392d845086033d534eac9083f"
@@ -1198,6 +1281,17 @@
"@uifabric/utilities" ">=6.28.0 <7.0.0"
tslib "^1.7.1"
+"@uifabric/styling@>=6.42.0 <7.0.0":
+ version "6.42.0"
+ resolved "https://registry.yarnpkg.com/@uifabric/styling/-/styling-6.42.0.tgz#08030454f6168923082ed6c05645f11a18a2ecd3"
+ integrity sha512-lkekxjSFptzwZmJPX6RDz0vtGB9IslCJ/aMTK9aQP5xRAkHd1o008fXiE7WNceFdmKhSkWazxU0AOT+6ktV3Vg==
+ dependencies:
+ "@microsoft/load-themed-styles" "^1.7.13"
+ "@uifabric/merge-styles" ">=6.15.2 <7.0.0"
+ "@uifabric/set-version" ">=1.1.3 <2.0.0"
+ "@uifabric/utilities" ">=6.29.4 <7.0.0"
+ tslib "^1.7.1"
+
"@uifabric/utilities@>=6.28.0 <7.0.0", "@uifabric/utilities@>=6.29.0 <7.0.0", "@uifabric/utilities@>=6.29.4 <7.0.0":
version "6.29.4"
resolved "https://registry.yarnpkg.com/@uifabric/utilities/-/utilities-6.29.4.tgz#9b51b96b10c859b2f7a608f3dbaa1bdb78cdc93e"
@@ -2472,6 +2566,22 @@ babel-plugin-dynamic-import-node@2.2.0:
dependencies:
object.assign "^4.1.0"
+babel-plugin-emotion@^10.0.7:
+ version "10.0.7"
+ resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.7.tgz#3634ada6dee762140f27db07387feaec8d2cb619"
+ integrity sha512-5PdLJYme3tFN97M3tBbEUS/rJVkS9EMbo7rs7/7BAUEUVMWehm1kb5DEbp16Rs+UsI3rTXRan1iqpL022T8XxA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@emotion/hash" "0.7.1"
+ "@emotion/memoize" "0.7.1"
+ "@emotion/serialize" "^0.11.4"
+ babel-plugin-macros "^2.0.0"
+ babel-plugin-syntax-jsx "^6.18.0"
+ convert-source-map "^1.5.0"
+ escape-string-regexp "^1.0.5"
+ find-root "^1.1.0"
+ source-map "^0.5.7"
+
babel-plugin-inferno@5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/babel-plugin-inferno/-/babel-plugin-inferno-5.0.1.tgz#61adce24c6cc8ab4963cf19ef471bd6ff6012ebf"
@@ -2502,7 +2612,7 @@ babel-plugin-lodash@3.2.11:
glob "^7.1.1"
lodash "^4.17.2"
-babel-plugin-macros@2.5.0:
+babel-plugin-macros@2.5.0, babel-plugin-macros@^2.0.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.5.0.tgz#01f4d3b50ed567a67b80a30b9da066e94f4097b6"
integrity sha512-BWw0lD0kVZAXRD3Od1kMrdmfudqzDzYv2qrN3l2ISR1HVp1EgLKfbOrYV9xmY5k3qx3RIu5uPAUZZZHpo0o5Iw==
@@ -2522,6 +2632,16 @@ babel-plugin-react-transform@3.0.0:
dependencies:
lodash "^4.6.1"
+"babel-plugin-styled-components@>= 1", babel-plugin-styled-components@^1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.0.tgz#ff1f42ad2cc78c21f26b62266b8f564dbc862939"
+ integrity sha512-sQVKG8irFXx14ZfaK1bBePirfkacl3j8nZwSZK+ZjsbnadRHKQTbhXbe/RB1vT6Vgkz45E+V95LBq4KqdhZUNw==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.0.0"
+ "@babel/helper-module-imports" "^7.0.0"
+ babel-plugin-syntax-jsx "^6.18.0"
+ lodash "^4.17.10"
+
babel-plugin-syntax-async-functions@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
@@ -3677,6 +3797,11 @@ camelcase@^5.0.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42"
integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==
+camelize@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b"
+ integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=
+
caniuse-api@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
@@ -4348,6 +4473,11 @@ css-blank-pseudo@^0.1.4:
dependencies:
postcss "^7.0.5"
+css-color-keywords@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
+ integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=
+
css-color-names@0.0.4, css-color-names@^0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
@@ -4428,6 +4558,15 @@ css-selector-tokenizer@^0.7.0:
fastparse "^1.1.1"
regexpu-core "^1.0.0"
+css-to-react-native@^2.2.2:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.3.0.tgz#bf80d24ec4a08e430306ef429c0586e6ed5485f7"
+ integrity sha512-IhR7bNIrCFwbJbKZOAjNDZdwpsbjTN6f1agXeELHDqg1wHPA8c2QLruttKOW7hgMGetkfraRJCIEMrptifBfVw==
+ dependencies:
+ camelize "^1.0.0"
+ css-color-keywords "^1.0.0"
+ postcss-value-parser "^3.3.0"
+
css-tree@1.0.0-alpha.28:
version "1.0.0-alpha.28"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f"
@@ -4568,6 +4707,11 @@ cssstyle@^1.1.1:
dependencies:
cssom "0.3.x"
+csstype@^2.5.7:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.2.tgz#3043d5e065454579afc7478a18de41909c8a2f01"
+ integrity sha512-Rl7PvTae0pflc1YtxtKbiSqq20Ts6vpIYOD5WBafl4y123DyHUeLrRdQP66sQW8/6gmX8jrYJLXwNeMqYVJcow==
+
currently-unhandled@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
@@ -6010,6 +6154,11 @@ find-cache-dir@^2.0.0:
make-dir "^1.0.0"
pkg-dir "^3.0.0"
+find-root@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
+ integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
+
find-up@3.0.0, find-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
@@ -8903,6 +9052,11 @@ mem@^4.0.0:
mimic-fn "^1.0.0"
p-is-promise "^2.0.0"
+memoize-one@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906"
+ integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA==
+
memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
@@ -9789,6 +9943,21 @@ office-ui-fabric-react@^6.138.1:
prop-types "^15.5.10"
tslib "^1.7.1"
+office-ui-fabric-react@^6.146.1:
+ version "6.146.1"
+ resolved "https://registry.yarnpkg.com/office-ui-fabric-react/-/office-ui-fabric-react-6.146.1.tgz#fc2bd691c0e0b41fa3ec70059dab6f4bd2e98939"
+ integrity sha512-BnHIHpViu8cwy+Z8EMWVjlwbdHlOqqeCb6nmzRT8zzttx9uKN+El2UuG/9ebWf4DvWkuzTLirUzFLNv/c+I0Cg==
+ dependencies:
+ "@microsoft/load-themed-styles" "^1.7.13"
+ "@uifabric/foundation" ">=0.7.1 <1.0.0"
+ "@uifabric/icons" ">=6.4.0 <7.0.0"
+ "@uifabric/merge-styles" ">=6.15.2 <7.0.0"
+ "@uifabric/set-version" ">=1.1.3 <2.0.0"
+ "@uifabric/styling" ">=6.42.0 <7.0.0"
+ "@uifabric/utilities" ">=6.29.4 <7.0.0"
+ prop-types "^15.5.10"
+ tslib "^1.7.1"
+
on-finished@~2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
@@ -11097,7 +11266,7 @@ prompts@^0.1.9:
kleur "^2.0.1"
sisteransi "^0.1.1"
-prop-types@^15.5.10, prop-types@^15.5.8:
+prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.8:
version "15.7.2"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
@@ -11380,6 +11549,11 @@ react-frame-component@^4.0.2:
resolved "https://registry.yarnpkg.com/react-frame-component/-/react-frame-component-4.0.2.tgz#408f137ab4ba14cd13a5844b86ac972903dda021"
integrity sha512-846zt81ijEC0ul6sBWzxkI5EGIE39ft9EaNzQUcszV/WWWDnldFJ+tKU7Et2GhZ4OHT/cy1GHcjsLLsdiOXhBg==
+react-is@^16.6.0:
+ version "16.8.3"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.3.tgz#4ad8b029c2a718fc0cfc746c8d4e1b7221e5387d"
+ integrity sha512-Y4rC1ZJmsxxkkPuMLwvKvlL1Zfpbcu+Bf4ZigkHup3v9EfdYhAlWAaVyA19olXq2o2mGn0w+dFKvk3pVVlYcIA==
+
react-is@^16.8.1:
version "16.8.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.1.tgz#a80141e246eb894824fb4f2901c0c50ef31d4cdb"
@@ -12922,6 +13096,23 @@ style-loader@0.23.1:
loader-utils "^1.1.0"
schema-utils "^1.0.0"
+styled-components@^4.1.3:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-4.1.3.tgz#4472447208e618b57e84deaaeb6acd34a5e0fe9b"
+ integrity sha512-0quV4KnSfvq5iMtT0RzpMGl/Dg3XIxIxOl9eJpiqiq4SrAmR1l1DLzNpMzoy3DyzdXVDMJS2HzROnXscWA3SEw==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@emotion/is-prop-valid" "^0.7.3"
+ "@emotion/unitless" "^0.7.0"
+ babel-plugin-styled-components ">= 1"
+ css-to-react-native "^2.2.2"
+ memoize-one "^4.0.0"
+ prop-types "^15.5.4"
+ react-is "^16.6.0"
+ stylis "^3.5.0"
+ stylis-rule-sheet "^0.0.10"
+ supports-color "^5.5.0"
+
stylehacks@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.1.tgz#3186595d047ab0df813d213e51c8b94e0b9010f2"
@@ -12931,6 +13122,16 @@ stylehacks@^4.0.0:
postcss "^7.0.0"
postcss-selector-parser "^3.0.0"
+stylis-rule-sheet@^0.0.10:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430"
+ integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==
+
+stylis@^3.5.0:
+ version "3.5.4"
+ resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe"
+ integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==
+
supports-color@5.4.0:
version "5.4.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54"
@@ -12950,7 +13151,7 @@ supports-color@^3.1.0, supports-color@^3.1.2:
dependencies:
has-flag "^1.0.0"
-supports-color@^5.1.0, supports-color@^5.3.0, supports-color@^5.4.0:
+supports-color@^5.1.0, supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==