First sketch of ui types
This commit is contained in:
parent
82081e7c83
commit
b22e28dc44
8 changed files with 221 additions and 105 deletions
|
|
@ -126,6 +126,11 @@ module.exports = {
|
|||
"space-before-blocks": "error",
|
||||
"quotes": ["error", "double"],
|
||||
|
||||
// ES6
|
||||
"arrow-spacing": "error",
|
||||
"arrow-parens": "warning",
|
||||
"no-confusing-arrow": ["error", {"allowParens": true}],
|
||||
|
||||
// react
|
||||
"react/prop-types": "off",
|
||||
"react/display-name": "off",
|
||||
|
|
|
|||
|
|
@ -350,7 +350,7 @@ const config : Config = {
|
|||
name: "Rundumleuchte",
|
||||
position: [310,275],
|
||||
icon: "alarm-light",
|
||||
iconColor: ({runumleuchte}) => rundumleuchte == "on" ? "#CCCC00" : "#000000",
|
||||
iconColor: ({rundumleuchte}) => rundumleuchte == "on" ? "#CCCC00" : "#000000",
|
||||
ui: [
|
||||
{
|
||||
type: "toggle",
|
||||
|
|
|
|||
|
|
@ -20,10 +20,10 @@
|
|||
"mdi": "^2.0.46",
|
||||
"mqtt": "^2.11.0",
|
||||
"ramda": "^0.24.1",
|
||||
"react": "^15.6.1",
|
||||
"react-dom": "^15.6.1",
|
||||
"react": "^16.0.0",
|
||||
"react-dom": "^16.0.0",
|
||||
"react-leaflet": "^1.5.0",
|
||||
"react-tap-event-plugin": "^2.0.1",
|
||||
"react-tap-event-plugin": "^3.0.0",
|
||||
"redux": "^3.7.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import * as Colors from "material-ui/colors";
|
|||
import SideBar from "components/SideBar";
|
||||
import ControlMap from "components/ControlMap";
|
||||
import TopBar from "components/TopBar";
|
||||
import UiItemList from "components/UiItemList";
|
||||
|
||||
export type AppProps = {
|
||||
config: Config
|
||||
|
|
@ -27,7 +28,10 @@ class App extends React.Component<AppProps & Classes, AppState> {
|
|||
this.state = {
|
||||
selectedControl: null,
|
||||
drawerOpened: false,
|
||||
mqttState: _.map(props.topics, ({defaultValue}) => defaultValue)
|
||||
mqttState: _.map(props.topics, topic => ({
|
||||
actual: topic.defaultValue,
|
||||
internal: topic.values[topic.defaultValue]
|
||||
}))
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -64,7 +68,11 @@ class App extends React.Component<AppProps & Classes, AppState> {
|
|||
connected={false} />
|
||||
<SideBar open={this.state.drawerOpened}
|
||||
control={this.state.selectedControl}
|
||||
onCloseRequest={this.closeDrawer.bind(this)} />
|
||||
onCloseRequest={this.closeDrawer.bind(this)}
|
||||
>
|
||||
{this.state.selectedControl == null
|
||||
|| <UiItemList state={this.state.mqttState} controls={this.state.selectedControl.ui} />}
|
||||
</SideBar>
|
||||
</div>
|
||||
</MuiThemeProvider>
|
||||
<ControlMap width={1000} height={700} zoom={0}
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ class SideBar extends React.Component<SideBarProps & Classes, SideBarState> {
|
|||
</Toolbar>
|
||||
</AppBar>
|
||||
<List id="drawer_uiComponents">
|
||||
{this.props.children}
|
||||
</List>
|
||||
</Drawer>
|
||||
);
|
||||
|
|
|
|||
88
src/components/UiItemList.js
Normal file
88
src/components/UiItemList.js
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
// @flow
|
||||
import React from "react";
|
||||
import _ from "lodash";
|
||||
import {
|
||||
ListItem,
|
||||
ListItemIcon,
|
||||
ListItemSecondaryAction,
|
||||
ListItemText,
|
||||
ListSubheader
|
||||
} from "material-ui/List";
|
||||
import Switch from "material-ui/Switch";
|
||||
import { renderIcon } from "utils/parseIconName";
|
||||
|
||||
export type UiItemListProps = {
|
||||
controls: Array<ControlUI>,
|
||||
state: State
|
||||
};
|
||||
|
||||
export default class UiItemList extends React.Component<UiItemListProps> {
|
||||
constructor(props: UiItemListProps) {
|
||||
super(props);
|
||||
}
|
||||
|
||||
render() {
|
||||
return this.props.controls.map((control, key) => (
|
||||
<ListItem key={key}>
|
||||
{control.icon == null || <ListItemIcon>{renderIcon(control.icon, "mdi-24px")}</ListItemIcon>}
|
||||
{this.renderControl(control)}
|
||||
</ListItem>
|
||||
));
|
||||
}
|
||||
|
||||
renderControl(control: ControlUI) {
|
||||
switch (control.type) {
|
||||
case "toggle": {
|
||||
return this.renderToggle(control);
|
||||
}
|
||||
default: {
|
||||
console.error(
|
||||
`Unknown UI type "${control.type}" for "${control.text}" component`
|
||||
);
|
||||
return "unknown ui type";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
isEnabled(control: ControlUI) {
|
||||
const enableCondition = control.enableCondition;
|
||||
if (enableCondition == null) {
|
||||
return true;
|
||||
} else {
|
||||
const value = this.getValue(control);
|
||||
return enableCondition(
|
||||
value.internal || value.actual, value.actual, this.props.state);
|
||||
}
|
||||
}
|
||||
|
||||
getValue(control: ControlUI) {
|
||||
const value = this.props.state[control.topic];
|
||||
if (value == null) {
|
||||
console.error(
|
||||
`Unknown topic "${control.topic}" in ${control.type} "${control.text}"`
|
||||
);
|
||||
return { internal: "error", actual: "error" };
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
toggleSwitch(control: ControlUI, newState: boolean) {
|
||||
|
||||
}
|
||||
|
||||
renderToggle(control: ControlUI) {
|
||||
const value = this.getValue(control);
|
||||
const isToggled = control.isToggled || (i => i === (control.on || "on"));
|
||||
const checked = isToggled(
|
||||
value.internal || value.actual, value.actual, this.props.state);
|
||||
return [
|
||||
<ListItemText key="label" primary={control.text} />,
|
||||
<ListItemSecondaryAction key="action">
|
||||
<Switch label={control.text}
|
||||
checked={checked}
|
||||
onChange={state => this.toggleSwitch(control, state)}
|
||||
disabled={!this.isEnabled(control)} />
|
||||
</ListItemSecondaryAction>
|
||||
];
|
||||
}
|
||||
}
|
||||
10
src/utils/parseIconName.js
Normal file
10
src/utils/parseIconName.js
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
// @flow
|
||||
import React from "react";
|
||||
|
||||
export default function parseIconName(name: string): string {
|
||||
return `mdi ${name.split(" ").map(icon => "mdi-".concat(icon)).join(" ")}`;
|
||||
}
|
||||
|
||||
export const renderIcon = (name: string, extraClass?: string) => {
|
||||
return <i className={`${extraClass || ""} ${parseIconName(name)}`}></i>;
|
||||
};
|
||||
202
yarn.lock
202
yarn.lock
|
|
@ -2,6 +2,59 @@
|
|||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@babel/code-frame@7.0.0-beta.31", "@babel/code-frame@^7.0.0-beta.31":
|
||||
version "7.0.0-beta.31"
|
||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.31.tgz#473d021ecc573a2cce1c07d5b509d5215f46ba35"
|
||||
dependencies:
|
||||
chalk "^2.0.0"
|
||||
esutils "^2.0.2"
|
||||
js-tokens "^3.0.0"
|
||||
|
||||
"@babel/helper-function-name@7.0.0-beta.31":
|
||||
version "7.0.0-beta.31"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.31.tgz#afe63ad799209989348b1109b44feb66aa245f57"
|
||||
dependencies:
|
||||
"@babel/helper-get-function-arity" "7.0.0-beta.31"
|
||||
"@babel/template" "7.0.0-beta.31"
|
||||
"@babel/traverse" "7.0.0-beta.31"
|
||||
"@babel/types" "7.0.0-beta.31"
|
||||
|
||||
"@babel/helper-get-function-arity@7.0.0-beta.31":
|
||||
version "7.0.0-beta.31"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.31.tgz#1176d79252741218e0aec872ada07efb2b37a493"
|
||||
dependencies:
|
||||
"@babel/types" "7.0.0-beta.31"
|
||||
|
||||
"@babel/template@7.0.0-beta.31":
|
||||
version "7.0.0-beta.31"
|
||||
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.31.tgz#577bb29389f6c497c3e7d014617e7d6713f68bda"
|
||||
dependencies:
|
||||
"@babel/code-frame" "7.0.0-beta.31"
|
||||
"@babel/types" "7.0.0-beta.31"
|
||||
babylon "7.0.0-beta.31"
|
||||
lodash "^4.2.0"
|
||||
|
||||
"@babel/traverse@7.0.0-beta.31", "@babel/traverse@^7.0.0-beta.31":
|
||||
version "7.0.0-beta.31"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.31.tgz#db399499ad74aefda014f0c10321ab255134b1df"
|
||||
dependencies:
|
||||
"@babel/code-frame" "7.0.0-beta.31"
|
||||
"@babel/helper-function-name" "7.0.0-beta.31"
|
||||
"@babel/types" "7.0.0-beta.31"
|
||||
babylon "7.0.0-beta.31"
|
||||
debug "^3.0.1"
|
||||
globals "^10.0.0"
|
||||
invariant "^2.2.0"
|
||||
lodash "^4.2.0"
|
||||
|
||||
"@babel/types@7.0.0-beta.31", "@babel/types@^7.0.0-beta.31":
|
||||
version "7.0.0-beta.31"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.31.tgz#42c9c86784f674c173fb21882ca9643334029de4"
|
||||
dependencies:
|
||||
esutils "^2.0.2"
|
||||
lodash "^4.2.0"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
abbrev@1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
|
||||
|
|
@ -209,8 +262,8 @@ async@^1.5.2:
|
|||
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
|
||||
|
||||
async@^2.1.2, async@^2.4.1:
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d"
|
||||
version "2.6.0"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4"
|
||||
dependencies:
|
||||
lodash "^4.14.0"
|
||||
|
||||
|
|
@ -262,14 +315,6 @@ babel-cli@^6.24.1:
|
|||
optionalDependencies:
|
||||
chokidar "^1.6.1"
|
||||
|
||||
babel-code-frame@7.0.0-beta.0:
|
||||
version "7.0.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-7.0.0-beta.0.tgz#418a7b5f3f7dc9a4670e61b1158b4c5661bec98d"
|
||||
dependencies:
|
||||
chalk "^2.0.0"
|
||||
esutils "^2.0.2"
|
||||
js-tokens "^3.0.0"
|
||||
|
||||
babel-code-frame@^6.11.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
|
||||
version "6.26.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
|
||||
|
|
@ -303,13 +348,13 @@ babel-core@^6.25.0, babel-core@^6.26.0:
|
|||
source-map "^0.5.6"
|
||||
|
||||
babel-eslint@^8.0.1:
|
||||
version "8.0.1"
|
||||
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.0.1.tgz#5d718be7a328625d006022eb293ed3008cbd6346"
|
||||
version "8.0.2"
|
||||
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.0.2.tgz#e44fb9a037d749486071d52d65312f5c20aa7530"
|
||||
dependencies:
|
||||
babel-code-frame "7.0.0-beta.0"
|
||||
babel-traverse "7.0.0-beta.0"
|
||||
babel-types "7.0.0-beta.0"
|
||||
babylon "7.0.0-beta.22"
|
||||
"@babel/code-frame" "^7.0.0-beta.31"
|
||||
"@babel/traverse" "^7.0.0-beta.31"
|
||||
"@babel/types" "^7.0.0-beta.31"
|
||||
babylon "^7.0.0-beta.31"
|
||||
|
||||
babel-generator@^6.26.0:
|
||||
version "6.26.0"
|
||||
|
|
@ -366,15 +411,6 @@ babel-helper-explode-assignable-expression@^6.24.1:
|
|||
babel-traverse "^6.24.1"
|
||||
babel-types "^6.24.1"
|
||||
|
||||
babel-helper-function-name@7.0.0-beta.0:
|
||||
version "7.0.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-7.0.0-beta.0.tgz#d1b6779b647e5c5c31ebeb05e13b998e4d352d56"
|
||||
dependencies:
|
||||
babel-helper-get-function-arity "7.0.0-beta.0"
|
||||
babel-template "7.0.0-beta.0"
|
||||
babel-traverse "7.0.0-beta.0"
|
||||
babel-types "7.0.0-beta.0"
|
||||
|
||||
babel-helper-function-name@^6.24.1:
|
||||
version "6.24.1"
|
||||
resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
|
||||
|
|
@ -385,12 +421,6 @@ babel-helper-function-name@^6.24.1:
|
|||
babel-traverse "^6.24.1"
|
||||
babel-types "^6.24.1"
|
||||
|
||||
babel-helper-get-function-arity@7.0.0-beta.0:
|
||||
version "7.0.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-7.0.0-beta.0.tgz#9d1ab7213bb5efe1ef1638a8ea1489969b5a8b6e"
|
||||
dependencies:
|
||||
babel-types "7.0.0-beta.0"
|
||||
|
||||
babel-helper-get-function-arity@^6.24.1:
|
||||
version "6.24.1"
|
||||
resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
|
||||
|
|
@ -456,10 +486,6 @@ babel-loader@^7.1.1:
|
|||
loader-utils "^1.0.2"
|
||||
mkdirp "^0.5.1"
|
||||
|
||||
babel-messages@7.0.0-beta.0:
|
||||
version "7.0.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-7.0.0-beta.0.tgz#6df01296e49fc8fbd0637394326a167f36da817b"
|
||||
|
||||
babel-messages@^6.23.0:
|
||||
version "6.23.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
|
||||
|
|
@ -803,15 +829,6 @@ babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runti
|
|||
core-js "^2.4.0"
|
||||
regenerator-runtime "^0.11.0"
|
||||
|
||||
babel-template@7.0.0-beta.0:
|
||||
version "7.0.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-7.0.0-beta.0.tgz#85083cf9e4395d5e48bf5154d7a8d6991cafecfb"
|
||||
dependencies:
|
||||
babel-traverse "7.0.0-beta.0"
|
||||
babel-types "7.0.0-beta.0"
|
||||
babylon "7.0.0-beta.22"
|
||||
lodash "^4.2.0"
|
||||
|
||||
babel-template@^6.24.1, babel-template@^6.26.0:
|
||||
version "6.26.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
|
||||
|
|
@ -822,20 +839,6 @@ babel-template@^6.24.1, babel-template@^6.26.0:
|
|||
babylon "^6.18.0"
|
||||
lodash "^4.17.4"
|
||||
|
||||
babel-traverse@7.0.0-beta.0:
|
||||
version "7.0.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-7.0.0-beta.0.tgz#da14be9b762f62a2f060db464eaafdd8cd072a41"
|
||||
dependencies:
|
||||
babel-code-frame "7.0.0-beta.0"
|
||||
babel-helper-function-name "7.0.0-beta.0"
|
||||
babel-messages "7.0.0-beta.0"
|
||||
babel-types "7.0.0-beta.0"
|
||||
babylon "7.0.0-beta.22"
|
||||
debug "^3.0.1"
|
||||
globals "^10.0.0"
|
||||
invariant "^2.2.0"
|
||||
lodash "^4.2.0"
|
||||
|
||||
babel-traverse@^6.24.1, babel-traverse@^6.26.0:
|
||||
version "6.26.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
|
||||
|
|
@ -850,14 +853,6 @@ babel-traverse@^6.24.1, babel-traverse@^6.26.0:
|
|||
invariant "^2.2.2"
|
||||
lodash "^4.17.4"
|
||||
|
||||
babel-types@7.0.0-beta.0:
|
||||
version "7.0.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-7.0.0-beta.0.tgz#eb8b6e556470e6dcc4aef982d79ad229469b5169"
|
||||
dependencies:
|
||||
esutils "^2.0.2"
|
||||
lodash "^4.2.0"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
|
||||
version "6.26.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
|
||||
|
|
@ -867,9 +862,9 @@ babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
|
|||
lodash "^4.17.4"
|
||||
to-fast-properties "^1.0.3"
|
||||
|
||||
babylon@7.0.0-beta.22:
|
||||
version "7.0.0-beta.22"
|
||||
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.22.tgz#74f0ad82ed7c7c3cfeab74cf684f815104161b65"
|
||||
babylon@7.0.0-beta.31, babylon@^7.0.0-beta.31:
|
||||
version "7.0.0-beta.31"
|
||||
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.31.tgz#7ec10f81e0e456fd0f855ad60fa30c2ac454283f"
|
||||
|
||||
babylon@^6.18.0:
|
||||
version "6.18.0"
|
||||
|
|
@ -1071,10 +1066,10 @@ browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6:
|
|||
electron-to-chromium "^1.2.7"
|
||||
|
||||
browserslist@^2.1.2:
|
||||
version "2.7.0"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.7.0.tgz#dc375dc70048fec3d989042a35022342902eff00"
|
||||
version "2.8.0"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.8.0.tgz#27d64028130a2e8585ca96f7c3b7730eff4de493"
|
||||
dependencies:
|
||||
caniuse-lite "^1.0.30000757"
|
||||
caniuse-lite "^1.0.30000758"
|
||||
electron-to-chromium "^1.3.27"
|
||||
|
||||
buffer-indexof@^1.0.0:
|
||||
|
|
@ -1166,12 +1161,12 @@ caniuse-api@^1.5.2:
|
|||
lodash.uniq "^4.5.0"
|
||||
|
||||
caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
|
||||
version "1.0.30000758"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000758.tgz#a235627b1922e878b63164942c991b84de92c810"
|
||||
version "1.0.30000760"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000760.tgz#3ea29473eb78a6ccb09f2eb73ac9e1debfec528d"
|
||||
|
||||
caniuse-lite@^1.0.30000757:
|
||||
version "1.0.30000758"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000758.tgz#e261140076651049cf6891ed4bc649b5c8c26c69"
|
||||
caniuse-lite@^1.0.30000758:
|
||||
version "1.0.30000760"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000760.tgz#ec720395742f1c7ec8947fd6dd2604e77a8f98ff"
|
||||
|
||||
caseless@~0.12.0:
|
||||
version "0.12.0"
|
||||
|
|
@ -1299,8 +1294,8 @@ cliui@^3.2.0:
|
|||
wrap-ansi "^2.0.0"
|
||||
|
||||
clone@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.3.tgz#298d7e2231660f40c003c2ed3140decf3f53085f"
|
||||
|
||||
co@^4.6.0:
|
||||
version "4.6.0"
|
||||
|
|
@ -1317,8 +1312,8 @@ code-point-at@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
|
||||
|
||||
color-convert@^1.3.0, color-convert@^1.9.0:
|
||||
version "1.9.0"
|
||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a"
|
||||
version "1.9.1"
|
||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
|
||||
dependencies:
|
||||
color-name "^1.1.1"
|
||||
|
||||
|
|
@ -1404,8 +1399,8 @@ concat-stream@^1.6.0:
|
|||
typedarray "^0.0.6"
|
||||
|
||||
connect-history-api-fallback@^1.3.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.4.0.tgz#3db24f973f4b923b0e82f619ce0df02411ca623d"
|
||||
version "1.5.0"
|
||||
resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a"
|
||||
|
||||
console-browserify@^1.1.0:
|
||||
version "1.1.0"
|
||||
|
|
@ -2446,8 +2441,8 @@ fs-extra@^4.0.0:
|
|||
universalify "^0.1.0"
|
||||
|
||||
fs-readdir-recursive@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560"
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27"
|
||||
|
||||
fs.realpath@^1.0.0:
|
||||
version "1.0.0"
|
||||
|
|
@ -4747,14 +4742,14 @@ rc@^1.1.7:
|
|||
minimist "^1.2.0"
|
||||
strip-json-comments "~2.0.1"
|
||||
|
||||
react-dom@^15.6.1:
|
||||
version "15.6.2"
|
||||
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.2.tgz#41cfadf693b757faf2708443a1d1fd5a02bef730"
|
||||
react-dom@^16.0.0:
|
||||
version "16.1.0"
|
||||
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.1.0.tgz#ab6fd2a285096f388aeba51919a573d06c9bdde4"
|
||||
dependencies:
|
||||
fbjs "^0.8.9"
|
||||
fbjs "^0.8.16"
|
||||
loose-envify "^1.1.0"
|
||||
object-assign "^4.1.0"
|
||||
prop-types "^15.5.10"
|
||||
object-assign "^4.1.1"
|
||||
prop-types "^15.6.0"
|
||||
|
||||
react-event-listener@^0.5.0, react-event-listener@^0.5.1:
|
||||
version "0.5.1"
|
||||
|
|
@ -4802,9 +4797,9 @@ react-scrollbar-size@^2.0.2:
|
|||
prop-types "^15.5.10"
|
||||
react-event-listener "^0.5.0"
|
||||
|
||||
react-tap-event-plugin@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/react-tap-event-plugin/-/react-tap-event-plugin-2.0.1.tgz#316beb3bc6556e29ec869a7293e89c826a9074d2"
|
||||
react-tap-event-plugin@^3.0.0:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/react-tap-event-plugin/-/react-tap-event-plugin-3.0.2.tgz#280371677b881c31376e0027a0b86d2c6de039ee"
|
||||
dependencies:
|
||||
fbjs "^0.8.6"
|
||||
|
||||
|
|
@ -4829,7 +4824,7 @@ react-transition-group@^2.2.1:
|
|||
prop-types "^15.5.8"
|
||||
warning "^3.0.0"
|
||||
|
||||
react@^15.5.4, react@^15.6.1:
|
||||
react@^15.5.4:
|
||||
version "15.6.2"
|
||||
resolved "https://registry.yarnpkg.com/react/-/react-15.6.2.tgz#dba0434ab439cfe82f108f0f511663908179aa72"
|
||||
dependencies:
|
||||
|
|
@ -4839,6 +4834,15 @@ react@^15.5.4, react@^15.6.1:
|
|||
object-assign "^4.1.0"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
react@^16.0.0:
|
||||
version "16.1.0"
|
||||
resolved "https://registry.yarnpkg.com/react/-/react-16.1.0.tgz#1c2bdac3c17fe7ee9282fa35aca6cc36387903e1"
|
||||
dependencies:
|
||||
fbjs "^0.8.16"
|
||||
loose-envify "^1.1.0"
|
||||
object-assign "^4.1.1"
|
||||
prop-types "^15.6.0"
|
||||
|
||||
read-pkg-up@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
|
||||
|
|
@ -5719,8 +5723,8 @@ ua-parser-js@^0.7.9:
|
|||
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac"
|
||||
|
||||
uglify-js@3.1.x:
|
||||
version "3.1.7"
|
||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.1.7.tgz#13379168b7fcf132ed977254a7802e0a294b1ffb"
|
||||
version "3.1.8"
|
||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.1.8.tgz#780d08b4f6782fe36ea5484d952362eddaf1d7b8"
|
||||
dependencies:
|
||||
commander "~2.11.0"
|
||||
source-map "~0.6.1"
|
||||
|
|
@ -6092,8 +6096,8 @@ write@^0.2.1:
|
|||
mkdirp "^0.5.1"
|
||||
|
||||
ws@^3.2.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.0.tgz#f8b948a1378af7efa702f5513da08dd516897c31"
|
||||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.1.tgz#d97e34dee06a1190c61ac1e95f43cb60b78cf939"
|
||||
dependencies:
|
||||
async-limiter "~1.0.0"
|
||||
safe-buffer "~5.1.0"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue