From 3c1e040c15992d25bd3c73459c290001ad525258 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luc=C3=A0s?= Date: Fri, 12 Aug 2022 13:00:10 +0200 Subject: [PATCH] Rebuild the app --- LICENSE | 21 - README.md | 2 +- angular.json | 13 +- package-lock.json | 740 ++++++++++++++++++---------------- package.json | 5 +- src/app/app.component.css | 0 src/app/app.component.html | 57 ++- src/app/app.component.scss | 13 - src/app/app.component.ts | 75 ++-- src/app/app.module.ts | 4 +- src/models/TodoItem.ts | 7 + src/models/todo-item.model.ts | 7 - src/services/local.service.ts | 19 - src/styles.css | 1 + src/styles.scss | 9 - 15 files changed, 462 insertions(+), 511 deletions(-) delete mode 100644 LICENSE create mode 100644 src/app/app.component.css delete mode 100644 src/app/app.component.scss create mode 100644 src/models/TodoItem.ts delete mode 100644 src/models/todo-item.model.ts delete mode 100644 src/services/local.service.ts create mode 100644 src/styles.css delete mode 100644 src/styles.scss diff --git a/LICENSE b/LICENSE deleted file mode 100644 index d99a1ef..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 LucasVbr - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md index e736a5a..31136db 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # TodoList -This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.1.0. +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.1.2. ## Development server diff --git a/angular.json b/angular.json index b8ad48d..aa8eb1c 100644 --- a/angular.json +++ b/angular.json @@ -5,11 +5,7 @@ "projects": { "todo-list": { "projectType": "application", - "schematics": { - "@schematics/angular:component": { - "style": "scss" - } - }, + "schematics": {}, "root": "", "sourceRoot": "src", "prefix": "app", @@ -22,15 +18,13 @@ "main": "src/main.ts", "polyfills": "src/polyfills.ts", "tsConfig": "tsconfig.app.json", - "inlineStyleLanguage": "scss", "assets": [ "src/favicon.ico", "src/assets" ], "styles": [ - "node_modules/font-awesome/scss/font-awesome.scss", "node_modules/bulma/bulma.sass", - "src/styles.scss" + "src/styles.css" ], "scripts": [] }, @@ -92,13 +86,12 @@ "polyfills": "src/polyfills.ts", "tsConfig": "tsconfig.spec.json", "karmaConfig": "karma.conf.js", - "inlineStyleLanguage": "scss", "assets": [ "src/favicon.ico", "src/assets" ], "styles": [ - "src/styles.scss" + "src/styles.css" ], "scripts": [] } diff --git a/package-lock.json b/package-lock.json index 8b691ff..7d9e7e7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,14 +17,13 @@ "@angular/platform-browser-dynamic": "^14.1.0", "@angular/router": "^14.1.0", "bulma": "^0.9.4", - "font-awesome": "^4.7.0", "rxjs": "~7.5.0", "tslib": "^2.3.0", "zone.js": "~0.11.4" }, "devDependencies": { - "@angular-devkit/build-angular": "^14.1.0", - "@angular/cli": "~14.1.0", + "@angular-devkit/build-angular": "^14.1.2", + "@angular/cli": "~14.1.2", "@angular/compiler-cli": "^14.1.0", "@types/jasmine": "~4.0.0", "jasmine-core": "~4.2.0", @@ -50,12 +49,12 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1401.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1401.0.tgz", - "integrity": "sha512-dHgP2/5EXkJpdf6Y1QHQX2RP8xTli/CFZH3uNnTh+EuAib/kwu+Z6K3UttZWB5VGhAF1u/xf97Vly/UkXvjKAg==", + "version": "0.1401.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1401.2.tgz", + "integrity": "sha512-OR/P0kC1TUayerB+oNsczZ7tP7qK/y+rSg4P0hMv4bU+SSdBd3woG4ILzwWXb8tAb9b9zvWpzxpxG99h1bUGlA==", "dev": true, "dependencies": { - "@angular-devkit/core": "14.1.0", + "@angular-devkit/core": "14.1.2", "rxjs": "6.6.7" }, "engines": { @@ -83,15 +82,15 @@ "dev": true }, "node_modules/@angular-devkit/build-angular": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.1.0.tgz", - "integrity": "sha512-AtecSuDEPLYd3p7uFVKpoA0XNcq+NvVYFJK8h90BG+IRZtzEm7ZJeYdohXVeVfTO5GvpNFN1XoHxR5rxiXeBhg==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.1.2.tgz", + "integrity": "sha512-x0XS4rKefEWAr8G5vzA3FGCicLnrMGIZgv5gAkcoUbXWfowKxtjGWTWEtsj8GsG2+U4+HVQ4z/vd3TQOnVMoiA==", "dev": true, "dependencies": { "@ampproject/remapping": "2.2.0", - "@angular-devkit/architect": "0.1401.0", - "@angular-devkit/build-webpack": "0.1401.0", - "@angular-devkit/core": "14.1.0", + "@angular-devkit/architect": "0.1401.2", + "@angular-devkit/build-webpack": "0.1401.2", + "@angular-devkit/core": "14.1.2", "@babel/core": "7.18.6", "@babel/generator": "7.18.7", "@babel/helper-annotate-as-pure": "7.18.6", @@ -102,7 +101,7 @@ "@babel/runtime": "7.18.6", "@babel/template": "7.18.6", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "14.1.0", + "@ngtools/webpack": "14.1.2", "ansi-colors": "4.1.3", "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", @@ -209,12 +208,12 @@ "dev": true }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1401.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1401.0.tgz", - "integrity": "sha512-jKfnHal09mVnEapmNrAHXL/00LfafmfEUtlOPzQMgGJL7MWCeMcFthsbcOnGuzUerbiiquRk/KmLTERYjH+ZrQ==", + "version": "0.1401.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1401.2.tgz", + "integrity": "sha512-vsudoMtno3XYbhQZi1jPsFw8Vi6JYkhEqwP4cs/E6gAEwHSQ94l3A9KqKvk+w4EFfiZSY6Wtp/vSNjwJavC+sQ==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1401.0", + "@angular-devkit/architect": "0.1401.2", "rxjs": "6.6.7" }, "engines": { @@ -246,9 +245,9 @@ "dev": true }, "node_modules/@angular-devkit/core": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.1.0.tgz", - "integrity": "sha512-Y2d/+nFmjjY4eatc3cwdDDAnpnhG3KTX2OVW7dXSUxW3eY5e3vdMlVUbFiKwvwAshlrJy85Y6RMvZSBN4VrpnA==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.1.2.tgz", + "integrity": "sha512-fIfymD1erjoj1eVh7pa/dvOtUhSd7sEOGuWEJ81HJqdzwZbPWweRu3Nh/9kj/ttUy8xawWfdJHLwyG2KnRu0DA==", "dev": true, "dependencies": { "ajv": "8.11.0", @@ -290,12 +289,12 @@ "dev": true }, "node_modules/@angular-devkit/schematics": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.1.0.tgz", - "integrity": "sha512-5QC01k9eznuQSiqxijKhVkAEmA8sioYuLhBzyffaPszSySH8kPMNxhAc8zJhBTNLumbS6iDaGkSqTQl5Kv9fOw==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.1.2.tgz", + "integrity": "sha512-vC9UA3heXbq9CAkwMXHJfIu0G7Ty2oTJ5PtrrFQpig1PrFnRfr4sg+qRS1CLsEAJYQNo14xV55OQkKEPTij/Gg==", "dev": true, "dependencies": { - "@angular-devkit/core": "14.1.0", + "@angular-devkit/core": "14.1.2", "jsonc-parser": "3.1.0", "magic-string": "0.26.2", "ora": "5.4.1", @@ -326,9 +325,9 @@ "dev": true }, "node_modules/@angular/animations": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.1.0.tgz", - "integrity": "sha512-OhEXi1u/M4QyltDCxSqo7YzF7ELgNDWNqbbM7vtWIcrc4c+Yiu1GXhW/GQRosF3WAuQVfdQzEI0VTeNoo98Kvw==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.1.2.tgz", + "integrity": "sha512-MwsoAQP2MpxxjX4Jf3SNWEL/gggzT3nRyQR63Z/Z2yNKIzAA62QndDAn6C0aKOiZDOyDhH6LXGn6hAH7fTDsfA==", "dependencies": { "tslib": "^2.3.0" }, @@ -336,19 +335,19 @@ "node": "^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/core": "14.1.0" + "@angular/core": "14.1.2" } }, "node_modules/@angular/cli": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-14.1.0.tgz", - "integrity": "sha512-W/t2PkGHu9r87po1ZXQRYU81VtjzNMuGsP5tmoW1pGuibK7Kj+25G+jrXK/WADTi+pjTMXHNXYn8PlMNAIrZ/w==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-14.1.2.tgz", + "integrity": "sha512-HuoaciYXQD+50o1bpg4P80OtZlBCXInDFelHSTwQMl0n8uaWg2+Iy5sVx+0bzt8Wr6Dyaptdvzy2WpHIIRlHBg==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1401.0", - "@angular-devkit/core": "14.1.0", - "@angular-devkit/schematics": "14.1.0", - "@schematics/angular": "14.1.0", + "@angular-devkit/architect": "0.1401.2", + "@angular-devkit/core": "14.1.2", + "@angular-devkit/schematics": "14.1.2", + "@schematics/angular": "14.1.2", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", "debug": "4.3.4", @@ -376,9 +375,9 @@ } }, "node_modules/@angular/common": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.1.0.tgz", - "integrity": "sha512-leethDtLbA3qySaOEBUto602DF0qH1maK9u2zHncrUFOpnHAYUEd7N9MFMdIYASurTnwOSglEoIDCML94qzImQ==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.1.2.tgz", + "integrity": "sha512-ukj/BAF3cH8IDrrMt7MLjosKst005YGD0EpLNpdTNdHN8NrF3OrEYyR7YR7obrucjJ8fowsz9V7a8OrNrHaS4w==", "dependencies": { "tslib": "^2.3.0" }, @@ -386,14 +385,14 @@ "node": "^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/core": "14.1.0", + "@angular/core": "14.1.2", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.1.0.tgz", - "integrity": "sha512-aLbtpFDF3fp/DOEsWSdpszmoNZAb0To/zoKhHVmEReuUKkMtlPNd3+e6wkR2vrvR/cWgbKwdb7RQ1IQtGDu74A==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.1.2.tgz", + "integrity": "sha512-H0W4kTM7gUizWe5oFgixbnnS6U4pBt7qcmVCe5mdfzuUwoDzp8u/cOUErxzM0gZiCFVT/KBPXgc7TeZ1oNtgHg==", "dependencies": { "tslib": "^2.3.0" }, @@ -401,7 +400,7 @@ "node": "^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/core": "14.1.0" + "@angular/core": "14.1.2" }, "peerDependenciesMeta": { "@angular/core": { @@ -410,9 +409,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.1.0.tgz", - "integrity": "sha512-llJkDnv0+riTdRPdOJv/FToz4X9ZO1URnalW+tIe2RyfOzkEqM+VLD/x+3cVgnsaFKuoPxIjZEkMoppGwVB4kg==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.1.2.tgz", + "integrity": "sha512-L1gB0ig2T0xz+4KaZCuf07tUitKT8gEqYQCd8evPeomMVgZAZcaCZa5O1FmNjGv7mDb0PrDJ1q0/VqTfet8onw==", "dev": true, "dependencies": { "@babel/core": "^7.17.2", @@ -435,14 +434,14 @@ "node": "^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/compiler": "14.1.0", + "@angular/compiler": "14.1.2", "typescript": ">=4.6.2 <4.8" } }, "node_modules/@angular/core": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.1.0.tgz", - "integrity": "sha512-3quEsHmQifJOQ2oij5K+cjGjmhsKsyZI1+OTHWNZ6IXeuYviZv4U/Cui9fUJ1RN3CZxH3NzWB3gB/5qYFQfOgg==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.1.2.tgz", + "integrity": "sha512-7DkeMYxXaWiUN0SztsD/dUn8SYo7305sM9HtX9RCGG/pweOoIIdcRhTxyiatyVGzTuulwMs/Y/rD1Q+GsDCnow==", "dependencies": { "tslib": "^2.3.0" }, @@ -455,9 +454,9 @@ } }, "node_modules/@angular/forms": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.1.0.tgz", - "integrity": "sha512-y7VQ2t+/ASEjzt8zXg4y5b03lMSPHmnhy4XzjDT14ZFrALaSxyhkSqoBfAksPkTeKmsFMnP/VgLboRsE8TLs0Q==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.1.2.tgz", + "integrity": "sha512-9qXbYVo3mgz7SiSZzt5y/SonccASLKr8HSLlTGwnXKHlBAWA4tgdAR5Dqs+rKpoJI8VRF29Cu76fqytl60tCVA==", "dependencies": { "tslib": "^2.3.0" }, @@ -465,16 +464,16 @@ "node": "^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "14.1.0", - "@angular/core": "14.1.0", - "@angular/platform-browser": "14.1.0", + "@angular/common": "14.1.2", + "@angular/core": "14.1.2", + "@angular/platform-browser": "14.1.2", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/platform-browser": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.1.0.tgz", - "integrity": "sha512-axNXUSqxsP0QSdNskd1pFo2uMo1UNoFaSAB02eDWwLkWQ1pWel+T78HiQY2bNeI3elgzjwPTT4vCCDQKNVTNig==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.1.2.tgz", + "integrity": "sha512-rxkAEeacnAkWKoyjteldy5/ECOo5wyq9qJwFSXyX8bZJWh9e4d/FzZfTl4Ctk5+Cqm+2GmhBwAYaaIxpo9EgbA==", "dependencies": { "tslib": "^2.3.0" }, @@ -482,9 +481,9 @@ "node": "^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/animations": "14.1.0", - "@angular/common": "14.1.0", - "@angular/core": "14.1.0" + "@angular/animations": "14.1.2", + "@angular/common": "14.1.2", + "@angular/core": "14.1.2" }, "peerDependenciesMeta": { "@angular/animations": { @@ -493,9 +492,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.0.tgz", - "integrity": "sha512-0Lxz3HJ9qTOyMTp5Qud2tycP7wqe+tnHOSUqDywrbNRozTKGX0z3i+l0KMku3BtUbuMi3tJomqV914/dtbCvIw==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.2.tgz", + "integrity": "sha512-+xzFB1WwjMWaRafk41PEJcwLuzKyZ3SeMlEX2lsrRPySX446YGqdyEyvvpzmbSLwOlcERxTT6Q1j8QYgFKjDSg==", "dependencies": { "tslib": "^2.3.0" }, @@ -503,16 +502,16 @@ "node": "^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "14.1.0", - "@angular/compiler": "14.1.0", - "@angular/core": "14.1.0", - "@angular/platform-browser": "14.1.0" + "@angular/common": "14.1.2", + "@angular/compiler": "14.1.2", + "@angular/core": "14.1.2", + "@angular/platform-browser": "14.1.2" } }, "node_modules/@angular/router": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-14.1.0.tgz", - "integrity": "sha512-WBC1E+d9RS8vy57zJ6LVtWT3AM12mEHY7SCMBRJNBcrmBYJwojxeV8IVkUoW4Ds910gG/w3LjIN0eNHg5qRtNA==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-14.1.2.tgz", + "integrity": "sha512-YOHAteYHgM6qX0XaD+D+vMLClff2F7yqff8oVyXyPsvL686GV11ZNJFoBt/qDe8WJiSQ295z6RxFOYfNeFrfhQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -520,9 +519,9 @@ "node": "^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "14.1.0", - "@angular/core": "14.1.0", - "@angular/platform-browser": "14.1.0", + "@angular/common": "14.1.2", + "@angular/core": "14.1.2", + "@angular/platform-browser": "14.1.2", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -915,6 +914,15 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", @@ -934,15 +942,29 @@ } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.9.tgz", - "integrity": "sha512-cG2ru3TRAL6a60tfQflpEfs4ldiPwF6YW3zfJiRgmoFVIaC1vGnBBgatfec+ZUziPHkHSaXAuEck3Cdkf3eRpQ==", + "version": "7.18.11", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz", + "integrity": "sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==", "dev": true, "dependencies": { "@babel/helper-function-name": "^7.18.9", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.18.11", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function/node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" }, "engines": { "node": ">=6.9.0" @@ -977,9 +999,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz", - "integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==", + "version": "7.18.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.11.tgz", + "integrity": "sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -1968,12 +1990,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz", - "integrity": "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -2139,19 +2161,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz", - "integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==", + "version": "7.18.11", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.11.tgz", + "integrity": "sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.9", + "@babel/generator": "^7.18.10", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.18.9", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.9", - "@babel/types": "^7.18.9", + "@babel/parser": "^7.18.11", + "@babel/types": "^7.18.10", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -2160,12 +2182,12 @@ } }, "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz", - "integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==", + "version": "7.18.12", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.12.tgz", + "integrity": "sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg==", "dev": true, "dependencies": { - "@babel/types": "^7.18.9", + "@babel/types": "^7.18.10", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -2188,11 +2210,12 @@ } }, "node_modules/@babel/types": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz", - "integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", + "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", "dev": true, "dependencies": { + "@babel/helper-string-parser": "^7.18.10", "@babel/helper-validator-identifier": "^7.18.6", "to-fast-properties": "^2.0.0" }, @@ -2554,9 +2577,9 @@ "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", @@ -2570,9 +2593,9 @@ "dev": true }, "node_modules/@ngtools/webpack": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.1.0.tgz", - "integrity": "sha512-d4U6ymDCXckVgfjYEv1Wjzd78ZSm0NKgq8mN6FdlrCupg02LPIODjeKyNr4c4zwMAOJeHkVNEZ+USoDEK3XSsw==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.1.2.tgz", + "integrity": "sha512-ghKdIQFLFw9Nid4qCPk0YbZ8ed5tSfoupULDFFmKJNg/aIQAckY6iuLCxjK3oqCU9lg71ikuq8zQS/WjeRjqGw==", "dev": true, "engines": { "node": "^14.15.0 || >=16.10.0", @@ -2719,9 +2742,9 @@ } }, "node_modules/@npmcli/run-script": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.1.7.tgz", - "integrity": "sha512-WXr/MyM4tpKA4BotB81NccGAv8B48lNH0gRoILucbcAhTQXLCoi6HflMV3KdXubIqvP9SuLsFn68Z7r4jl+ppw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.2.1.tgz", + "integrity": "sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg==", "dev": true, "dependencies": { "@npmcli/node-gyp": "^2.0.0", @@ -2750,13 +2773,13 @@ } }, "node_modules/@schematics/angular": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-14.1.0.tgz", - "integrity": "sha512-lhqNZzA+iT3XwlwRU757mhYmd5WE9XB2OKFhosvvszou2zuNUJMDPR9P01ZVNCOa2fScOeCMg2q3ZDgGTBl96Q==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-14.1.2.tgz", + "integrity": "sha512-vttvYpffkG/cy9aUCXLW+Dc0msUNbyoFXTQRHN/MYX5uNVvXaRCEzWVE3tp87Dt5XlGo2r9e21gNAoY1TyXj3Q==", "dev": true, "dependencies": { - "@angular-devkit/core": "14.1.0", - "@angular-devkit/schematics": "14.1.0", + "@angular-devkit/core": "14.1.2", + "@angular-devkit/schematics": "14.1.2", "jsonc-parser": "3.1.0" }, "engines": { @@ -2869,9 +2892,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", + "version": "4.17.30", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz", + "integrity": "sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==", "dev": true, "dependencies": { "@types/node": "*", @@ -2901,15 +2924,15 @@ "dev": true }, "node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", "dev": true }, "node_modules/@types/node": { - "version": "18.0.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.6.tgz", - "integrity": "sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw==", + "version": "18.7.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.2.tgz", + "integrity": "sha512-ce7MIiaYWCFv6A83oEultwhBXb22fxwNOQf5DIxWA4WXvDQ7K+L0fbWl/YOfCzlR5B/uFkSnVBhPcOfOECcWvA==", "dev": true }, "node_modules/@types/parse-json": { @@ -2946,12 +2969,12 @@ } }, "node_modules/@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", "dev": true, "dependencies": { - "@types/mime": "^1", + "@types/mime": "*", "@types/node": "*" } }, @@ -3380,16 +3403,16 @@ "dev": true }, "node_modules/are-we-there-yet": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", - "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, "dependencies": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/argparse": { @@ -3420,9 +3443,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", - "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "version": "10.4.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.8.tgz", + "integrity": "sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==", "dev": true, "funding": [ { @@ -3435,8 +3458,8 @@ } ], "dependencies": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", + "browserslist": "^4.21.3", + "caniuse-lite": "^1.0.30001373", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -3707,9 +3730,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz", - "integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", "dev": true, "funding": [ { @@ -3722,10 +3745,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001366", - "electron-to-chromium": "^1.4.188", + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.4" + "update-browserslist-db": "^1.0.5" }, "bin": { "browserslist": "cli.js" @@ -3848,9 +3871,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001369", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001369.tgz", - "integrity": "sha512-OY1SBHaodJc4wflDIKnlkdqWzJZd1Ls/2zbVJHBSv3AT7vgOJ58yAhd2CN4d57l2kPJrgMb7P9+N1Mhy4tNSQA==", + "version": "1.0.30001375", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001375.tgz", + "integrity": "sha512-kWIMkNzLYxSvnjy0hL8w1NOaWNr2rn39RTAVyIwcw8juu60bZDWiF1/loOYANzjtJmy6qPgNmn38ro5Pygagdw==", "dev": true, "funding": [ { @@ -3950,9 +3973,9 @@ } }, "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", "dev": true, "engines": { "node": ">=6" @@ -4290,12 +4313,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.23.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.23.5.tgz", - "integrity": "sha512-fHYozIFIxd+91IIbXJgWd/igXIc8Mf9is0fusswjnGIWVG96y2cwyUdlCkGOw6rMLHKAxg7xtCIVaHsyOUnJIg==", + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz", + "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==", "dev": true, "dependencies": { - "browserslist": "^4.21.2", + "browserslist": "^4.21.3", "semver": "7.0.0" }, "funding": { @@ -4844,9 +4867,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.199", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.199.tgz", - "integrity": "sha512-WIGME0Cs7oob3mxsJwHbeWkH0tYkIE/sjkJ8ML2BYmuRcjhRl/q5kVDXG7W9LOOKwzPU5M0LBlXRq9rlSgnNlg==", + "version": "1.4.217", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.217.tgz", + "integrity": "sha512-iX8GbAMij7cOtJPZo02CClpaPMWjvN5meqXiJXkBgwvraNWTNH0Z7F9tkznI34JRPtWASoPM/xWamq3oNb49GA==", "dev": true }, "node_modules/emoji-regex": { @@ -5823,14 +5846,6 @@ } } }, - "node_modules/font-awesome": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", - "integrity": "sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==", - "engines": { - "node": ">=0.10.3" - } - }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -6138,15 +6153,15 @@ "dev": true }, "node_modules/hosted-git-info": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.0.0.tgz", - "integrity": "sha512-rRnjWu0Bxj+nIfUOkz0695C0H6tRrN5iYIzYejb0tDEefe2AekHu/U5Kn9pEie5vsJqpNQU02az7TGSH3qpz4Q==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz", + "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==", "dev": true, "dependencies": { "lru-cache": "^7.5.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/hpack.js": { @@ -6611,9 +6626,9 @@ } }, "node_modules/is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -7514,25 +7529,25 @@ } }, "node_modules/log4js": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.6.0.tgz", - "integrity": "sha512-3v8R7fd45UB6THucSht6wN2/7AZEruQbXdjygPZcxt5TA/msO6si9CN5MefUuKXbYnJHTBnYcx4famwcyQd+sA==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.6.1.tgz", + "integrity": "sha512-J8VYFH2UQq/xucdNu71io4Fo+purYYudyErgBbswWKO0MC6QVOERRomt5su/z6d3RJSmLyTGmXl3Q/XjKCf+/A==", "dev": true, "dependencies": { - "date-format": "^4.0.11", + "date-format": "^4.0.13", "debug": "^4.3.4", - "flatted": "^3.2.5", + "flatted": "^3.2.6", "rfdc": "^1.3.0", - "streamroller": "^3.1.1" + "streamroller": "^3.1.2" }, "engines": { "node": ">=8.0" } }, "node_modules/lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", + "version": "7.13.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.2.tgz", + "integrity": "sha512-VJL3nIpA79TodY/ctmZEfhASgqekbT574/c4j3jn4bKXbSCnTTCH/KltZyvL2GlV+tGSMtsWyem8DCX7qKTMBA==", "dev": true, "engines": { "node": ">=12" @@ -8312,14 +8327,14 @@ } }, "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.3.tgz", + "integrity": "sha512-ZFJnX3zltyjcYJL0RoCJuzb+11zWGyaDbjgxZbdV7rFEcHQuYxrZqhow67aA7xpes6LhojyFDaBKAFfogQrikA==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, "engines": { @@ -11832,9 +11847,9 @@ } }, "node_modules/yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "engines": { "node": ">=12" @@ -11861,12 +11876,12 @@ } }, "@angular-devkit/architect": { - "version": "0.1401.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1401.0.tgz", - "integrity": "sha512-dHgP2/5EXkJpdf6Y1QHQX2RP8xTli/CFZH3uNnTh+EuAib/kwu+Z6K3UttZWB5VGhAF1u/xf97Vly/UkXvjKAg==", + "version": "0.1401.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1401.2.tgz", + "integrity": "sha512-OR/P0kC1TUayerB+oNsczZ7tP7qK/y+rSg4P0hMv4bU+SSdBd3woG4ILzwWXb8tAb9b9zvWpzxpxG99h1bUGlA==", "dev": true, "requires": { - "@angular-devkit/core": "14.1.0", + "@angular-devkit/core": "14.1.2", "rxjs": "6.6.7" }, "dependencies": { @@ -11888,15 +11903,15 @@ } }, "@angular-devkit/build-angular": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.1.0.tgz", - "integrity": "sha512-AtecSuDEPLYd3p7uFVKpoA0XNcq+NvVYFJK8h90BG+IRZtzEm7ZJeYdohXVeVfTO5GvpNFN1XoHxR5rxiXeBhg==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.1.2.tgz", + "integrity": "sha512-x0XS4rKefEWAr8G5vzA3FGCicLnrMGIZgv5gAkcoUbXWfowKxtjGWTWEtsj8GsG2+U4+HVQ4z/vd3TQOnVMoiA==", "dev": true, "requires": { "@ampproject/remapping": "2.2.0", - "@angular-devkit/architect": "0.1401.0", - "@angular-devkit/build-webpack": "0.1401.0", - "@angular-devkit/core": "14.1.0", + "@angular-devkit/architect": "0.1401.2", + "@angular-devkit/build-webpack": "0.1401.2", + "@angular-devkit/core": "14.1.2", "@babel/core": "7.18.6", "@babel/generator": "7.18.7", "@babel/helper-annotate-as-pure": "7.18.6", @@ -11907,7 +11922,7 @@ "@babel/runtime": "7.18.6", "@babel/template": "7.18.6", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "14.1.0", + "@ngtools/webpack": "14.1.2", "ansi-colors": "4.1.3", "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", @@ -11978,12 +11993,12 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.1401.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1401.0.tgz", - "integrity": "sha512-jKfnHal09mVnEapmNrAHXL/00LfafmfEUtlOPzQMgGJL7MWCeMcFthsbcOnGuzUerbiiquRk/KmLTERYjH+ZrQ==", + "version": "0.1401.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1401.2.tgz", + "integrity": "sha512-vsudoMtno3XYbhQZi1jPsFw8Vi6JYkhEqwP4cs/E6gAEwHSQ94l3A9KqKvk+w4EFfiZSY6Wtp/vSNjwJavC+sQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1401.0", + "@angular-devkit/architect": "0.1401.2", "rxjs": "6.6.7" }, "dependencies": { @@ -12005,9 +12020,9 @@ } }, "@angular-devkit/core": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.1.0.tgz", - "integrity": "sha512-Y2d/+nFmjjY4eatc3cwdDDAnpnhG3KTX2OVW7dXSUxW3eY5e3vdMlVUbFiKwvwAshlrJy85Y6RMvZSBN4VrpnA==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.1.2.tgz", + "integrity": "sha512-fIfymD1erjoj1eVh7pa/dvOtUhSd7sEOGuWEJ81HJqdzwZbPWweRu3Nh/9kj/ttUy8xawWfdJHLwyG2KnRu0DA==", "dev": true, "requires": { "ajv": "8.11.0", @@ -12035,12 +12050,12 @@ } }, "@angular-devkit/schematics": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.1.0.tgz", - "integrity": "sha512-5QC01k9eznuQSiqxijKhVkAEmA8sioYuLhBzyffaPszSySH8kPMNxhAc8zJhBTNLumbS6iDaGkSqTQl5Kv9fOw==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.1.2.tgz", + "integrity": "sha512-vC9UA3heXbq9CAkwMXHJfIu0G7Ty2oTJ5PtrrFQpig1PrFnRfr4sg+qRS1CLsEAJYQNo14xV55OQkKEPTij/Gg==", "dev": true, "requires": { - "@angular-devkit/core": "14.1.0", + "@angular-devkit/core": "14.1.2", "jsonc-parser": "3.1.0", "magic-string": "0.26.2", "ora": "5.4.1", @@ -12065,23 +12080,23 @@ } }, "@angular/animations": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.1.0.tgz", - "integrity": "sha512-OhEXi1u/M4QyltDCxSqo7YzF7ELgNDWNqbbM7vtWIcrc4c+Yiu1GXhW/GQRosF3WAuQVfdQzEI0VTeNoo98Kvw==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.1.2.tgz", + "integrity": "sha512-MwsoAQP2MpxxjX4Jf3SNWEL/gggzT3nRyQR63Z/Z2yNKIzAA62QndDAn6C0aKOiZDOyDhH6LXGn6hAH7fTDsfA==", "requires": { "tslib": "^2.3.0" } }, "@angular/cli": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-14.1.0.tgz", - "integrity": "sha512-W/t2PkGHu9r87po1ZXQRYU81VtjzNMuGsP5tmoW1pGuibK7Kj+25G+jrXK/WADTi+pjTMXHNXYn8PlMNAIrZ/w==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-14.1.2.tgz", + "integrity": "sha512-HuoaciYXQD+50o1bpg4P80OtZlBCXInDFelHSTwQMl0n8uaWg2+Iy5sVx+0bzt8Wr6Dyaptdvzy2WpHIIRlHBg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1401.0", - "@angular-devkit/core": "14.1.0", - "@angular-devkit/schematics": "14.1.0", - "@schematics/angular": "14.1.0", + "@angular-devkit/architect": "0.1401.2", + "@angular-devkit/core": "14.1.2", + "@angular-devkit/schematics": "14.1.2", + "@schematics/angular": "14.1.2", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", "debug": "4.3.4", @@ -12101,25 +12116,25 @@ } }, "@angular/common": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.1.0.tgz", - "integrity": "sha512-leethDtLbA3qySaOEBUto602DF0qH1maK9u2zHncrUFOpnHAYUEd7N9MFMdIYASurTnwOSglEoIDCML94qzImQ==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.1.2.tgz", + "integrity": "sha512-ukj/BAF3cH8IDrrMt7MLjosKst005YGD0EpLNpdTNdHN8NrF3OrEYyR7YR7obrucjJ8fowsz9V7a8OrNrHaS4w==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.1.0.tgz", - "integrity": "sha512-aLbtpFDF3fp/DOEsWSdpszmoNZAb0To/zoKhHVmEReuUKkMtlPNd3+e6wkR2vrvR/cWgbKwdb7RQ1IQtGDu74A==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.1.2.tgz", + "integrity": "sha512-H0W4kTM7gUizWe5oFgixbnnS6U4pBt7qcmVCe5mdfzuUwoDzp8u/cOUErxzM0gZiCFVT/KBPXgc7TeZ1oNtgHg==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler-cli": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.1.0.tgz", - "integrity": "sha512-llJkDnv0+riTdRPdOJv/FToz4X9ZO1URnalW+tIe2RyfOzkEqM+VLD/x+3cVgnsaFKuoPxIjZEkMoppGwVB4kg==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.1.2.tgz", + "integrity": "sha512-L1gB0ig2T0xz+4KaZCuf07tUitKT8gEqYQCd8evPeomMVgZAZcaCZa5O1FmNjGv7mDb0PrDJ1q0/VqTfet8onw==", "dev": true, "requires": { "@babel/core": "^7.17.2", @@ -12135,41 +12150,41 @@ } }, "@angular/core": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.1.0.tgz", - "integrity": "sha512-3quEsHmQifJOQ2oij5K+cjGjmhsKsyZI1+OTHWNZ6IXeuYviZv4U/Cui9fUJ1RN3CZxH3NzWB3gB/5qYFQfOgg==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.1.2.tgz", + "integrity": "sha512-7DkeMYxXaWiUN0SztsD/dUn8SYo7305sM9HtX9RCGG/pweOoIIdcRhTxyiatyVGzTuulwMs/Y/rD1Q+GsDCnow==", "requires": { "tslib": "^2.3.0" } }, "@angular/forms": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.1.0.tgz", - "integrity": "sha512-y7VQ2t+/ASEjzt8zXg4y5b03lMSPHmnhy4XzjDT14ZFrALaSxyhkSqoBfAksPkTeKmsFMnP/VgLboRsE8TLs0Q==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.1.2.tgz", + "integrity": "sha512-9qXbYVo3mgz7SiSZzt5y/SonccASLKr8HSLlTGwnXKHlBAWA4tgdAR5Dqs+rKpoJI8VRF29Cu76fqytl60tCVA==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.1.0.tgz", - "integrity": "sha512-axNXUSqxsP0QSdNskd1pFo2uMo1UNoFaSAB02eDWwLkWQ1pWel+T78HiQY2bNeI3elgzjwPTT4vCCDQKNVTNig==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.1.2.tgz", + "integrity": "sha512-rxkAEeacnAkWKoyjteldy5/ECOo5wyq9qJwFSXyX8bZJWh9e4d/FzZfTl4Ctk5+Cqm+2GmhBwAYaaIxpo9EgbA==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser-dynamic": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.0.tgz", - "integrity": "sha512-0Lxz3HJ9qTOyMTp5Qud2tycP7wqe+tnHOSUqDywrbNRozTKGX0z3i+l0KMku3BtUbuMi3tJomqV914/dtbCvIw==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.2.tgz", + "integrity": "sha512-+xzFB1WwjMWaRafk41PEJcwLuzKyZ3SeMlEX2lsrRPySX446YGqdyEyvvpzmbSLwOlcERxTT6Q1j8QYgFKjDSg==", "requires": { "tslib": "^2.3.0" } }, "@angular/router": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-14.1.0.tgz", - "integrity": "sha512-WBC1E+d9RS8vy57zJ6LVtWT3AM12mEHY7SCMBRJNBcrmBYJwojxeV8IVkUoW4Ds910gG/w3LjIN0eNHg5qRtNA==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-14.1.2.tgz", + "integrity": "sha512-YOHAteYHgM6qX0XaD+D+vMLClff2F7yqff8oVyXyPsvL686GV11ZNJFoBt/qDe8WJiSQ295z6RxFOYfNeFrfhQ==", "requires": { "tslib": "^2.3.0" } @@ -12471,6 +12486,12 @@ "@babel/types": "^7.18.6" } }, + "@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true + }, "@babel/helper-validator-identifier": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", @@ -12484,15 +12505,28 @@ "dev": true }, "@babel/helper-wrap-function": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.9.tgz", - "integrity": "sha512-cG2ru3TRAL6a60tfQflpEfs4ldiPwF6YW3zfJiRgmoFVIaC1vGnBBgatfec+ZUziPHkHSaXAuEck3Cdkf3eRpQ==", + "version": "7.18.11", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz", + "integrity": "sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==", "dev": true, "requires": { "@babel/helper-function-name": "^7.18.9", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.18.11", + "@babel/types": "^7.18.10" + }, + "dependencies": { + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + } + } } }, "@babel/helpers": { @@ -12518,9 +12552,9 @@ } }, "@babel/parser": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz", - "integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==", + "version": "7.18.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.11.tgz", + "integrity": "sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -13157,12 +13191,12 @@ } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz", - "integrity": "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-unicode-regex": { @@ -13300,30 +13334,30 @@ } }, "@babel/traverse": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz", - "integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==", + "version": "7.18.11", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.11.tgz", + "integrity": "sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ==", "dev": true, "requires": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.9", + "@babel/generator": "^7.18.10", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.18.9", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.9", - "@babel/types": "^7.18.9", + "@babel/parser": "^7.18.11", + "@babel/types": "^7.18.10", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { "@babel/generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz", - "integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==", + "version": "7.18.12", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.12.tgz", + "integrity": "sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg==", "dev": true, "requires": { - "@babel/types": "^7.18.9", + "@babel/types": "^7.18.10", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" } @@ -13342,11 +13376,12 @@ } }, "@babel/types": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz", - "integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", + "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", "dev": true, "requires": { + "@babel/helper-string-parser": "^7.18.10", "@babel/helper-validator-identifier": "^7.18.6", "to-fast-properties": "^2.0.0" } @@ -13558,9 +13593,9 @@ "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.0.3", @@ -13574,9 +13609,9 @@ "dev": true }, "@ngtools/webpack": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.1.0.tgz", - "integrity": "sha512-d4U6ymDCXckVgfjYEv1Wjzd78ZSm0NKgq8mN6FdlrCupg02LPIODjeKyNr4c4zwMAOJeHkVNEZ+USoDEK3XSsw==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.1.2.tgz", + "integrity": "sha512-ghKdIQFLFw9Nid4qCPk0YbZ8ed5tSfoupULDFFmKJNg/aIQAckY6iuLCxjK3oqCU9lg71ikuq8zQS/WjeRjqGw==", "dev": true, "requires": {} }, @@ -13680,9 +13715,9 @@ } }, "@npmcli/run-script": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.1.7.tgz", - "integrity": "sha512-WXr/MyM4tpKA4BotB81NccGAv8B48lNH0gRoILucbcAhTQXLCoi6HflMV3KdXubIqvP9SuLsFn68Z7r4jl+ppw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.2.1.tgz", + "integrity": "sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg==", "dev": true, "requires": { "@npmcli/node-gyp": "^2.0.0", @@ -13704,13 +13739,13 @@ } }, "@schematics/angular": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-14.1.0.tgz", - "integrity": "sha512-lhqNZzA+iT3XwlwRU757mhYmd5WE9XB2OKFhosvvszou2zuNUJMDPR9P01ZVNCOa2fScOeCMg2q3ZDgGTBl96Q==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-14.1.2.tgz", + "integrity": "sha512-vttvYpffkG/cy9aUCXLW+Dc0msUNbyoFXTQRHN/MYX5uNVvXaRCEzWVE3tp87Dt5XlGo2r9e21gNAoY1TyXj3Q==", "dev": true, "requires": { - "@angular-devkit/core": "14.1.0", - "@angular-devkit/schematics": "14.1.0", + "@angular-devkit/core": "14.1.2", + "@angular-devkit/schematics": "14.1.2", "jsonc-parser": "3.1.0" } }, @@ -13815,9 +13850,9 @@ } }, "@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", + "version": "4.17.30", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz", + "integrity": "sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==", "dev": true, "requires": { "@types/node": "*", @@ -13847,15 +13882,15 @@ "dev": true }, "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", "dev": true }, "@types/node": { - "version": "18.0.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.6.tgz", - "integrity": "sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw==", + "version": "18.7.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.2.tgz", + "integrity": "sha512-ce7MIiaYWCFv6A83oEultwhBXb22fxwNOQf5DIxWA4WXvDQ7K+L0fbWl/YOfCzlR5B/uFkSnVBhPcOfOECcWvA==", "dev": true }, "@types/parse-json": { @@ -13892,12 +13927,12 @@ } }, "@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", "dev": true, "requires": { - "@types/mime": "^1", + "@types/mime": "*", "@types/node": "*" } }, @@ -14262,9 +14297,9 @@ "dev": true }, "are-we-there-yet": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", - "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, "requires": { "delegates": "^1.0.0", @@ -14293,13 +14328,13 @@ "dev": true }, "autoprefixer": { - "version": "10.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", - "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "version": "10.4.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.8.tgz", + "integrity": "sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==", "dev": true, "requires": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", + "browserslist": "^4.21.3", + "caniuse-lite": "^1.0.30001373", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -14512,15 +14547,15 @@ } }, "browserslist": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz", - "integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==", + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001366", - "electron-to-chromium": "^1.4.188", + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.4" + "update-browserslist-db": "^1.0.5" } }, "buffer": { @@ -14608,9 +14643,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001369", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001369.tgz", - "integrity": "sha512-OY1SBHaodJc4wflDIKnlkdqWzJZd1Ls/2zbVJHBSv3AT7vgOJ58yAhd2CN4d57l2kPJrgMb7P9+N1Mhy4tNSQA==", + "version": "1.0.30001375", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001375.tgz", + "integrity": "sha512-kWIMkNzLYxSvnjy0hL8w1NOaWNr2rn39RTAVyIwcw8juu60bZDWiF1/loOYANzjtJmy6qPgNmn38ro5Pygagdw==", "dev": true }, "chalk": { @@ -14674,9 +14709,9 @@ } }, "cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", "dev": true }, "cli-width": { @@ -14943,12 +14978,12 @@ } }, "core-js-compat": { - "version": "3.23.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.23.5.tgz", - "integrity": "sha512-fHYozIFIxd+91IIbXJgWd/igXIc8Mf9is0fusswjnGIWVG96y2cwyUdlCkGOw6rMLHKAxg7xtCIVaHsyOUnJIg==", + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz", + "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==", "dev": true, "requires": { - "browserslist": "^4.21.2", + "browserslist": "^4.21.3", "semver": "7.0.0" }, "dependencies": { @@ -15344,9 +15379,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.199", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.199.tgz", - "integrity": "sha512-WIGME0Cs7oob3mxsJwHbeWkH0tYkIE/sjkJ8ML2BYmuRcjhRl/q5kVDXG7W9LOOKwzPU5M0LBlXRq9rlSgnNlg==", + "version": "1.4.217", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.217.tgz", + "integrity": "sha512-iX8GbAMij7cOtJPZo02CClpaPMWjvN5meqXiJXkBgwvraNWTNH0Z7F9tkznI34JRPtWASoPM/xWamq3oNb49GA==", "dev": true }, "emoji-regex": { @@ -15998,11 +16033,6 @@ "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", "dev": true }, - "font-awesome": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", - "integrity": "sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==" - }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -16230,9 +16260,9 @@ "dev": true }, "hosted-git-info": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.0.0.tgz", - "integrity": "sha512-rRnjWu0Bxj+nIfUOkz0695C0H6tRrN5iYIzYejb0tDEefe2AekHu/U5Kn9pEie5vsJqpNQU02az7TGSH3qpz4Q==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz", + "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==", "dev": true, "requires": { "lru-cache": "^7.5.1" @@ -16597,9 +16627,9 @@ } }, "is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "dev": true, "requires": { "has": "^1.0.3" @@ -17266,22 +17296,22 @@ } }, "log4js": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.6.0.tgz", - "integrity": "sha512-3v8R7fd45UB6THucSht6wN2/7AZEruQbXdjygPZcxt5TA/msO6si9CN5MefUuKXbYnJHTBnYcx4famwcyQd+sA==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.6.1.tgz", + "integrity": "sha512-J8VYFH2UQq/xucdNu71io4Fo+purYYudyErgBbswWKO0MC6QVOERRomt5su/z6d3RJSmLyTGmXl3Q/XjKCf+/A==", "dev": true, "requires": { - "date-format": "^4.0.11", + "date-format": "^4.0.13", "debug": "^4.3.4", - "flatted": "^3.2.5", + "flatted": "^3.2.6", "rfdc": "^1.3.0", - "streamroller": "^3.1.1" + "streamroller": "^3.1.2" } }, "lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", + "version": "7.13.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.2.tgz", + "integrity": "sha512-VJL3nIpA79TodY/ctmZEfhASgqekbT574/c4j3jn4bKXbSCnTTCH/KltZyvL2GlV+tGSMtsWyem8DCX7qKTMBA==", "dev": true }, "magic-string": { @@ -17867,14 +17897,14 @@ "dev": true }, "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.3.tgz", + "integrity": "sha512-ZFJnX3zltyjcYJL0RoCJuzb+11zWGyaDbjgxZbdV7rFEcHQuYxrZqhow67aA7xpes6LhojyFDaBKAFfogQrikA==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" } }, @@ -20357,9 +20387,9 @@ } }, "yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true }, "zone.js": { diff --git a/package.json b/package.json index 99dfa24..43a2dca 100644 --- a/package.json +++ b/package.json @@ -19,14 +19,13 @@ "@angular/platform-browser-dynamic": "^14.1.0", "@angular/router": "^14.1.0", "bulma": "^0.9.4", - "font-awesome": "^4.7.0", "rxjs": "~7.5.0", "tslib": "^2.3.0", "zone.js": "~0.11.4" }, "devDependencies": { - "@angular-devkit/build-angular": "^14.1.0", - "@angular/cli": "~14.1.0", + "@angular-devkit/build-angular": "^14.1.2", + "@angular/cli": "~14.1.2", "@angular/compiler-cli": "^14.1.0", "@types/jasmine": "~4.0.0", "jasmine-core": "~4.2.0", diff --git a/src/app/app.component.css b/src/app/app.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/app.component.html b/src/app/app.component.html index a16363e..58363f6 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,40 +1,29 @@
-
-

{{ title }}

+

{{ title }}

- -
-
-

Empty list

-
+
+
+ + + + + + +
+ + + + + +
-
- - -
-
- - -
-
- -
-
- -
-
- -
+
+ +
diff --git a/src/app/app.component.scss b/src/app/app.component.scss deleted file mode 100644 index 5a0c145..0000000 --- a/src/app/app.component.scss +++ /dev/null @@ -1,13 +0,0 @@ -input[type=checkbox] + label { - transition: all 500ms; -} - -input[type=checkbox]:checked + label { - text-decoration: line-through; - color: gray; -} - -.empty-list { - color: gray; - font-style: italic; -} diff --git a/src/app/app.component.ts b/src/app/app.component.ts index a7869a0..b6d238b 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,56 +1,57 @@ import {Component, OnInit} from '@angular/core'; -import TodoItem from "../models/todo-item.model"; -import LocalService from "../services/local.service"; +import TodoItem from '../models/TodoItem'; + +const LOCAL_STORAGE_KEY: string = "todoList"; @Component({ selector: 'app-root', templateUrl: './app.component.html', - styleUrls: ['./app.component.scss'] + styleUrls: ['./app.component.css'] }) -export class AppComponent implements OnInit { +export class AppComponent implements OnInit{ public title = 'Todo List App'; - public list: TodoItem[] = []; + public todoInput!: string; + public todoList!: TodoItem[]; - private LOCAL_STORAGE_KEY = "todoList"; - inputValue: any; - - ngOnInit(): void { - const savedData: null | TodoItem[] = LocalService.getData(this.LOCAL_STORAGE_KEY) - if (savedData) this.list = savedData; + ngOnInit() { + this.todoInput = ""; + this.todoList = this.getSavedList(); } - /** - * Create a new item if input is not empty and the item doesn't exist already - */ - addItem(): void { - const listOfTodoText = this.list.map(item => item.text); + private getSavedList(): TodoItem[] { + console.info("Load TodoList"); - if (this.inputValue && !listOfTodoText.includes(this.inputValue)) { - this.list.push(new TodoItem(this.inputValue)) - this.inputValue = ""; - this.saveList() - } + const loadedValues: string|null = localStorage.getItem(LOCAL_STORAGE_KEY); + + if (loadedValues) return JSON.parse(loadedValues) as TodoItem[]; + return []; } - /** - * Remove a specific item of the list - * @param toRemove TodoItem to remove - */ - removeItem(toRemove: TodoItem): void { - this.list = this.list.filter(item => item !== toRemove); - this.saveList() + public saveList() { + console.info("Save todoList"); + + localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(this.todoList)) } - /** - * Remove all checked items of the list - */ - removeCheckedItems(): void { - this.list = this.list.filter(item => !item.checked) - this.saveList() + public addItem(): void { + if (!this.todoInput) return; + + const newItem: TodoItem = new TodoItem(this.getNextIndex(), this.todoInput); + this.todoList.push(newItem); + this.todoInput = ""; + + this.saveList(); } - saveList(): void { - LocalService.saveData(this.LOCAL_STORAGE_KEY, this.list); - console.log(this.list) + public removeItem(index: number): void { + this.todoList = this.todoList.filter(item => { + return item.id !== index; + }); + this.saveList(); + } + + private getNextIndex() { + if (this.todoList.length === 0) return 1; + return Math.max(...this.todoList.map(item => item.id)) + 1 } } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index f87c0b3..cf863c9 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -2,7 +2,7 @@ import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app.component'; -import {FormsModule} from "@angular/forms"; +import {FormsModule} from '@angular/forms'; @NgModule({ declarations: [ @@ -10,7 +10,7 @@ import {FormsModule} from "@angular/forms"; ], imports: [ BrowserModule, - FormsModule + FormsModule, ], providers: [], bootstrap: [AppComponent] diff --git a/src/models/TodoItem.ts b/src/models/TodoItem.ts new file mode 100644 index 0000000..5e4187b --- /dev/null +++ b/src/models/TodoItem.ts @@ -0,0 +1,7 @@ +export default class TodoItem { + public completed: boolean; + + constructor(public id: number, public task: string) { + this.completed = false; + } +} diff --git a/src/models/todo-item.model.ts b/src/models/todo-item.model.ts deleted file mode 100644 index cfd7fc8..0000000 --- a/src/models/todo-item.model.ts +++ /dev/null @@ -1,7 +0,0 @@ -export default class TodoItem { - - constructor( - public text: string, - public checked: boolean = false - ) {} -} diff --git a/src/services/local.service.ts b/src/services/local.service.ts deleted file mode 100644 index 6ea0762..0000000 --- a/src/services/local.service.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Injectable } from '@angular/core'; -import TodoItem from "../models/todo-item.model"; - -@Injectable({ - providedIn: 'root' -}) -export default class LocalService { - - static saveData(key: string, data: TodoItem[]) { - localStorage.setItem(key, JSON.stringify(data)); - } - - static getData(key: string): TodoItem[] | null { - const data = localStorage.getItem(key); - if (!data) return null - - return JSON.parse(data) as TodoItem[]; - } -} diff --git a/src/styles.css b/src/styles.css new file mode 100644 index 0000000..90d4ee0 --- /dev/null +++ b/src/styles.css @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/src/styles.scss b/src/styles.scss deleted file mode 100644 index 3b5bd06..0000000 --- a/src/styles.scss +++ /dev/null @@ -1,9 +0,0 @@ -/* You can add global styles to this file, and also import other style files */ -body { - width: 100vw; - min-height: 100vh; - background-color: whitesmoke; - - display: grid; - place-items: center; -}