Compare commits
8 Commits
6067c6a471
...
6af048b4bb
| Author | SHA1 | Date | |
|---|---|---|---|
| 6af048b4bb | |||
|
|
5c5b30e84e | ||
|
|
99008d98f5 | ||
|
|
2c671744c4 | ||
|
|
3744423e5f | ||
|
|
1eb77cd6b6 | ||
|
|
349ac48fa2 | ||
|
|
7ae3dbd27f |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -40,3 +40,7 @@ testem.log
|
||||
# System files
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Backend
|
||||
/backend/node_modules
|
||||
/bakend/.env
|
||||
@@ -30,6 +30,7 @@
|
||||
"src/assets"
|
||||
],
|
||||
"styles": [
|
||||
"@angular/material/prebuilt-themes/deeppurple-amber.css",
|
||||
"src/styles.scss"
|
||||
],
|
||||
"scripts": []
|
||||
@@ -90,6 +91,7 @@
|
||||
"src/assets"
|
||||
],
|
||||
"styles": [
|
||||
"@angular/material/prebuilt-themes/deeppurple-amber.css",
|
||||
"src/styles.scss"
|
||||
],
|
||||
"scripts": []
|
||||
|
||||
0
backend/.env
Normal file
0
backend/.env
Normal file
41
backend/app.js
Normal file
41
backend/app.js
Normal file
@@ -0,0 +1,41 @@
|
||||
var createError = require('http-errors');
|
||||
var express = require('express');
|
||||
var path = require('path');
|
||||
var cookieParser = require('cookie-parser');
|
||||
var logger = require('morgan');
|
||||
|
||||
var indexRouter = require('./routes/index');
|
||||
var usersRouter = require('./routes/users');
|
||||
|
||||
var app = express();
|
||||
|
||||
// view engine setup
|
||||
app.set('views', path.join(__dirname, 'views'));
|
||||
app.set('view engine', 'jade');
|
||||
|
||||
app.use(logger('dev'));
|
||||
app.use(express.json());
|
||||
app.use(express.urlencoded({ extended: false }));
|
||||
app.use(cookieParser());
|
||||
app.use(express.static(path.join(__dirname, 'public')));
|
||||
|
||||
app.use('/', indexRouter);
|
||||
app.use('/users', usersRouter);
|
||||
|
||||
// catch 404 and forward to error handler
|
||||
app.use(function(req, res, next) {
|
||||
next(createError(404));
|
||||
});
|
||||
|
||||
// error handler
|
||||
app.use(function(err, req, res, next) {
|
||||
// set locals, only providing error in development
|
||||
res.locals.message = err.message;
|
||||
res.locals.error = req.app.get('env') === 'development' ? err : {};
|
||||
|
||||
// render the error page
|
||||
res.status(err.status || 500);
|
||||
res.render('error');
|
||||
});
|
||||
|
||||
module.exports = app;
|
||||
90
backend/bin/www
Normal file
90
backend/bin/www
Normal file
@@ -0,0 +1,90 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var app = require('../app');
|
||||
var debug = require('debug')('backend:server');
|
||||
var http = require('http');
|
||||
|
||||
/**
|
||||
* Get port from environment and store in Express.
|
||||
*/
|
||||
|
||||
var port = normalizePort(process.env.PORT || '3000');
|
||||
app.set('port', port);
|
||||
|
||||
/**
|
||||
* Create HTTP server.
|
||||
*/
|
||||
|
||||
var server = http.createServer(app);
|
||||
|
||||
/**
|
||||
* Listen on provided port, on all network interfaces.
|
||||
*/
|
||||
|
||||
server.listen(port);
|
||||
server.on('error', onError);
|
||||
server.on('listening', onListening);
|
||||
|
||||
/**
|
||||
* Normalize a port into a number, string, or false.
|
||||
*/
|
||||
|
||||
function normalizePort(val) {
|
||||
var port = parseInt(val, 10);
|
||||
|
||||
if (isNaN(port)) {
|
||||
// named pipe
|
||||
return val;
|
||||
}
|
||||
|
||||
if (port >= 0) {
|
||||
// port number
|
||||
return port;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Event listener for HTTP server "error" event.
|
||||
*/
|
||||
|
||||
function onError(error) {
|
||||
if (error.syscall !== 'listen') {
|
||||
throw error;
|
||||
}
|
||||
|
||||
var bind = typeof port === 'string'
|
||||
? 'Pipe ' + port
|
||||
: 'Port ' + port;
|
||||
|
||||
// handle specific listen errors with friendly messages
|
||||
switch (error.code) {
|
||||
case 'EACCES':
|
||||
console.error(bind + ' requires elevated privileges');
|
||||
process.exit(1);
|
||||
break;
|
||||
case 'EADDRINUSE':
|
||||
console.error(bind + ' is already in use');
|
||||
process.exit(1);
|
||||
break;
|
||||
default:
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Event listener for HTTP server "listening" event.
|
||||
*/
|
||||
|
||||
function onListening() {
|
||||
var addr = server.address();
|
||||
var bind = typeof addr === 'string'
|
||||
? 'pipe ' + addr
|
||||
: 'port ' + addr.port;
|
||||
debug('Listening on ' + bind);
|
||||
}
|
||||
1045
backend/package-lock.json
generated
Normal file
1045
backend/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
16
backend/package.json
Normal file
16
backend/package.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"name": "backend",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"start": "node ./bin/www"
|
||||
},
|
||||
"dependencies": {
|
||||
"cookie-parser": "~1.4.4",
|
||||
"debug": "~2.6.9",
|
||||
"express": "~4.16.1",
|
||||
"http-errors": "~1.6.3",
|
||||
"jade": "~1.11.0",
|
||||
"morgan": "~1.9.1"
|
||||
}
|
||||
}
|
||||
8
backend/public/stylesheets/style.css
Normal file
8
backend/public/stylesheets/style.css
Normal file
@@ -0,0 +1,8 @@
|
||||
body {
|
||||
padding: 50px;
|
||||
font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #00B7FF;
|
||||
}
|
||||
9
backend/routes/index.js
Normal file
9
backend/routes/index.js
Normal file
@@ -0,0 +1,9 @@
|
||||
var express = require('express');
|
||||
var router = express.Router();
|
||||
|
||||
/* GET home page. */
|
||||
router.get('/', function(req, res, next) {
|
||||
res.render('index', { title: 'Express' });
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
9
backend/routes/users.js
Normal file
9
backend/routes/users.js
Normal file
@@ -0,0 +1,9 @@
|
||||
var express = require('express');
|
||||
var router = express.Router();
|
||||
|
||||
/* GET users listing. */
|
||||
router.get('/', function(req, res, next) {
|
||||
res.send('respond with a resource');
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
6
backend/views/error.jade
Normal file
6
backend/views/error.jade
Normal file
@@ -0,0 +1,6 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
h1= message
|
||||
h2= error.status
|
||||
pre #{error.stack}
|
||||
5
backend/views/index.jade
Normal file
5
backend/views/index.jade
Normal file
@@ -0,0 +1,5 @@
|
||||
extends layout
|
||||
|
||||
block content
|
||||
h1= title
|
||||
p Welcome to #{title}
|
||||
7
backend/views/layout.jade
Normal file
7
backend/views/layout.jade
Normal file
@@ -0,0 +1,7 @@
|
||||
doctype html
|
||||
html
|
||||
head
|
||||
title= title
|
||||
link(rel='stylesheet', href='/stylesheets/style.css')
|
||||
body
|
||||
block content
|
||||
896
package-lock.json
generated
896
package-lock.json
generated
@@ -9,10 +9,12 @@
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@angular/animations": "^17.3.0",
|
||||
"@angular/cdk": "^17.3.10",
|
||||
"@angular/common": "^17.3.0",
|
||||
"@angular/compiler": "^17.3.0",
|
||||
"@angular/core": "^17.3.0",
|
||||
"@angular/forms": "^17.3.0",
|
||||
"@angular/material": "^17.3.10",
|
||||
"@angular/platform-browser": "^17.3.0",
|
||||
"@angular/platform-browser-dynamic": "^17.3.0",
|
||||
"@angular/router": "^17.3.0",
|
||||
@@ -332,6 +334,23 @@
|
||||
"@angular/core": "17.3.12"
|
||||
}
|
||||
},
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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.17",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.17.tgz",
|
||||
@@ -514,6 +533,71 @@
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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.12",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.12.tgz",
|
||||
@@ -2896,6 +2980,808 @@
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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==",
|
||||
"license": "MIT",
|
||||
"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.17",
|
||||
"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.17.tgz",
|
||||
@@ -9681,7 +10567,7 @@
|
||||
"version": "7.3.0",
|
||||
"resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz",
|
||||
"integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
|
||||
"dev": true,
|
||||
"devOptional": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"entities": "^6.0.0"
|
||||
@@ -9722,7 +10608,7 @@
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
|
||||
"integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
|
||||
"dev": true,
|
||||
"devOptional": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"engines": {
|
||||
"node": ">=0.12"
|
||||
@@ -10752,6 +11638,12 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/safevalues": {
|
||||
"version": "0.3.4",
|
||||
"resolved": "https://registry.npmjs.org/safevalues/-/safevalues-0.3.4.tgz",
|
||||
"integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==",
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/sass": {
|
||||
"version": "1.71.1",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.71.1.tgz",
|
||||
|
||||
@@ -11,10 +11,12 @@
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@angular/animations": "^17.3.0",
|
||||
"@angular/cdk": "^17.3.10",
|
||||
"@angular/common": "^17.3.0",
|
||||
"@angular/compiler": "^17.3.0",
|
||||
"@angular/core": "^17.3.0",
|
||||
"@angular/forms": "^17.3.0",
|
||||
"@angular/material": "^17.3.10",
|
||||
"@angular/platform-browser": "^17.3.0",
|
||||
"@angular/platform-browser-dynamic": "^17.3.0",
|
||||
"@angular/router": "^17.3.0",
|
||||
|
||||
@@ -1,336 +1 @@
|
||||
<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
|
||||
<!-- * * * * * * * * * * * The content below * * * * * * * * * * * -->
|
||||
<!-- * * * * * * * * * * is only a placeholder * * * * * * * * * * -->
|
||||
<!-- * * * * * * * * * * and can be replaced. * * * * * * * * * * -->
|
||||
<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
|
||||
<!-- * * * * * * * * * Delete the template below * * * * * * * * * -->
|
||||
<!-- * * * * * * * to get started with your project! * * * * * * * -->
|
||||
<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
|
||||
|
||||
<style>
|
||||
:host {
|
||||
--bright-blue: oklch(51.01% 0.274 263.83);
|
||||
--electric-violet: oklch(53.18% 0.28 296.97);
|
||||
--french-violet: oklch(47.66% 0.246 305.88);
|
||||
--vivid-pink: oklch(69.02% 0.277 332.77);
|
||||
--hot-red: oklch(61.42% 0.238 15.34);
|
||||
--orange-red: oklch(63.32% 0.24 31.68);
|
||||
|
||||
--gray-900: oklch(19.37% 0.006 300.98);
|
||||
--gray-700: oklch(36.98% 0.014 302.71);
|
||||
--gray-400: oklch(70.9% 0.015 304.04);
|
||||
|
||||
--red-to-pink-to-purple-vertical-gradient: linear-gradient(
|
||||
180deg,
|
||||
var(--orange-red) 0%,
|
||||
var(--vivid-pink) 50%,
|
||||
var(--electric-violet) 100%
|
||||
);
|
||||
|
||||
--red-to-pink-to-purple-horizontal-gradient: linear-gradient(
|
||||
90deg,
|
||||
var(--orange-red) 0%,
|
||||
var(--vivid-pink) 50%,
|
||||
var(--electric-violet) 100%
|
||||
);
|
||||
|
||||
--pill-accent: var(--bright-blue);
|
||||
|
||||
font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
|
||||
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
|
||||
"Segoe UI Symbol";
|
||||
box-sizing: border-box;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 3.125rem;
|
||||
color: var(--gray-900);
|
||||
font-weight: 500;
|
||||
line-height: 100%;
|
||||
letter-spacing: -0.125rem;
|
||||
margin: 0;
|
||||
font-family: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
|
||||
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
|
||||
"Segoe UI Symbol";
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
color: var(--gray-700);
|
||||
}
|
||||
|
||||
main {
|
||||
width: 100%;
|
||||
min-height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 1rem;
|
||||
box-sizing: inherit;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.angular-logo {
|
||||
max-width: 9.2rem;
|
||||
}
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
width: 100%;
|
||||
max-width: 700px;
|
||||
margin-bottom: 3rem;
|
||||
}
|
||||
|
||||
.content h1 {
|
||||
margin-top: 1.75rem;
|
||||
}
|
||||
|
||||
.content p {
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
|
||||
.divider {
|
||||
width: 1px;
|
||||
background: var(--red-to-pink-to-purple-vertical-gradient);
|
||||
margin-inline: 0.5rem;
|
||||
}
|
||||
|
||||
.pill-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: start;
|
||||
flex-wrap: wrap;
|
||||
gap: 1.25rem;
|
||||
}
|
||||
|
||||
.pill {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
--pill-accent: var(--bright-blue);
|
||||
background: color-mix(in srgb, var(--pill-accent) 5%, transparent);
|
||||
color: var(--pill-accent);
|
||||
padding-inline: 0.75rem;
|
||||
padding-block: 0.375rem;
|
||||
border-radius: 2.75rem;
|
||||
border: 0;
|
||||
transition: background 0.3s ease;
|
||||
font-family: var(--inter-font);
|
||||
font-size: 0.875rem;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
line-height: 1.4rem;
|
||||
letter-spacing: -0.00875rem;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.pill:hover {
|
||||
background: color-mix(in srgb, var(--pill-accent) 15%, transparent);
|
||||
}
|
||||
|
||||
.pill-group .pill:nth-child(6n + 1) {
|
||||
--pill-accent: var(--bright-blue);
|
||||
}
|
||||
.pill-group .pill:nth-child(6n + 2) {
|
||||
--pill-accent: var(--french-violet);
|
||||
}
|
||||
.pill-group .pill:nth-child(6n + 3),
|
||||
.pill-group .pill:nth-child(6n + 4),
|
||||
.pill-group .pill:nth-child(6n + 5) {
|
||||
--pill-accent: var(--hot-red);
|
||||
}
|
||||
|
||||
.pill-group svg {
|
||||
margin-inline-start: 0.25rem;
|
||||
}
|
||||
|
||||
.social-links {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.73rem;
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
|
||||
.social-links path {
|
||||
transition: fill 0.3s ease;
|
||||
fill: var(--gray-400);
|
||||
}
|
||||
|
||||
.social-links a:hover svg path {
|
||||
fill: var(--gray-900);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 650px) {
|
||||
.content {
|
||||
flex-direction: column;
|
||||
width: max-content;
|
||||
}
|
||||
|
||||
.divider {
|
||||
height: 1px;
|
||||
width: 100%;
|
||||
background: var(--red-to-pink-to-purple-horizontal-gradient);
|
||||
margin-block: 1.5rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<main class="main">
|
||||
<div class="content">
|
||||
<div class="left-side">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 982 239"
|
||||
fill="none"
|
||||
class="angular-logo"
|
||||
>
|
||||
<g clip-path="url(#a)">
|
||||
<path
|
||||
fill="url(#b)"
|
||||
d="M388.676 191.625h30.849L363.31 31.828h-35.758l-56.215 159.797h30.848l13.174-39.356h60.061l13.256 39.356Zm-65.461-62.675 21.602-64.311h1.227l21.602 64.311h-44.431Zm126.831-7.527v70.202h-28.23V71.839h27.002v20.374h1.392c2.782-6.71 7.2-12.028 13.255-15.956 6.056-3.927 13.584-5.89 22.503-5.89 8.264 0 15.465 1.8 21.684 5.318 6.137 3.518 10.964 8.673 14.319 15.382 3.437 6.71 5.074 14.81 4.992 24.383v76.175h-28.23v-71.92c0-8.019-2.046-14.237-6.219-18.819-4.173-4.5-9.819-6.791-17.102-6.791-4.91 0-9.328 1.063-13.174 3.272-3.846 2.128-6.792 5.237-9.001 9.328-2.046 4.009-3.191 8.918-3.191 14.728ZM589.233 239c-10.147 0-18.82-1.391-26.103-4.091-7.282-2.7-13.092-6.382-17.511-10.964-4.418-4.582-7.528-9.655-9.164-15.219l25.448-6.136c1.145 2.372 2.782 4.663 4.991 6.954 2.209 2.291 5.155 4.255 8.837 5.81 3.683 1.554 8.428 2.291 14.074 2.291 8.019 0 14.647-1.964 19.884-5.81 5.237-3.845 7.856-10.227 7.856-19.064v-22.665h-1.391c-1.473 2.946-3.601 5.892-6.383 9.001-2.782 3.109-6.464 5.645-10.965 7.691-4.582 2.046-10.228 3.109-17.101 3.109-9.165 0-17.511-2.209-25.039-6.545-7.446-4.337-13.42-10.883-17.757-19.474-4.418-8.673-6.628-19.473-6.628-32.565 0-13.091 2.21-24.301 6.628-33.383 4.419-9.082 10.311-15.955 17.839-20.7 7.528-4.746 15.874-7.037 25.039-7.037 7.037 0 12.846 1.145 17.347 3.518 4.582 2.373 8.182 5.236 10.883 8.51 2.7 3.272 4.746 6.382 6.137 9.327h1.554v-19.8h27.821v121.749c0 10.228-2.454 18.737-7.364 25.447-4.91 6.709-11.538 11.7-20.048 15.055-8.509 3.355-18.165 4.991-28.884 4.991Zm.245-71.266c5.974 0 11.047-1.473 15.302-4.337 4.173-2.945 7.446-7.118 9.573-12.519 2.21-5.482 3.274-12.027 3.274-19.637 0-7.609-1.064-14.155-3.274-19.8-2.127-5.646-5.318-10.064-9.491-13.255-4.174-3.11-9.329-4.746-15.384-4.746s-11.537 1.636-15.792 4.91c-4.173 3.272-7.365 7.772-9.492 13.418-2.128 5.727-3.191 12.191-3.191 19.392 0 7.2 1.063 13.745 3.273 19.228 2.127 5.482 5.318 9.736 9.573 12.764 4.174 3.027 9.41 4.582 15.629 4.582Zm141.56-26.51V71.839h28.23v119.786h-27.412v-21.273h-1.227c-2.7 6.709-7.119 12.191-13.338 16.446-6.137 4.255-13.747 6.382-22.748 6.382-7.855 0-14.81-1.718-20.783-5.237-5.974-3.518-10.72-8.591-14.075-15.382-3.355-6.709-5.073-14.891-5.073-24.464V71.839h28.312v71.921c0 7.609 2.046 13.664 6.219 18.083 4.173 4.5 9.655 6.709 16.365 6.709 4.173 0 8.183-.982 12.111-3.028 3.927-2.045 7.118-5.072 9.655-9.082 2.537-4.091 3.764-9.164 3.764-15.218Zm65.707-109.395v159.796h-28.23V31.828h28.23Zm44.841 162.169c-7.61 0-14.402-1.391-20.457-4.091-6.055-2.7-10.883-6.791-14.32-12.109-3.518-5.319-5.237-11.946-5.237-19.801 0-6.791 1.228-12.355 3.765-16.773 2.536-4.419 5.891-7.937 10.228-10.637 4.337-2.618 9.164-4.664 14.647-6.055 5.4-1.391 11.046-2.373 16.856-3.027 7.037-.737 12.683-1.391 17.102-1.964 4.337-.573 7.528-1.555 9.574-2.782 1.963-1.309 3.027-3.273 3.027-5.973v-.491c0-5.891-1.718-10.391-5.237-13.664-3.518-3.191-8.51-4.828-15.056-4.828-6.955 0-12.356 1.473-16.447 4.5-4.009 3.028-6.71 6.546-8.183 10.719l-26.348-3.764c2.046-7.282 5.483-13.336 10.31-18.328 4.746-4.909 10.638-8.59 17.511-11.045 6.955-2.455 14.565-3.682 22.912-3.682 5.809 0 11.537.654 17.265 2.045s10.965 3.6 15.711 6.71c4.746 3.109 8.51 7.282 11.455 12.6 2.864 5.318 4.337 11.946 4.337 19.883v80.184h-27.166v-16.446h-.9c-1.719 3.355-4.092 6.464-7.201 9.328-3.109 2.864-6.955 5.237-11.619 6.955-4.828 1.718-10.229 2.536-16.529 2.536Zm7.364-20.701c5.646 0 10.556-1.145 14.729-3.354 4.173-2.291 7.364-5.237 9.655-9.001 2.292-3.763 3.355-7.854 3.355-12.273v-14.155c-.9.737-2.373 1.391-4.5 2.046-2.128.654-4.419 1.145-7.037 1.636-2.619.491-5.155.9-7.692 1.227-2.537.328-4.746.655-6.628.901-4.173.572-8.019 1.472-11.292 2.781-3.355 1.31-5.973 3.11-7.855 5.401-1.964 2.291-2.864 5.318-2.864 8.918 0 5.237 1.882 9.164 5.728 11.782 3.682 2.782 8.51 4.091 14.401 4.091Zm64.643 18.328V71.839h27.412v19.965h1.227c2.21-6.955 5.974-12.274 11.292-16.038 5.319-3.763 11.456-5.645 18.329-5.645 1.555 0 3.355.082 5.237.163 1.964.164 3.601.328 4.91.573v25.938c-1.227-.41-3.109-.819-5.646-1.146a58.814 58.814 0 0 0-7.446-.49c-5.155 0-9.738 1.145-13.829 3.354-4.091 2.209-7.282 5.236-9.655 9.164-2.373 3.927-3.519 8.427-3.519 13.5v70.448h-28.312ZM222.077 39.192l-8.019 125.923L137.387 0l84.69 39.192Zm-53.105 162.825-57.933 33.056-57.934-33.056 11.783-28.556h92.301l11.783 28.556ZM111.039 62.675l30.357 73.803H80.681l30.358-73.803ZM7.937 165.115 0 39.192 84.69 0 7.937 165.115Z"
|
||||
/>
|
||||
<path
|
||||
fill="url(#c)"
|
||||
d="M388.676 191.625h30.849L363.31 31.828h-35.758l-56.215 159.797h30.848l13.174-39.356h60.061l13.256 39.356Zm-65.461-62.675 21.602-64.311h1.227l21.602 64.311h-44.431Zm126.831-7.527v70.202h-28.23V71.839h27.002v20.374h1.392c2.782-6.71 7.2-12.028 13.255-15.956 6.056-3.927 13.584-5.89 22.503-5.89 8.264 0 15.465 1.8 21.684 5.318 6.137 3.518 10.964 8.673 14.319 15.382 3.437 6.71 5.074 14.81 4.992 24.383v76.175h-28.23v-71.92c0-8.019-2.046-14.237-6.219-18.819-4.173-4.5-9.819-6.791-17.102-6.791-4.91 0-9.328 1.063-13.174 3.272-3.846 2.128-6.792 5.237-9.001 9.328-2.046 4.009-3.191 8.918-3.191 14.728ZM589.233 239c-10.147 0-18.82-1.391-26.103-4.091-7.282-2.7-13.092-6.382-17.511-10.964-4.418-4.582-7.528-9.655-9.164-15.219l25.448-6.136c1.145 2.372 2.782 4.663 4.991 6.954 2.209 2.291 5.155 4.255 8.837 5.81 3.683 1.554 8.428 2.291 14.074 2.291 8.019 0 14.647-1.964 19.884-5.81 5.237-3.845 7.856-10.227 7.856-19.064v-22.665h-1.391c-1.473 2.946-3.601 5.892-6.383 9.001-2.782 3.109-6.464 5.645-10.965 7.691-4.582 2.046-10.228 3.109-17.101 3.109-9.165 0-17.511-2.209-25.039-6.545-7.446-4.337-13.42-10.883-17.757-19.474-4.418-8.673-6.628-19.473-6.628-32.565 0-13.091 2.21-24.301 6.628-33.383 4.419-9.082 10.311-15.955 17.839-20.7 7.528-4.746 15.874-7.037 25.039-7.037 7.037 0 12.846 1.145 17.347 3.518 4.582 2.373 8.182 5.236 10.883 8.51 2.7 3.272 4.746 6.382 6.137 9.327h1.554v-19.8h27.821v121.749c0 10.228-2.454 18.737-7.364 25.447-4.91 6.709-11.538 11.7-20.048 15.055-8.509 3.355-18.165 4.991-28.884 4.991Zm.245-71.266c5.974 0 11.047-1.473 15.302-4.337 4.173-2.945 7.446-7.118 9.573-12.519 2.21-5.482 3.274-12.027 3.274-19.637 0-7.609-1.064-14.155-3.274-19.8-2.127-5.646-5.318-10.064-9.491-13.255-4.174-3.11-9.329-4.746-15.384-4.746s-11.537 1.636-15.792 4.91c-4.173 3.272-7.365 7.772-9.492 13.418-2.128 5.727-3.191 12.191-3.191 19.392 0 7.2 1.063 13.745 3.273 19.228 2.127 5.482 5.318 9.736 9.573 12.764 4.174 3.027 9.41 4.582 15.629 4.582Zm141.56-26.51V71.839h28.23v119.786h-27.412v-21.273h-1.227c-2.7 6.709-7.119 12.191-13.338 16.446-6.137 4.255-13.747 6.382-22.748 6.382-7.855 0-14.81-1.718-20.783-5.237-5.974-3.518-10.72-8.591-14.075-15.382-3.355-6.709-5.073-14.891-5.073-24.464V71.839h28.312v71.921c0 7.609 2.046 13.664 6.219 18.083 4.173 4.5 9.655 6.709 16.365 6.709 4.173 0 8.183-.982 12.111-3.028 3.927-2.045 7.118-5.072 9.655-9.082 2.537-4.091 3.764-9.164 3.764-15.218Zm65.707-109.395v159.796h-28.23V31.828h28.23Zm44.841 162.169c-7.61 0-14.402-1.391-20.457-4.091-6.055-2.7-10.883-6.791-14.32-12.109-3.518-5.319-5.237-11.946-5.237-19.801 0-6.791 1.228-12.355 3.765-16.773 2.536-4.419 5.891-7.937 10.228-10.637 4.337-2.618 9.164-4.664 14.647-6.055 5.4-1.391 11.046-2.373 16.856-3.027 7.037-.737 12.683-1.391 17.102-1.964 4.337-.573 7.528-1.555 9.574-2.782 1.963-1.309 3.027-3.273 3.027-5.973v-.491c0-5.891-1.718-10.391-5.237-13.664-3.518-3.191-8.51-4.828-15.056-4.828-6.955 0-12.356 1.473-16.447 4.5-4.009 3.028-6.71 6.546-8.183 10.719l-26.348-3.764c2.046-7.282 5.483-13.336 10.31-18.328 4.746-4.909 10.638-8.59 17.511-11.045 6.955-2.455 14.565-3.682 22.912-3.682 5.809 0 11.537.654 17.265 2.045s10.965 3.6 15.711 6.71c4.746 3.109 8.51 7.282 11.455 12.6 2.864 5.318 4.337 11.946 4.337 19.883v80.184h-27.166v-16.446h-.9c-1.719 3.355-4.092 6.464-7.201 9.328-3.109 2.864-6.955 5.237-11.619 6.955-4.828 1.718-10.229 2.536-16.529 2.536Zm7.364-20.701c5.646 0 10.556-1.145 14.729-3.354 4.173-2.291 7.364-5.237 9.655-9.001 2.292-3.763 3.355-7.854 3.355-12.273v-14.155c-.9.737-2.373 1.391-4.5 2.046-2.128.654-4.419 1.145-7.037 1.636-2.619.491-5.155.9-7.692 1.227-2.537.328-4.746.655-6.628.901-4.173.572-8.019 1.472-11.292 2.781-3.355 1.31-5.973 3.11-7.855 5.401-1.964 2.291-2.864 5.318-2.864 8.918 0 5.237 1.882 9.164 5.728 11.782 3.682 2.782 8.51 4.091 14.401 4.091Zm64.643 18.328V71.839h27.412v19.965h1.227c2.21-6.955 5.974-12.274 11.292-16.038 5.319-3.763 11.456-5.645 18.329-5.645 1.555 0 3.355.082 5.237.163 1.964.164 3.601.328 4.91.573v25.938c-1.227-.41-3.109-.819-5.646-1.146a58.814 58.814 0 0 0-7.446-.49c-5.155 0-9.738 1.145-13.829 3.354-4.091 2.209-7.282 5.236-9.655 9.164-2.373 3.927-3.519 8.427-3.519 13.5v70.448h-28.312ZM222.077 39.192l-8.019 125.923L137.387 0l84.69 39.192Zm-53.105 162.825-57.933 33.056-57.934-33.056 11.783-28.556h92.301l11.783 28.556ZM111.039 62.675l30.357 73.803H80.681l30.358-73.803ZM7.937 165.115 0 39.192 84.69 0 7.937 165.115Z"
|
||||
/>
|
||||
</g>
|
||||
<defs>
|
||||
<radialGradient
|
||||
id="c"
|
||||
cx="0"
|
||||
cy="0"
|
||||
r="1"
|
||||
gradientTransform="rotate(118.122 171.182 60.81) scale(205.794)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
>
|
||||
<stop stop-color="#FF41F8" />
|
||||
<stop offset=".707" stop-color="#FF41F8" stop-opacity=".5" />
|
||||
<stop offset="1" stop-color="#FF41F8" stop-opacity="0" />
|
||||
</radialGradient>
|
||||
<linearGradient
|
||||
id="b"
|
||||
x1="0"
|
||||
x2="982"
|
||||
y1="192"
|
||||
y2="192"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
>
|
||||
<stop stop-color="#F0060B" />
|
||||
<stop offset="0" stop-color="#F0070C" />
|
||||
<stop offset=".526" stop-color="#CC26D5" />
|
||||
<stop offset="1" stop-color="#7702FF" />
|
||||
</linearGradient>
|
||||
<clipPath id="a"><path fill="#fff" d="M0 0h982v239H0z" /></clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
<h1>Hello, {{ title }}</h1>
|
||||
<p>Congratulations! Your app is running. 🎉</p>
|
||||
</div>
|
||||
<div class="divider" role="separator" aria-label="Divider"></div>
|
||||
<div class="right-side">
|
||||
<div class="pill-group">
|
||||
@for (item of [
|
||||
{ title: 'Explore the Docs', link: 'https://angular.dev' },
|
||||
{ title: 'Learn with Tutorials', link: 'https://angular.dev/tutorials' },
|
||||
{ title: 'CLI Docs', link: 'https://angular.dev/tools/cli' },
|
||||
{ title: 'Angular Language Service', link: 'https://angular.dev/tools/language-service' },
|
||||
{ title: 'Angular DevTools', link: 'https://angular.dev/tools/devtools' },
|
||||
]; track item.title) {
|
||||
<a
|
||||
class="pill"
|
||||
[href]="item.link"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>
|
||||
<span>{{ item.title }}</span>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
height="14"
|
||||
viewBox="0 -960 960 960"
|
||||
width="14"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path
|
||||
d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h280v80H200v560h560v-280h80v280q0 33-23.5 56.5T760-120H200Zm188-212-56-56 372-372H560v-80h280v280h-80v-144L388-332Z"
|
||||
/>
|
||||
</svg>
|
||||
</a>
|
||||
}
|
||||
</div>
|
||||
<div class="social-links">
|
||||
<a
|
||||
href="https://github.com/angular/angular"
|
||||
aria-label="Github"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>
|
||||
<svg
|
||||
width="25"
|
||||
height="24"
|
||||
viewBox="0 0 25 24"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
alt="Github"
|
||||
>
|
||||
<path
|
||||
d="M12.3047 0C5.50634 0 0 5.50942 0 12.3047C0 17.7423 3.52529 22.3535 8.41332 23.9787C9.02856 24.0946 9.25414 23.7142 9.25414 23.3871C9.25414 23.0949 9.24389 22.3207 9.23876 21.2953C5.81601 22.0377 5.09414 19.6444 5.09414 19.6444C4.53427 18.2243 3.72524 17.8449 3.72524 17.8449C2.61064 17.082 3.81137 17.0973 3.81137 17.0973C5.04697 17.1835 5.69604 18.3647 5.69604 18.3647C6.79321 20.2463 8.57636 19.7029 9.27978 19.3881C9.39052 18.5924 9.70736 18.0499 10.0591 17.7423C7.32641 17.4347 4.45429 16.3765 4.45429 11.6618C4.45429 10.3185 4.9311 9.22133 5.72065 8.36C5.58222 8.04931 5.16694 6.79833 5.82831 5.10337C5.82831 5.10337 6.85883 4.77319 9.2121 6.36459C10.1965 6.09082 11.2424 5.95546 12.2883 5.94931C13.3342 5.95546 14.3801 6.09082 15.3644 6.36459C17.7023 4.77319 18.7328 5.10337 18.7328 5.10337C19.3942 6.79833 18.9789 8.04931 18.8559 8.36C19.6403 9.22133 20.1171 10.3185 20.1171 11.6618C20.1171 16.3888 17.2409 17.4296 14.5031 17.7321C14.9338 18.1012 15.3337 18.8559 15.3337 20.0084C15.3337 21.6552 15.3183 22.978 15.3183 23.3779C15.3183 23.7009 15.5336 24.0854 16.1642 23.9623C21.0871 22.3484 24.6094 17.7341 24.6094 12.3047C24.6094 5.50942 19.0999 0 12.3047 0Z"
|
||||
/>
|
||||
</svg>
|
||||
</a>
|
||||
<a
|
||||
href="https://twitter.com/angular"
|
||||
aria-label="Twitter"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
alt="Twitter"
|
||||
>
|
||||
<path
|
||||
d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"
|
||||
/>
|
||||
</svg>
|
||||
</a>
|
||||
<a
|
||||
href="https://www.youtube.com/channel/UCbn1OgGei-DV7aSRo_HaAiw"
|
||||
aria-label="Youtube"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>
|
||||
<svg
|
||||
width="29"
|
||||
height="20"
|
||||
viewBox="0 0 29 20"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
alt="Youtube"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="M27.4896 1.52422C27.9301 1.96749 28.2463 2.51866 28.4068 3.12258C29.0004 5.35161 29.0004 10 29.0004 10C29.0004 10 29.0004 14.6484 28.4068 16.8774C28.2463 17.4813 27.9301 18.0325 27.4896 18.4758C27.0492 18.9191 26.5 19.2389 25.8972 19.4032C23.6778 20 14.8068 20 14.8068 20C14.8068 20 5.93586 20 3.71651 19.4032C3.11363 19.2389 2.56449 18.9191 2.12405 18.4758C1.68361 18.0325 1.36732 17.4813 1.20683 16.8774C0.613281 14.6484 0.613281 10 0.613281 10C0.613281 10 0.613281 5.35161 1.20683 3.12258C1.36732 2.51866 1.68361 1.96749 2.12405 1.52422C2.56449 1.08095 3.11363 0.76113 3.71651 0.596774C5.93586 0 14.8068 0 14.8068 0C14.8068 0 23.6778 0 25.8972 0.596774C26.5 0.76113 27.0492 1.08095 27.4896 1.52422ZM19.3229 10L11.9036 5.77905V14.221L19.3229 10Z"
|
||||
/>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
|
||||
<!-- * * * * * * * * * * * The content above * * * * * * * * * * * * -->
|
||||
<!-- * * * * * * * * * * is only a placeholder * * * * * * * * * * * -->
|
||||
<!-- * * * * * * * * * * and can be replaced. * * * * * * * * * * * -->
|
||||
<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
|
||||
<!-- * * * * * * * * * * End of Placeholder * * * * * * * * * * * * -->
|
||||
<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
|
||||
|
||||
|
||||
<router-outlet />
|
||||
<calendar></calendar>
|
||||
@@ -1,13 +1,19 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { RouterOutlet } from '@angular/router';
|
||||
import { CalendarComponent } from "./calendar/calendar.component";
|
||||
|
||||
@Component({
|
||||
selector: 'app-root',
|
||||
standalone: true,
|
||||
imports: [RouterOutlet],
|
||||
imports: [RouterOutlet, CalendarComponent],
|
||||
templateUrl: './app.component.html',
|
||||
styleUrl: './app.component.scss'
|
||||
})
|
||||
export class AppComponent {
|
||||
title = 'runningPlans';
|
||||
|
||||
ngOnInit(): void {
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,8 @@ import { ApplicationConfig } from '@angular/core';
|
||||
import { provideRouter } from '@angular/router';
|
||||
|
||||
import { routes } from './app.routes';
|
||||
import { provideAnimationsAsync } from '@angular/platform-browser/animations/async';
|
||||
|
||||
export const appConfig: ApplicationConfig = {
|
||||
providers: [provideRouter(routes)]
|
||||
providers: [provideRouter(routes), provideAnimationsAsync()]
|
||||
};
|
||||
|
||||
37
src/app/calendar/calendar.component.html
Normal file
37
src/app/calendar/calendar.component.html
Normal file
@@ -0,0 +1,37 @@
|
||||
<div class="container">
|
||||
<div>
|
||||
<mat-checkbox [checked]="hideCompletedWeeks" (click)="toggleHideCompletedWeeks()">Hide completed
|
||||
weeks</mat-checkbox>
|
||||
</div>
|
||||
|
||||
<table class="noselect">
|
||||
<tr>
|
||||
<th>Week</th>
|
||||
<th>Monday</th>
|
||||
<th>Tuesday</th>
|
||||
<th>Wednesday</th>
|
||||
<th>Thursday</th>
|
||||
<th>Friday</th>
|
||||
<th>Saturday</th>
|
||||
<th>Sunday</th>
|
||||
</tr>
|
||||
@for (planWeek of examplePlan.planDetials; track planWeek.week; let i = $index) {
|
||||
@if (!hideCompletedWeeks || (hideCompletedWeeks && planWeek.status != status.Complete)) {
|
||||
<tr>
|
||||
<td [ngClass]="{'completedWeek': planWeek.status === status.Complete}">
|
||||
<div>Week {{planWeek.week}}</div>
|
||||
<div>Total Milage: {{planWeek.totalMilage}}</div>
|
||||
</td>
|
||||
@for (workout of planWeek.workouts; track workout.day; let j = $index) {
|
||||
<td [ngClass]="{'incompleteWorkout': workout.status === status.Incomplete, 'completedWorkout': workout.status === status.Complete}"
|
||||
(click)="onCellClick(i, j)">
|
||||
<div>{{workout.type}}</div>
|
||||
<div>{{workout.totalDistance == 0 ? '' : workout.totalDistance + ' miles'}}</div>
|
||||
<div>{{workout.description}}</div>
|
||||
</td>
|
||||
}
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
49
src/app/calendar/calendar.component.scss
Normal file
49
src/app/calendar/calendar.component.scss
Normal file
@@ -0,0 +1,49 @@
|
||||
table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
tr {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
td {
|
||||
padding: 20px 0;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
.container {
|
||||
margin-left: 24px;
|
||||
margin-right: 24px;
|
||||
}
|
||||
|
||||
.noselect {
|
||||
-webkit-touch-callout: none; /* iOS Safari */
|
||||
-webkit-user-select: none; /* Safari */
|
||||
-khtml-user-select: none; /* Konqueror HTML */
|
||||
-moz-user-select: none; /* Old versions of Firefox */
|
||||
-ms-user-select: none; /* Internet Explorer/Edge */
|
||||
user-select: none; /* Non-prefixed version, currently
|
||||
supported by Chrome, Edge, Opera and Firefox */
|
||||
}
|
||||
|
||||
.incompleteWorkout:hover {
|
||||
background-color: rgb(235, 235, 235);
|
||||
}
|
||||
|
||||
.completedWorkout {
|
||||
background-color: rgb(107, 194, 107);
|
||||
}
|
||||
.completedWorkout:hover {
|
||||
background-color: rgb(89, 161, 89);
|
||||
}
|
||||
|
||||
.completedWeek {
|
||||
background-color: rgb(107, 194, 107);
|
||||
}
|
||||
23
src/app/calendar/calendar.component.spec.ts
Normal file
23
src/app/calendar/calendar.component.spec.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { CalendarComponent } from './calendar.component';
|
||||
|
||||
describe('CalendarComponent', () => {
|
||||
let component: CalendarComponent;
|
||||
let fixture: ComponentFixture<CalendarComponent>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [CalendarComponent]
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(CalendarComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
51
src/app/calendar/calendar.component.ts
Normal file
51
src/app/calendar/calendar.component.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { examplePlan } from '../testData/examplePlan';
|
||||
import { Plan } from '../models/plan.model';
|
||||
import { CommonModule } from "@angular/common";
|
||||
import { Status } from '../models/workout.model';
|
||||
import {MatCheckboxModule} from '@angular/material/checkbox';
|
||||
|
||||
@Component({
|
||||
selector: 'calendar',
|
||||
standalone: true,
|
||||
imports: [CommonModule, MatCheckboxModule],
|
||||
templateUrl: './calendar.component.html',
|
||||
styleUrl: './calendar.component.scss'
|
||||
})
|
||||
export class CalendarComponent {
|
||||
examplePlan: Plan = examplePlan;
|
||||
status = Status;
|
||||
hideCompletedWeeks = true
|
||||
|
||||
ngOnInit(): void {
|
||||
|
||||
}
|
||||
|
||||
onCellClick(weekNum: number, dayNum: number) {
|
||||
let status = examplePlan.planDetials[weekNum].workouts[dayNum].status
|
||||
if (status === Status.Incomplete) {
|
||||
examplePlan.planDetials[weekNum].workouts[dayNum].status = Status.Complete
|
||||
} else if (status === Status.Complete) {
|
||||
examplePlan.planDetials[weekNum].workouts[dayNum].status = Status.Incomplete
|
||||
}
|
||||
this.checkCompletedWeek(weekNum)
|
||||
}
|
||||
|
||||
checkCompletedWeek(weekNum: number) {
|
||||
let completeCount = 0;
|
||||
examplePlan.planDetials[weekNum].workouts.forEach(workout => {
|
||||
if (workout.status === Status.Complete) {
|
||||
completeCount++
|
||||
}
|
||||
})
|
||||
if (completeCount === 7) {
|
||||
examplePlan.planDetials[weekNum].status = Status.Complete
|
||||
} else {
|
||||
examplePlan.planDetials[weekNum].status = Status.Incomplete
|
||||
}
|
||||
}
|
||||
|
||||
toggleHideCompletedWeeks() {
|
||||
this.hideCompletedWeeks = !this.hideCompletedWeeks
|
||||
}
|
||||
}
|
||||
23
src/app/models/plan.model.ts
Normal file
23
src/app/models/plan.model.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { Workout } from "./workout.model";
|
||||
|
||||
export interface Plan {
|
||||
name: string,
|
||||
description: string,
|
||||
startDate: Date,
|
||||
endDate: Date,
|
||||
numWeeks: number,
|
||||
planDetials: Week[]
|
||||
}
|
||||
|
||||
export interface Week {
|
||||
week: number,
|
||||
totalMilage: number,
|
||||
status: Status,
|
||||
workouts: Workout[]
|
||||
}
|
||||
|
||||
export enum Status {
|
||||
Complete = 'complete',
|
||||
Incomplete = 'incomplete',
|
||||
Skipped = 'skipped'
|
||||
}
|
||||
26
src/app/models/workout.model.ts
Normal file
26
src/app/models/workout.model.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
export interface Workout {
|
||||
day: number,
|
||||
type: WorkoutType,
|
||||
totalDistance: number,
|
||||
description: string,
|
||||
status: Status
|
||||
}
|
||||
|
||||
export enum WorkoutType {
|
||||
VO2Max = "VO2 Max",
|
||||
DressRehersal = "Dress Rehersal",
|
||||
RaceDay = "Race Day",
|
||||
MarathonPaceLongRun = "MP Long Run",
|
||||
LongRun = "Long Run",
|
||||
MediumLongRun = "Medium-Long Run",
|
||||
Threshold = "Threshold",
|
||||
GeneralAerobic = "General Aerobic",
|
||||
Recovery = "Recovery",
|
||||
Rest = "Rest or Crosstrain"
|
||||
}
|
||||
|
||||
export enum Status {
|
||||
Complete = 'complete',
|
||||
Incomplete = 'incomplete',
|
||||
Skipped = 'skipped'
|
||||
}
|
||||
1020
src/app/testData/examplePlan.ts
Normal file
1020
src/app/testData/examplePlan.ts
Normal file
File diff suppressed because it is too large
Load Diff
@@ -6,8 +6,10 @@
|
||||
<base href="/">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<body class="mat-typography">
|
||||
<app-root></app-root>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -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; }
|
||||
|
||||
Reference in New Issue
Block a user