diff --git a/ogWebconsole/angular.json b/ogWebconsole/angular.json
index afe585c..fbdb2d4 100644
--- a/ogWebconsole/angular.json
+++ b/ogWebconsole/angular.json
@@ -35,6 +35,7 @@
"src/assets"
],
"styles": [
+ "src/custom-theme.scss",
"src/styles.css"
],
"scripts": []
diff --git a/ogWebconsole/package-lock.json b/ogWebconsole/package-lock.json
index 86f503b..9683f70 100644
--- a/ogWebconsole/package-lock.json
+++ b/ogWebconsole/package-lock.json
@@ -9,10 +9,12 @@
"version": "0.0.0",
"dependencies": {
"@angular/animations": "^17.0.0",
+ "@angular/cdk": "~17.3.9",
"@angular/common": "^17.0.0",
"@angular/compiler": "^17.0.0",
"@angular/core": "^17.0.0",
"@angular/forms": "^17.0.0",
+ "@angular/material": "~17.3.9",
"@angular/platform-browser": "^17.0.0",
"@angular/platform-browser-dynamic": "^17.0.0",
"@angular/router": "^17.0.0",
@@ -269,6 +271,22 @@
"@angular/core": "17.3.9"
}
},
+ "node_modules/@angular/cdk": {
+ "version": "17.3.10",
+ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.3.10.tgz",
+ "integrity": "sha512-b1qktT2c1TTTe5nTji/kFAVW92fULK0YhYAvJ+BjZTPKu2FniZNe8o4qqQ0pUuvtMu+ZQxp/QqFYoidIVCjScg==",
+ "dependencies": {
+ "tslib": "^2.3.0"
+ },
+ "optionalDependencies": {
+ "parse5": "^7.1.2"
+ },
+ "peerDependencies": {
+ "@angular/common": "^17.0.0 || ^18.0.0",
+ "@angular/core": "^17.0.0 || ^18.0.0",
+ "rxjs": "^6.5.3 || ^7.4.0"
+ }
+ },
"node_modules/@angular/cli": {
"version": "17.3.7",
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.7.tgz",
@@ -442,6 +460,70 @@
"rxjs": "^6.5.3 || ^7.4.0"
}
},
+ "node_modules/@angular/material": {
+ "version": "17.3.10",
+ "resolved": "https://registry.npmjs.org/@angular/material/-/material-17.3.10.tgz",
+ "integrity": "sha512-hHMQES0tQPH5JW33W+mpBPuM8ybsloDTqFPuRV8cboDjosAWfJhzAKF3ozICpNlUrs62La/2Wu/756GcQrxebg==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/auto-init": "15.0.0-canary.7f224ddd4.0",
+ "@material/banner": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/button": "15.0.0-canary.7f224ddd4.0",
+ "@material/card": "15.0.0-canary.7f224ddd4.0",
+ "@material/checkbox": "15.0.0-canary.7f224ddd4.0",
+ "@material/chips": "15.0.0-canary.7f224ddd4.0",
+ "@material/circular-progress": "15.0.0-canary.7f224ddd4.0",
+ "@material/data-table": "15.0.0-canary.7f224ddd4.0",
+ "@material/density": "15.0.0-canary.7f224ddd4.0",
+ "@material/dialog": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/drawer": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/fab": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/floating-label": "15.0.0-canary.7f224ddd4.0",
+ "@material/form-field": "15.0.0-canary.7f224ddd4.0",
+ "@material/icon-button": "15.0.0-canary.7f224ddd4.0",
+ "@material/image-list": "15.0.0-canary.7f224ddd4.0",
+ "@material/layout-grid": "15.0.0-canary.7f224ddd4.0",
+ "@material/line-ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/linear-progress": "15.0.0-canary.7f224ddd4.0",
+ "@material/list": "15.0.0-canary.7f224ddd4.0",
+ "@material/menu": "15.0.0-canary.7f224ddd4.0",
+ "@material/menu-surface": "15.0.0-canary.7f224ddd4.0",
+ "@material/notched-outline": "15.0.0-canary.7f224ddd4.0",
+ "@material/radio": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/segmented-button": "15.0.0-canary.7f224ddd4.0",
+ "@material/select": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/slider": "15.0.0-canary.7f224ddd4.0",
+ "@material/snackbar": "15.0.0-canary.7f224ddd4.0",
+ "@material/switch": "15.0.0-canary.7f224ddd4.0",
+ "@material/tab": "15.0.0-canary.7f224ddd4.0",
+ "@material/tab-bar": "15.0.0-canary.7f224ddd4.0",
+ "@material/tab-indicator": "15.0.0-canary.7f224ddd4.0",
+ "@material/tab-scroller": "15.0.0-canary.7f224ddd4.0",
+ "@material/textfield": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tooltip": "15.0.0-canary.7f224ddd4.0",
+ "@material/top-app-bar": "15.0.0-canary.7f224ddd4.0",
+ "@material/touch-target": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.3.0"
+ },
+ "peerDependencies": {
+ "@angular/animations": "^17.0.0 || ^18.0.0",
+ "@angular/cdk": "17.3.10",
+ "@angular/common": "^17.0.0 || ^18.0.0",
+ "@angular/core": "^17.0.0 || ^18.0.0",
+ "@angular/forms": "^17.0.0 || ^18.0.0",
+ "@angular/platform-browser": "^17.0.0 || ^18.0.0",
+ "rxjs": "^6.5.3 || ^7.4.0"
+ }
+ },
"node_modules/@angular/platform-browser": {
"version": "17.3.9",
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.9.tgz",
@@ -2877,6 +2959,758 @@
"node": ">= 0.4"
}
},
+ "node_modules/@material/animation": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-1GSJaPKef+7HRuV+HusVZHps64cmZuOItDbt40tjJVaikcaZvwmHlcTxRIqzcRoCdt5ZKHh3NoO7GB9Khg4Jnw==",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/auto-init": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-t7ZGpRJ3ec0QDUO0nJu/SMgLW7qcuG2KqIsEYD1Ej8qhI2xpdR2ydSDQOkVEitXmKoGol1oq4nYSBjTlB65GqA==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/banner": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-g9wBUZzYBizyBcBQXTIafnRUUPi7efU9gPJfzeGgkynXiccP/vh5XMmH+PBxl5v+4MlP/d4cZ2NUYoAN7UTqSA==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/button": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/base": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-I9KQOKXpLfJkP8MqZyr8wZIzdPHrwPjFvGd9zSK91/vPyE4hzHRJc/0njsh9g8Lm9PRYLbifXX+719uTbHxx+A==",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/button": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-BHB7iyHgRVH+JF16+iscR+Qaic+p7LU1FOLgP8KucRlpF9tTwIxQA6mJwGRi5gUtcG+vyCmzVS+hIQ6DqT/7BA==",
+ "dependencies": {
+ "@material/density": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/focus-ring": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "@material/touch-target": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/card": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-kt7y9/IWOtJTr3Z/AoWJT3ZLN7CLlzXhx2udCLP9ootZU2bfGK0lzNwmo80bv/pJfrY9ihQKCtuGTtNxUy+vIw==",
+ "dependencies": {
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/checkbox": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-rURcrL5O1u6hzWR+dNgiQ/n89vk6tdmdP3mZgnxJx61q4I/k1yijKqNJSLrkXH7Rto3bM5NRKMOlgvMvVd7UMQ==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/density": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/focus-ring": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/touch-target": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/chips": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-AYAivV3GSk/T/nRIpH27sOHFPaSMrE3L0WYbnb5Wa93FgY8a0fbsFYtSH2QmtwnzXveg+B1zGTt7/xIIcynKdQ==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/checkbox": "15.0.0-canary.7f224ddd4.0",
+ "@material/density": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/focus-ring": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "@material/touch-target": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "safevalues": "^0.3.4",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/circular-progress": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-DJrqCKb+LuGtjNvKl8XigvyK02y36GRkfhMUYTcJEi3PrOE00bwXtyj7ilhzEVshQiXg6AHGWXtf5UqwNrx3Ow==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/progress-indicator": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/data-table": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-/2WZsuBIq9z9RWYF5Jo6b7P6u0fwit+29/mN7rmAZ6akqUR54nXyNfoSNiyydMkzPlZZsep5KrSHododDhBZbA==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/checkbox": "15.0.0-canary.7f224ddd4.0",
+ "@material/density": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/icon-button": "15.0.0-canary.7f224ddd4.0",
+ "@material/linear-progress": "15.0.0-canary.7f224ddd4.0",
+ "@material/list": "15.0.0-canary.7f224ddd4.0",
+ "@material/menu": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/select": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "@material/touch-target": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/density": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-o9EXmGKVpiQ6mHhyV3oDDzc78Ow3E7v8dlaOhgaDSXgmqaE8v5sIlLNa/LKSyUga83/fpGk3QViSGXotpQx0jA==",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/dialog": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-u0XpTlv1JqWC/bQ3DavJ1JguofTelLT2wloj59l3/1b60jv42JQ6Am7jU3I8/SIUB1MKaW7dYocXjDWtWJakLA==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/button": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/icon-button": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "@material/touch-target": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/dom": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-mQ1HT186GPQSkRg5S18i70typ5ZytfjL09R0gJ2Qg5/G+MLCGi7TAjZZSH65tuD/QGOjel4rDdWOTmYbPYV6HA==",
+ "dependencies": {
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/drawer": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-qyO0W0KBftfH8dlLR0gVAgv7ZHNvU8ae11Ao6zJif/YxcvK4+gph1z8AO4H410YmC2kZiwpSKyxM1iQCCzbb4g==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/list": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/elevation": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-tV6s4/pUBECedaI36Yj18KmRCk1vfue/JP/5yYRlFNnLMRVISePbZaKkn/BHXVf+26I3W879+XqIGlDVdmOoMA==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/fab": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-4h76QrzfZTcPdd+awDPZ4Q0YdSqsXQnS540TPtyXUJ/5G99V6VwGpjMPIxAsW0y+pmI9UkLL/srrMaJec+7r4Q==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/focus-ring": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "@material/touch-target": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/feature-targeting": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-SAjtxYh6YlKZriU83diDEQ7jNSP2MnxKsER0TvFeyG1vX/DWsUyYDOIJTOEa9K1N+fgJEBkNK8hY55QhQaspew==",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/floating-label": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-0KMo5ijjYaEHPiZ2pCVIcbaTS2LycvH9zEhEMKwPPGssBCX7iz5ffYQFk7e5yrQand1r3jnQQgYfHAwtykArnQ==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/focus-ring": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-Jmg1nltq4J6S6A10EGMZnvufrvU3YTi+8R8ZD9lkSbun0Fm2TVdICQt/Auyi6An9zP66oQN6c31eqO6KfIPsDg==",
+ "dependencies": {
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0"
+ }
+ },
+ "node_modules/@material/form-field": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-fEPWgDQEPJ6WF7hNnIStxucHR9LE4DoDSMqCsGWS2Yu+NLZYLuCEecgR0UqQsl1EQdNRaFh8VH93KuxGd2hiPg==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/icon-button": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-DcK7IL4ICY/DW+48YQZZs9g0U1kRaW0Wb0BxhvppDMYziHo/CTpFdle4gjyuTyRxPOdHQz5a97ru48Z9O4muTw==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/density": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/focus-ring": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/touch-target": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/image-list": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-voMjG2p80XbjL1B2lmF65zO5gEgJOVKClLdqh4wbYzYfwY/SR9c8eLvlYG7DLdFaFBl/7gGxD8TvvZ329HUFPw==",
+ "dependencies": {
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/layout-grid": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-veDABLxMn2RmvfnUO2RUmC1OFfWr4cU+MrxKPoDD2hl3l3eDYv5fxws6r5T1JoSyXoaN+oEZpheS0+M9Ure8Pg==",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/line-ripple": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-f60hVJhIU6I3/17Tqqzch1emUKEcfVVgHVqADbU14JD+oEIz429ZX9ksZ3VChoU3+eejFl+jVdZMLE/LrAuwpg==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/linear-progress": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-pRDEwPQielDiC9Sc5XhCXrGxP8wWOnAO8sQlMebfBYHYqy5hhiIzibezS8CSaW4MFQFyXmCmpmqWlbqGYRmiyg==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/progress-indicator": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/list": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-Is0NV91sJlXF5pOebYAtWLF4wU2MJDbYqztML/zQNENkQxDOvEXu3nWNb3YScMIYJJXvARO0Liur5K4yPagS1Q==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/density": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/menu": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-D11QU1dXqLbh5X1zKlEhS3QWh0b5BPNXlafc5MXfkdJHhOiieb7LC9hMJhbrHtj24FadJ7evaFW/T2ugJbJNnQ==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/list": "15.0.0-canary.7f224ddd4.0",
+ "@material/menu-surface": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/menu-surface": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-7RZHvw0gbwppaAJ/Oh5SWmfAKJ62aw1IMB3+3MRwsb5PLoV666wInYa+zJfE4i7qBeOn904xqT2Nko5hY0ssrg==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/notched-outline": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-Yg2usuKB2DKlKIBISbie9BFsOVuffF71xjbxPbybvqemxqUBd+bD5/t6H1fLE+F8/NCu5JMigho4ewUU+0RCiw==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/floating-label": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/progress-indicator": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-UPbDjE5CqT+SqTs0mNFG6uFEw7wBlgYmh+noSkQ6ty/EURm8lF125dmi4dv4kW0+octonMXqkGtAoZwLIHKf/w==",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/radio": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-wR1X0Sr0KmQLu6+YOFKAI84G3L6psqd7Kys5kfb8WKBM36zxO5HQXC5nJm/Y0rdn22ixzsIz2GBo0MNU4V4k1A==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/density": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/focus-ring": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/touch-target": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/ripple": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-JqOsWM1f4aGdotP0rh1vZlPZTg6lZgh39FIYHFMfOwfhR+LAikUJ+37ciqZuewgzXB6iiRO6a8aUH6HR5SJYPg==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/rtl": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-UVf14qAtmPiaaZjuJtmN36HETyoKWmsZM/qn1L5ciR2URb8O035dFWnz4ZWFMmAYBno/L7JiZaCkPurv2ZNrGA==",
+ "dependencies": {
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/segmented-button": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-LCnVRUSAhELTKI/9hSvyvIvQIpPpqF29BV+O9yM4WoNNmNWqTulvuiv7grHZl6Z+kJuxSg4BGbsPxxb9dXozPg==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/touch-target": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/select": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-WioZtQEXRpglum0cMSzSqocnhsGRr+ZIhvKb3FlaNrTaK8H3Y4QA7rVjv3emRtrLOOjaT6/RiIaUMTo9AGzWQQ==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/density": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/floating-label": "15.0.0-canary.7f224ddd4.0",
+ "@material/line-ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/list": "15.0.0-canary.7f224ddd4.0",
+ "@material/menu": "15.0.0-canary.7f224ddd4.0",
+ "@material/menu-surface": "15.0.0-canary.7f224ddd4.0",
+ "@material/notched-outline": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/shape": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-8z8l1W3+cymObunJoRhwFPKZ+FyECfJ4MJykNiaZq7XJFZkV6xNmqAVrrbQj93FtLsECn9g4PjjIomguVn/OEw==",
+ "dependencies": {
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/slider": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-QU/WSaSWlLKQRqOhJrPgm29wqvvzRusMqwAcrCh1JTrCl+xwJ43q5WLDfjYhubeKtrEEgGu9tekkAiYfMG7EBw==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/snackbar": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-sm7EbVKddaXpT/aXAYBdPoN0k8yeg9+dprgBUkrdqGzWJAeCkxb4fv2B3He88YiCtvkTz2KLY4CThPQBSEsMFQ==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/button": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/icon-button": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/switch": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-lEDJfRvkVyyeHWIBfoxYjJVl+WlEAE2kZ/+6OqB1FW0OV8ftTODZGhHRSzjVBA1/p4FPuhAtKtoK9jTpa4AZjA==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/density": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/focus-ring": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "safevalues": "^0.3.4",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/tab": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-E1xGACImyCLurhnizyOTCgOiVezce4HlBFAI6YhJo/AyVwjN2Dtas4ZLQMvvWWqpyhITNkeYdOchwCC1mrz3AQ==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/focus-ring": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/tab-indicator": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/tab-bar": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-p1Asb2NzrcECvAQU3b2SYrpyJGyJLQWR+nXTYzDKE8WOpLIRCXap2audNqD7fvN/A20UJ1J8U01ptrvCkwJ4eA==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/density": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/tab": "15.0.0-canary.7f224ddd4.0",
+ "@material/tab-indicator": "15.0.0-canary.7f224ddd4.0",
+ "@material/tab-scroller": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/tab-indicator": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-h9Td3MPqbs33spcPS7ecByRHraYgU4tNCZpZzZXw31RypjKvISDv/PS5wcA4RmWqNGih78T7xg4QIGsZg4Pk4w==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/tab-scroller": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-LFeYNjQpdXecwECd8UaqHYbhscDCwhGln5Yh+3ctvcEgvmDPNjhKn/DL3sWprWvG8NAhP6sHMrsGhQFVdCWtTg==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/tab": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/textfield": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-AExmFvgE5nNF0UA4l2cSzPghtxSUQeeoyRjFLHLy+oAaE4eKZFrSy0zEpqPeWPQpEMDZk+6Y+6T3cOFYBeSvsw==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/density": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/floating-label": "15.0.0-canary.7f224ddd4.0",
+ "@material/line-ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/notched-outline": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/theme": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-hs45hJoE9yVnoVOcsN1jklyOa51U4lzWsEnQEuJTPOk2+0HqCQ0yv/q0InpSnm2i69fNSyZC60+8HADZGF8ugQ==",
+ "dependencies": {
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/tokens": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-r9TDoicmcT7FhUXC4eYMFnt9TZsz0G8T3wXvkKncLppYvZ517gPyD/1+yhuGfGOxAzxTrM66S/oEc1fFE2q4hw==",
+ "dependencies": {
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0"
+ }
+ },
+ "node_modules/@material/tooltip": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-8qNk3pmPLTnam3XYC1sZuplQXW9xLn4Z4MI3D+U17Q7pfNZfoOugGr+d2cLA9yWAEjVJYB0mj8Yu86+udo4N9w==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/button": "15.0.0-canary.7f224ddd4.0",
+ "@material/dom": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/tokens": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "safevalues": "^0.3.4",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/top-app-bar": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-SARR5/ClYT4CLe9qAXakbr0i0cMY0V3V4pe3ElIJPfL2Z2c4wGR1mTR8m2LxU1MfGKK8aRoUdtfKaxWejp+eNA==",
+ "dependencies": {
+ "@material/animation": "15.0.0-canary.7f224ddd4.0",
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/elevation": "15.0.0-canary.7f224ddd4.0",
+ "@material/ripple": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/shape": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "@material/typography": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/touch-target": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-BJo/wFKHPYLGsRaIpd7vsQwKr02LtO2e89Psv0on/p0OephlNIgeB9dD9W+bQmaeZsZ6liKSKRl6wJWDiK71PA==",
+ "dependencies": {
+ "@material/base": "15.0.0-canary.7f224ddd4.0",
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/rtl": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/@material/typography": {
+ "version": "15.0.0-canary.7f224ddd4.0",
+ "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.7f224ddd4.0.tgz",
+ "integrity": "sha512-kBaZeCGD50iq1DeRRH5OM5Jl7Gdk+/NOfKArkY4ksBZvJiStJ7ACAhpvb8MEGm4s3jvDInQFLsDq3hL+SA79sQ==",
+ "dependencies": {
+ "@material/feature-targeting": "15.0.0-canary.7f224ddd4.0",
+ "@material/theme": "15.0.0-canary.7f224ddd4.0",
+ "tslib": "^2.1.0"
+ }
+ },
"node_modules/@ngtools/webpack": {
"version": "17.3.7",
"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.7.tgz",
@@ -5723,7 +6557,7 @@
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=0.12"
},
@@ -9226,7 +10060,7 @@
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
"integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"entities": "^4.4.0"
},
@@ -10195,6 +11029,11 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
},
+ "node_modules/safevalues": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/safevalues/-/safevalues-0.3.4.tgz",
+ "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw=="
+ },
"node_modules/sass": {
"version": "1.71.1",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.71.1.tgz",
diff --git a/ogWebconsole/package.json b/ogWebconsole/package.json
index da1ac7d..d0804b7 100644
--- a/ogWebconsole/package.json
+++ b/ogWebconsole/package.json
@@ -11,10 +11,12 @@
"private": true,
"dependencies": {
"@angular/animations": "^17.0.0",
+ "@angular/cdk": "~17.3.9",
"@angular/common": "^17.0.0",
"@angular/compiler": "^17.0.0",
"@angular/core": "^17.0.0",
"@angular/forms": "^17.0.0",
+ "@angular/material": "~17.3.9",
"@angular/platform-browser": "^17.0.0",
"@angular/platform-browser-dynamic": "^17.0.0",
"@angular/router": "^17.0.0",
@@ -35,4 +37,4 @@
"karma-jasmine-html-reporter": "~2.1.0",
"typescript": "~5.2.2"
}
-}
+}
\ No newline at end of file
diff --git a/ogWebconsole/src/app/app-routing.module.ts b/ogWebconsole/src/app/app-routing.module.ts
index a591993..2f3b35f 100644
--- a/ogWebconsole/src/app/app-routing.module.ts
+++ b/ogWebconsole/src/app/app-routing.module.ts
@@ -5,7 +5,7 @@ import { AuthLayoutComponent } from './components/layout/auth-layout/auth-layout
import { LoginComponent } from './components/login/login.component';
import { DashboardComponent } from './components/dashboard/dashboard.component';
import { PageNotFoundComponent } from './components/page-not-found/page-not-found.component';
-
+import { UsersComponent } from './components/pages/users/users.component';
const routes: Routes = [
{ path: '', redirectTo: 'auth/login', pathMatch: 'full' },
{
@@ -13,6 +13,7 @@ const routes: Routes = [
component: MainLayoutComponent,
children: [
{ path: 'dashboard', component: DashboardComponent },
+ { path: 'users', component: UsersComponent },
// otras rutas que usan el MainLayoutComponent
],
},
diff --git a/ogWebconsole/src/app/app.module.ts b/ogWebconsole/src/app/app.module.ts
index a311477..ea9020b 100644
--- a/ogWebconsole/src/app/app.module.ts
+++ b/ogWebconsole/src/app/app.module.ts
@@ -10,8 +10,26 @@ import { LoginComponent } from './components/login/login.component';
import { FormsModule } from '@angular/forms';
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
import { CustomInterceptor } from './services/custom.interceptor';
+import { provideAnimationsAsync } from '@angular/platform-browser/animations/async';
+import {MatToolbarModule} from '@angular/material/toolbar';
+import {MatIconModule} from '@angular/material/icon';
+import { MatButtonModule } from '@angular/material/button';
+import { MatSidenavModule } from '@angular/material/sidenav';
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
+import { UsersComponent } from './components/pages/users/users.component';
@NgModule({
+ imports: [
+ BrowserModule,
+ AppRoutingModule,
+ FormsModule,
+ HttpClientModule,
+ MatToolbarModule,
+ MatIconModule,
+ MatButtonModule,
+ MatSidenavModule,
+ BrowserAnimationsModule
+ ],
declarations: [
AppComponent,
AuthLayoutComponent,
@@ -19,20 +37,18 @@ import { CustomInterceptor } from './services/custom.interceptor';
HeaderComponent,
SidebarComponent,
LoginComponent,
- MainLayoutComponent
- ],
- imports: [
- BrowserModule,
- AppRoutingModule,
- FormsModule,
- HttpClientModule
- ],
+ UsersComponent,
+ MainLayoutComponent,
+ UsersComponent,
+
+ ],
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: CustomInterceptor,
multi:true
- }
+ },
+ provideAnimationsAsync()
],
bootstrap: [AppComponent]
})
diff --git a/ogWebconsole/src/app/components/layout/header/header.component.css b/ogWebconsole/src/app/components/layout/header/header.component.css
index 72327d2..079a003 100644
--- a/ogWebconsole/src/app/components/layout/header/header.component.css
+++ b/ogWebconsole/src/app/components/layout/header/header.component.css
@@ -2,4 +2,24 @@
display: block;
background-color: rgb(126, 126, 126);
grid-area: header;
+}
+
+mat-toolbar {
+ display: flex;
+ justify-content: space-between;
+ padding: 10px;
+}
+
+.navbar-button-row {
+ display: flex;
+ justify-content: space-around;
+ flex-grow: 1;
+}
+
+button[mat-flat-button] {
+ margin: 0 5px;
+}
+
+.navbar-tittle{
+ padding-left: 20px;
}
\ No newline at end of file
diff --git a/ogWebconsole/src/app/components/layout/header/header.component.html b/ogWebconsole/src/app/components/layout/header/header.component.html
index 4f5a95d..0919b01 100644
--- a/ogWebconsole/src/app/components/layout/header/header.component.html
+++ b/ogWebconsole/src/app/components/layout/header/header.component.html
@@ -1 +1,20 @@
-
header works!
+
+
+ menu
+
+ Opengnsys webconsole
+
+ Aulas
+ Acciones
+ Imágenes
+ Componentes
+ Repositiorios
+ Menús
+ Buscar
+ Calendario
+ Usuarios
+ Ayuda
+ Salir
+
+
+
\ No newline at end of file
diff --git a/ogWebconsole/src/app/components/layout/header/header.component.ts b/ogWebconsole/src/app/components/layout/header/header.component.ts
index d446c86..c3ecd80 100644
--- a/ogWebconsole/src/app/components/layout/header/header.component.ts
+++ b/ogWebconsole/src/app/components/layout/header/header.component.ts
@@ -1,4 +1,6 @@
import { Component } from '@angular/core';
+import {MatToolbarModule} from '@angular/material/toolbar';
+
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
diff --git a/ogWebconsole/src/app/components/layout/main-layout/main-layout.component.css b/ogWebconsole/src/app/components/layout/main-layout/main-layout.component.css
index 5ab06d5..8f07c83 100644
--- a/ogWebconsole/src/app/components/layout/main-layout/main-layout.component.css
+++ b/ogWebconsole/src/app/components/layout/main-layout/main-layout.component.css
@@ -2,10 +2,9 @@
width: 100%;
display: grid;
grid-template-areas:
- "sidebar header"
- "sidebar content"
- "sidebar footer";
- grid-template-columns: 120px 1fr;
+ "header"
+ "content"
+ "footer";
}
.content-wrapper{
display: block;
diff --git a/ogWebconsole/src/app/components/layout/main-layout/main-layout.component.html b/ogWebconsole/src/app/components/layout/main-layout/main-layout.component.html
index 8b7a5bd..ea174d5 100644
--- a/ogWebconsole/src/app/components/layout/main-layout/main-layout.component.html
+++ b/ogWebconsole/src/app/components/layout/main-layout/main-layout.component.html
@@ -1,6 +1,4 @@
-
-
-
+
diff --git a/ogWebconsole/src/app/components/pages/users/users.component.css b/ogWebconsole/src/app/components/pages/users/users.component.css
new file mode 100644
index 0000000..e69de29
diff --git a/ogWebconsole/src/app/components/pages/users/users.component.html b/ogWebconsole/src/app/components/pages/users/users.component.html
new file mode 100644
index 0000000..065c5c6
--- /dev/null
+++ b/ogWebconsole/src/app/components/pages/users/users.component.html
@@ -0,0 +1 @@
+
users works!
diff --git a/ogWebconsole/src/app/components/pages/users/users.component.spec.ts b/ogWebconsole/src/app/components/pages/users/users.component.spec.ts
new file mode 100644
index 0000000..f30ed79
--- /dev/null
+++ b/ogWebconsole/src/app/components/pages/users/users.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { UsersComponent } from './users.component';
+
+describe('UsersComponent', () => {
+ let component: UsersComponent;
+ let fixture: ComponentFixture
;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [UsersComponent]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(UsersComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/ogWebconsole/src/app/components/pages/users/users.component.ts b/ogWebconsole/src/app/components/pages/users/users.component.ts
new file mode 100644
index 0000000..ece578f
--- /dev/null
+++ b/ogWebconsole/src/app/components/pages/users/users.component.ts
@@ -0,0 +1,10 @@
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'app-users',
+ templateUrl: './users.component.html',
+ styleUrl: './users.component.css'
+})
+export class UsersComponent {
+
+}
diff --git a/ogWebconsole/src/custom-theme.scss b/ogWebconsole/src/custom-theme.scss
new file mode 100644
index 0000000..0bfb747
--- /dev/null
+++ b/ogWebconsole/src/custom-theme.scss
@@ -0,0 +1,37 @@
+
+// Custom Theming for Angular Material
+// For more information: https://material.angular.io/guide/theming
+@use '@angular/material' as mat;
+// 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();
+
+// 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/
+$ogWebconsole-primary: mat.define-palette(mat.$indigo-palette);
+$ogWebconsole-accent: mat.define-palette(mat.$pink-palette, A200, A100, A400);
+
+// The warn palette is optional (defaults to red).
+$ogWebconsole-warn: mat.define-palette(mat.$red-palette);
+
+// Create the theme object. A theme consists of configurations for individual
+// theming systems such as "color" or "typography".
+$ogWebconsole-theme: mat.define-light-theme((
+ color: (
+ primary: $ogWebconsole-primary,
+ accent: $ogWebconsole-accent,
+ warn: $ogWebconsole-warn,
+ ),
+ typography: mat.define-typography-config(),
+ density: 0
+));
+
+// 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 mat.all-component-themes($ogWebconsole-theme);
+
diff --git a/ogWebconsole/src/index.html b/ogWebconsole/src/index.html
index 1fb912a..fbca062 100644
--- a/ogWebconsole/src/index.html
+++ b/ogWebconsole/src/index.html
@@ -6,8 +6,10 @@
+
+
-
+
diff --git a/ogWebconsole/src/styles.css b/ogWebconsole/src/styles.css
index 90d4ee0..7e7239a 100644
--- a/ogWebconsole/src/styles.css
+++ b/ogWebconsole/src/styles.css
@@ -1 +1,4 @@
/* 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; }