diff --git a/NOTICE-js b/NOTICE-js
index e3fb0d4a..c111a2e1 100644
--- a/NOTICE-js
+++ b/NOTICE-js
@@ -4364,6 +4364,8 @@ Copyright 2010-2012 Mathias Bynens
Copyright (c) 2015 Simon Friis Vindum
** flyd-url; version 0.0.1 -- https://github.com/jayrbolton/flyd-url#readme
** flyd-zip; version 0.0.1 -- https://github.com/jayrbolton/flyd-zip#readme
+** fn-name; version 3.0.0 -- https://github.com/sindresorhus/fn-name#readme
+Copyright (c) Sindre Sorhus (sindresorhus.com)
** focus-group; version 0.3.1 -- https://github.com/davidtheclark/focus-group#readme
** focus-trap; version 3.0.0 -- https://github.com/davidtheclark/focus-trap#readme
Copyright (c) 2015-2016 David Clark
@@ -4793,7 +4795,6 @@ Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert).
** isstream; version 0.1.2 -- https://github.com/rvagg/isstream
Copyright (c) 2015 Rod Vagg
Copyright (c) 2015 Rod Vagg rvagg (https://twitter.com/rvagg)
-** iterate-iterator; version 1.0.1 -- https://github.com/ljharb/iterate-iterator#readme
MIT License
@@ -5056,8 +5057,6 @@ Copyright (c) Isaac Z. Schlueter and Contributors
Copyright (c) Isaac Z. Schlueter and Contributors
** once; version 1.4.0 -- https://github.com/isaacs/once#readme
Copyright (c) Isaac Z. Schlueter and Contributors
-** osenv; version 0.1.5 -- https://github.com/npm/osenv#readme
-Copyright (c) Isaac Z. Schlueter and Contributors
ISC License
@@ -5071,6 +5070,7 @@ THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO
------
+** iterate-iterator; version 1.0.1 -- https://github.com/ljharb/iterate-iterator#readme
** iterate-value; version 1.0.2 -- https://github.com/ljharb/iterate-value#readme
Copyright (c) 2019 Jordan Harband
** jest; version 26.4.2 -- https://jestjs.io/
@@ -6021,6 +6021,8 @@ For these and/or other purposes and motivations, and without any expectation of
------
+** osenv; version 0.1.5 -- https://github.com/npm/osenv#readme
+Copyright (c) Isaac Z. Schlueter and Contributors
** parse-asn1; version 5.1.6 -- https://github.com/crypto-browserify/parse-asn1#readme
Copyright (c) 2017, crypto-browserify contributors
** postcss-color-gray; version 5.0.0 -- https://github.com/postcss/postcss-color-gray#readme
@@ -6038,7 +6040,6 @@ Copyright (c) 2018, Aleck Greenham
Copyright (c) Facebook, Inc. and its affiliates.
** remove-trailing-separator; version 1.1.0 -- https://github.com/darsain/remove-trailing-separator#readme
** request-promise-core; version 1.1.4 -- https://github.com/request/promise-core#readme
-** request-promise-native; version 1.0.9 -- https://github.com/request/request-promise-native#readme
ISC License
@@ -6387,6 +6388,7 @@ Copyright (c) 2013-present, Facebook, Inc.
Copyright (c) Facebook, Inc. and its affiliates.
** prop-types-exact; version 1.2.0 -- https://github.com/airbnb/prop-types-exact#readme
Copyright (c) 2017 Airbnb
+** property-expr; version 2.0.4 -- https://github.com/jquense/expr#readme
** property-information; version 5.5.0 -- https://github.com/wooorm/property-information#readme
(c) Titus Wormer
(c) 2013-2015, Facebook, Inc.
@@ -6602,8 +6604,6 @@ Copyright (c) Sindre Sorhus (sindresorhus.com)
Copyright (c) 2014 Blaine Bublitz , Eric Schoffstall and other contributors
** request-progress; version 2.0.1 -- https://github.com/IndigoUnited/node-request-progress
Copyright (c) 2012 IndigoUnited
-** require-directory; version 2.1.1 -- https://github.com/troygoode/node-require-directory/
-Copyright (c) 2011 Troy Goode
MIT License
@@ -6845,6 +6845,8 @@ Copyright 2009-2011 Mozilla Foundation and contributors
Copyright (c) 2009-2011, Mozilla Foundation and contributors
** sprintf-js; version 1.0.3 -- https://github.com/alexei/sprintf.js#readme
Copyright (c) 2007-2014, Alexandru Marasteanu
+** synchronous-promise; version 2.0.15 -- https://github.com/fluffynuts/synchronous-promise#readme
+Copyright (c) 2016, Davyd McColl
** table; version 5.4.6 -- https://github.com/gajus/table#readme
Copyright (c) 2018, Gajus Kuizinas (http://gajus.com/)
** tmpl; version 1.0.4 -- https://github.com/nshah/nodejs-tmpl
@@ -7010,6 +7012,7 @@ For these and/or other purposes and motivations, and without any expectation of
------
+** request-promise-native; version 1.0.9 -- https://github.com/request/request-promise-native#readme
** require-main-filename; version 2.0.0 -- https://github.com/yargs/require-main-filename#readme
Copyright (c) 2016
** rimraf; version 2.7.1 -- https://github.com/isaacs/rimraf#readme
@@ -7060,6 +7063,8 @@ THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO
------
+** require-directory; version 2.1.1 -- https://github.com/troygoode/node-require-directory/
+Copyright (c) 2011 Troy Goode
** requires-port; version 1.0.0 -- https://github.com/unshiftio/requires-port
Copyright (c) 2015 Unshift.io, Arnout Kazemier
** resize-observer-polyfill; version 1.5.1 -- https://github.com/que-etc/resize-observer-polyfill
@@ -7425,6 +7430,8 @@ Copyright (c) 2017, Jon Schlinkert (https://github.com/jonschlinkert).
** toidentifier; version 1.0.0 -- https://github.com/component/toidentifier#readme
Copyright (c) 2016 Douglas Christopher Wilson
Copyright (c) 2016 Douglas Christopher Wilson
+** toposort; version 2.0.2 -- https://github.com/marcelklehr/toposort#readme
+Copyright (c) 2012 by Marcel Klehr
** tr46; version 1.0.1 -- https://github.com/sebmaster/tr46.js#readme
Copyright (c) 2016 Sebastian Mayr
** trim; version 0.0.1 --
@@ -7565,16 +7572,6 @@ Copyright (c) 2010-2012 Robert Kieffer
Copyright (c) 1986-1993, 1998, 2004, 2007-2010 Thomas Williams, Colin Kelley
** v8-compile-cache; version 2.1.1 -- https://github.com/zertosh/v8-compile-cache#readme
Copyright (c) 2019 Andres Suarez
-** validator; version 9.4.1 -- http://github.com/chriso/validator.js
-Copyright (c) 2016 Chris O'Hara
-Copyright (c) 2017 Chris O'Hara
-** vary; version 1.1.2 -- https://github.com/jshttp/vary#readme
-Copyright (c) 2014-2017 Douglas Christopher Wilson
-** vdom-thunk; version 3.0.0 -- https://github.com/Raynos/vdom-thunk
-Copyright (c) 2014 Raynos.
-** vendors; version 1.0.4 -- https://github.com/wooorm/vendors#readme
-(c) Titus Wormer
-Copyright (c) 2016 Titus Wormer
MIT License
@@ -7806,6 +7803,16 @@ THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO
** js-money; version 0.6.3 -- https://github.com/davidkalosi/js-money#readme
Copyright (c) 2014 David Kalosi
Copyright (c) 2014 David Kalosi http://davidkalosi.com/ (http://davidkalosi.com/)
+** validator; version 9.4.1 -- http://github.com/chriso/validator.js
+Copyright (c) 2016 Chris O'Hara
+Copyright (c) 2017 Chris O'Hara
+** vary; version 1.1.2 -- https://github.com/jshttp/vary#readme
+Copyright (c) 2014-2017 Douglas Christopher Wilson
+** vdom-thunk; version 3.0.0 -- https://github.com/Raynos/vdom-thunk
+Copyright (c) 2014 Raynos.
+** vendors; version 1.0.4 -- https://github.com/wooorm/vendors#readme
+(c) Titus Wormer
+Copyright (c) 2016 Titus Wormer
** verror; version 1.10.0 -- https://github.com/davepacheco/node-verror
Copyright (c) 2016, Joyent, Inc.
** vfile; version 4.2.0 -- https://github.com/vfile/vfile#readme
@@ -7898,6 +7905,9 @@ Copyright 2010 James Halliday (mail@substack.net)
Copyright (c) Sindre Sorhus (sindresorhus.com)
** yauzl; version 2.10.0 -- https://github.com/thejoshwolfe/yauzl
Copyright (c) 2014 Josh Wolfe
+** yup; version 0.29.3 -- https://github.com/jquense/yup
+Copyright (c) 2014 Jason Quense
+(c) 2011 Colin Snover
** zwitch; version 1.0.5 -- https://github.com/wooorm/zwitch#readme
(c) Titus Wormer
Copyright (c) 2016 Titus Wormer
diff --git a/package.json b/package.json
index fa405b9d..a86a531c 100644
--- a/package.json
+++ b/package.json
@@ -175,7 +175,8 @@
"view-script": "0.3.6",
"virtual-dom": "2.1.1",
"vvvview": "0.4.3",
- "websocket-extensions": "^0.1.4"
+ "websocket-extensions": "^0.1.4",
+ "yup": "^0.29.3"
},
"jest": {
"testEnvironment": "jest-environment-jsdom-fifteen",
diff --git a/yarn.lock b/yarn.lock
index 99e3b7ec..196f0933 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1442,6 +1442,13 @@
dependencies:
regenerator-runtime "^0.13.4"
+"@babel/runtime@^7.10.5":
+ version "7.12.1"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740"
+ integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
"@babel/runtime@^7.11.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
version "7.11.2"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736"
@@ -8245,6 +8252,11 @@ flyd@0.2.4:
dependencies:
ramda "^0.19.1"
+fn-name@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-3.0.0.tgz#0596707f635929634d791f452309ab41558e3c5c"
+ integrity sha512-eNMNr5exLoavuAMhIUVsOKF79SWd/zG104ef6sxBTSw+cZc6BXdQXDvYcGvp0VbxVVSp1XDUNoz7mg1xMtSznA==
+
focus-group@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/focus-group/-/focus-group-0.3.1.tgz#e0f32ed86b0dabdd6ffcebdf898ecb32e47fedce"
@@ -11211,7 +11223,7 @@ locate-path@^5.0.0:
dependencies:
p-locate "^4.1.0"
-lodash-es@^4.17.14:
+lodash-es@^4.17.11, lodash-es@^4.17.14:
version "4.17.15"
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.15.tgz#21bd96839354412f23d7a10340e5eac6ee455d78"
integrity sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ==
@@ -14127,6 +14139,11 @@ prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.6.0,
object-assign "^4.1.1"
react-is "^16.8.1"
+property-expr@^2.0.2:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.4.tgz#37b925478e58965031bb612ec5b3260f8241e910"
+ integrity sha512-sFPkHQjVKheDNnPvotjQmm3KD3uk1fWKUN7CrpdbwmUx3CrG3QiM8QpTSimvig5vTXmTvjz7+TDvXOI9+4rkcg==
+
property-information@^5.0.0, property-information@^5.3.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.5.0.tgz#4dc075d493061a82e2b7d096f406e076ed859943"
@@ -16586,6 +16603,11 @@ symbol.prototype.description@^1.0.0:
es-abstract "^1.17.0-next.1"
has-symbols "^1.0.1"
+synchronous-promise@^2.0.13:
+ version "2.0.15"
+ resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.15.tgz#07ca1822b9de0001f5ff73595f3d08c4f720eb8e"
+ integrity sha512-k8uzYIkIVwmT+TcglpdN50pS2y1BDcUnBPK9iJeGu0Pl1lOI8pD6wtzgw91Pjpe+RxtTncw32tLxs/R0yNL2Mg==
+
tabbable@^3.1.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-3.1.2.tgz#f2d16cccd01f400e38635c7181adfe0ad965a4a2"
@@ -16880,6 +16902,11 @@ toidentifier@1.0.0:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
+toposort@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330"
+ integrity sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=
+
tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
@@ -18094,6 +18121,19 @@ yauzl@^2.10.0:
buffer-crc32 "~0.2.3"
fd-slicer "~1.1.0"
+yup@^0.29.3:
+ version "0.29.3"
+ resolved "https://registry.yarnpkg.com/yup/-/yup-0.29.3.tgz#69a30fd3f1c19f5d9e31b1cf1c2b851ce8045fea"
+ integrity sha512-RNUGiZ/sQ37CkhzKFoedkeMfJM0vNQyaz+wRZJzxdKE7VfDeVKH8bb4rr7XhRLbHJz5hSjoDNwMEIaKhuMZ8gQ==
+ dependencies:
+ "@babel/runtime" "^7.10.5"
+ fn-name "~3.0.0"
+ lodash "^4.17.15"
+ lodash-es "^4.17.11"
+ property-expr "^2.0.2"
+ synchronous-promise "^2.0.13"
+ toposort "^2.0.2"
+
zwitch@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920"