Merge remote-tracking branch 'upstream/master' into patch-22 to resolve merge conflicts

This commit is contained in:
Ranlvor 2018-09-02 03:02:30 +02:00
commit ff29ae7d5b
Signed by untrusted user who does not match committer: Ranlvor
GPG key ID: 5E12D04750EF6F8E
9 changed files with 888 additions and 796 deletions

View file

@ -17,8 +17,11 @@ module.exports = {
"sourceType": "module" "sourceType": "module"
}, },
"plugins": [ "plugins": [
"react", "flowtype" "react", "flowtype", "fp"
], ],
"globals": {
"require": false
},
"rules": { "rules": {
// possible errors // possible errors
"getter-return": "error", "getter-return": "error",
@ -137,6 +140,27 @@ module.exports = {
// flow // flow
"flowtype/no-dupe-keys": "error", "flowtype/no-dupe-keys": "error",
"flowtype/no-weak-types": "warn", "flowtype/no-weak-types": "warn",
"flowtype/require-variable-type": "off" // wait for https://github.com/gajus/eslint-plugin-flowtype/issues/198 to be resolved "flowtype/require-variable-type": "off", // wait for https://github.com/gajus/eslint-plugin-flowtype/issues/198 to be resolved
// fp
// TODO: Import fp/recommended after resolving the warnings
"fp/no-arguments": "warn",
"fp/no-class": "warn",
"fp/no-delete": "warn",
"fp/no-events": "warn",
"fp/no-get-set": "warn",
"fp/no-let": "warn",
"fp/no-loops": "warn",
"fp/no-mutating-assign": "warn",
"fp/no-mutating-methods": "warn",
"fp/no-mutation": "warn",
"fp/no-nil": "warn",
"fp/no-proxy": "warn",
"fp/no-rest-parameters": "warn",
"fp/no-this": "warn",
"fp/no-throw": "warn",
"fp/no-unused-expression": "warn",
"fp/no-valueof-field": "warn",
"no-var": "warn"
} }
}; };

View file

@ -1,6 +1,6 @@
// @flow // @flow
import type { Config } from "config/flowtypes"; import type { Config } from "config/flowtypes";
import { hex, rgb, rgba, rainbow } from "config/colors"; import { hex } from "config/colors";
import * as types from "config/types"; import * as types from "config/types";
import { mdi } from "config/icon"; import { mdi } from "config/icon";

View file

@ -1,11 +1,13 @@
// @flow // @flow
import type { Config } from "config/flowtypes"; import type { Config } from "config/flowtypes";
import * as types from "config/types"; import * as types from "config/types";
import { hex, rgb, rgba, rainbow } from "config/colors"; import { hex, rainbow } from "config/colors";
import { mdi, rawMdi, mdiBattery } from "config/icon"; import { mdi, rawMdi } from "config/icon";
import { esper_topics, esper_statistics, floalt, tradfri_remote, tasmota } from "./utils"; import { esper, tasmota } from "./utils";
import * as onkyo from "./onkyo"; import * as onkyo from "./onkyo";
import * as olymp from "./olymp";
import * as kitchen from "./kitchen";
const config: Config = { const config: Config = {
space: { space: {
@ -15,7 +17,7 @@ const config: Config = {
}, },
topics: [ topics: [
{ {
led_stahltraeger: { ledStahltraeger: {
state: { state: {
name: "/service/openhab/out/pca301_ledstrips/state", name: "/service/openhab/out/pca301_ledstrips/state",
type: types.option({ ON: "on", OFF: "off" }) type: types.option({ ON: "on", OFF: "off" })
@ -88,28 +90,6 @@ const config: Config = {
}, },
defaultValue: "off" defaultValue: "off"
}, },
videogames: {
state: {
name: "/service/openhab/out/pca301_videogames/state",
type: types.option({ ON: "on", OFF: "off" })
},
command: {
name: "/service/openhab/in/pca301_videogames/command",
type: types.option({ on: "ON", off: "OFF" })
},
defaultValue: "off"
},
olymp_pc: {
state: {
name: "/service/openhab/out/pca301_olymp_pc/state",
type: types.option({ ON: "on", OFF: "off" })
},
command: {
name: "/service/openhab/in/pca301_olymp_pc/command",
type: types.option({ on: "ON", off: "OFF" })
},
defaultValue: "off"
},
flyfry: { flyfry: {
state: { state: {
name: "/service/openhab/out/wifi_flyfry/state", name: "/service/openhab/out/wifi_flyfry/state",
@ -121,46 +101,35 @@ const config: Config = {
}, },
defaultValue: "off" defaultValue: "off"
}, },
rundumleuchte: {
state: {
name: "/service/openhab/out/pca301_rundumleuchte/state",
type: types.option({ ON: "on", OFF: "off" })
},
command: {
name: "/service/openhab/in/pca301_rundumleuchte/command",
type: types.option({ on: "ON", off: "OFF" })
},
defaultValue: "off"
},
loetarbeitsplatz4: { loetarbeitsplatz4: {
state: { state: {
name: "stat/sonoff4/POWER", name: "stat/sonoff4/POWER",
type: types.option({ ON: "on", OFF: "off" }) type: types.option({ ON: "on", OFF: "off" })
}, },
defaultValue: "off", defaultValue: "off"
}, },
loetarbeitsplatz5: { loetarbeitsplatz5: {
state: { state: {
name: "stat/sonoff5/POWER", name: "stat/sonoff5/POWER",
type: types.option({ ON: "on", OFF: "off" }) type: types.option({ ON: "on", OFF: "off" })
}, },
defaultValue: "off", defaultValue: "off"
}, },
door_status: { doorStatus: {
state: { state: {
name: "/service/status", name: "/service/status",
type: types.option({ "\"open\"": "on", "\"closed\"": "off" }) type: types.option({ "\"open\"": "on", "\"closed\"": "off" })
}, },
defaultValue: "off" defaultValue: "off"
}, },
presence_status: { presenceStatus: {
state: { state: {
name: "service/status/presence", name: "service/status/presence",
type: types.jsonArray type: types.jsonArray
}, },
defaultValue: "" defaultValue: ""
}, },
devices_status: { devicesStatus: {
state: { state: {
name: "/service/status/devices", name: "/service/status/devices",
type: types.string type: types.string
@ -207,49 +176,16 @@ const config: Config = {
otherwise: "awaiting_interaction" otherwise: "awaiting_interaction"
}) })
}, },
defaultValue: "unavailable", defaultValue: "unavailable"
}, },
printer_3d_progress: { printer_3d_progress: {
state: { state: {
name: "/service/ultimaker/job", name: "/service/ultimaker/job",
type: msg => JSON.parse(msg.toString()).progress || "0" type: (msg) => JSON.parse(msg.toString()).progress || "0"
}, },
defaultValue: "0" defaultValue: "0"
}, },
kitchen_light_color: { nebenraumPowerStatus: {
state: {
name: "/service/openhab/out/kitchen_light_all_color_temperature/state",
type: types.string
},
command: {
name: "/service/openhab/in/kitchen_light_all_color_temperature/command",
type: types.string
},
defaultValue: "0"
},
kitchen_light_brightness: {
state: {
name: "/service/openhab/out/kitchen_light_all_brightness/state",
type: types.string
},
command: {
name: "/service/openhab/in/kitchen_light_all_brightness/command",
type: types.string
},
defaultValue: "0"
},
kitchen_sink_light_brightness: {
state: {
name: "/service/openhab/out/tradfri_0100_gwb8d7af2b448f_65545_brightness/state",
type: types.string
},
command: {
name: "/service/openhab/in/tradfri_0100_gwb8d7af2b448f_65545_brightness/command",
type: types.string
},
defaultValue: "0"
},
nebenraum_power_status: {
state: { state: {
name: "/service/nebenraum-power", name: "/service/nebenraum-power",
type: types.option({ ON: "on", OFF: "off" }) type: types.option({ ON: "on", OFF: "off" })
@ -258,56 +194,30 @@ const config: Config = {
} }
}, },
//Tasmota-Dosen //Tasmota-Dosen
tasmota.topics("2", "olymp_printer"),
tasmota.topics("6", "snackbar"), tasmota.topics("6", "snackbar"),
tasmota.topics("7", "infoscreen"), tasmota.topics("7", "infoscreen"),
tasmota.topics("8", "led_olymp"),
//Kuechen-Floalts esper.topics("afba40", "flyfry"),
floalt.topics("65537"),
floalt.topics("65538"),
floalt.topics("65539"),
floalt.topics("65540"),
tradfri_remote.topics("65536"),
tradfri_remote.topics("65547"),
//Theken-Floalts onkyo.topics,
floalt.topics("65543"), olymp.topics,
floalt.topics("65544"), kitchen.topics
tradfri_remote.topics("65542"),
tradfri_remote.topics("65546"),
esper_topics("afba40", "flyfry"),
esper_topics("afba45", "alarm"),
onkyo.topics
], ],
controls: { controls: {
...onkyo.controls, ...onkyo.controls,
...olymp.controls,
...kitchen.controls,
led_stahltrager: { led_stahltrager: {
name: "LED Stahlträger", name: "LED Stahlträger",
position: [340, 590], position: [340, 590],
icon: mdi("white-balance-iridescent"), icon: mdi("white-balance-iridescent"),
iconColor: ({led_stahltraeger}) => led_stahltraeger == "on" ? rainbow : hex("#000000"), iconColor: ({ledStahltraeger}) =>
(ledStahltraeger === "on" ? rainbow : hex("#000000")),
ui: [ ui: [
{ {
type: "toggle", type: "toggle",
text: "Stahlträger LED", text: "Stahlträger LED",
topic: "led_stahltraeger", topic: "ledStahltraeger",
icon: mdi("power")
},
]
},
led_olymp: {
name: "LED Olymp",
position: [196, 154],
icon: mdi("white-balance-iridescent rotate-45"),
iconColor: tasmota.icon_color("led_olymp", rainbow),
ui: [
{
type: "toggle",
text: "LED Olymp",
topic: "led_olymp",
icon: mdi("power") icon: mdi("power")
} }
] ]
@ -316,7 +226,7 @@ const config: Config = {
name: "Snackbar", name: "Snackbar",
position: [510, 500], position: [510, 500],
icon: mdi("fridge"), icon: mdi("fridge"),
iconColor: tasmota.icon_color("snackbar", hex("#E20074")), iconColor: tasmota.iconColor("snackbar", hex("#E20074")),
ui: [ ui: [
{ {
type: "toggle", type: "toggle",
@ -378,8 +288,8 @@ const config: Config = {
name: "Twinkle", name: "Twinkle",
position: [530, 560], position: [530, 560],
icon: ({twinkle}) => icon: ({twinkle}) =>
twinkle == "on" ? rawMdi("led-on flip-v") : rawMdi("led-off flip-v"), (twinkle === "on" ? rawMdi("led-on flip-v") : rawMdi("led-off flip-v")),
iconColor: ({twinkle}) => twinkle == "on" ? rainbow : hex("#000000"), iconColor: ({twinkle}) => (twinkle === "on" ? rainbow : hex("#000000")),
ui: [ ui: [
{ {
type: "toggle", type: "toggle",
@ -393,7 +303,7 @@ const config: Config = {
name: "Ventilator", name: "Ventilator",
position: [530, 440], position: [530, 440],
icon: mdi("fan"), icon: mdi("fan"),
iconColor: ({fan}) => fan == "on" ? hex("#00FF00") : hex("#000000"), iconColor: ({fan}) => (fan === "on" ? hex("#00FF00") : hex("#000000")),
ui: [ ui: [
{ {
type: "toggle", type: "toggle",
@ -416,60 +326,13 @@ const config: Config = {
} }
] ]
}, },
videogames: {
name: "Videospiele",
position: [100, 100],
icon: mdi("gamepad-variant"),
iconColor: ({videogames}) => videogames == "on" ? hex("#00FF00") : hex("#000000"),
ui: [
{
type: "toggle",
text: "Videospiele",
topic: "videogames",
icon: mdi("power")
}
]
},
olymp_pc: {
name: "Rechner",
position: [297, 90],
icon: mdi("desktop-classic"),
iconColor: ({olymp_pc}) => olymp_pc == "on" ? hex("#00FF00") : hex("#000000"),
ui: [
{
type: "toggle",
text: "Rechner",
topic: "olymp_pc",
icon: mdi("power")
}
]
},
olymp_printer: {
name: "Drucker",
position: [335, 90],
icon: mdi("printer"),
iconColor: tasmota.icon_color("olymp_printer"),
ui: [
{
type: "toggle",
text: "Drucker",
topic: "olymp_printer",
icon: mdi("power")
},
{
type: "link",
link: "http://annette.rzl/",
text: "Open Annette",
icon: mdi("open-in-new")
}
]
},
flyfry: { flyfry: {
name: "Fliegenbratgerät", name: "Fliegenbratgerät",
position: [450, 570], position: [450, 570],
icon: mdi("fire"), icon: mdi("fire"),
iconColor: ({flyfry}) => flyfry == "on" ? hex("#6666FF") : hex("#000000"), iconColor: ({flyfry}) =>
ui: esper_statistics("flyfry", [ (flyfry === "on" ? hex("#6666FF") : hex("#000000")),
ui: esper.statistics("flyfry", [
{ {
type: "toggle", type: "toggle",
text: "Fliegenbratgerät", text: "Fliegenbratgerät",
@ -488,28 +351,14 @@ const config: Config = {
transient_off: hex("#b3b300"), transient_off: hex("#b3b300"),
on: hex("#00ff00"), on: hex("#00ff00"),
off: hex("#000000"), off: hex("#000000"),
unknown: hex("#888888"), unknown: hex("#888888")
})[projector], })[projector],
ui: [ ui: [
{ {
type: "toggle", type: "toggle",
text: "Beamer", text: "Beamer",
topic: "projector", topic: "projector",
toggled: val => val == "transient_on" || val == "on", toggled: (val) => val === "transient_on" || val === "on",
icon: mdi("power")
}
]
},
rundumleuchte: {
name: "Rundumleuchte",
position: [310,275],
icon: mdi("alarm-light"),
iconColor: ({rundumleuchte}) => rundumleuchte == "on" ? hex("#F0DF10") : hex("#000000"),
ui: [
{
type: "toggle",
text: "Rundumleuchte",
topic: "rundumleuchte",
icon: mdi("power") icon: mdi("power")
} }
] ]
@ -518,7 +367,8 @@ const config: Config = {
name: "Lötarbeitsplatz", name: "Lötarbeitsplatz",
position: [205, 455], position: [205, 455],
icon: mdi("eyedropper-variant"), icon: mdi("eyedropper-variant"),
iconColor: ({loetarbeitsplatz4}) => loetarbeitsplatz4 == "on" ? hex("#FF0000") : hex("#000000"), iconColor: ({loetarbeitsplatz4}) =>
(loetarbeitsplatz4 === "on" ? hex("#FF0000") : hex("#000000")),
ui: [ ui: [
{ {
type: "text", type: "text",
@ -532,7 +382,8 @@ const config: Config = {
name: "Lötarbeitsplatz", name: "Lötarbeitsplatz",
position: [205, 405], position: [205, 405],
icon: mdi("eyedropper-variant"), icon: mdi("eyedropper-variant"),
iconColor: ({loetarbeitsplatz5}) => loetarbeitsplatz5 == "on" ? hex("#FF0000") : hex("#000000"), iconColor: ({loetarbeitsplatz5}) =>
(loetarbeitsplatz5 === "on" ? hex("#FF0000") : hex("#000000")),
ui: [ ui: [
{ {
type: "text", type: "text",
@ -542,18 +393,12 @@ const config: Config = {
} }
] ]
}, },
alarm: {
name: "Alarm",
position: [340, 250],
icon: mdi("alarm-bell"),
iconColor: () => hex("#000000"),
ui: esper_statistics("alarm")
},
door: { door: {
name: "Tür", name: "Tür",
position: [455, 350], position: [455, 350],
icon: mdi("swap-vertical"), icon: mdi("swap-vertical"),
iconColor: ({door_status}) => door_status == "on" ? hex("#00FF00") : hex("#FF0000"), iconColor: ({doorStatus}) =>
(doorStatus === "on" ? hex("#00FF00") : hex("#FF0000")),
ui: [ ui: [
{ {
type: "link", type: "link",
@ -564,13 +409,13 @@ const config: Config = {
{ {
type: "text", type: "text",
text: "Anwesend", text: "Anwesend",
topic: "presence_status", topic: "presenceStatus",
icon: mdi("account") icon: mdi("account")
}, },
{ {
type: "text", type: "text",
text: "Devices", text: "Devices",
topic: "devices_status", topic: "devicesStatus",
icon: mdi("wifi") icon: mdi("wifi")
} }
@ -580,7 +425,7 @@ const config: Config = {
name: "Infoscreen", name: "Infoscreen",
position: [255, 495], position: [255, 495],
icon: mdi("television-guide flip-v"), icon: mdi("television-guide flip-v"),
iconColor: tasmota.icon_color("infoscreen", hex("#4444FF")), iconColor: tasmota.iconColor("infoscreen", hex("#4444FF")),
ui: [ ui: [
{ {
type: "toggle", type: "toggle",
@ -642,244 +487,19 @@ const config: Config = {
} }
] ]
}, },
kitchen_light: { nebenraumPowerStatus: {
name: "Deckenlicht Küche", name: "Strom Fablab",
position: [325, 407],
icon: mdi("ceiling-light"),
ui: [
{
type: "toggle",
on: "50",
off: "0",
toggled: n => parseInt(n) > 0,
topic: "kitchen_light_brightness",
text: "Ein/Ausschalten",
icon: mdi("power")
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: "kitchen_light_brightness"
},
{
type: "slider",
min: 0,
max: 100,
text: "Farbtemperatur",
icon: mdi("weather-sunset-down"),
topic: "kitchen_light_color"
},
{
type: "section",
text: "Lampe Eingang"
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: floalt.brightness("65537")
},
{
type: "slider",
min: 0,
max: 100,
text: "Farbtemperatur",
icon: mdi("weather-sunset-down"),
topic: floalt.color("65537")
},
{
type: "section",
text: "Lampe Hauptraum"
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: floalt.brightness("65538")
},
{
type: "slider",
min: 0,
max: 100,
text: "Farbtemperatur",
icon: mdi("weather-sunset-down"),
topic: floalt.color("65538")
},
{
type: "section",
text: "Lampe Spüle"
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: floalt.brightness("65539")
},
{
type: "slider",
min: 0,
max: 100,
text: "Farbtemperatur",
icon: mdi("weather-sunset-down"),
topic: floalt.color("65539")
},
{
type: "section",
text: "Lampe Herd"
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: floalt.brightness("65540")
},
{
type: "slider",
min: 0,
max: 100,
text: "Farbtemperatur",
icon: mdi("weather-sunset-down"),
topic: floalt.color("65540")
}
]
},
kitchen_sink_light: {
name: "Licht Spüle",
position: [300, 345],
icon: mdi("wall-sconce-flat"),
ui: [
{
type: "toggle",
on: "50",
off: "0",
toggled: n => parseInt(n) > 0,
topic: "kitchen_sink_light_brightness",
text: "Ein/Ausschalten",
icon: mdi("power")
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: "kitchen_sink_light_brightness"
}
]
},
kitchen_counter_light: {
name: "Deckenlicht Theke",
position: [400, 440],
icon: mdi("ceiling-light"),
ui: [
{
type: "section",
text: "Lampe Eingang"
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: floalt.brightness("65544")
},
{
type: "slider",
min: 0,
max: 100,
text: "Farbtemperatur",
icon: mdi("weather-sunset-down"),
topic: floalt.color("65544")
},
{
type: "section",
text: "Lampe Hauptraum"
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: floalt.brightness("65543")
},
{
type: "slider",
min: 0,
max: 100,
text: "Farbtemperatur",
icon: mdi("weather-sunset-down"),
topic: floalt.color("65543")
}
]
},
remotes: {
name: "Fernbedinungen",
position: [400, 344],
icon: mdi("light-switch"),
iconColor: (state) => //if any remote is low make icon red
["65536", "65542", "65546", "65547"].some(
x => state[tradfri_remote.low(x)] == "true") ? hex("#ff0000") : hex("#000000"),
ui: [
{
type: "progress",
icon: mdiBattery(tradfri_remote.level("65536")),
min: 0,
max: 100,
text: "Licht Tisch 1",
topic: tradfri_remote.level("65536")
},
{
type: "progress",
icon: mdiBattery(tradfri_remote.level("65547")),
min: 0,
max: 100,
text: "Licht Tisch 2",
topic: tradfri_remote.level("65547")
},
{
type: "progress",
icon: mdiBattery(tradfri_remote.level("65542")),
min: 0,
max: 100,
text: "Licht Theke 1",
topic: tradfri_remote.level("65542")
},
{
type: "progress",
icon: mdiBattery(tradfri_remote.level("65546")),
min: 0,
max: 100,
text: "Licht Theke 2",
topic: tradfri_remote.level("65546")
}
]
},
nebenraum_power_status: {
name: "Notaus Fablab",
position: [613, 537], position: [613, 537],
icon: ({nebenraum_power_status}) => icon: ({nebenraumPowerStatus}) =>
nebenraum_power_status == "on" ? rawMdi("flash") : rawMdi("flash-off"), (nebenraumPowerStatus === "on" ? rawMdi("flash") : rawMdi("flash-off")),
iconColor: ({nebenraum_power_status}) => iconColor: ({nebenraumPowerStatus}) =>
nebenraum_power_status == "on" ? hex("#00ff00") : hex("#000000"), (nebenraumPowerStatus === "on" ? hex("#00ff00") : hex("#000000")),
ui: [ ui: [
{ {
type: "text", type: "text",
icon: mdi("power"), icon: mdi("power"),
text: "Status Notaus", text: "Strom Fablab",
topic: "nebenraum_power_status" topic: "nebenraumPowerStatus"
} }
] ]
} }

290
config/rzl/kitchen.js Normal file
View file

@ -0,0 +1,290 @@
// @flow
import type { Topics, Controls } from "config/flowtypes";
import { mdi, mdiBattery } from "config/icon";
import { hex } from "config/colors";
import * as types from "config/types";
import { floalt, tradfri } from "./utils";
export const topics: Topics = {
//Kuechen-Floalts
...floalt.topics("65537"),
...floalt.topics("65538"),
...floalt.topics("65539"),
...floalt.topics("65540"),
...tradfri.remote.topics("65536"),
...tradfri.remote.topics("65547"),
//Theken-Floalts
...floalt.topics("65543"),
...floalt.topics("65544"),
...tradfri.remote.topics("65542"),
...tradfri.remote.topics("65546"),
kitchenLightColor: {
state: {
name: "/service/openhab/out/kitchenLight_allColor_temperature"
+ "/state",
type: types.string
},
command: {
name: "/service/openhab/in/kitchenLight_allColor_temperature"
+ "/command",
type: types.string
},
defaultValue: "0"
},
kitchenLightBrightness: {
state: {
name: "/service/openhab/out/kitchenLight_allBrightness/state",
type: types.string
},
command: {
name: "/service/openhab/in/kitchenLight_allBrightness/command",
type: types.string
},
defaultValue: "0"
},
kitchenSinkLightBrightness: {
state: {
name: "/service/openhab/out/tradfri_0100_"
+ "gwb8d7af2b448f_65545Brightness/state",
type: types.string
},
command: {
name: "/service/openhab/in/tradfri_0100_"
+ "gwb8d7af2b448f_65545Brightness/command",
type: types.string
},
defaultValue: "0"
}
};
export const controls: Controls = {
kitchenLight: {
name: "Deckenlicht Küche",
position: [325, 407],
icon: mdi("ceiling-light"),
ui: [
{
type: "toggle",
on: "50",
off: "0",
toggled: (n) => parseInt(n, 10) > 0,
topic: "kitchenLightBrightness",
text: "Ein/Ausschalten",
icon: mdi("power")
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: "kitchenLightBrightness"
},
{
type: "slider",
min: 0,
max: 100,
text: "Farbtemperatur",
icon: mdi("weather-sunset-down"),
topic: "kitchenLightColor"
},
{
type: "section",
text: "Lampe Eingang"
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: floalt.brightness("65537")
},
{
type: "slider",
min: 0,
max: 100,
text: "Farbtemperatur",
icon: mdi("weather-sunset-down"),
topic: floalt.color("65537")
},
{
type: "section",
text: "Lampe Hauptraum"
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: floalt.brightness("65538")
},
{
type: "slider",
min: 0,
max: 100,
text: "Farbtemperatur",
icon: mdi("weather-sunset-down"),
topic: floalt.color("65538")
},
{
type: "section",
text: "Lampe Spüle"
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: floalt.brightness("65539")
},
{
type: "slider",
min: 0,
max: 100,
text: "Farbtemperatur",
icon: mdi("weather-sunset-down"),
topic: floalt.color("65539")
},
{
type: "section",
text: "Lampe Herd"
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: floalt.brightness("65540")
},
{
type: "slider",
min: 0,
max: 100,
text: "Farbtemperatur",
icon: mdi("weather-sunset-down"),
topic: floalt.color("65540")
}
]
},
kitchenSinkLight: {
name: "Licht Spüle",
position: [300, 345],
icon: mdi("wall-sconce-flat"),
ui: [
{
type: "toggle",
on: "50",
off: "0",
toggled: (n) => parseInt(n, 10) > 0,
topic: "kitchenSinkLightBrightness",
text: "Ein/Ausschalten",
icon: mdi("power")
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: "kitchenSinkLightBrightness"
}
]
},
kitchenCounterLight: {
name: "Deckenlicht Theke",
position: [400, 440],
icon: mdi("ceiling-light"),
ui: [
{
type: "section",
text: "Lampe Eingang"
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: floalt.brightness("65544")
},
{
type: "slider",
min: 0,
max: 100,
text: "Farbtemperatur",
icon: mdi("weather-sunset-down"),
topic: floalt.color("65544")
},
{
type: "section",
text: "Lampe Hauptraum"
},
{
type: "slider",
min: 0,
max: 100,
text: "Helligkeit",
icon: mdi("brightness-7"),
topic: floalt.brightness("65543")
},
{
type: "slider",
min: 0,
max: 100,
text: "Farbtemperatur",
icon: mdi("weather-sunset-down"),
topic: floalt.color("65543")
}
]
},
remotes: {
name: "Fernbedinungen",
position: [400, 344],
icon: mdi("light-switch"),
iconColor: (state) => //if any remote is low make icon red
(["65536", "65542", "65546", "65547"]
.some((x) => state[tradfri.remote.low(x)] === "true")
? hex("#ff0000") : hex("#000000")),
ui: [
{
type: "progress",
icon: mdiBattery(tradfri.remote.level("65536")),
min: 0,
max: 100,
text: "Licht Tisch 1",
topic: tradfri.remote.level("65536")
},
{
type: "progress",
icon: mdiBattery(tradfri.remote.level("65547")),
min: 0,
max: 100,
text: "Licht Tisch 2",
topic: tradfri.remote.level("65547")
},
{
type: "progress",
icon: mdiBattery(tradfri.remote.level("65542")),
min: 0,
max: 100,
text: "Licht Theke 1",
topic: tradfri.remote.level("65542")
},
{
type: "progress",
icon: mdiBattery(tradfri.remote.level("65546")),
min: 0,
max: 100,
text: "Licht Theke 2",
topic: tradfri.remote.level("65546")
}
]
}
};

134
config/rzl/olymp.js Normal file
View file

@ -0,0 +1,134 @@
// @flow
import type { Topics, Controls } from "config/flowtypes";
import { mdi } from "config/icon";
import { hex, rainbow } from "config/colors";
import * as types from "config/types";
import { tasmota, esper } from "./utils";
export const topics: Topics = {
videogames: {
state: {
name: "/service/openhab/out/pca301_videogames/state",
type: types.option({ ON: "on", OFF: "off" })
},
command: {
name: "/service/openhab/in/pca301_videogames/command",
type: types.option({ on: "ON", off: "OFF" })
},
defaultValue: "off"
},
olympPC: {
state: {
name: "/service/openhab/out/pca301_olymp_pc/state",
type: types.option({ ON: "on", OFF: "off" })
},
command: {
name: "/service/openhab/in/pca301_olymp_pc/command",
type: types.option({ on: "ON", off: "OFF" })
},
defaultValue: "off"
},
rundumleuchte: {
state: {
name: "/service/openhab/out/pca301_rundumleuchte/state",
type: types.option({ ON: "on", OFF: "off" })
},
command: {
name: "/service/openhab/in/pca301_rundumleuchte/command",
type: types.option({ on: "ON", off: "OFF" })
},
defaultValue: "off"
},
...tasmota.topics("2", "printerOlymp"),
...tasmota.topics("8", "ledOlymp"),
...esper.topics("afba45", "alarm")
};
export const controls: Controls = {
ledOlymp: {
name: "LED Olymp",
position: [196, 154],
icon: mdi("white-balance-iridescent rotate-45"),
iconColor: tasmota.iconColor("ledOlymp", rainbow),
ui: [
{
type: "toggle",
text: "LED Olymp",
topic: "ledOlymp",
icon: mdi("power")
}
]
},
videogames: {
name: "Videospiele",
position: [100, 100],
icon: mdi("gamepad-variant"),
iconColor: ({videogames}) =>
(videogames === "on" ? hex("#00FF00") : hex("#000000")),
ui: [
{
type: "toggle",
text: "Videospiele",
topic: "videogames",
icon: mdi("power")
}
]
},
olympPC: {
name: "Rechner",
position: [297, 90],
icon: mdi("desktop-classic"),
iconColor: ({olympPC}) =>
(olympPC === "on" ? hex("#00FF00") : hex("#000000")),
ui: [
{
type: "toggle",
text: "Rechner",
topic: "olympPC",
icon: mdi("power")
}
]
},
printerOlymp: {
name: "Drucker",
position: [335, 90],
icon: mdi("printer"),
iconColor: tasmota.iconColor("printerOlymp"),
ui: [
{
type: "toggle",
text: "Drucker",
topic: "printerOlymp",
icon: mdi("power")
},
{
type: "link",
link: "http://annette.rzl/",
text: "Open Annette",
icon: mdi("open-in-new")
}
]
},
rundumleuchte: {
name: "Rundumleuchte",
position: [310, 275],
icon: mdi("alarm-light"),
iconColor: ({rundumleuchte}) =>
(rundumleuchte === "on" ? hex("#F0DF10") : hex("#000000")),
ui: [
{
type: "toggle",
text: "Rundumleuchte",
topic: "rundumleuchte",
icon: mdi("power")
}
]
},
alarm: {
name: "Alarm",
position: [340, 250],
icon: mdi("alarm-bell"),
iconColor: () => hex("#000000"),
ui: esper.statistics("alarm")
}
};

View file

@ -5,7 +5,7 @@ import { hex } from "config/colors";
import * as types from "config/types"; import * as types from "config/types";
export const topics: Topics = { export const topics: Topics = {
onkyo_connection: { onkyoConnection: {
state: { state: {
name: "/service/onkyo/connected", name: "/service/onkyo/connected",
type: types.option({ type: types.option({
@ -16,7 +16,7 @@ export const topics: Topics = {
}, },
defaultValue: "disconnected" defaultValue: "disconnected"
}, },
onkyo_power: { onkyoPower: {
state: { state: {
name: "/service/onkyo/status/system-power", name: "/service/onkyo/status/system-power",
type: types.json("onkyo_raw", types.option({ type: types.json("onkyo_raw", types.option({
@ -30,7 +30,7 @@ export const topics: Topics = {
}, },
defaultValue: "off" defaultValue: "off"
}, },
onkyo_mute: { onkyoMute: {
state: { state: {
name: "/service/onkyo/status/audio-muting", name: "/service/onkyo/status/audio-muting",
type: types.json("onkyo_raw", types.option({ type: types.json("onkyo_raw", types.option({
@ -44,7 +44,7 @@ export const topics: Topics = {
}, },
defaultValue: "off" defaultValue: "off"
}, },
onkyo_volume: { onkyoVolume: {
state: { state: {
name: "/service/onkyo/status/volume", name: "/service/onkyo/status/volume",
type: types.json("val") type: types.json("val")
@ -55,7 +55,7 @@ export const topics: Topics = {
}, },
defaultValue: "0" defaultValue: "0"
}, },
onkyo_inputs: { onkyoInputs: {
state: { state: {
name: "/service/onkyo/status/input-selector", name: "/service/onkyo/status/input-selector",
type: types.json("onkyo_raw", types.option({ type: types.json("onkyo_raw", types.option({
@ -78,21 +78,21 @@ export const topics: Topics = {
unknown: "SLI00" unknown: "SLI00"
}) })
}, },
defaultValue: "unknown", defaultValue: "unknown"
}, },
onkyo_radios: { onkyoRadios: {
state: { state: {
name: "/service/onkyo/status/latest-NPR", name: "/service/onkyo/status/latest-NPR",
type: types.option({ type: types.option({
NPR01: "mpd", NPR01: "mpd",
NPR02: "kohina", NPR02: "kohina",
NPR03: "somafm_dronezone", NPR03: "somafmDronezone",
NPR04: "somafm_thetrip", NPR04: "somafmThetrip",
NPR05: "querfunk", NPR05: "querfunk",
NPR06: "somafm_defconradio", NPR06: "somafmDefconradio",
NPR07: "somafm_secretagent", NPR07: "somafmSecretagent",
NPR08: "somafm_lush", NPR08: "somafmLush",
NPR09: "somafm_beatblender", NPR09: "somafmBeatblender",
NPR0a: "ponyville", NPR0a: "ponyville",
otherwise: "unknown" otherwise: "unknown"
}) })
@ -102,13 +102,13 @@ export const topics: Topics = {
type: types.option({ type: types.option({
mpd: "NPR01", mpd: "NPR01",
kohina: "NPR02", kohina: "NPR02",
somafm_dronezone: "NPR03", somafmDronezone: "NPR03",
somafm_thetrip: "NPR04", somafmThetrip: "NPR04",
querfunk: "NPR05", querfunk: "NPR05",
somafm_defconradio: "NPR06", somafmDefconradio: "NPR06",
somafm_secretagent: "NPR07", somafmSecretagent: "NPR07",
somafm_lush: "NPR08", somafmLush: "NPR08",
somafm_beatblender: "NPR09", somafmBeatblender: "NPR09",
ponyville: "NPR0a", ponyville: "NPR0a",
otherwise: "NPR00" otherwise: "NPR00"
}) })
@ -121,16 +121,17 @@ export const controls: Controls = {
onkyo: { onkyo: {
name: "Onkyo", name: "Onkyo",
position: [350, 650], position: [350, 650],
iconColor: ({onkyo_connection, onkyo_power}) => iconColor: ({onkyoConnection, onkyoPower}) =>
onkyo_connection != "connected" ? hex("#888888") : (onkyo_power == "on" ? hex("#00FF00") : hex("#000000")), (onkyoConnection !== "connected" ? hex("#888888") :
(onkyoPower === "on" ? hex("#00FF00") : hex("#000000"))),
icon: mdi("audio-video"), icon: mdi("audio-video"),
ui: [ ui: [
{ {
type: "toggle", type: "toggle",
text: "Power", text: "Power",
icon: mdi("power"), icon: mdi("power"),
topic: "onkyo_power", topic: "onkyoPower",
enableCondition: ({ onkyo_connection }) => onkyo_connection == "connected" enableCondition: (state) => state.onkyoConnection === "connected"
}, },
{ {
type: "section", type: "section",
@ -139,18 +140,18 @@ export const controls: Controls = {
{ {
type: "slider", type: "slider",
text: "Volume", text: "Volume",
topic: "onkyo_volume", topic: "onkyoVolume",
min: 0, min: 0,
max: 50, max: 50,
icon: mdi("volume-high"), icon: mdi("volume-high"),
enableCondition: ({ onkyo_connection }) => onkyo_connection == "connected" enableCondition: (state) => state.onkyoConnection === "connected"
}, },
{ {
type: "toggle", type: "toggle",
text: "Mute", text: "Mute",
topic: "onkyo_mute", topic: "onkyoMute",
icon: mdi("volume-off"), icon: mdi("volume-off"),
enableCondition: ({ onkyo_connection }) => onkyo_connection == "connected" enableCondition: (state) => state.onkyoConnection === "connected"
}, },
{ {
type: "section", type: "section",
@ -159,7 +160,7 @@ export const controls: Controls = {
{ {
type: "dropDown", type: "dropDown",
text: "Eingang", text: "Eingang",
topic: "onkyo_inputs", topic: "onkyoInputs",
options: { options: {
netzwerk: "Netzwerk", netzwerk: "Netzwerk",
tisch: "Tisch", tisch: "Tisch",
@ -168,26 +169,28 @@ export const controls: Controls = {
front: "Front HDMI" front: "Front HDMI"
}, },
icon: mdi("usb"), icon: mdi("usb"),
enableCondition: ({ onkyo_connection }) => onkyo_connection == "connected" enableCondition: (state) => state.onkyoConnection === "connected"
}, },
{ {
type: "dropDown", type: "dropDown",
text: "Netzwerksender", text: "Netzwerksender",
topic: "onkyo_radios", topic: "onkyoRadios",
options: { options: {
mpd: "MPD", mpd: "MPD",
kohina: "Kohina", kohina: "Kohina",
somafm_dronezone: "Drone Zone (SomaFM)", somafmDronezone: "Drone Zone (SomaFM)",
somafm_thetrip: "The Trip (SomaFM)", somafmThetrip: "The Trip (SomaFM)",
querfunk: "Querfunk", querfunk: "Querfunk",
somafm_defconradio: "Defcon Radio (SomaFM)", somafmDefconradio: "Defcon Radio (SomaFM)",
somafm_secretagent: "Secret Agent (SomaFM)", somafmSecretagent: "Secret Agent (SomaFM)",
somafm_lush: "Lush (SomaFM)", somafmLush: "Lush (SomaFM)",
somafm_beatblender: "Beat Blender (Soma FM)", somafmBeatblender: "Beat Blender (Soma FM)",
ponyville: "Ponyville FM" ponyville: "Ponyville FM",
unknown: "Unknown"
}, },
icon: mdi("radio"), icon: mdi("radio"),
enableCondition: (state) => state.onkyo_connection == "connected" && state.onkyo_inputs == "netzwerk" enableCondition: (state) => state.onkyoConnection === "connected"
&& state.onkyoInputs === "netzwerk"
}, },
{ {
type: "section", type: "section",

View file

@ -4,45 +4,6 @@ import { mdi } from "config/icon";
import { hex } from "config/colors"; import { hex } from "config/colors";
import * as types from "config/types"; import * as types from "config/types";
export const esper_topics = (chip_id: string, name: string) => ({
[ `esper_${name}_version` ]: {
state: {
name: `/service/esper/${chip_id}/info`,
type: types.json("version.esper")
},
defaultValue: "UNKNOWN"
},
[ `esper_${name}_ip` ]: {
state: {
name: `/service/esper/${chip_id}/info`,
type: types.json("network.ip")
},
defaultValue: "UNKNOWN"
},
[ `esper_${name}_rssi` ]: {
state: {
name: `/service/esper/${chip_id}/info`,
type: types.json("wifi.rssi")
},
defaultValue: "UNKNOWN"
},
[ `esper_${name}_uptime` ]: {
state: {
name: `/service/esper/${chip_id}/info`,
type: msg => new Date(JSON.parse(msg.toString()).time.startup * 1000)
.toLocaleString()
},
defaultValue: "UNKNOWN",
},
[ `esper_${name}_device` ]: {
state: {
name: `/service/esper/${chip_id}/info`,
type: types.json("device")
},
defaultValue: "UNKNOWN"
}
});
export const tasmota = { export const tasmota = {
topics: (id: string, name: string) => ({ topics: (id: string, name: string) => ({
[name]: { [name]: {
@ -64,71 +25,82 @@ export const tasmota = {
defaultValue: "off" defaultValue: "off"
}, },
}), }),
icon_color: (name: string, on_color: Color = hex("#00FF00")) => (state: State) => { iconColor: (name: string, onColor: Color = hex("#00FF00")) =>
(state: State) => {
if (state[`${name}_online`] === "off") { if (state[`${name}_online`] === "off") {
return hex("#888888"); return hex("#888888");
} else { } else {
if (state[name] === "on") { if (state[name] === "on") {
return on_color; return onColor;
} else { } else {
return hex("#000000"); return hex("#000000");
} }
} }
} }
} };
export const floalt = { export const floalt = {
color: (light_id: string) => `floalt_${light_id}_color`, color: (lightId: string) => `floalt_${lightId}_color`,
brightness: (light_id: string) => `floalt_${light_id}_brightness`, brightness: (lightId: string) => `floalt_${lightId}_brightness`,
topics: (light_id: string) => ({ topics: (lightId: string) => ({
[ `floalt_${light_id}_color` ]: { [`floalt_${lightId}_color`]: {
state: { state: {
name: `/service/openhab/out/tradfri_0220_gwb8d7af2b448f_${light_id}_color_temperature/state`, name: `/service/openhab/out/tradfri_0220_gwb8d7af2b448f_${lightId}` +
"_color_temperature/state",
type: types.string type: types.string
}, },
command: { command: {
name: `/service/openhab/in/tradfri_0220_gwb8d7af2b448f_${light_id}_color_temperature/command`, name: `/service/openhab/in/tradfri_0220_gwb8d7af2b448f_${lightId}` +
"_color_temperature/command",
type: types.string type: types.string
}, },
defaultValue: "0" defaultValue: "0"
}, },
[ `floalt_${light_id}_brightness` ]: { [`floalt_${lightId}_brightness`]: {
state: { state: {
name: `/service/openhab/out/tradfri_0220_gwb8d7af2b448f_${light_id}_brightness/state`, name: `/service/openhab/out/tradfri_0220_gwb8d7af2b448f_${lightId}` +
"_brightness/state",
type: types.string type: types.string
}, },
command: { command: {
name: `/service/openhab/in/tradfri_0220_gwb8d7af2b448f_${light_id}_brightness/command`, name: `/service/openhab/in/tradfri_0220_gwb8d7af2b448f_${lightId}` +
"_brightness/command",
type: types.string type: types.string
}, },
defaultValue: "0" defaultValue: "0"
} }
}) })
} };
export const tradfri_remote = { const tradfriRemote = {
level: (remote_id: string) => `tradfri_remote_${remote_id}_level`, level: (remoteId: string) => `tradfri_remote_${remoteId}_level`,
low: (remote_id: string) => `tradfri_remote_${remote_id}_low`, low: (remoteId: string) => `tradfri_remote_${remoteId}_low`,
topics: (remote_id: string) => ({ topics: (remoteId: string) => ({
[ `tradfri_remote_${remote_id}_level` ]: { [`tradfri_remote_${remoteId}_level`]: {
state: { state: {
name: `/service/openhab/out/tradfri_0830_gwb8d7af2b448f_${remote_id}_battery_level/state`, name: `/service/openhab/out/tradfri_0830_gwb8d7af2b448f_${remoteId}` +
"_battery_level/state",
type: types.string type: types.string
}, },
defaultValue: "0" defaultValue: "0"
}, },
[ `tradfri_remote_${remote_id}_low` ]: { [`tradfri_remote_${remoteId}_low`]: {
state: { state: {
name: `/service/openhab/out/tradfri_0830_gwb8d7af2b448f_${remote_id}_battery_low/state`, name: `/service/openhab/out/tradfri_0830_gwb8d7af2b448f_${remoteId}` +
"_battery_low/state",
type: types.option({ ON: "true", OFF: "false" }) type: types.option({ ON: "true", OFF: "false" })
}, },
defaultValue: "false", defaultValue: "false"
} }
}) })
} };
export const esper_statistics = (name: string, export const tradfri = {
prev_ui: Array<ControlUI> = []): Array<ControlUI> => ( remote: tradfriRemote
prev_ui.concat([ };
const esperStatistics = (name: string,
prevUI: Array<ControlUI> = []): Array<ControlUI> => (
prevUI.concat([
{ {
type: "section", type: "section",
text: "Funkdose" text: "Funkdose"
@ -165,3 +137,46 @@ export const esper_statistics = (name: string,
} }
]) ])
); );
const esperTopics = (chipId: string, name: string) => ({
[`esper_${name}_version`]: {
state: {
name: `/service/esper/${chipId}/info`,
type: types.json("version.esper")
},
defaultValue: "UNKNOWN"
},
[`esper_${name}_ip`]: {
state: {
name: `/service/esper/${chipId}/info`,
type: types.json("network.ip")
},
defaultValue: "UNKNOWN"
},
[`esper_${name}_rssi`]: {
state: {
name: `/service/esper/${chipId}/info`,
type: types.json("wifi.rssi")
},
defaultValue: "UNKNOWN"
},
[`esper_${name}_uptime`]: {
state: {
name: `/service/esper/${chipId}/info`,
type: (msg) => new Date(JSON.parse(msg.toString()).time.startup * 1000)
.toLocaleString()
},
defaultValue: "UNKNOWN"
},
[`esper_${name}_device`]: {
state: {
name: `/service/esper/${chipId}/info`,
type: types.json("device")
},
defaultValue: "UNKNOWN"
}
});
export const esper = {
topics: esperTopics,
statistics: esperStatistics
};

View file

@ -8,12 +8,12 @@
"dev": "webpack --bail --config webpack.config.js --mode development --env", "dev": "webpack --bail --config webpack.config.js --mode development --env",
"watch": "webpack-dev-server --open --config webpack.config.js --mode development --env", "watch": "webpack-dev-server --open --config webpack.config.js --mode development --env",
"travis": "./travis.sh", "travis": "./travis.sh",
"lint": "eslint --ext js --ext jsx src/", "lint": "eslint --ext js --ext jsx src/ config/",
"precommit": "yarn lint" "precommit": "yarn lint"
}, },
"dependencies": { "dependencies": {
"@material-ui/core": "^1.2.1", "@material-ui/core": "^3.0.1",
"@material-ui/lab": "^1.0.0-alpha.5", "@material-ui/lab": "^1.0.0-alpha.12",
"@mdi/font": "^2.0.46", "@mdi/font": "^2.0.46",
"leaflet": "^1.3.1", "leaflet": "^1.3.1",
"lodash-es": "^4.17.4", "lodash-es": "^4.17.4",
@ -33,20 +33,21 @@
"@babel/preset-env": "^7.0.0-rc.1", "@babel/preset-env": "^7.0.0-rc.1",
"@babel/preset-flow": "^7.0.0-rc.1", "@babel/preset-flow": "^7.0.0-rc.1",
"@babel/preset-react": "^7.0.0-rc.1", "@babel/preset-react": "^7.0.0-rc.1",
"babel-eslint": "^8.0.1", "babel-eslint": "^9.0.0",
"babel-loader": "^8.0.0-beta", "babel-loader": "^8.0.0-beta",
"clean-webpack-plugin": "^0.1.18", "clean-webpack-plugin": "^0.1.18",
"css-loader": "^1.0.0", "css-loader": "^1.0.0",
"eslint": "^5.0.1", "eslint": "^5.0.1",
"eslint-plugin-flowtype": "^2.42.0", "eslint-plugin-flowtype": "^2.42.0",
"eslint-plugin-fp": "^2.3.0",
"eslint-plugin-react": "^7.6.1", "eslint-plugin-react": "^7.6.1",
"file-loader": "^1.1.5", "file-loader": "^1.1.5",
"flow": "^0.2.3", "flow": "^0.2.3",
"flow-bin": "^0.79.0", "flow-bin": "^0.80.0",
"flow-typed": "^2.3.0", "flow-typed": "^2.3.0",
"html-webpack-plugin": "^3.1.0", "html-webpack-plugin": "^3.1.0",
"husky": "^0.14.3", "husky": "^0.14.3",
"style-loader": "^0.22.0", "style-loader": "^0.23.0",
"webpack": "^4.3.0", "webpack": "^4.3.0",
"webpack-cli": "^3.0.0", "webpack-cli": "^3.0.0",
"webpack-dev-server": "^3.1.1", "webpack-dev-server": "^3.1.1",

299
yarn.lock
View file

@ -18,18 +18,18 @@
optionalDependencies: optionalDependencies:
chokidar "^2.0.3" chokidar "^2.0.3"
"@babel/code-frame@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz#2a02643368de80916162be70865c97774f3adbd9"
dependencies:
"@babel/highlight" "7.0.0-beta.44"
"@babel/code-frame@7.0.0-rc.1": "@babel/code-frame@7.0.0-rc.1":
version "7.0.0-rc.1" version "7.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-rc.1.tgz#5c2154415d6c09959a71845ef519d11157e95d10" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-rc.1.tgz#5c2154415d6c09959a71845ef519d11157e95d10"
dependencies: dependencies:
"@babel/highlight" "7.0.0-rc.1" "@babel/highlight" "7.0.0-rc.1"
"@babel/code-frame@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8"
dependencies:
"@babel/highlight" "^7.0.0"
"@babel/core@^7.0.0-rc.1": "@babel/core@^7.0.0-rc.1":
version "7.0.0-rc.1" version "7.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.0.0-rc.1.tgz#53c84fd562e13325f123d5951184eec97b958204" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.0.0-rc.1.tgz#53c84fd562e13325f123d5951184eec97b958204"
@ -49,16 +49,6 @@
semver "^5.4.1" semver "^5.4.1"
source-map "^0.5.0" source-map "^0.5.0"
"@babel/generator@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.44.tgz#c7e67b9b5284afcf69b309b50d7d37f3e5033d42"
dependencies:
"@babel/types" "7.0.0-beta.44"
jsesc "^2.5.1"
lodash "^4.2.0"
source-map "^0.5.0"
trim-right "^1.0.1"
"@babel/generator@7.0.0-rc.1": "@babel/generator@7.0.0-rc.1":
version "7.0.0-rc.1" version "7.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-rc.1.tgz#739c87d70b31aeed802bd6bc9fd51480065c45e8" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-rc.1.tgz#739c87d70b31aeed802bd6bc9fd51480065c45e8"
@ -69,6 +59,16 @@
source-map "^0.5.0" source-map "^0.5.0"
trim-right "^1.0.1" trim-right "^1.0.1"
"@babel/generator@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0.tgz#1efd58bffa951dc846449e58ce3a1d7f02d393aa"
dependencies:
"@babel/types" "^7.0.0"
jsesc "^2.5.1"
lodash "^4.17.10"
source-map "^0.5.0"
trim-right "^1.0.1"
"@babel/helper-annotate-as-pure@7.0.0-rc.1": "@babel/helper-annotate-as-pure@7.0.0-rc.1":
version "7.0.0-rc.1" version "7.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-rc.1.tgz#4a9042a4a35f835d45c649f68f364cc7ed7dcb05" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-rc.1.tgz#4a9042a4a35f835d45c649f68f364cc7ed7dcb05"
@ -112,14 +112,6 @@
"@babel/traverse" "7.0.0-rc.1" "@babel/traverse" "7.0.0-rc.1"
"@babel/types" "7.0.0-rc.1" "@babel/types" "7.0.0-rc.1"
"@babel/helper-function-name@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz#e18552aaae2231100a6e485e03854bc3532d44dd"
dependencies:
"@babel/helper-get-function-arity" "7.0.0-beta.44"
"@babel/template" "7.0.0-beta.44"
"@babel/types" "7.0.0-beta.44"
"@babel/helper-function-name@7.0.0-rc.1": "@babel/helper-function-name@7.0.0-rc.1":
version "7.0.0-rc.1" version "7.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-rc.1.tgz#20b2cc836a53c669f297c8d309fc553385c5cdde" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-rc.1.tgz#20b2cc836a53c669f297c8d309fc553385c5cdde"
@ -128,11 +120,13 @@
"@babel/template" "7.0.0-rc.1" "@babel/template" "7.0.0-rc.1"
"@babel/types" "7.0.0-rc.1" "@babel/types" "7.0.0-rc.1"
"@babel/helper-get-function-arity@7.0.0-beta.44": "@babel/helper-function-name@^7.0.0":
version "7.0.0-beta.44" version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz#d03ca6dd2b9f7b0b1e6b32c56c72836140db3a15" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0.tgz#a68cc8d04420ccc663dd258f9cc41b8261efa2d4"
dependencies: dependencies:
"@babel/types" "7.0.0-beta.44" "@babel/helper-get-function-arity" "^7.0.0"
"@babel/template" "^7.0.0"
"@babel/types" "^7.0.0"
"@babel/helper-get-function-arity@7.0.0-rc.1": "@babel/helper-get-function-arity@7.0.0-rc.1":
version "7.0.0-rc.1" version "7.0.0-rc.1"
@ -140,6 +134,12 @@
dependencies: dependencies:
"@babel/types" "7.0.0-rc.1" "@babel/types" "7.0.0-rc.1"
"@babel/helper-get-function-arity@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3"
dependencies:
"@babel/types" "^7.0.0"
"@babel/helper-hoist-variables@7.0.0-rc.1": "@babel/helper-hoist-variables@7.0.0-rc.1":
version "7.0.0-rc.1" version "7.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-rc.1.tgz#6d0ff35d599fc7dd9dadaac444e99b7976238aec" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-rc.1.tgz#6d0ff35d599fc7dd9dadaac444e99b7976238aec"
@ -213,18 +213,18 @@
"@babel/types" "7.0.0-rc.1" "@babel/types" "7.0.0-rc.1"
lodash "^4.17.10" lodash "^4.17.10"
"@babel/helper-split-export-declaration@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz#c0b351735e0fbcb3822c8ad8db4e583b05ebd9dc"
dependencies:
"@babel/types" "7.0.0-beta.44"
"@babel/helper-split-export-declaration@7.0.0-rc.1": "@babel/helper-split-export-declaration@7.0.0-rc.1":
version "7.0.0-rc.1" version "7.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-rc.1.tgz#b00323834343fd0210f1f46c7a53521ad53efa5e" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-rc.1.tgz#b00323834343fd0210f1f46c7a53521ad53efa5e"
dependencies: dependencies:
"@babel/types" "7.0.0-rc.1" "@babel/types" "7.0.0-rc.1"
"@babel/helper-split-export-declaration@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813"
dependencies:
"@babel/types" "^7.0.0"
"@babel/helper-wrap-function@7.0.0-rc.1": "@babel/helper-wrap-function@7.0.0-rc.1":
version "7.0.0-rc.1" version "7.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-rc.1.tgz#168454fe350e9ead8d91cdc581597ea506e951ff" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-rc.1.tgz#168454fe350e9ead8d91cdc581597ea506e951ff"
@ -242,14 +242,6 @@
"@babel/traverse" "7.0.0-rc.1" "@babel/traverse" "7.0.0-rc.1"
"@babel/types" "7.0.0-rc.1" "@babel/types" "7.0.0-rc.1"
"@babel/highlight@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.44.tgz#18c94ce543916a80553edcdcf681890b200747d5"
dependencies:
chalk "^2.0.0"
esutils "^2.0.2"
js-tokens "^3.0.0"
"@babel/highlight@7.0.0-rc.1": "@babel/highlight@7.0.0-rc.1":
version "7.0.0-rc.1" version "7.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-rc.1.tgz#e0ca4731fa4786f7b9500421d6ff5e5a7753e81e" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-rc.1.tgz#e0ca4731fa4786f7b9500421d6ff5e5a7753e81e"
@ -258,10 +250,22 @@
esutils "^2.0.2" esutils "^2.0.2"
js-tokens "^3.0.0" js-tokens "^3.0.0"
"@babel/highlight@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4"
dependencies:
chalk "^2.0.0"
esutils "^2.0.2"
js-tokens "^4.0.0"
"@babel/parser@7.0.0-rc.1": "@babel/parser@7.0.0-rc.1":
version "7.0.0-rc.1" version "7.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0-rc.1.tgz#d009a9bba8175d7b971e30cd03535b278c44082d" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0-rc.1.tgz#d009a9bba8175d7b971e30cd03535b278c44082d"
"@babel/parser@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0.tgz#697655183394facffb063437ddf52c0277698775"
"@babel/plugin-proposal-async-generator-functions@7.0.0-rc.1": "@babel/plugin-proposal-async-generator-functions@7.0.0-rc.1":
version "7.0.0-rc.1" version "7.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-rc.1.tgz#70d4ca787485487370a82e380c39c8c233bca639" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-rc.1.tgz#70d4ca787485487370a82e380c39c8c233bca639"
@ -631,21 +635,17 @@
"@babel/plugin-transform-react-jsx-self" "7.0.0-rc.1" "@babel/plugin-transform-react-jsx-self" "7.0.0-rc.1"
"@babel/plugin-transform-react-jsx-source" "7.0.0-rc.1" "@babel/plugin-transform-react-jsx-source" "7.0.0-rc.1"
"@babel/runtime@^7.0.0-beta.42": "@babel/runtime@7.0.0", "@babel/runtime@^7.0.0":
version "7.0.0-beta.54" version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0-beta.54.tgz#39ebb42723fe7ca4b3e1b00e967e80138d47cadf" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0.tgz#adeb78fedfc855aa05bc041640f3f6f98e85424c"
dependencies: dependencies:
core-js "^2.5.7"
regenerator-runtime "^0.12.0" regenerator-runtime "^0.12.0"
"@babel/template@7.0.0-beta.44": "@babel/runtime@7.0.0-rc.1":
version "7.0.0-beta.44" version "7.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.44.tgz#f8832f4fdcee5d59bf515e595fc5106c529b394f" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0-rc.1.tgz#42f36fc5817911c89ea75da2b874054922967616"
dependencies: dependencies:
"@babel/code-frame" "7.0.0-beta.44" regenerator-runtime "^0.12.0"
"@babel/types" "7.0.0-beta.44"
babylon "7.0.0-beta.44"
lodash "^4.2.0"
"@babel/template@7.0.0-rc.1": "@babel/template@7.0.0-rc.1":
version "7.0.0-rc.1" version "7.0.0-rc.1"
@ -656,20 +656,13 @@
"@babel/types" "7.0.0-rc.1" "@babel/types" "7.0.0-rc.1"
lodash "^4.17.10" lodash "^4.17.10"
"@babel/traverse@7.0.0-beta.44": "@babel/template@^7.0.0":
version "7.0.0-beta.44" version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.44.tgz#a970a2c45477ad18017e2e465a0606feee0d2966" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0.tgz#c2bc9870405959c89a9c814376a2ecb247838c80"
dependencies: dependencies:
"@babel/code-frame" "7.0.0-beta.44" "@babel/code-frame" "^7.0.0"
"@babel/generator" "7.0.0-beta.44" "@babel/parser" "^7.0.0"
"@babel/helper-function-name" "7.0.0-beta.44" "@babel/types" "^7.0.0"
"@babel/helper-split-export-declaration" "7.0.0-beta.44"
"@babel/types" "7.0.0-beta.44"
babylon "7.0.0-beta.44"
debug "^3.1.0"
globals "^11.1.0"
invariant "^2.2.0"
lodash "^4.2.0"
"@babel/traverse@7.0.0-rc.1": "@babel/traverse@7.0.0-rc.1":
version "7.0.0-rc.1" version "7.0.0-rc.1"
@ -685,13 +678,19 @@
globals "^11.1.0" globals "^11.1.0"
lodash "^4.17.10" lodash "^4.17.10"
"@babel/types@7.0.0-beta.44": "@babel/traverse@^7.0.0":
version "7.0.0-beta.44" version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.44.tgz#6b1b164591f77dec0a0342aca995f2d046b3a757" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0.tgz#b1fe9b6567fdf3ab542cfad6f3b31f854d799a61"
dependencies: dependencies:
esutils "^2.0.2" "@babel/code-frame" "^7.0.0"
lodash "^4.2.0" "@babel/generator" "^7.0.0"
to-fast-properties "^2.0.0" "@babel/helper-function-name" "^7.0.0"
"@babel/helper-split-export-declaration" "^7.0.0"
"@babel/parser" "^7.0.0"
"@babel/types" "^7.0.0"
debug "^3.1.0"
globals "^11.1.0"
lodash "^4.17.10"
"@babel/types@7.0.0-rc.1": "@babel/types@7.0.0-rc.1":
version "7.0.0-rc.1" version "7.0.0-rc.1"
@ -701,11 +700,19 @@
lodash "^4.17.10" lodash "^4.17.10"
to-fast-properties "^2.0.0" to-fast-properties "^2.0.0"
"@material-ui/core@^1.2.1": "@babel/types@^7.0.0":
version "1.4.0" version "7.0.0"
resolved "https://registry.yarnpkg.com/@material-ui/core/-/core-1.4.0.tgz#e535fef84576b096c46e1fb7d6c4c61895155fd3" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0.tgz#6e191793d3c854d19c6749989e3bc55f0e962118"
dependencies: dependencies:
"@babel/runtime" "^7.0.0-beta.42" esutils "^2.0.2"
lodash "^4.17.10"
to-fast-properties "^2.0.0"
"@material-ui/core@^3.0.1":
version "3.0.1"
resolved "https://registry.yarnpkg.com/@material-ui/core/-/core-3.0.1.tgz#e8476394a42d89ae404355ddbc093db4d044b225"
dependencies:
"@babel/runtime" "7.0.0"
"@types/jss" "^9.5.3" "@types/jss" "^9.5.3"
"@types/react-transition-group" "^2.0.8" "@types/react-transition-group" "^2.0.8"
brcast "^3.0.1" brcast "^3.0.1"
@ -725,18 +732,19 @@
jss-vendor-prefixer "^7.0.0" jss-vendor-prefixer "^7.0.0"
keycode "^2.1.9" keycode "^2.1.9"
normalize-scroll-left "^0.1.2" normalize-scroll-left "^0.1.2"
popper.js "^1.0.0" popper.js "^1.14.1"
prop-types "^15.6.0" prop-types "^15.6.0"
react-event-listener "^0.6.0" react-event-listener "^0.6.2"
react-jss "^8.1.0" react-jss "^8.1.0"
react-transition-group "^2.2.1" react-transition-group "^2.2.1"
recompose "^0.27.0" recompose "^0.29.0"
scroll "^2.0.3"
warning "^4.0.1" warning "^4.0.1"
"@material-ui/lab@^1.0.0-alpha.5": "@material-ui/lab@^1.0.0-alpha.12":
version "1.0.0-alpha.6" version "1.0.0-alpha.12"
resolved "https://registry.yarnpkg.com/@material-ui/lab/-/lab-1.0.0-alpha.6.tgz#ee5c03a8577a9cbc4e41b2bfbdfc15b561822749" resolved "https://registry.yarnpkg.com/@material-ui/lab/-/lab-1.0.0-alpha.12.tgz#6d0a3a5895aa56ee649844d57927a5b1b3c0afc2"
dependencies:
"@babel/runtime" "7.0.0-rc.1"
"@mdi/font@^2.0.46": "@mdi/font@^2.0.46":
version "2.5.94" version "2.5.94"
@ -1101,14 +1109,14 @@ babel-code-frame@^6.26.0:
esutils "^2.0.2" esutils "^2.0.2"
js-tokens "^3.0.2" js-tokens "^3.0.2"
babel-eslint@^8.0.1: babel-eslint@^9.0.0:
version "8.2.6" version "9.0.0"
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.6.tgz#6270d0c73205628067c0f7ae1693a9e797acefd9" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-9.0.0.tgz#7d9445f81ed9f60aff38115f838970df9f2b6220"
dependencies: dependencies:
"@babel/code-frame" "7.0.0-beta.44" "@babel/code-frame" "^7.0.0"
"@babel/traverse" "7.0.0-beta.44" "@babel/parser" "^7.0.0"
"@babel/types" "7.0.0-beta.44" "@babel/traverse" "^7.0.0"
babylon "7.0.0-beta.44" "@babel/types" "^7.0.0"
eslint-scope "3.7.1" eslint-scope "3.7.1"
eslint-visitor-keys "^1.0.0" eslint-visitor-keys "^1.0.0"
@ -1136,10 +1144,6 @@ babel-runtime@^6.26.0:
core-js "^2.4.0" core-js "^2.4.0"
regenerator-runtime "^0.11.0" regenerator-runtime "^0.11.0"
babylon@7.0.0-beta.44:
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d"
balanced-match@^1.0.0: balanced-match@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
@ -1743,6 +1747,12 @@ create-ecdh@^4.0.0:
bn.js "^4.1.0" bn.js "^4.1.0"
elliptic "^6.0.0" elliptic "^6.0.0"
create-eslint-index@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/create-eslint-index/-/create-eslint-index-1.0.0.tgz#d954372d86d5792fcd67e9f2b791b1ab162411bb"
dependencies:
lodash.get "^4.3.0"
create-hash@^1.1.0, create-hash@^1.1.2: create-hash@^1.1.0, create-hash@^1.1.2:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
@ -2048,10 +2058,6 @@ dom-serializer@0:
domelementtype "~1.1.1" domelementtype "~1.1.1"
entities "~1.1.1" entities "~1.1.1"
dom-walk@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018"
domain-browser@^1.1.1: domain-browser@^1.1.1:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
@ -2225,12 +2231,28 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5" version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
eslint-ast-utils@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz#3d58ba557801cfb1c941d68131ee9f8c34bd1586"
dependencies:
lodash.get "^4.4.2"
lodash.zip "^4.2.0"
eslint-plugin-flowtype@^2.42.0: eslint-plugin-flowtype@^2.42.0:
version "2.50.0" version "2.50.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.0.tgz#953e262fa9b5d0fa76e178604892cf60dfb916da" resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.0.tgz#953e262fa9b5d0fa76e178604892cf60dfb916da"
dependencies: dependencies:
lodash "^4.17.10" lodash "^4.17.10"
eslint-plugin-fp@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-fp/-/eslint-plugin-fp-2.3.0.tgz#376d2a108710e981980bdc3875e3b9920da0489c"
dependencies:
create-eslint-index "^1.0.0"
eslint-ast-utils "^1.0.0"
lodash "^4.13.1"
req-all "^0.1.0"
eslint-plugin-react@^7.6.1: eslint-plugin-react@^7.6.1:
version "7.10.0" version "7.10.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.10.0.tgz#af5c1fef31c4704db02098f9be18202993828b50" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.10.0.tgz#af5c1fef31c4704db02098f9be18202993828b50"
@ -2578,9 +2600,9 @@ flat-cache@^1.2.1:
graceful-fs "^4.1.2" graceful-fs "^4.1.2"
write "^0.2.1" write "^0.2.1"
flow-bin@^0.79.0: flow-bin@^0.80.0:
version "0.79.0" version "0.80.0"
resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.79.0.tgz#a7029f2832d45e5b78f7e77a74fee898722fb6ef" resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.80.0.tgz#04cc1ee626a6f50786f78170c92ebe1745235403"
flow-typed@^2.3.0: flow-typed@^2.3.0:
version "2.5.1" version "2.5.1"
@ -2769,13 +2791,6 @@ global-modules-path@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.1.0.tgz#923ec524e8726bb0c1a4ed4b8e21e1ff80c88bbb" resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.1.0.tgz#923ec524e8726bb0c1a4ed4b8e21e1ff80c88bbb"
global@~4.3.0:
version "4.3.2"
resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f"
dependencies:
min-document "^2.19.0"
process "~0.5.1"
globals@^11.1.0, globals@^11.7.0: globals@^11.1.0, globals@^11.7.0:
version "11.7.0" version "11.7.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673" resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673"
@ -3181,7 +3196,7 @@ interpret@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614"
invariant@^2.2.0, invariant@^2.2.2: invariant@^2.2.2:
version "2.2.4" version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
dependencies: dependencies:
@ -3464,7 +3479,7 @@ js-tokens@^3.0.0, js-tokens@^3.0.2:
version "3.0.2" version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
"js-tokens@^3.0.0 || ^4.0.0": "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@ -3707,7 +3722,15 @@ lodash.debounce@^4.0.8:
version "4.0.8" version "4.0.8"
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0: lodash.get@^4.3.0, lodash.get@^4.4.2:
version "4.4.2"
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
lodash.zip@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/lodash.zip/-/lodash.zip-4.2.0.tgz#ec6662e4896408ed4ab6c542a3990b72cc080020"
lodash@^4.0.0, lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0:
version "4.17.10" version "4.17.10"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
@ -3894,12 +3917,6 @@ mimic-response@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
min-document@^2.19.0:
version "2.19.0"
resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
dependencies:
dom-walk "^0.1.0"
minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
@ -4498,9 +4515,9 @@ pluralize@^7.0.0:
version "7.0.0" version "7.0.0"
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
popper.js@^1.0.0: popper.js@^1.14.1:
version "1.14.3" version "1.14.4"
resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.14.3.tgz#1438f98d046acf7b4d78cd502bf418ac64d4f095" resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.14.4.tgz#8eec1d8ff02a5a3a152dd43414a15c7b79fd69b6"
portfinder@^1.0.9: portfinder@^1.0.9:
version "1.0.13" version "1.0.13"
@ -4584,10 +4601,6 @@ process@^0.11.10:
version "0.11.10" version "0.11.10"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
process@~0.5.1:
version "0.5.2"
resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf"
progress@^2.0.0: progress@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f"
@ -4684,12 +4697,6 @@ querystringify@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.0.0.tgz#fa3ed6e68eb15159457c89b37bc6472833195755" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.0.0.tgz#fa3ed6e68eb15159457c89b37bc6472833195755"
rafl@~1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/rafl/-/rafl-1.2.2.tgz#fe930f758211020d47e38815f5196a8be4150740"
dependencies:
global "~4.3.0"
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
version "2.0.6" version "2.0.6"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80"
@ -4734,11 +4741,11 @@ react-dom@^16.0.0:
object-assign "^4.1.1" object-assign "^4.1.1"
prop-types "^15.6.0" prop-types "^15.6.0"
react-event-listener@^0.6.0: react-event-listener@^0.6.2:
version "0.6.1" version "0.6.3"
resolved "https://registry.yarnpkg.com/react-event-listener/-/react-event-listener-0.6.1.tgz#41c7a80a66b398c27dd511e22712b02f3d4eccca" resolved "https://registry.yarnpkg.com/react-event-listener/-/react-event-listener-0.6.3.tgz#8eab88129a76e095ed8aa684c29679eded1e843d"
dependencies: dependencies:
"@babel/runtime" "^7.0.0-beta.42" "@babel/runtime" "7.0.0-rc.1"
prop-types "^15.6.0" prop-types "^15.6.0"
warning "^4.0.1" warning "^4.0.1"
@ -4846,11 +4853,11 @@ readdirp@^2.0.0:
readable-stream "^2.0.2" readable-stream "^2.0.2"
set-immediate-shim "^1.0.1" set-immediate-shim "^1.0.1"
recompose@^0.27.0: recompose@^0.29.0:
version "0.27.1" version "0.29.0"
resolved "https://registry.yarnpkg.com/recompose/-/recompose-0.27.1.tgz#1a49e931f183634516633bbb4f4edbfd3f38a7ba" resolved "https://registry.yarnpkg.com/recompose/-/recompose-0.29.0.tgz#f1a4e20d5f24d6ef1440f83924e821de0b1bccef"
dependencies: dependencies:
babel-runtime "^6.26.0" "@babel/runtime" "^7.0.0"
change-emitter "^0.1.2" change-emitter "^0.1.2"
fbjs "^0.8.1" fbjs "^0.8.1"
hoist-non-react-statics "^2.3.1" hoist-non-react-statics "^2.3.1"
@ -4993,6 +5000,10 @@ repeating@^2.0.0:
dependencies: dependencies:
is-finite "^1.0.0" is-finite "^1.0.0"
req-all@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/req-all/-/req-all-0.1.0.tgz#130051e2ace58a02eacbfc9d448577a736a9273a"
require-directory@^2.1.1: require-directory@^2.1.1:
version "2.1.1" version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
@ -5113,12 +5124,6 @@ schema-utils@^0.4.4, schema-utils@^0.4.5:
ajv "^6.1.0" ajv "^6.1.0"
ajv-keywords "^3.1.0" ajv-keywords "^3.1.0"
scroll@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/scroll/-/scroll-2.0.3.tgz#0951b785544205fd17753bc3d294738ba16fc2ab"
dependencies:
rafl "~1.2.1"
select-hose@^2.0.0: select-hose@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
@ -5497,9 +5502,9 @@ strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
style-loader@^0.22.0: style-loader@^0.23.0:
version "0.22.0" version "0.23.0"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.22.0.tgz#2044d96156f454cc37b61f98eb49980239f4b8eb" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.0.tgz#8377fefab68416a2e05f1cabd8c3a3acfcce74f1"
dependencies: dependencies:
loader-utils "^1.1.0" loader-utils "^1.1.0"
schema-utils "^0.4.5" schema-utils "^0.4.5"