From 000b05c2dda4a83366fd10905dd21f17a6b455b3 Mon Sep 17 00:00:00 2001 From: Udo Garmann <udo.garmann@th-deg.de> Date: Thu, 12 Nov 2020 13:00:23 +0100 Subject: [PATCH] Navigation, Routing and Theming added --- angular.json | 9 +- mit-ws-20-21.wiki | 2 +- package-lock.json | 1447 +++-------------- package.json | 4 +- src/app/app.component.css | 7 + src/app/app.component.html | 547 +------ src/app/app.component.ts | 2 +- src/app/app.module.ts | 39 +- .../international/international.component.css | 0 .../international.component.html | 1 + .../international.component.spec.ts | 25 + .../international/international.component.ts | 15 + src/app/login/login.component.css | 0 src/app/login/login.component.html | 1 + src/app/login/login.component.spec.ts | 25 + src/app/login/login.component.ts | 15 + src/app/navigation/navigation.component.css | 0 src/app/navigation/navigation.component.html | 1 + .../navigation/navigation.component.spec.ts | 25 + src/app/navigation/navigation.component.ts | 15 + src/app/rooms/rooms.component.css | 0 src/app/rooms/rooms.component.html | 1 + src/app/rooms/rooms.component.spec.ts | 25 + src/app/rooms/rooms.component.ts | 15 + src/app/start/start.component.css | 0 src/app/start/start.component.html | 1 + src/app/start/start.component.spec.ts | 25 + src/app/start/start.component.ts | 15 + src/assets/THD-Logo.png | Bin 0 -> 29026 bytes src/custom-theme.scss | 120 ++ src/index.html | 6 +- src/styles.css | 10 +- 32 files changed, 619 insertions(+), 1779 deletions(-) create mode 100644 src/app/international/international.component.css create mode 100644 src/app/international/international.component.html create mode 100644 src/app/international/international.component.spec.ts create mode 100644 src/app/international/international.component.ts create mode 100644 src/app/login/login.component.css create mode 100644 src/app/login/login.component.html create mode 100644 src/app/login/login.component.spec.ts create mode 100644 src/app/login/login.component.ts create mode 100644 src/app/navigation/navigation.component.css create mode 100644 src/app/navigation/navigation.component.html create mode 100644 src/app/navigation/navigation.component.spec.ts create mode 100644 src/app/navigation/navigation.component.ts create mode 100644 src/app/rooms/rooms.component.css create mode 100644 src/app/rooms/rooms.component.html create mode 100644 src/app/rooms/rooms.component.spec.ts create mode 100644 src/app/rooms/rooms.component.ts create mode 100644 src/app/start/start.component.css create mode 100644 src/app/start/start.component.html create mode 100644 src/app/start/start.component.spec.ts create mode 100644 src/app/start/start.component.ts create mode 100644 src/assets/THD-Logo.png create mode 100644 src/custom-theme.scss diff --git a/angular.json b/angular.json index d45aeb8..650d5ab 100644 --- a/angular.json +++ b/angular.json @@ -24,7 +24,7 @@ "src/assets" ], "styles": [ - "src/styles.css" + "src/custom-theme.scss" ], "scripts": [] }, @@ -88,7 +88,7 @@ "src/assets" ], "styles": [ - "src/styles.css" + "src/custom-theme.scss" ], "scripts": [] } @@ -119,6 +119,7 @@ } } } - }}, + } + }, "defaultProject": "mit-ws" -} +} \ No newline at end of file diff --git a/mit-ws-20-21.wiki b/mit-ws-20-21.wiki index 415a42c..1add6da 160000 --- a/mit-ws-20-21.wiki +++ b/mit-ws-20-21.wiki @@ -1 +1 @@ -Subproject commit 415a42c04471c795c74c2e9793dfca93d2d88017 +Subproject commit 1add6da6c629add4d119475c8c713eaf290008ef diff --git a/package-lock.json b/package-lock.json index f1f4e89..01f1f50 100644 --- a/package-lock.json +++ b/package-lock.json @@ -150,6 +150,23 @@ "tslib": "^2.0.0" } }, + "@angular/cdk": { + "version": "10.2.7", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-10.2.7.tgz", + "integrity": "sha512-ZQjDfTRTn7JuAKsf3jiIdU2XBaxxGBi/ZWYv5Pb3HCl6B4PISsIE5VWRhkoUogoAB0MiFHpjnWeIqknJEm11YQ==", + "requires": { + "parse5": "^5.0.0", + "tslib": "^2.0.0" + }, + "dependencies": { + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "optional": true + } + } + }, "@angular/cli": { "version": "10.0.8", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-10.0.8.tgz", @@ -415,6 +432,14 @@ "tslib": "^2.0.0" } }, + "@angular/material": { + "version": "10.2.7", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-10.2.7.tgz", + "integrity": "sha512-uk6JkRrKHaM9VFMzX7pWC83YNLVgXPB3D8U1yjSOafCdWwrRZgUHGr8MPlSILCr3o2nxgg5SsKdWcWwHuXXUZA==", + "requires": { + "tslib": "^2.0.0" + } + }, "@angular/platform-browser": { "version": "10.0.14", "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-10.0.14.tgz", @@ -1602,61 +1627,6 @@ "semver-intersect": "1.4.0" } }, - "@types/babel-types": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.9.tgz", - "integrity": "sha512-qZLoYeXSTgQuK1h7QQS16hqLGdmqtRmN8w/rl3Au/l5x/zkHx+a4VHrHyBsi1I1vtK2oBHxSzKIu0R5p6spdOA==" - }, - "@types/babylon": { - "version": "6.16.5", - "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.5.tgz", - "integrity": "sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==", - "requires": { - "@types/babel-types": "*" - } - }, - "@types/bluebird": { - "version": "3.5.32", - "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.32.tgz", - "integrity": "sha512-dIOxFfI0C+jz89g6lQ+TqhGgPQ0MxSnh/E4xuC0blhFtyW269+mPG5QeLgbdwst/LvdP8o1y0o/Gz5EHXLec/g==" - }, - "@types/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.33", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz", - "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==", - "requires": { - "@types/node": "*" - } - }, - "@types/express": { - "version": "4.0.39", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.0.39.tgz", - "integrity": "sha512-dBUam7jEjyuEofigUXCtublUHknRZvcRgITlGsTbFgPvnTwtQUt2NgLakbsf+PsGo/Nupqr3IXCYsOpBpofyrA==", - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.13.tgz", - "integrity": "sha512-RgDi5a4nuzam073lRGKTUIaL3eF2+H7LJvJ8eUnCI0wA6SNjXc44DCmWNiTLs/AZ7QlsFWZiw/gTG3nSQGL0fA==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, "@types/glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", @@ -1688,11 +1658,6 @@ "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", "dev": true }, - "@types/mime": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", - "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==" - }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -1702,7 +1667,8 @@ "@types/node": { "version": "12.19.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.1.tgz", - "integrity": "sha512-/xaVmBBjOGh55WCqumLAHXU9VhjGtmyTGqJzFBXRWZzByOXI5JAJNx9xPVGEsNizrNwcec92fQMj458MWfjN1A==" + "integrity": "sha512-/xaVmBBjOGh55WCqumLAHXU9VhjGtmyTGqJzFBXRWZzByOXI5JAJNx9xPVGEsNizrNwcec92fQMj458MWfjN1A==", + "dev": true }, "@types/q": { "version": "1.5.4", @@ -1710,31 +1676,12 @@ "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", "dev": true }, - "@types/qs": { - "version": "6.9.5", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz", - "integrity": "sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==" - }, - "@types/range-parser": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", - "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==" - }, "@types/selenium-webdriver": { "version": "3.0.17", "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz", "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==", "dev": true }, - "@types/serve-static": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.6.tgz", - "integrity": "sha512-nuRJmv7jW7VmCVTn+IgYDkkbbDGyIINOeu/G0d74X3lm6E5KfMeQPJhxIt1ayQeQB3cSxvYs1RA/wipYoFB4EA==", - "requires": { - "@types/mime": "*", - "@types/node": "*" - } - }, "@types/source-list-map": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", @@ -1973,6 +1920,7 @@ "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, "requires": { "mime-types": "~2.1.24", "negotiator": "0.6.2" @@ -1984,21 +1932,6 @@ "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, - "acorn-globals": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", - "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", - "requires": { - "acorn": "^4.0.4" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" - } - } - }, "adjust-sourcemap-loader": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz", @@ -2110,26 +2043,6 @@ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "alphanum-sort": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", @@ -2157,14 +2070,6 @@ "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", "dev": true }, - "ansi-red": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", - "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", - "requires": { - "ansi-wrap": "0.1.0" - } - }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -2180,11 +2085,6 @@ "color-convert": "^1.9.0" } }, - "ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" - }, "anymatch": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", @@ -2217,6 +2117,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -2294,7 +2195,8 @@ "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true }, "asn1": { "version": "0.2.4", @@ -2385,14 +2287,6 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, - "autolinker": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz", - "integrity": "sha1-BlK0kYgYefB3XazgzcoyM5QqTkc=", - "requires": { - "gulp-header": "^1.7.1" - } - }, "autoprefixer": { "version": "9.8.0", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.0.tgz", @@ -2484,50 +2378,6 @@ "object.assign": "^4.1.0" } }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - }, - "dependencies": { - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - } - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - }, - "dependencies": { - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" - } - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - }, "backo2": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", @@ -2613,14 +2463,6 @@ "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", "dev": true }, - "basic-auth": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", - "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", - "requires": { - "safe-buffer": "5.1.2" - } - }, "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -2675,12 +2517,8 @@ "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "blueimp-md5": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.18.0.tgz", - "integrity": "sha512-vE52okJvzsVWhcgUHOv+69OG3Mdg151xyn41aVQN/5W5S+S43qZhxECtYLAEHMSFWX6Mv5IZrzj3T5+JqXfj5Q==" + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true }, "bn.js": { "version": "5.1.3", @@ -2692,6 +2530,7 @@ "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, "requires": { "bytes": "3.1.0", "content-type": "~1.0.4", @@ -2708,12 +2547,14 @@ "bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -2722,6 +2563,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -2729,7 +2571,8 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -2913,7 +2756,8 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "buffer-indexof": { "version": "1.1.1", @@ -3034,7 +2878,8 @@ "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true }, "caniuse-api": { "version": "3.0.0", @@ -3066,15 +2911,6 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - } - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -3086,25 +2922,12 @@ "supports-color": "^5.3.0" } }, - "character-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", - "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", - "requires": { - "is-regex": "^1.0.3" - } - }, "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, - "charset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/charset/-/charset-1.0.1.tgz", - "integrity": "sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==" - }, "chokidar": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", @@ -3183,21 +3006,6 @@ } } }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -3335,11 +3143,6 @@ } } }, - "coffee-script": { - "version": "1.12.7", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", - "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==" - }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -3403,7 +3206,8 @@ "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "commondir": { "version": "1.0.1", @@ -3489,6 +3293,7 @@ "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -3496,21 +3301,6 @@ "typedarray": "^0.0.6" } }, - "concat-with-sourcemaps": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", - "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, "connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", @@ -3540,11 +3330,6 @@ } } }, - "connect-flash": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz", - "integrity": "sha1-2GMPJtlaf4UfmVax6MxnMvO2qjA=" - }, "connect-history-api-fallback": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", @@ -3557,17 +3342,6 @@ "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, - "constantinople": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz", - "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==", - "requires": { - "@types/babel-types": "^7.0.0", - "@types/babylon": "^6.16.2", - "babel-types": "^6.26.0", - "babylon": "^6.18.0" - } - }, "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", @@ -3578,6 +3352,7 @@ "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, "requires": { "safe-buffer": "5.1.2" } @@ -3585,7 +3360,8 @@ "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true }, "convert-source-map": { "version": "1.7.0", @@ -3599,62 +3375,14 @@ "cookie": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "cookie-parser": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz", - "integrity": "sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==", - "requires": { - "cookie": "0.4.0", - "cookie-signature": "1.0.6" - } - }, - "cookie-session": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cookie-session/-/cookie-session-1.4.0.tgz", - "integrity": "sha512-0hhwD+BUIwMXQraiZP/J7VP2YFzqo6g4WqZlWHtEHQ22t0MeZZrNBSCxC1zcaLAs8ApT3BzAKizx9gW/AP9vNA==", - "requires": { - "cookies": "0.8.0", - "debug": "2.6.9", - "on-headers": "~1.0.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "cookies": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz", - "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==", - "requires": { - "depd": "~2.0.0", - "keygrip": "~1.1.0" - }, - "dependencies": { - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - } - } + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true }, "copy-concurrently": { "version": "1.0.5", @@ -3784,16 +3512,8 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "^4", - "vary": "^1" - } + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "cosmiconfig": { "version": "5.2.1", @@ -4235,7 +3955,8 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true }, "decode-uri-component": { "version": "0.2.0", @@ -4405,7 +4126,8 @@ "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true }, "dependency-graph": { "version": "0.7.2", @@ -4426,7 +4148,8 @@ "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true }, "detect-node": { "version": "2.0.4", @@ -4509,11 +4232,6 @@ "buffer-indexof": "^1.0.0" } }, - "doctypes": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", - "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=" - }, "dom-serialize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", @@ -4597,30 +4315,11 @@ "safer-buffer": "^2.1.0" } }, - "ecstatic": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-4.1.4.tgz", - "integrity": "sha512-8E4ZLK4uRuB9pwywGpy/B9vcz4gCp6IY7u4cMbeCINr/fjb1v+0wf0Ae2XlfSnG8xZYnE4uaJBjFkYI0bqcIdw==", - "requires": { - "charset": "^1.0.1", - "he": "^1.1.1", - "mime": "^2.4.1", - "minimist": "^1.1.0", - "on-finished": "^2.3.0", - "url-join": "^4.0.0" - }, - "dependencies": { - "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" - } - } - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true }, "electron-to-chromium": { "version": "1.3.583", @@ -4651,11 +4350,6 @@ } } }, - "email-validator": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/email-validator/-/email-validator-2.0.4.tgz", - "integrity": "sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ==" - }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -4671,7 +4365,8 @@ "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true }, "encoding": { "version": "0.1.13", @@ -4943,7 +4638,8 @@ "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true }, "escape-string-regexp": { "version": "1.0.5", @@ -4964,7 +4660,8 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true }, "esrecurse": { "version": "4.3.0", @@ -4992,12 +4689,14 @@ "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true }, "eventemitter3": { "version": "4.0.7", @@ -5105,6 +4804,7 @@ "version": "4.17.1", "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, "requires": { "accepts": "~1.3.7", "array-flatten": "1.1.1", @@ -5141,12 +4841,14 @@ "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -5154,70 +4856,11 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "express-flash": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/express-flash/-/express-flash-0.0.2.tgz", - "integrity": "sha1-I9GovPP5DXB5KOSJ+Whp7K0KzaI=", - "requires": { - "connect-flash": "0.1.x" - } - }, - "express-session": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.1.tgz", - "integrity": "sha512-UbHwgqjxQZJiWRTMyhvWGvjBQduGCSBDhhZXYenziMFjxst5rMV+aJZ6hKPHZnPyHGsrqRICxtX8jtEbm/z36Q==", - "requires": { - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~2.0.0", - "on-headers": "~1.0.2", - "parseurl": "~1.3.3", - "safe-buffer": "5.2.0", - "uid-safe": "~2.1.5" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, - "express-validator": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/express-validator/-/express-validator-3.2.1.tgz", - "integrity": "sha1-RWA+fu5pMYXCGY+969QUkl/9NSQ=", - "requires": { - "@types/bluebird": "^3.4.0", - "@types/express": "~4.0.34", - "bluebird": "^3.4.0", - "lodash": "^4.16.0", - "validator": "~6.2.0" - } - }, "ext": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", @@ -5443,6 +5086,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -5457,6 +5101,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -5464,7 +5109,8 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -5573,7 +5219,8 @@ "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true }, "forever-agent": { "version": "0.6.1", @@ -5595,7 +5242,8 @@ "forwarded": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true }, "fragment-cache": { "version": "0.2.1", @@ -5609,7 +5257,8 @@ "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true }, "from2": { "version": "2.3.0", @@ -5669,7 +5318,8 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "genfun": { "version": "5.0.0", @@ -5686,7 +5336,8 @@ "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true }, "get-stream": { "version": "4.1.0", @@ -5761,182 +5412,6 @@ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", "dev": true }, - "gravatar": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/gravatar/-/gravatar-1.8.1.tgz", - "integrity": "sha512-18frnfVp4kRYkM/eQW32Mfwlsh/KMbwd3S6nkescBZHioobflFEFHsvM71qZAkUSLNifyi2uoI+TuGxJAnQIOA==", - "requires": { - "blueimp-md5": "^2.16.0", - "email-validator": "^2.0.4", - "querystring": "0.2.0", - "yargs": "^15.4.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "gray-matter": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", - "integrity": "sha1-MELZrewqHe1qdwep7SOA+KF6Qw4=", - "requires": { - "ansi-red": "^0.1.1", - "coffee-script": "^1.12.4", - "extend-shallow": "^2.0.1", - "js-yaml": "^3.8.1", - "toml": "^2.3.2" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "gulp-header": { - "version": "1.8.12", - "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz", - "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==", - "requires": { - "concat-with-sourcemaps": "*", - "lodash.template": "^4.4.0", - "through2": "^2.0.0" - } - }, "handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", @@ -5963,6 +5438,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -6008,7 +5484,8 @@ "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true }, "has-value": { "version": "1.0.0", @@ -6102,11 +5579,6 @@ "minimalistic-assert": "^1.0.1" } }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, "hex-color-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", @@ -6202,6 +5674,7 @@ "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, "requires": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -6213,7 +5686,8 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true } } }, @@ -6558,7 +6032,8 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "ini": { "version": "1.3.5", @@ -6710,7 +6185,8 @@ "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true }, "is-absolute-url": { "version": "2.1.0", @@ -6762,7 +6238,8 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "is-callable": { "version": "1.2.2", @@ -6788,6 +6265,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.0.0.tgz", "integrity": "sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw==", + "dev": true, "requires": { "has": "^1.0.3" } @@ -6849,26 +6327,11 @@ "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", "dev": true }, - "is-expression": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz", - "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=", - "requires": { - "acorn": "~4.0.2", - "object-assign": "^4.0.1" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" - } - } - }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true }, "is-extglob": { "version": "2.1.1", @@ -6949,19 +6412,16 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, "requires": { "isobject": "^3.0.1" } }, - "is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" - }, "is-regex": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, "requires": { "has-symbols": "^1.0.1" } @@ -7020,7 +6480,8 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "isbinaryfile": { "version": "4.0.6", @@ -7037,7 +6498,8 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true }, "isstream": { "version": "0.1.2", @@ -7227,52 +6689,6 @@ } } }, - "jingo": { - "version": "1.9.6", - "resolved": "https://registry.npmjs.org/jingo/-/jingo-1.9.6.tgz", - "integrity": "sha512-oOEkiMEbfv1LClXk6dnj0hfyCl2csw5YcC/l0Tnd6KvLPdTzDofIrV+nettN/luh4uIIcGebTMESjnk+xJyJ5w==", - "requires": { - "bluebird": "^3.5.0", - "body-parser": "^1.10.0", - "commander": "^2.5.1", - "cookie-parser": "^1.3.3", - "cookie-session": "^1.1.0", - "cors": "^2.7.1", - "ecstatic": "^4.1.2", - "express": "^4.10.6", - "express-flash": "0.0.2", - "express-session": "^1.9.3", - "express-validator": "^3.1.0", - "gravatar": "^1.1.0", - "js-yaml": "^3.14.0", - "lodash": "^4.17.15", - "markdown-toc": "^0.11.7", - "marked": "^0.3.19", - "method-override": "^2.3.0", - "morgan": "^1.5.0", - "node-syntaxhighlighter": "*", - "passport": "^0.2.0", - "passport-github": "^0.1.5", - "passport-google-oauth": "^0.1.5", - "passport-local": "^1.0.0", - "pug": "^2.0.0-rc.4", - "semver": "^5.3.0", - "serve-favicon": "^2.1.7", - "transliteration": "^0.2.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "js-stringify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", - "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -7283,6 +6699,7 @@ "version": "3.14.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -7372,15 +6789,6 @@ "verror": "1.10.0" } }, - "jstransformer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", - "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", - "requires": { - "is-promise": "^2.0.0", - "promise": "^7.0.1" - } - }, "jszip": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.5.0.tgz", @@ -7641,14 +7049,6 @@ "source-map-support": "^0.5.5" } }, - "keygrip": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", - "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==", - "requires": { - "tsscmp": "1.0.6" - } - }, "killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", @@ -7661,11 +7061,6 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" - }, "less": { "version": "3.12.2", "resolved": "https://registry.npmjs.org/less/-/less-3.12.2.tgz", @@ -7773,12 +7168,8 @@ "lodash": { "version": "4.17.20", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true }, "lodash.clonedeep": { "version": "4.5.0", @@ -7798,23 +7189,6 @@ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", "dev": true }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "requires": { - "lodash._reinterpolate": "^3.0.0" - } - }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -7849,11 +7223,6 @@ "integrity": "sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ==", "dev": true }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -7996,32 +7365,6 @@ "object-visit": "^1.0.0" } }, - "markdown-link": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", - "integrity": "sha1-MsXGUZmmRXMWMi0eQinRNAfIx88=" - }, - "markdown-toc": { - "version": "0.11.9", - "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-0.11.9.tgz", - "integrity": "sha1-lh80wbLDHSghiO7v1PkHyMB6bUw=", - "requires": { - "concat-stream": "^1.5.1", - "gray-matter": "^2.0.2", - "lazy-cache": "^1.0.2", - "markdown-link": "^0.1.1", - "minimist": "^1.2.0", - "mixin-deep": "^1.1.3", - "object.pick": "^1.1.1", - "remarkable": "^1.6.1", - "repeat-string": "^1.5.2" - } - }, - "marked": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", - "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==" - }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -8042,7 +7385,8 @@ "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true }, "memory-fs": { "version": "0.5.0", @@ -8057,7 +7401,8 @@ "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true }, "merge-source-map": { "version": "1.1.0", @@ -8088,36 +7433,11 @@ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, - "method-override": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz", - "integrity": "sha1-49r41d7hDdLc59SuiNYrvud0drQ=", - "requires": { - "debug": "2.6.9", - "methods": "~1.1.2", - "parseurl": "~1.3.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true }, "micromatch": { "version": "4.0.2", @@ -8150,17 +7470,20 @@ "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true }, "mime-db": { "version": "1.44.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "dev": true }, "mime-types": { "version": "2.1.27", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dev": true, "requires": { "mime-db": "1.44.0" } @@ -8252,7 +7575,8 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true }, "minipass": { "version": "3.1.3", @@ -8322,6 +7646,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -8331,6 +7656,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -8346,38 +7672,6 @@ "minimist": "^1.2.5" } }, - "morgan": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", - "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", - "requires": { - "basic-auth": "~2.0.1", - "debug": "2.6.9", - "depd": "~2.0.0", - "on-finished": "~2.3.0", - "on-headers": "~1.0.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -8477,7 +7771,8 @@ "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true }, "neo-async": { "version": "2.6.2", @@ -8574,11 +7869,6 @@ "integrity": "sha512-Iec8O9166/x2HRMJyLLLWkd0sFFLrFNy+Xf+JQfSQsdBJzPcHpNl3JQ9gD4j+aJxmCa25jNsIbM4bmACtSbkSg==", "dev": true }, - "node-syntaxhighlighter": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/node-syntaxhighlighter/-/node-syntaxhighlighter-0.8.1.tgz", - "integrity": "sha1-ezTh+7Ecj8jgpirb4jLepa5Y6Jo=" - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -8751,11 +8041,6 @@ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", "dev": true }, - "oauth": { - "version": "0.9.15", - "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz", - "integrity": "sha1-vR/vr2hslrdUda7VGWQS/2DPucE=" - }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -8765,7 +8050,8 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true }, "object-component": { "version": "0.0.3", @@ -8888,6 +8174,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -8935,6 +8222,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, "requires": { "ee-first": "1.1.1" } @@ -8942,7 +8230,8 @@ "on-headers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true }, "once": { "version": "1.4.0", @@ -9118,6 +8407,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "requires": { "p-try": "^2.0.0" } @@ -9152,7 +8442,8 @@ "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true }, "pacote": { "version": "9.5.12", @@ -9392,7 +8683,8 @@ "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true }, "pascalcase": { "version": "0.1.1", @@ -9400,67 +8692,6 @@ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, - "passport": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/passport/-/passport-0.2.2.tgz", - "integrity": "sha1-nDjxe+uSnz2Br3uIOOhDDbhwPys=", - "requires": { - "passport-strategy": "1.x.x", - "pause": "0.0.1" - } - }, - "passport-github": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/passport-github/-/passport-github-0.1.5.tgz", - "integrity": "sha1-JY67da9AzcTjrxG+OhOLdcH4ZcE=", - "requires": { - "passport-oauth": "0.1.x", - "pkginfo": "0.2.x" - } - }, - "passport-google-oauth": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/passport-google-oauth/-/passport-google-oauth-0.1.5.tgz", - "integrity": "sha1-/WtIz5sgKDchx2NukdCUwWqGcdc=", - "requires": { - "passport-oauth": "~0.1.4", - "pkginfo": "0.2.x" - } - }, - "passport-local": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz", - "integrity": "sha1-H+YyaMkudWBmJkN+O5BmYsFbpu4=", - "requires": { - "passport-strategy": "1.x.x" - } - }, - "passport-oauth": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/passport-oauth/-/passport-oauth-0.1.15.tgz", - "integrity": "sha1-+3Tgr+hGFL+iVsX8cWzFa7/IzsA=", - "requires": { - "oauth": "0.9.x", - "passport": "~0.1.1", - "pkginfo": "0.2.x" - }, - "dependencies": { - "passport": { - "version": "0.1.18", - "resolved": "https://registry.npmjs.org/passport/-/passport-0.1.18.tgz", - "integrity": "sha1-yCZEedy2QUytu2Z1LRKzfgtlJaE=", - "requires": { - "pause": "0.0.1", - "pkginfo": "0.2.x" - } - } - } - }, - "passport-strategy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", - "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=" - }, "path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", @@ -9500,12 +8731,14 @@ "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true }, "path-type": { "version": "4.0.0", @@ -9513,11 +8746,6 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, - "pause": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", - "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" - }, "pbkdf2": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", @@ -9573,11 +8801,6 @@ "find-up": "^3.0.0" } }, - "pkginfo": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.2.3.tgz", - "integrity": "sha1-cjnEKl72wwuPMoQ52bn/cQQkkPg=" - }, "pnp-webpack-plugin": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", @@ -10283,15 +9506,8 @@ "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "requires": { - "asap": "~2.0.3" - } + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "promise-inflight": { "version": "1.0.1", @@ -10680,6 +9896,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "dev": true, "requires": { "forwarded": "~0.1.2", "ipaddr.js": "1.9.1" @@ -10719,120 +9936,6 @@ } } }, - "pug": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.4.tgz", - "integrity": "sha512-XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw==", - "requires": { - "pug-code-gen": "^2.0.2", - "pug-filters": "^3.1.1", - "pug-lexer": "^4.1.0", - "pug-linker": "^3.0.6", - "pug-load": "^2.0.12", - "pug-parser": "^5.0.1", - "pug-runtime": "^2.0.5", - "pug-strip-comments": "^1.0.4" - } - }, - "pug-attrs": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz", - "integrity": "sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==", - "requires": { - "constantinople": "^3.0.1", - "js-stringify": "^1.0.1", - "pug-runtime": "^2.0.5" - } - }, - "pug-code-gen": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.2.tgz", - "integrity": "sha512-kROFWv/AHx/9CRgoGJeRSm+4mLWchbgpRzTEn8XCiwwOy6Vh0gAClS8Vh5TEJ9DBjaP8wCjS3J6HKsEsYdvaCw==", - "requires": { - "constantinople": "^3.1.2", - "doctypes": "^1.1.0", - "js-stringify": "^1.0.1", - "pug-attrs": "^2.0.4", - "pug-error": "^1.3.3", - "pug-runtime": "^2.0.5", - "void-elements": "^2.0.1", - "with": "^5.0.0" - } - }, - "pug-error": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz", - "integrity": "sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ==" - }, - "pug-filters": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.1.tgz", - "integrity": "sha512-lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg==", - "requires": { - "clean-css": "^4.1.11", - "constantinople": "^3.0.1", - "jstransformer": "1.0.0", - "pug-error": "^1.3.3", - "pug-walk": "^1.1.8", - "resolve": "^1.1.6", - "uglify-js": "^2.6.1" - } - }, - "pug-lexer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.1.0.tgz", - "integrity": "sha512-i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA==", - "requires": { - "character-parser": "^2.1.1", - "is-expression": "^3.0.0", - "pug-error": "^1.3.3" - } - }, - "pug-linker": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.6.tgz", - "integrity": "sha512-bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg==", - "requires": { - "pug-error": "^1.3.3", - "pug-walk": "^1.1.8" - } - }, - "pug-load": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz", - "integrity": "sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==", - "requires": { - "object-assign": "^4.1.0", - "pug-walk": "^1.1.8" - } - }, - "pug-parser": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.1.tgz", - "integrity": "sha512-nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA==", - "requires": { - "pug-error": "^1.3.3", - "token-stream": "0.0.1" - } - }, - "pug-runtime": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz", - "integrity": "sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw==" - }, - "pug-strip-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz", - "integrity": "sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==", - "requires": { - "pug-error": "^1.3.3" - } - }, - "pug-walk": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz", - "integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==" - }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -10887,7 +9990,8 @@ "qs": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true }, "query-string": { "version": "4.3.4", @@ -10902,7 +10006,8 @@ "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true }, "querystring-es3": { "version": "0.2.1", @@ -10916,11 +10021,6 @@ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, - "random-bytes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", - "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" - }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -10943,12 +10043,14 @@ "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true }, "raw-body": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, "requires": { "bytes": "3.1.0", "http-errors": "1.7.2", @@ -10959,12 +10061,14 @@ "bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -11025,6 +10129,7 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -11176,15 +10281,6 @@ } } }, - "remarkable": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz", - "integrity": "sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==", - "requires": { - "argparse": "^1.0.10", - "autolinker": "~0.28.0" - } - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -11200,7 +10296,8 @@ "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true }, "request": { "version": "2.88.2", @@ -11241,12 +10338,14 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true }, "requires-port": { "version": "1.0.0", @@ -11258,6 +10357,7 @@ "version": "1.18.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", + "dev": true, "requires": { "is-core-module": "^2.0.0", "path-parse": "^1.0.6" @@ -11426,14 +10526,6 @@ "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", "dev": true }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "requires": { - "align-text": "^0.1.1" - } - }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -11501,7 +10593,8 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "safe-regex": { "version": "1.1.0", @@ -11515,7 +10608,8 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "sass": { "version": "1.26.5", @@ -11698,6 +10792,7 @@ "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, "requires": { "debug": "2.6.9", "depd": "~1.1.2", @@ -11718,6 +10813,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" }, @@ -11725,14 +10821,16 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true } } }, @@ -11745,30 +10843,6 @@ "randombytes": "^2.1.0" } }, - "serve-favicon": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz", - "integrity": "sha1-k10kDN/g9YBTB/3+ln2IlCosvPA=", - "requires": { - "etag": "~1.8.1", - "fresh": "0.5.2", - "ms": "2.1.1", - "parseurl": "~1.3.2", - "safe-buffer": "5.1.1" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" - } - } - }, "serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", @@ -11829,6 +10903,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -11839,7 +10914,8 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true }, "set-immediate-shim": { "version": "1.0.1", @@ -11879,7 +10955,8 @@ "setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true }, "sha.js": { "version": "2.4.11", @@ -12482,7 +11559,8 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "sshpk": { "version": "1.16.1", @@ -12540,7 +11618,8 @@ "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true }, "stream-browserify": { "version": "2.0.2", @@ -12669,6 +11748,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -12921,6 +12001,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -13018,17 +12099,8 @@ "toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "token-stream": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", - "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=" - }, - "toml": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", - "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==" + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true }, "tough-cookie": { "version": "2.5.0", @@ -13049,11 +12121,6 @@ "punycode": "^2.1.1" } }, - "transliteration": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/transliteration/-/transliteration-0.2.1.tgz", - "integrity": "sha1-sbUmc4ByKaErwo2ku0qJ5ysf3r4=" - }, "tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -13119,11 +12186,6 @@ } } }, - "tsscmp": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", - "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==" - }, "tsutils": { "version": "2.29.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", @@ -13178,6 +12240,7 @@ "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, "requires": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -13186,7 +12249,8 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true }, "typescript": { "version": "3.9.7", @@ -13200,63 +12264,6 @@ "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==", "dev": true }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "optional": true - }, - "uid-safe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", - "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", - "requires": { - "random-bytes": "~1.0.0" - } - }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", @@ -13358,7 +12365,8 @@ "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true }, "unquote": { "version": "1.1.1", @@ -13445,11 +12453,6 @@ } } }, - "url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==" - }, "url-parse": { "version": "1.4.7", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", @@ -13486,7 +12489,8 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, "util-promisify": { "version": "2.1.0", @@ -13533,7 +12537,8 @@ "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true }, "uuid": { "version": "3.4.0", @@ -13560,15 +12565,11 @@ "builtins": "^1.0.3" } }, - "validator": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/validator/-/validator-6.2.1.tgz", - "integrity": "sha1-vFdbeNFb6y4zimZbqVMMf0Ce9mc=" - }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true }, "vendors": { "version": "1.0.4", @@ -13596,7 +12597,8 @@ "void-elements": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true }, "watchpack": { "version": "1.7.4", @@ -14534,33 +13536,8 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" - }, - "with": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", - "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=", - "requires": { - "acorn": "^3.1.0", - "acorn-globals": "^3.0.0" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" - } - } - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true }, "worker-farm": { "version": "1.7.0", @@ -14670,12 +13647,14 @@ "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true }, "y18n": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true }, "yallist": { "version": "4.0.0", diff --git a/package.json b/package.json index d64f947..8d14d7d 100644 --- a/package.json +++ b/package.json @@ -12,10 +12,12 @@ "private": true, "dependencies": { "@angular/animations": "~10.0.5", + "@angular/cdk": "^10.2.7", "@angular/common": "~10.0.5", "@angular/compiler": "~10.0.5", "@angular/core": "~10.0.5", "@angular/forms": "~10.0.5", + "@angular/material": "^10.2.7", "@angular/platform-browser": "~10.0.5", "@angular/platform-browser-dynamic": "~10.0.5", "@angular/router": "~10.0.5", @@ -43,4 +45,4 @@ "tslint": "~6.1.0", "typescript": "~3.9.5" } -} \ No newline at end of file +} diff --git a/src/app/app.component.css b/src/app/app.component.css index e69de29..ca41455 100644 --- a/src/app/app.component.css +++ b/src/app/app.component.css @@ -0,0 +1,7 @@ +.main { + margin: 10px; +} + +.flexSpaceBetween { + justify-content: space-around; +} \ No newline at end of file diff --git a/src/app/app.component.html b/src/app/app.component.html index fdb26fb..e3bc556 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,532 +1,15 @@ -<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * --> -<!-- * * * * * * * * * * * The content below * * * * * * * * * * * --> -<!-- * * * * * * * * * * is only a placeholder * * * * * * * * * * --> -<!-- * * * * * * * * * * and can be replaced. * * * * * * * * * * * --> -<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * --> -<!-- * * * * * * * * * Delete the template below * * * * * * * * * * --> -<!-- * * * * * * * to get started with your project! * * * * * * * * --> -<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * --> - -<style> - :host { - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-size: 14px; - color: #333; - box-sizing: border-box; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - } - - h1, - h2, - h3, - h4, - h5, - h6 { - margin: 8px 0; - } - - p { - margin: 0; - } - - .spacer { - flex: 1; - } - - .toolbar { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 60px; - display: flex; - align-items: center; - background-color: #1976d2; - color: white; - font-weight: 600; - } - - .toolbar img { - margin: 0 16px; - } - - .toolbar #twitter-logo { - height: 40px; - margin: 0 16px; - } - - .toolbar #twitter-logo:hover { - opacity: 0.8; - } - - .content { - display: flex; - margin: 82px auto 32px; - padding: 0 16px; - max-width: 960px; - flex-direction: column; - align-items: center; - } - - svg.material-icons { - height: 24px; - width: auto; - } - - svg.material-icons:not(:last-child) { - margin-right: 8px; - } - - .card svg.material-icons path { - fill: #888; - } - - .card-container { - display: flex; - flex-wrap: wrap; - justify-content: center; - margin-top: 16px; - } - - .card { - border-radius: 4px; - border: 1px solid #eee; - background-color: #fafafa; - height: 40px; - width: 200px; - margin: 0 8px 16px; - padding: 16px; - display: flex; - flex-direction: row; - justify-content: center; - align-items: center; - transition: all 0.2s ease-in-out; - line-height: 24px; - } - - .card-container .card:not(:last-child) { - margin-right: 0; - } - - .card.card-small { - height: 16px; - width: 168px; - } - - .card-container .card:not(.highlight-card) { - cursor: pointer; - } - - .card-container .card:not(.highlight-card):hover { - transform: translateY(-3px); - box-shadow: 0 4px 17px rgba(0, 0, 0, 0.35); - } - - .card-container .card:not(.highlight-card):hover .material-icons path { - fill: rgb(105, 103, 103); - } - - .card.highlight-card { - background-color: #1976d2; - color: white; - font-weight: 600; - border: none; - width: auto; - min-width: 30%; - position: relative; - } - - .card.card.highlight-card span { - margin-left: 60px; - } - - svg#rocket { - width: 80px; - position: absolute; - left: -10px; - top: -24px; - } - - svg#rocket-smoke { - height: calc(100vh - 95px); - position: absolute; - top: 10px; - right: 180px; - z-index: -10; - } - - a, - a:visited, - a:hover { - color: #1976d2; - text-decoration: none; - } - - a:hover { - color: #125699; - } - - .terminal { - position: relative; - width: 80%; - max-width: 600px; - border-radius: 6px; - padding-top: 45px; - margin-top: 8px; - overflow: hidden; - background-color: rgb(15, 15, 16); - } - - .terminal::before { - content: "\2022 \2022 \2022"; - position: absolute; - top: 0; - left: 0; - height: 4px; - background: rgb(58, 58, 58); - color: #c2c3c4; - width: 100%; - font-size: 2rem; - line-height: 0; - padding: 14px 0; - text-indent: 4px; - } - - .terminal pre { - font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace; - color: white; - padding: 0 1rem 1rem; - margin: 0; - } - - .circle-link { - height: 40px; - width: 40px; - border-radius: 40px; - margin: 8px; - background-color: white; - border: 1px solid #eeeeee; - display: flex; - justify-content: center; - align-items: center; - cursor: pointer; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); - transition: 1s ease-out; - } - - .circle-link:hover { - transform: translateY(-0.25rem); - box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2); - } - - footer { - margin-top: 8px; - display: flex; - align-items: center; - line-height: 20px; - } - - footer a { - display: flex; - align-items: center; - } - - .github-star-badge { - color: #24292e; - display: flex; - align-items: center; - font-size: 12px; - padding: 3px 10px; - border: 1px solid rgba(27,31,35,.2); - border-radius: 3px; - background-image: linear-gradient(-180deg,#fafbfc,#eff3f6 90%); - margin-left: 4px; - font-weight: 600; - font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol; - } - - .github-star-badge:hover { - background-image: linear-gradient(-180deg,#f0f3f6,#e6ebf1 90%); - border-color: rgba(27,31,35,.35); - background-position: -.5em; - } - - .github-star-badge .material-icons { - height: 16px; - width: 16px; - margin-right: 4px; - } - - svg#clouds { - position: fixed; - bottom: -160px; - left: -230px; - z-index: -10; - width: 1920px; - } - - - /* Responsive Styles */ - @media screen and (max-width: 767px) { - - .card-container > *:not(.circle-link) , - .terminal { - width: 100%; - } - - .card:not(.highlight-card) { - height: 16px; - margin: 8px 0; - } - - .card.highlight-card span { - margin-left: 72px; - } - - svg#rocket-smoke { - right: 120px; - transform: rotate(-5deg); - } - } - - @media screen and (max-width: 575px) { - svg#rocket-smoke { - display: none; - visibility: hidden; - } - } -</style> - -<!-- Toolbar --> -<div class="toolbar" role="banner"> - <img - width="40" - alt="Angular Logo" - src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTAgMjUwIj4KICAgIDxwYXRoIGZpbGw9IiNERDAwMzEiIGQ9Ik0xMjUgMzBMMzEuOSA2My4ybDE0LjIgMTIzLjFMMTI1IDIzMGw3OC45LTQzLjcgMTQuMi0xMjMuMXoiIC8+CiAgICA8cGF0aCBmaWxsPSIjQzMwMDJGIiBkPSJNMTI1IDMwdjIyLjItLjFWMjMwbDc4LjktNDMuNyAxNC4yLTEyMy4xTDEyNSAzMHoiIC8+CiAgICA8cGF0aCAgZmlsbD0iI0ZGRkZGRiIgZD0iTTEyNSA1Mi4xTDY2LjggMTgyLjZoMjEuN2wxMS43LTI5LjJoNDkuNGwxMS43IDI5LjJIMTgzTDEyNSA1Mi4xem0xNyA4My4zaC0zNGwxNy00MC45IDE3IDQwLjl6IiAvPgogIDwvc3ZnPg==" - /> - <span>Welcome</span> - <div class="spacer"></div> - <a aria-label="Angular on twitter" target="_blank" rel="noopener" href="https://twitter.com/angular" title="Twitter"> - <svg id="twitter-logo" height="24" data-name="Logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400"> - <rect width="400" height="400" fill="none"/> - <path d="M153.62,301.59c94.34,0,145.94-78.16,145.94-145.94,0-2.22,0-4.43-.15-6.63A104.36,104.36,0,0,0,325,122.47a102.38,102.38,0,0,1-29.46,8.07,51.47,51.47,0,0,0,22.55-28.37,102.79,102.79,0,0,1-32.57,12.45,51.34,51.34,0,0,0-87.41,46.78A145.62,145.62,0,0,1,92.4,107.81a51.33,51.33,0,0,0,15.88,68.47A50.91,50.91,0,0,1,85,169.86c0,.21,0,.43,0,.65a51.31,51.31,0,0,0,41.15,50.28,51.21,51.21,0,0,1-23.16.88,51.35,51.35,0,0,0,47.92,35.62,102.92,102.92,0,0,1-63.7,22A104.41,104.41,0,0,1,75,278.55a145.21,145.21,0,0,0,78.62,23" fill="#fff"/> - </svg> - </a> -</div> - -<div class="content" role="main"> - - <!-- Highlight Card --> - <div class="card highlight-card card-small"> - - <svg id="rocket" alt="Rocket Ship" xmlns="http://www.w3.org/2000/svg" width="101.678" height="101.678" viewBox="0 0 101.678 101.678"> - <g id="Group_83" data-name="Group 83" transform="translate(-141 -696)"> - <circle id="Ellipse_8" data-name="Ellipse 8" cx="50.839" cy="50.839" r="50.839" transform="translate(141 696)" fill="#dd0031"/> - <g id="Group_47" data-name="Group 47" transform="translate(165.185 720.185)"> - <path id="Path_33" data-name="Path 33" d="M3.4,42.615a3.084,3.084,0,0,0,3.553,3.553,21.419,21.419,0,0,0,12.215-6.107L9.511,30.4A21.419,21.419,0,0,0,3.4,42.615Z" transform="translate(0.371 3.363)" fill="#fff"/> - <path id="Path_34" data-name="Path 34" d="M53.3,3.221A3.09,3.09,0,0,0,50.081,0,48.227,48.227,0,0,0,18.322,13.437c-6-1.666-14.991-1.221-18.322,7.218A33.892,33.892,0,0,1,9.439,25.1l-.333.666a3.013,3.013,0,0,0,.555,3.553L23.985,43.641a2.9,2.9,0,0,0,3.553.555l.666-.333A33.892,33.892,0,0,1,32.647,53.3c8.55-3.664,8.884-12.326,7.218-18.322A48.227,48.227,0,0,0,53.3,3.221ZM34.424,9.772a6.439,6.439,0,1,1,9.106,9.106,6.368,6.368,0,0,1-9.106,0A6.467,6.467,0,0,1,34.424,9.772Z" transform="translate(0 0.005)" fill="#fff"/> - </g> - </g> - </svg> - - <span>{{ title }} app is running!</span> - - <svg id="rocket-smoke" alt="Rocket Ship Smoke" xmlns="http://www.w3.org/2000/svg" width="516.119" height="1083.632" viewBox="0 0 516.119 1083.632"> - <path id="Path_40" data-name="Path 40" d="M644.6,141S143.02,215.537,147.049,870.207s342.774,201.755,342.774,201.755S404.659,847.213,388.815,762.2c-27.116-145.51-11.551-384.124,271.9-609.1C671.15,139.365,644.6,141,644.6,141Z" transform="translate(-147.025 -140.939)" fill="#f5f5f5"/> - </svg> - - </div> - - <!-- Resources --> - <h2>Resources</h2> - <p>Here are some links to help you get started:</p> - - <div class="card-container"> - <a class="card" target="_blank" rel="noopener" href="https://angular.io/tutorial"> - <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M5 13.18v4L12 21l7-3.82v-4L12 17l-7-3.82zM12 3L1 9l11 6 9-4.91V17h2V9L12 3z"/></svg> - - <span>Learn Angular</span> - - <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg> </a> - - <a class="card" target="_blank" rel="noopener" href="https://angular.io/cli"> - <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"/></svg> - - <span>CLI Documentation</span> - - <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg> - </a> - - <a class="card" target="_blank" rel="noopener" href="https://blog.angular.io/"> - <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M13.5.67s.74 2.65.74 4.8c0 2.06-1.35 3.73-3.41 3.73-2.07 0-3.63-1.67-3.63-3.73l.03-.36C5.21 7.51 4 10.62 4 14c0 4.42 3.58 8 8 8s8-3.58 8-8C20 8.61 17.41 3.8 13.5.67zM11.71 19c-1.78 0-3.22-1.4-3.22-3.14 0-1.62 1.05-2.76 2.81-3.12 1.77-.36 3.6-1.21 4.62-2.58.39 1.29.59 2.65.59 4.04 0 2.65-2.15 4.8-4.8 4.8z"/></svg> - - <span>Angular Blog</span> - - <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg> - </a> - - </div> - - <!-- Next Steps --> - <h2>Next Steps</h2> - <p>What do you want to do next with your app?</p> - - <input type="hidden" #selection> - - <div class="card-container"> - <div class="card card-small" (click)="selection.value = 'component'" tabindex="0"> - <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg> - - <span>New Component</span> - </div> - - <div class="card card-small" (click)="selection.value = 'material'" tabindex="0"> - <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg> - - <span>Angular Material</span> - </div> - - <div class="card card-small" (click)="selection.value = 'pwa'" tabindex="0"> - <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg> - - <span>Add PWA Support</span> - </div> - - <div class="card card-small" (click)="selection.value = 'dependency'" tabindex="0"> - <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg> - - <span>Add Dependency</span> - </div> - - <div class="card card-small" (click)="selection.value = 'test'" tabindex="0"> - <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg> - - <span>Run and Watch Tests</span> - </div> - - <div class="card card-small" (click)="selection.value = 'build'" tabindex="0"> - <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg> - - <span>Build for Production</span> - </div> - </div> - - <!-- Terminal --> - <div class="terminal" [ngSwitch]="selection.value"> - <pre *ngSwitchDefault>ng generate component xyz</pre> - <pre *ngSwitchCase="'material'">ng add @angular/material</pre> - <pre *ngSwitchCase="'pwa'">ng add @angular/pwa</pre> - <pre *ngSwitchCase="'dependency'">ng add _____</pre> - <pre *ngSwitchCase="'test'">ng test</pre> - <pre *ngSwitchCase="'build'">ng build --prod</pre> - </div> - - <!-- Links --> - <div class="card-container"> - <a class="circle-link" title="Animations" href="https://angular.io/guide/animations" target="_blank" rel="noopener"> - <svg id="Group_20" data-name="Group 20" xmlns="http://www.w3.org/2000/svg" width="21.813" height="23.453" viewBox="0 0 21.813 23.453"> - <path id="Path_15" data-name="Path 15" d="M4099.584,972.736h0l-10.882,3.9,1.637,14.4,9.245,5.153,9.245-5.153,1.686-14.4Z" transform="translate(-4088.702 -972.736)" fill="#ffa726"/> - <path id="Path_16" data-name="Path 16" d="M4181.516,972.736v23.453l9.245-5.153,1.686-14.4Z" transform="translate(-4170.633 -972.736)" fill="#fb8c00"/> - <path id="Path_17" data-name="Path 17" d="M4137.529,1076.127l-7.7-3.723,4.417-2.721,7.753,3.723Z" transform="translate(-4125.003 -1058.315)" fill="#ffe0b2"/> - <path id="Path_18" data-name="Path 18" d="M4137.529,1051.705l-7.7-3.723,4.417-2.721,7.753,3.723Z" transform="translate(-4125.003 -1036.757)" fill="#fff3e0"/> - <path id="Path_19" data-name="Path 19" d="M4137.529,1027.283l-7.7-3.723,4.417-2.721,7.753,3.723Z" transform="translate(-4125.003 -1015.199)" fill="#fff"/> - </svg> - </a> - - <a class="circle-link" title="CLI" href="https://cli.angular.io/" target="_blank" rel="noopener"> - <svg alt="Angular CLI Logo" xmlns="http://www.w3.org/2000/svg" width="21.762" height="23.447" viewBox="0 0 21.762 23.447"> - <g id="Group_21" data-name="Group 21" transform="translate(0)"> - <path id="Path_20" data-name="Path 20" d="M2660.313,313.618h0l-10.833,3.9,1.637,14.4,9.2,5.152,9.244-5.152,1.685-14.4Z" transform="translate(-2649.48 -313.618)" fill="#37474f"/> - <path id="Path_21" data-name="Path 21" d="M2741.883,313.618v23.447l9.244-5.152,1.685-14.4Z" transform="translate(-2731.05 -313.618)" fill="#263238"/> - <path id="Path_22" data-name="Path 22" d="M2692.293,379.169h11.724V368.618h-11.724Zm11.159-.6h-10.608v-9.345h10.621v9.345Z" transform="translate(-2687.274 -362.17)" fill="#fff"/> - <path id="Path_23" data-name="Path 23" d="M2709.331,393.688l.4.416,2.265-2.28-2.294-2.294-.4.4,1.893,1.893Z" transform="translate(-2702.289 -380.631)" fill="#fff"/> - <rect id="Rectangle_12" data-name="Rectangle 12" width="3.517" height="0.469" transform="translate(9.709 13.744)" fill="#fff"/> - </g> - </svg> - </a> - - <a class="circle-link" title="Augury" href="https://augury.rangle.io/" target="_blank" rel="noopener"> - <svg alt="Angular Augury Logo" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="21.81" height="23.447" viewBox="0 0 21.81 23.447"> - <defs> - <clipPath id="clip-path"> - <rect id="Rectangle_13" data-name="Rectangle 13" width="10.338" height="10.27" fill="none"/> - </clipPath> - </defs> - <g id="Group_25" data-name="Group 25" transform="translate(0)"> - <path id="Path_24" data-name="Path 24" d="M3780.155,311.417h0l-10.881,3.9,1.637,14.4,9.244,5.152,9.244-5.152,1.685-14.4Z" transform="translate(-3769.274 -311.417)" fill="#4a3493"/> - <path id="Path_25" data-name="Path 25" d="M3862.088,311.417v23.447l9.244-5.152,1.685-14.4Z" transform="translate(-3851.207 -311.417)" fill="#311b92"/> - <g id="Group_24" data-name="Group 24" transform="translate(6.194 6.73)" opacity="0.5"> - <g id="Group_23" data-name="Group 23" transform="translate(0 0)"> - <g id="Group_22" data-name="Group 22" clip-path="url(#clip-path)"> - <path id="Path_26" data-name="Path 26" d="M3832.4,373.252a5.168,5.168,0,1,1-5.828-4.383,5.216,5.216,0,0,1,2.574.3,3.017,3.017,0,1,0,3.252,4.086Z" transform="translate(-3822.107 -368.821)" fill="#fff"/> - </g> - </g> - </g> - <path id="Path_27" data-name="Path 27" d="M3830.582,370.848a5.162,5.162,0,1,1-3.254-4.086,3.017,3.017,0,1,0,3.252,4.086Z" transform="translate(-3814.311 -359.969)" fill="#fff"/> - </g> - </svg> - </a> - - <a class="circle-link" title="Protractor" href="https://www.protractortest.org/" target="_blank" rel="noopener"> - <svg alt="Angular Protractor Logo" xmlns="http://www.w3.org/2000/svg" width="21.81" height="23.447" viewBox="0 0 21.81 23.447"> - <g id="Group_26" data-name="Group 26" transform="translate(0)"> - <path id="Path_28" data-name="Path 28" d="M4620.155,311.417h0l-10.881,3.9,1.637,14.4,9.244,5.152,9.244-5.152,1.685-14.4Z" transform="translate(-4609.274 -311.417)" fill="#e13439"/> - <path id="Path_29" data-name="Path 29" d="M4702.088,311.417v23.447l9.244-5.152,1.685-14.4Z" transform="translate(-4691.207 -311.417)" fill="#b52f32"/> - <path id="Path_30" data-name="Path 30" d="M4651.044,369.58v-.421h1.483a7.6,7.6,0,0,0-2.106-5.052l-1.123,1.123-.3-.3,1.122-1.121a7.588,7.588,0,0,0-4.946-2.055v1.482h-.421v-1.485a7.589,7.589,0,0,0-5.051,2.058l1.122,1.121-.3.3-1.123-1.123a7.591,7.591,0,0,0-2.106,5.052h1.482v.421h-1.489v1.734h15.241V369.58Zm-10.966-.263a4.835,4.835,0,0,1,9.67,0Z" transform="translate(-4634.008 -355.852)" fill="#fff"/> - </g> - </svg> - </a> - - <a class="circle-link" title="Find a Local Meetup" href="https://www.meetup.com/find/?keywords=angular" target="_blank" rel="noopener"> - <svg alt="Meetup Logo" xmlns="http://www.w3.org/2000/svg" width="24.607" height="23.447" viewBox="0 0 24.607 23.447"> - <path id="logo--mSwarm" d="M21.221,14.95A4.393,4.393,0,0,1,17.6,19.281a4.452,4.452,0,0,1-.8.069c-.09,0-.125.035-.154.117a2.939,2.939,0,0,1-2.506,2.091,2.868,2.868,0,0,1-2.248-.624.168.168,0,0,0-.245-.005,3.926,3.926,0,0,1-2.589.741,4.015,4.015,0,0,1-3.7-3.347,2.7,2.7,0,0,1-.043-.38c0-.106-.042-.146-.143-.166a3.524,3.524,0,0,1-1.516-.69A3.623,3.623,0,0,1,2.23,14.557a3.66,3.66,0,0,1,1.077-3.085.138.138,0,0,0,.026-.2,3.348,3.348,0,0,1-.451-1.821,3.46,3.46,0,0,1,2.749-3.28.44.44,0,0,0,.355-.281,5.072,5.072,0,0,1,3.863-3,5.028,5.028,0,0,1,3.555.666.31.31,0,0,0,.271.03A4.5,4.5,0,0,1,18.3,4.7a4.4,4.4,0,0,1,1.334,2.751,3.658,3.658,0,0,1,.022.706.131.131,0,0,0,.1.157,2.432,2.432,0,0,1,1.574,1.645,2.464,2.464,0,0,1-.7,2.616c-.065.064-.051.1-.014.166A4.321,4.321,0,0,1,21.221,14.95ZM13.4,14.607a2.09,2.09,0,0,0,1.409,1.982,4.7,4.7,0,0,0,1.275.221,1.807,1.807,0,0,0,.9-.151.542.542,0,0,0,.321-.545.558.558,0,0,0-.359-.534,1.2,1.2,0,0,0-.254-.078c-.262-.047-.526-.086-.787-.138a.674.674,0,0,1-.617-.75,3.394,3.394,0,0,1,.218-1.109c.217-.658.509-1.286.79-1.918a15.609,15.609,0,0,0,.745-1.86,1.95,1.95,0,0,0,.06-1.073,1.286,1.286,0,0,0-1.051-1.033,1.977,1.977,0,0,0-1.521.2.339.339,0,0,1-.446-.042c-.1-.092-.2-.189-.307-.284a1.214,1.214,0,0,0-1.643-.061,7.563,7.563,0,0,1-.614.512A.588.588,0,0,1,10.883,8c-.215-.115-.437-.215-.659-.316a2.153,2.153,0,0,0-.695-.248A2.091,2.091,0,0,0,7.541,8.562a9.915,9.915,0,0,0-.405.986c-.559,1.545-1.015,3.123-1.487,4.7a1.528,1.528,0,0,0,.634,1.777,1.755,1.755,0,0,0,1.5.211,1.35,1.35,0,0,0,.824-.858c.543-1.281,1.032-2.584,1.55-3.875.142-.355.28-.712.432-1.064a.548.548,0,0,1,.851-.24.622.622,0,0,1,.185.539,2.161,2.161,0,0,1-.181.621c-.337.852-.68,1.7-1.018,2.552a2.564,2.564,0,0,0-.173.528.624.624,0,0,0,.333.71,1.073,1.073,0,0,0,.814.034,1.22,1.22,0,0,0,.657-.655q.758-1.488,1.511-2.978.35-.687.709-1.37a1.073,1.073,0,0,1,.357-.434.43.43,0,0,1,.463-.016.373.373,0,0,1,.153.387.7.7,0,0,1-.057.236c-.065.157-.127.316-.2.469-.42.883-.846,1.763-1.262,2.648A2.463,2.463,0,0,0,13.4,14.607Zm5.888,6.508a1.09,1.09,0,0,0-2.179.006,1.09,1.09,0,0,0,2.179-.006ZM1.028,12.139a1.038,1.038,0,1,0,.01-2.075,1.038,1.038,0,0,0-.01,2.075ZM13.782.528a1.027,1.027,0,1,0-.011,2.055A1.027,1.027,0,0,0,13.782.528ZM22.21,6.95a.882.882,0,0,0-1.763.011A.882.882,0,0,0,22.21,6.95ZM4.153,4.439a.785.785,0,1,0,.787-.78A.766.766,0,0,0,4.153,4.439Zm8.221,18.22a.676.676,0,1,0-.677.666A.671.671,0,0,0,12.374,22.658ZM22.872,12.2a.674.674,0,0,0-.665.665.656.656,0,0,0,.655.643.634.634,0,0,0,.655-.644A.654.654,0,0,0,22.872,12.2ZM7.171-.123A.546.546,0,0,0,6.613.43a.553.553,0,1,0,1.106,0A.539.539,0,0,0,7.171-.123ZM24.119,9.234a.507.507,0,0,0-.493.488.494.494,0,0,0,.494.494.48.48,0,0,0,.487-.483A.491.491,0,0,0,24.119,9.234Zm-19.454,9.7a.5.5,0,0,0-.488-.488.491.491,0,0,0-.487.5.483.483,0,0,0,.491.479A.49.49,0,0,0,4.665,18.936Z" transform="translate(0 0.123)" fill="#f64060"/> - </svg> - </a> - - <a class="circle-link" title="Join the Conversation on Gitter" href="https://gitter.im/angular/angular" target="_blank" rel="noopener"> - <svg alt="Gitter Logo" xmlns="http://www.w3.org/2000/svg" width="19.447" height="19.447" viewBox="0 0 19.447 19.447"> - <g id="Group_40" data-name="Group 40" transform="translate(-1612 -405)"> - <rect id="Rectangle_19" data-name="Rectangle 19" width="19.447" height="19.447" transform="translate(1612 405)" fill="#e60257"/> - <g id="gitter" transform="translate(1617.795 408.636)"> - <g id="Group_33" data-name="Group 33" transform="translate(0 0)"> - <rect id="Rectangle_15" data-name="Rectangle 15" width="1.04" height="9.601" transform="translate(2.304 2.324)" fill="#fff"/> - <rect id="Rectangle_16" data-name="Rectangle 16" width="1.04" height="9.601" transform="translate(4.607 2.324)" fill="#fff"/> - <rect id="Rectangle_17" data-name="Rectangle 17" width="1.04" height="4.648" transform="translate(6.91 2.324)" fill="#fff"/> - <rect id="Rectangle_18" data-name="Rectangle 18" width="1.04" height="6.971" transform="translate(0 0)" fill="#fff"/> - </g> - </g> - </g> - </svg> - </a> - </div> - - <!-- Footer --> - <footer> - Love Angular? - <a href="https://github.com/angular/angular" target="_blank" rel="noopener"> Give our repo a star. - <div class="github-star-badge"> - <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"/></svg> - Star - </div> - </a> - <a href="https://github.com/angular/angular" target="_blank" rel="noopener"> - <svg class="material-icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" fill="#1976d2"/><path d="M0 0h24v24H0z" fill="none"/></svg> - </a> - </footer> - - <svg id="clouds" alt="Gray Clouds Background" xmlns="http://www.w3.org/2000/svg" width="2611.084" height="485.677" viewBox="0 0 2611.084 485.677"> - <path id="Path_39" data-name="Path 39" d="M2379.709,863.793c10-93-77-171-168-149-52-114-225-105-264,15-75,3-140,59-152,133-30,2.83-66.725,9.829-93.5,26.25-26.771-16.421-63.5-23.42-93.5-26.25-12-74-77-130-152-133-39-120-212-129-264-15-54.084-13.075-106.753,9.173-138.488,48.9-31.734-39.726-84.4-61.974-138.487-48.9-52-114-225-105-264,15a162.027,162.027,0,0,0-103.147,43.044c-30.633-45.365-87.1-72.091-145.206-58.044-52-114-225-105-264,15-75,3-140,59-152,133-53,5-127,23-130,83-2,42,35,72,70,86,49,20,106,18,157,5a165.625,165.625,0,0,0,120,0c47,94,178,113,251,33,61.112,8.015,113.854-5.72,150.492-29.764a165.62,165.62,0,0,0,110.861-3.236c47,94,178,113,251,33,31.385,4.116,60.563,2.495,86.487-3.311,25.924,5.806,55.1,7.427,86.488,3.311,73,80,204,61,251-33a165.625,165.625,0,0,0,120,0c51,13,108,15,157-5a147.188,147.188,0,0,0,33.5-18.694,147.217,147.217,0,0,0,33.5,18.694c49,20,106,18,157,5a165.625,165.625,0,0,0,120,0c47,94,178,113,251,33C2446.709,1093.793,2554.709,922.793,2379.709,863.793Z" transform="translate(142.69 -634.312)" fill="#eee"/> - </svg> - -</div> - -<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * --> -<!-- * * * * * * * * * * * The content above * * * * * * * * * * * --> -<!-- * * * * * * * * * * is only a placeholder * * * * * * * * * * --> -<!-- * * * * * * * * * * and can be replaced. * * * * * * * * * * * --> -<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * --> -<!-- * * * * * * * * * * End of Placeholder * * * * * * * * * * * --> -<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * --> - - + <mat-toolbar color="primary"> + <mat-toolbar-row> + <span><a href=""><img src="/assets/THD-Logo.png" height="50"></a> THD App</span> + </mat-toolbar-row> + <mat-toolbar-row class="flexSpaceBetween"> + <button mat-raised-button routerLink="/navigation">Navigation</button> + <button mat-raised-button routerLink="/rooms">Rooms</button> + <button mat-raised-button routerLink="/international">International</button> + <button mat-raised-button routerLink="/login">Login</button> + </mat-toolbar-row> + </mat-toolbar> + +<div class="main"> + <router-outlet></router-outlet> +</div> \ No newline at end of file diff --git a/src/app/app.component.ts b/src/app/app.component.ts index f4dad29..f6f3db5 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -6,5 +6,5 @@ import { Component } from '@angular/core'; styleUrls: ['./app.component.css'] }) export class AppComponent { - title = 'mit-ws'; + title = 'mit-ws-20-21'; } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index f657163..e882434 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,15 +1,48 @@ import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; +/** + * Project was created without Routing option + * so Routing will be setup here (otherwise in app-routing.module.ts) + * followed https://angular.io/start/start-routing + * used structure from mit-ws-20-21-requests.pdf + * so components needed are: Start, Navigation, Room Info, Int. Office, Login + * difference to structure image: gave navigation higher prio than room info + * +*/ import { AppComponent } from './app.component'; +import { RouterModule } from '@angular/router'; +import { StartComponent } from './start/start.component'; +import { NavigationComponent } from './navigation/navigation.component'; +import { RoomsComponent } from './rooms/rooms.component'; +import { InternationalComponent } from './international/international.component'; +import { LoginComponent } from './login/login.component'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +// Material Components +import { MatButtonModule } from '@angular/material/button'; +import { MatToolbarModule } from '@angular/material/toolbar'; @NgModule({ declarations: [ - AppComponent + AppComponent, + StartComponent, + NavigationComponent, + RoomsComponent, + InternationalComponent, + LoginComponent ], imports: [ - BrowserModule - ], + BrowserModule, + RouterModule.forRoot([ + { path: '', component: StartComponent }, + { path: 'navigation', component: NavigationComponent }, + { path: 'rooms', component: RoomsComponent }, + { path: 'international', component: InternationalComponent }, + { path: 'login', component: LoginComponent } + ]), + MatButtonModule, + MatToolbarModule, + BrowserAnimationsModule], providers: [], bootstrap: [AppComponent] }) diff --git a/src/app/international/international.component.css b/src/app/international/international.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/international/international.component.html b/src/app/international/international.component.html new file mode 100644 index 0000000..6b88794 --- /dev/null +++ b/src/app/international/international.component.html @@ -0,0 +1 @@ +<p>international works!</p> diff --git a/src/app/international/international.component.spec.ts b/src/app/international/international.component.spec.ts new file mode 100644 index 0000000..5a2a33a --- /dev/null +++ b/src/app/international/international.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { InternationalComponent } from './international.component'; + +describe('InternationalComponent', () => { + let component: InternationalComponent; + let fixture: ComponentFixture<InternationalComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ InternationalComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(InternationalComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/international/international.component.ts b/src/app/international/international.component.ts new file mode 100644 index 0000000..04ab61d --- /dev/null +++ b/src/app/international/international.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-international', + templateUrl: './international.component.html', + styleUrls: ['./international.component.css'] +}) +export class InternationalComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/login/login.component.css b/src/app/login/login.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/login/login.component.html b/src/app/login/login.component.html new file mode 100644 index 0000000..147cfc4 --- /dev/null +++ b/src/app/login/login.component.html @@ -0,0 +1 @@ +<p>login works!</p> diff --git a/src/app/login/login.component.spec.ts b/src/app/login/login.component.spec.ts new file mode 100644 index 0000000..d6d85a8 --- /dev/null +++ b/src/app/login/login.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LoginComponent } from './login.component'; + +describe('LoginComponent', () => { + let component: LoginComponent; + let fixture: ComponentFixture<LoginComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ LoginComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(LoginComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/login/login.component.ts b/src/app/login/login.component.ts new file mode 100644 index 0000000..4f58421 --- /dev/null +++ b/src/app/login/login.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-login', + templateUrl: './login.component.html', + styleUrls: ['./login.component.css'] +}) +export class LoginComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/navigation/navigation.component.css b/src/app/navigation/navigation.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/navigation/navigation.component.html b/src/app/navigation/navigation.component.html new file mode 100644 index 0000000..499146e --- /dev/null +++ b/src/app/navigation/navigation.component.html @@ -0,0 +1 @@ +<p>navigation works!</p> diff --git a/src/app/navigation/navigation.component.spec.ts b/src/app/navigation/navigation.component.spec.ts new file mode 100644 index 0000000..3857718 --- /dev/null +++ b/src/app/navigation/navigation.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { NavigationComponent } from './navigation.component'; + +describe('NavigationComponent', () => { + let component: NavigationComponent; + let fixture: ComponentFixture<NavigationComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ NavigationComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(NavigationComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/navigation/navigation.component.ts b/src/app/navigation/navigation.component.ts new file mode 100644 index 0000000..9c64285 --- /dev/null +++ b/src/app/navigation/navigation.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-navigation', + templateUrl: './navigation.component.html', + styleUrls: ['./navigation.component.css'] +}) +export class NavigationComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/rooms/rooms.component.css b/src/app/rooms/rooms.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/rooms/rooms.component.html b/src/app/rooms/rooms.component.html new file mode 100644 index 0000000..8b3f025 --- /dev/null +++ b/src/app/rooms/rooms.component.html @@ -0,0 +1 @@ +<p>rooms works!</p> diff --git a/src/app/rooms/rooms.component.spec.ts b/src/app/rooms/rooms.component.spec.ts new file mode 100644 index 0000000..23221e4 --- /dev/null +++ b/src/app/rooms/rooms.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RoomsComponent } from './rooms.component'; + +describe('RoomsComponent', () => { + let component: RoomsComponent; + let fixture: ComponentFixture<RoomsComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ RoomsComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(RoomsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/rooms/rooms.component.ts b/src/app/rooms/rooms.component.ts new file mode 100644 index 0000000..28063cd --- /dev/null +++ b/src/app/rooms/rooms.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-rooms', + templateUrl: './rooms.component.html', + styleUrls: ['./rooms.component.css'] +}) +export class RoomsComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/start/start.component.css b/src/app/start/start.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/start/start.component.html b/src/app/start/start.component.html new file mode 100644 index 0000000..9f40752 --- /dev/null +++ b/src/app/start/start.component.html @@ -0,0 +1 @@ +<p>start works!</p> diff --git a/src/app/start/start.component.spec.ts b/src/app/start/start.component.spec.ts new file mode 100644 index 0000000..01270a2 --- /dev/null +++ b/src/app/start/start.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { StartComponent } from './start.component'; + +describe('StartComponent', () => { + let component: StartComponent; + let fixture: ComponentFixture<StartComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ StartComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(StartComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/start/start.component.ts b/src/app/start/start.component.ts new file mode 100644 index 0000000..428fbe4 --- /dev/null +++ b/src/app/start/start.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-start', + templateUrl: './start.component.html', + styleUrls: ['./start.component.css'] +}) +export class StartComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/assets/THD-Logo.png b/src/assets/THD-Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5072e87149ba0c56d35dc9284642020e72b3caae GIT binary patch literal 29026 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 literal 0 HcmV?d00001 diff --git a/src/custom-theme.scss b/src/custom-theme.scss new file mode 100644 index 0000000..0f84e72 --- /dev/null +++ b/src/custom-theme.scss @@ -0,0 +1,120 @@ +// Custom Theming for Angular Material +// For more information: https://material.angular.io/guide/theming +@import '~@angular/material/theming'; +// Plus imports for other components in your app. + +// Include the common styles for Angular Material. We include this here so that you only +// have to load a single css file for Angular Material in your app. +// Be sure that you only ever include this mixin once! +@include mat-core(); + + +// Adjust Typography +@import +url("https://fonts.googleapis.com/css2?family=Saira+Sans:wght@300;400;500&display=swap"); +@import url("https://fonts.googleapis.com/css?family=Saira"); + +// Define a custom typography config that overrides the font-family as well as the +// `headlines` and `body-1` levels. +$custom-typography: mat-typography-config( + $font-family: 'Saira', + $headline: mat-typography-level(32px, 48px, 700), + $body-1: mat-typography-level(16px, 24px, 500) +); +// Override typography CSS classes (e.g., mat-h1, mat-display-1, mat-typography, etc.). +@include mat-base-typography($custom-typography); +// Override typography for a specific Angular Material components. +@include mat-checkbox-typography($custom-typography); +// Override typography for all Angular Material, including mat-base-typography and all components. +@include angular-material-typography($custom-typography); + +// Define the palettes for your theme using the Material Design palettes available in palette.scss +// (imported above). For each palette, you can optionally specify a default, lighter, and darker +// hue. Available color palettes: https://material.io/design/color/ +$thd-palette-primary: ( + 50 : #e4e8ee, + 100 : #bac6d5, + 200 : #8da1b9, + 300 : #5f7b9d, + 400 : #3c5e88, + 500 : #1a4273, + 600 : #173c6b, + 700 : #133360, + 800 : #0f2b56, + 900 : #081d43, + A100 : #7aa2ff, + A200 : #477fff, + A400 : #145cff, + A700 : #004cf9, + contrast: ( + 50 : #000000, + 100 : #000000, + 200 : #000000, + 300 : #ffffff, + 400 : #ffffff, + 500 : #ffffff, + 600 : #ffffff, + 700 : #ffffff, + 800 : #ffffff, + 900 : #ffffff, + A100 : #000000, + A200 : #ffffff, + A400 : #ffffff, + A700 : #ffffff, + ) +); + +$thd-palette-accent:( + 50 : #e0f3fc, + 100 : #b3e2f7, + 200 : #80cff1, + 300 : #4dbceb, + 400 : #26ade7, + 500 : #009fe3, + 600 : #0097e0, + 700 : #008ddc, + 800 : #0083d8, + 900 : #0072d0, + A100 : #f8fcff, + A200 : #c5e2ff, + A400 : #92c8ff, + A700 : #79bbff, + + + contrast: ( + 50 : #000000, + 100 : #000000, + 200 : #000000, + 300 : #ffffff, + 400 : #ffffff, + 500 : #ffffff, + 600 : #ffffff, + 700 : #ffffff, + 800 : #ffffff, + 900 : #ffffff, + A100 : #000000, + A200 : #ffffff, + A400 : #ffffff, + A700 : #ffffff, + )); + +$mit-ws-primary: mat-palette($thd-palette-primary); +$mit-ws-accent: mat-palette($thd-palette-accent, A200, A100, A400); + +// The warn palette is optional (defaults to red). +$mit-ws-warn: mat-palette($mat-red); + +// Create the theme object. A theme consists of configurations for individual +// theming systems such as "color" or "typography". +$mit-ws-theme: mat-light-theme(( + color: ( + primary: $mit-ws-primary, + accent: $mit-ws-accent, + warn: $mit-ws-warn, + ) +)); + +// Include theme styles for core and each component used in your app. +// Alternatively, you can import and @include the theme mixins for each component +// that you are using. +@include angular-material-theme($mit-ws-theme); diff --git a/src/index.html b/src/index.html index c294c23..c6b595a 100644 --- a/src/index.html +++ b/src/index.html @@ -2,12 +2,14 @@ <html lang="en"> <head> <meta charset="utf-8"> - <title>MitWs</title> + <title>THD App</title> <base href="/"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" type="image/x-icon" href="favicon.ico"> + <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500&display=swap" rel="stylesheet"> + <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> </head> -<body> +<body class="mat-typography"> <app-root></app-root> </body> </html> diff --git a/src/styles.css b/src/styles.css index 90d4ee0..bd3fa12 100644 --- a/src/styles.css +++ b/src/styles.css @@ -1 +1,9 @@ -/* You can add global styles to this file, and also import other style files */ +/* You can add global styles to this file, and also import other style files + +html, body { height: 100%; } +body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } + +.example-spacer { + flex: 1 1 auto; +} +*/ \ No newline at end of file -- GitLab