From 790130927e108cb3ce73d03fdad56d28a52835b9 Mon Sep 17 00:00:00 2001 From: gloriousCode Date: Fri, 6 Oct 2017 16:52:58 +1100 Subject: [PATCH 01/30] Adds a sidebar component --- web/src/app/app.component.html | 14 +++--- web/src/app/app.module.ts | 9 +++- .../pages/settings/settings.component.scss | 4 +- .../services/sidebar/sidebar.service.spec.ts | 15 +++++++ .../app/services/sidebar/sidebar.service.ts | 45 +++++++++++++++++++ .../app/shared/navbar/navbar.component.html | 21 ++++----- .../app/shared/sidebar/sidebar.component.html | 8 ++++ .../app/shared/sidebar/sidebar.component.scss | 0 .../shared/sidebar/sidebar.component.spec.ts | 25 +++++++++++ .../app/shared/sidebar/sidebar.component.ts | 18 ++++++++ 10 files changed, 136 insertions(+), 23 deletions(-) create mode 100644 web/src/app/services/sidebar/sidebar.service.spec.ts create mode 100644 web/src/app/services/sidebar/sidebar.service.ts create mode 100644 web/src/app/shared/sidebar/sidebar.component.html create mode 100644 web/src/app/shared/sidebar/sidebar.component.scss create mode 100644 web/src/app/shared/sidebar/sidebar.component.spec.ts create mode 100644 web/src/app/shared/sidebar/sidebar.component.ts diff --git a/web/src/app/app.component.html b/web/src/app/app.component.html index 7954b234..72199f7a 100644 --- a/web/src/app/app.component.html +++ b/web/src/app/app.component.html @@ -1,9 +1,11 @@ - + + - + -
-
- +
+
+ +
-
\ No newline at end of file + \ No newline at end of file diff --git a/web/src/app/app.module.ts b/web/src/app/app.module.ts index 64ec6c2f..8428accc 100644 --- a/web/src/app/app.module.ts +++ b/web/src/app/app.module.ts @@ -19,6 +19,7 @@ import { MdCheckboxModule, MdGridListModule, MdProgressSpinnerModule, + MdSidenavModule, } from '@angular/material'; @@ -29,11 +30,13 @@ import { SettingsComponent } from './pages/settings/settings.component'; import { DashboardComponent } from './pages/dashboard/dashboard.component'; import { NavbarComponent } from './shared/navbar/navbar.component'; +import { SidebarComponent } from './shared/sidebar/sidebar.component'; import { ExchangeCurrencyTickerComponent } from './shared/exchange-currency-ticker/exchange-currency-ticker.component'; import { AllEnabledCurrencyTickersComponent } from './shared/all-enabled-currency-tickers/all-enabled-currency-tickers.component'; //services import { WebsocketService } from './services/websocket/websocket.service'; import { WebsocketHandlerService } from './services/websocket-handler/websocket-handler.service'; +import { SidebarService } from './services/sidebar/sidebar.service'; import { ElectronService } from './providers/electron.service'; //Routing import { AppRoutingModule } from './app-routing.module'; @@ -50,7 +53,8 @@ import * as Rx from 'rxjs/Rx'; SettingsComponent, DashboardComponent, ExchangeCurrencyTickerComponent, - AllEnabledCurrencyTickersComponent + AllEnabledCurrencyTickersComponent, + SidebarComponent ], imports: [ BrowserModule, @@ -68,8 +72,9 @@ import * as Rx from 'rxjs/Rx'; MdCheckboxModule, MdGridListModule, MdProgressSpinnerModule, + MdSidenavModule, ], - providers: [ElectronService,WebsocketService,WebsocketHandlerService], + providers: [ElectronService,WebsocketService,WebsocketHandlerService, SidebarService], bootstrap: [AppComponent] }) export class AppModule { diff --git a/web/src/app/pages/settings/settings.component.scss b/web/src/app/pages/settings/settings.component.scss index 7a3c9dd6..98c47c43 100644 --- a/web/src/app/pages/settings/settings.component.scss +++ b/web/src/app/pages/settings/settings.component.scss @@ -15,6 +15,6 @@ .md-fab { margin: 0; position: fixed; - bottom: 5%; - right: 2%; + right: 20px; + bottom: 10px; } \ No newline at end of file diff --git a/web/src/app/services/sidebar/sidebar.service.spec.ts b/web/src/app/services/sidebar/sidebar.service.spec.ts new file mode 100644 index 00000000..7f6df76c --- /dev/null +++ b/web/src/app/services/sidebar/sidebar.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { SidebarService } from './sidebar.service'; + +describe('SidebarService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [SidebarService] + }); + }); + + it('should be created', inject([SidebarService], (service: SidebarService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/web/src/app/services/sidebar/sidebar.service.ts b/web/src/app/services/sidebar/sidebar.service.ts new file mode 100644 index 00000000..cd18c6e2 --- /dev/null +++ b/web/src/app/services/sidebar/sidebar.service.ts @@ -0,0 +1,45 @@ +import { Injectable } from '@angular/core'; +import { MdSidenav, MdDrawerToggleResult } from '@angular/material'; + +@Injectable() +export class SidebarService { + private sidenav: MdSidenav; + + /** + * Setter for sidenav. + * + * @param {MdSidenav} sidenav + */ + public setSidenav(sidenav: MdSidenav) { + this.sidenav = sidenav; + } + + /** + * Open this sidenav, and return a Promise that will resolve when it's fully opened (or get rejected if it didn't). + * + * @returns Promise + */ + public open(): Promise { + return this.sidenav.open(); + } + + /** + * Close this sidenav, and return a Promise that will resolve when it's fully closed (or get rejected if it didn't). + * + * @returns Promise + */ + public close(): Promise { + return this.sidenav.close(); + } + + /** + * Toggle this sidenav. This is equivalent to calling open() when it's already opened, or close() when it's closed. + * + * @param {boolean} isOpen Whether the sidenav should be open. + * + * @returns {Promise} + */ + public toggle(isOpen?: boolean): Promise { + return this.sidenav.toggle(isOpen); + } +} \ No newline at end of file diff --git a/web/src/app/shared/navbar/navbar.component.html b/web/src/app/shared/navbar/navbar.component.html index c9a9d1f4..aba2e051 100644 --- a/web/src/app/shared/navbar/navbar.component.html +++ b/web/src/app/shared/navbar/navbar.component.html @@ -1,16 +1,11 @@ \ No newline at end of file diff --git a/web/src/app/shared/sidebar/sidebar.component.html b/web/src/app/shared/sidebar/sidebar.component.html new file mode 100644 index 00000000..4b635ac8 --- /dev/null +++ b/web/src/app/shared/sidebar/sidebar.component.html @@ -0,0 +1,8 @@ + + +
+ The +
+
\ No newline at end of file diff --git a/web/src/app/shared/sidebar/sidebar.component.scss b/web/src/app/shared/sidebar/sidebar.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/web/src/app/shared/sidebar/sidebar.component.spec.ts b/web/src/app/shared/sidebar/sidebar.component.spec.ts new file mode 100644 index 00000000..e49c1a50 --- /dev/null +++ b/web/src/app/shared/sidebar/sidebar.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SidebarComponent } from './sidebar.component'; + +describe('SidebarComponent', () => { + let component: SidebarComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SidebarComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SidebarComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/shared/sidebar/sidebar.component.ts b/web/src/app/shared/sidebar/sidebar.component.ts new file mode 100644 index 00000000..93814c28 --- /dev/null +++ b/web/src/app/shared/sidebar/sidebar.component.ts @@ -0,0 +1,18 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { MdSidenav } from '@angular/material'; +import { SidebarService } from './../../services/sidebar/sidebar.service'; + +@Component({ + selector: 'app-sidebar', + templateUrl: './sidebar.component.html', + styleUrls: ['./sidebar.component.scss'] +}) +export class SidebarComponent implements OnInit { + @ViewChild('sidenav') public sidenav: MdSidenav; + sidebarService: SidebarService + constructor() { } + + ngOnInit() { + this.sidebarService.setSidenav(this.sidenav); + } + } From bc73c506e1d63d13cffae4a6018625f8d540f84d Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Fri, 6 Oct 2017 20:09:21 +1100 Subject: [PATCH 02/30] Adds a sidebar with navigation aww yeah --- web/src/app/app.component.html | 16 +++++++--------- web/src/app/app.module.ts | 2 ++ web/src/app/shared/navbar/navbar.component.html | 2 +- web/src/app/shared/navbar/navbar.component.scss | 3 +++ web/src/app/shared/navbar/navbar.component.ts | 7 +++++-- .../app/shared/sidebar/sidebar.component.html | 16 +++++++++------- .../app/shared/sidebar/sidebar.component.scss | 4 ++++ web/src/app/shared/sidebar/sidebar.component.ts | 4 +++- web/src/styles.scss | 2 +- 9 files changed, 35 insertions(+), 21 deletions(-) diff --git a/web/src/app/app.component.html b/web/src/app/app.component.html index 72199f7a..18eaafa5 100644 --- a/web/src/app/app.component.html +++ b/web/src/app/app.component.html @@ -1,11 +1,9 @@ - - - - - -
-
- -
+ + + +
+
+
+
\ No newline at end of file diff --git a/web/src/app/app.module.ts b/web/src/app/app.module.ts index 8428accc..25687efd 100644 --- a/web/src/app/app.module.ts +++ b/web/src/app/app.module.ts @@ -20,6 +20,7 @@ import { MdGridListModule, MdProgressSpinnerModule, MdSidenavModule, + MdListModule, } from '@angular/material'; @@ -73,6 +74,7 @@ import * as Rx from 'rxjs/Rx'; MdGridListModule, MdProgressSpinnerModule, MdSidenavModule, + MdListModule, ], providers: [ElectronService,WebsocketService,WebsocketHandlerService, SidebarService], bootstrap: [AppComponent] diff --git a/web/src/app/shared/navbar/navbar.component.html b/web/src/app/shared/navbar/navbar.component.html index aba2e051..45f2a341 100644 --- a/web/src/app/shared/navbar/navbar.component.html +++ b/web/src/app/shared/navbar/navbar.component.html @@ -1,7 +1,7 @@ \ No newline at end of file diff --git a/web/src/app/shared/sidebar/sidebar.component.html b/web/src/app/shared/sidebar/sidebar.component.html index 1e6a84b4..e69de29b 100644 --- a/web/src/app/shared/sidebar/sidebar.component.html +++ b/web/src/app/shared/sidebar/sidebar.component.html @@ -1,16 +0,0 @@ - - - - trending_up 

Dashboard

-
- - account_balance_wallet 

Wallet

-
- - history 

Trading

-
- - settings 

Settings

-
-
-
\ No newline at end of file From d7930308462434ba95bc1263d7cdfe3473fa1846 Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Fri, 13 Oct 2017 17:50:35 +1100 Subject: [PATCH 06/30] The calm before updating angular and material --- web/src/app/app-routing.module.ts | 5 ++ web/src/app/app.component.scss | 1 + web/src/app/app.module.ts | 7 ++- .../pages/settings/settings.component.html | 4 +- .../pages/settings/settings.component.scss | 13 ++--- .../app/pages/wallet/wallet.component.html | 28 ++++++++++ .../app/pages/wallet/wallet.component.scss | 4 ++ .../app/pages/wallet/wallet.component.spec.ts | 25 +++++++++ web/src/app/pages/wallet/wallet.component.ts | 55 +++++++++++++++++++ web/src/app/shared/classes/config.ts | 0 web/src/app/shared/classes/wallet.ts | 49 +++++++++++++++++ .../app/shared/navbar/navbar.component.html | 2 +- web/src/styles.scss | 11 +++- 13 files changed, 190 insertions(+), 14 deletions(-) create mode 100644 web/src/app/pages/wallet/wallet.component.html create mode 100644 web/src/app/pages/wallet/wallet.component.scss create mode 100644 web/src/app/pages/wallet/wallet.component.spec.ts create mode 100644 web/src/app/pages/wallet/wallet.component.ts create mode 100644 web/src/app/shared/classes/config.ts create mode 100644 web/src/app/shared/classes/wallet.ts diff --git a/web/src/app/app-routing.module.ts b/web/src/app/app-routing.module.ts index 7b4eee36..cd01b7d1 100644 --- a/web/src/app/app-routing.module.ts +++ b/web/src/app/app-routing.module.ts @@ -2,6 +2,7 @@ import { HomeComponent } from './pages/home/home.component'; import { SettingsComponent } from './pages/settings/settings.component'; import { AboutComponent } from './pages/about/about.component'; import { DashboardComponent } from './pages/dashboard/dashboard.component'; +import { WalletComponent } from './pages/wallet/wallet.component'; import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; @@ -22,6 +23,10 @@ const routes: Routes = [ { path: 'settings', component: SettingsComponent + }, + { + path: 'wallet', + component: WalletComponent } ]; diff --git a/web/src/app/app.component.scss b/web/src/app/app.component.scss index f1d75fc1..7eb898db 100644 --- a/web/src/app/app.component.scss +++ b/web/src/app/app.component.scss @@ -8,6 +8,7 @@ display: flex; align-items: center; justify-content: center; + padding: 20px 70px 0; min-width:80%; } diff --git a/web/src/app/app.module.ts b/web/src/app/app.module.ts index 25687efd..71b13fe5 100644 --- a/web/src/app/app.module.ts +++ b/web/src/app/app.module.ts @@ -29,6 +29,7 @@ import { HomeComponent } from './pages/home/home.component'; import { AboutComponent } from './pages/about/about.component'; import { SettingsComponent } from './pages/settings/settings.component'; import { DashboardComponent } from './pages/dashboard/dashboard.component'; +import { WalletComponent } from './pages/wallet/wallet.component'; import { NavbarComponent } from './shared/navbar/navbar.component'; import { SidebarComponent } from './shared/sidebar/sidebar.component'; @@ -42,6 +43,9 @@ import { ElectronService } from './providers/electron.service'; //Routing import { AppRoutingModule } from './app-routing.module'; +import { Wallet } from './shared/classes/wallet'; + + import * as Rx from 'rxjs/Rx'; @@ -55,7 +59,8 @@ import * as Rx from 'rxjs/Rx'; DashboardComponent, ExchangeCurrencyTickerComponent, AllEnabledCurrencyTickersComponent, - SidebarComponent + SidebarComponent, + WalletComponent ], imports: [ BrowserModule, diff --git a/web/src/app/pages/settings/settings.component.html b/web/src/app/pages/settings/settings.component.html index 8869352b..102c948c 100644 --- a/web/src/app/pages/settings/settings.component.html +++ b/web/src/app/pages/settings/settings.component.html @@ -4,7 +4,7 @@
- + SMS Global Settings @@ -48,7 +48,7 @@
- + {{exchange.Name}} Exchange Settings diff --git a/web/src/app/pages/settings/settings.component.scss b/web/src/app/pages/settings/settings.component.scss index 98c47c43..7fe9904a 100644 --- a/web/src/app/pages/settings/settings.component.scss +++ b/web/src/app/pages/settings/settings.component.scss @@ -7,14 +7,11 @@ width: 100%; } -.exchange-card { - margin-bottom: 20px; - width: 1000px; -} - +// FAB .md-fab { - margin: 0; - position: fixed; + top: auto; right: 20px; - bottom: 10px; + bottom: 20px; + left: auto; + position: fixed; } \ No newline at end of file diff --git a/web/src/app/pages/wallet/wallet.component.html b/web/src/app/pages/wallet/wallet.component.html new file mode 100644 index 00000000..1380a1f1 --- /dev/null +++ b/web/src/app/pages/wallet/wallet.component.html @@ -0,0 +1,28 @@ + + + Wallet Summary + + + + + + +
+
+ + + + + + + + + {{total.coin}} - {{total.balance}} + + + + + + +
+
\ No newline at end of file diff --git a/web/src/app/pages/wallet/wallet.component.scss b/web/src/app/pages/wallet/wallet.component.scss new file mode 100644 index 00000000..0adfea4e --- /dev/null +++ b/web/src/app/pages/wallet/wallet.component.scss @@ -0,0 +1,4 @@ +.wallet-card { + width: 80%; + margin: 10px auto; +} \ No newline at end of file diff --git a/web/src/app/pages/wallet/wallet.component.spec.ts b/web/src/app/pages/wallet/wallet.component.spec.ts new file mode 100644 index 00000000..5eb8a39c --- /dev/null +++ b/web/src/app/pages/wallet/wallet.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { WalletComponent } from './wallet.component'; + +describe('WalletComponent', () => { + let component: WalletComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ WalletComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(WalletComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/pages/wallet/wallet.component.ts b/web/src/app/pages/wallet/wallet.component.ts new file mode 100644 index 00000000..b5283e63 --- /dev/null +++ b/web/src/app/pages/wallet/wallet.component.ts @@ -0,0 +1,55 @@ +import { Component, OnInit } from '@angular/core'; +import { WebsocketHandlerService } from './../../services/websocket-handler/websocket-handler.service'; +import { Wallet } from './../../shared/classes/wallet'; + + +@Component({ + selector: 'app-wallet', + templateUrl: './wallet.component.html', + styleUrls: ['./wallet.component.scss'] +}) +export class WalletComponent implements OnInit { + private ws: WebsocketHandlerService; + private failCount = 0; + private timer: any; + public wallet: Wallet; + + private getWalletMessage = { + Event: 'GetPortfolio', + data: null, + }; + + constructor(private websocketHandler: WebsocketHandlerService) { + this.ws = websocketHandler; + this.ws.messages.subscribe(msg => { + if (msg.Event === 'GetPortfolio') { + console.log(JSON.stringify(msg.data)); + this.wallet = msg.data; + } + }); + } + ngOnInit() { + this.setWallet(); + } + +//there has to be a better way + private resendMessageIfPageRefreshed(): void { + if (this.failCount <= 10) { + setTimeout(() => { + if (this.wallet === null || this.wallet === undefined) { + this.failCount++; + this.setWallet(); + } + }, 1000); + } else { + console.log('Could not load wallet. Check if GocryptoTrader server is running, otherwise open a ticket'); + } + } + + private setWallet():void { + this.ws.messages.next(this.getWalletMessage); + this.resendMessageIfPageRefreshed(); + } +} + + diff --git a/web/src/app/shared/classes/config.ts b/web/src/app/shared/classes/config.ts new file mode 100644 index 00000000..e69de29b diff --git a/web/src/app/shared/classes/wallet.ts b/web/src/app/shared/classes/wallet.ts new file mode 100644 index 00000000..cb2af252 --- /dev/null +++ b/web/src/app/shared/classes/wallet.ts @@ -0,0 +1,49 @@ + +export interface CoinTotal { + coin: string; + balance: number; + } + + export interface CoinsOffline { + coin: string; + balance: number; + percentage: number; + } + + export interface BTC { + address: string; + balance: number; + percentage: number; + } + + export interface ETH { + address: string; + balance: number; + percentage: number; + } + + export interface LTC { + address: string; + balance: number; + percentage: number; + } + + export interface OfflineSummary { + BTC: BTC[]; + ETH: ETH[]; + LTC: LTC[]; + } + + export interface OnlineSummary { + BTC: BTC[]; + ETH: ETH[]; + LTC: LTC[]; + } + + export interface Wallet { + coin_totals: CoinTotal[]; + coins_offline: CoinsOffline[]; + offline_summary: OfflineSummary; + coins_online?: any; + online_summary: OnlineSummary; + } \ No newline at end of file diff --git a/web/src/app/shared/navbar/navbar.component.html b/web/src/app/shared/navbar/navbar.component.html index 78d6fa7a..1cf33e16 100644 --- a/web/src/app/shared/navbar/navbar.component.html +++ b/web/src/app/shared/navbar/navbar.component.html @@ -1,6 +1,6 @@ \ No newline at end of file diff --git a/web/src/app/shared/theme-picker/theme-picker.html b/web/src/app/shared/theme-picker/theme-picker.html new file mode 100644 index 00000000..b23765fb --- /dev/null +++ b/web/src/app/shared/theme-picker/theme-picker.html @@ -0,0 +1,18 @@ + + + + + + +
+
+ check_circle +
+
+
+
+
+
\ No newline at end of file diff --git a/web/src/app/shared/theme-picker/theme-picker.scss b/web/src/app/shared/theme-picker/theme-picker.scss new file mode 100644 index 00000000..2c3376d7 --- /dev/null +++ b/web/src/app/shared/theme-picker/theme-picker.scss @@ -0,0 +1,58 @@ +$theme-picker-menu-padding: 8px; +$theme-picker-grid-cell-size: 48px; +$theme-picker-grid-cells-per-row: 2; +$theme-picker-swatch-size: 36px; +$theme-picker-accent-stripe-size: 6px; + + +.docs-theme-picker-menu { + .mat-menu-content { + padding: $theme-picker-menu-padding; + } + + [mat-menu-item] { + flex: 0 0 auto; + padding: 0; + overflow: hidden; + } + + .docs-theme-picker-swatch { + position: relative; + width: $theme-picker-swatch-size; + height: $theme-picker-swatch-size; + margin: ($theme-picker-grid-cell-size - $theme-picker-swatch-size) / 2; + border-radius: 50%; + overflow: hidden; + + .docs-theme-chosen-icon { + color: white; + position: absolute; + left: 50%; top: 50%; + transform: translate(-50%, -50%); + } + + &::after { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + box-sizing: border-box; + border: 1px solid rgba(0,0,0,.2); + border-radius: 50%; + } + } + + .docs-theme-picker-primary { + width: 100%; + height: 100%; + } + + .docs-theme-picker-accent { + position: absolute; + bottom: $theme-picker-accent-stripe-size; + width: 100%; + height: $theme-picker-accent-stripe-size; + } +} \ No newline at end of file diff --git a/web/src/app/shared/theme-picker/theme-picker.spec.ts b/web/src/app/shared/theme-picker/theme-picker.spec.ts new file mode 100644 index 00000000..87b8ba21 --- /dev/null +++ b/web/src/app/shared/theme-picker/theme-picker.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ThemePickerComponent } from './theme-picker.component'; + +describe('ThemePickerComponent', () => { + let component: ThemePickerComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ThemePickerComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ThemePickerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/shared/theme-picker/theme-picker.ts b/web/src/app/shared/theme-picker/theme-picker.ts new file mode 100644 index 00000000..0db78954 --- /dev/null +++ b/web/src/app/shared/theme-picker/theme-picker.ts @@ -0,0 +1,74 @@ +import {Component, ViewEncapsulation, ChangeDetectionStrategy, NgModule} from '@angular/core'; +import { StyleManagerService } from './../../services/style-manager/style-manager.service'; + +import { ThemeStorageService,DocsSiteTheme } from './../../services/theme-storage/theme-storage.service'; +import {CommonModule} from '@angular/common'; + + +@Component({ + selector: 'theme-picker', + templateUrl: 'theme-picker.html', + styleUrls: ['theme-picker.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, + encapsulation: ViewEncapsulation.None, + host: {'aria-hidden': 'true'}, +}) +export class ThemePickerComponent { + currentTheme; + + themes = [ + { + primary: '#673AB7', + accent: '#FFC107', + href: 'deeppurple-amber.css', + isDark: false, + }, + { + primary: '#3F51B5', + accent: '#E91E63', + href: 'indigo-pink.css', + isDark: false, + isDefault: true, + }, + { + primary: '#E91E63', + accent: '#607D8B', + href: 'pink-bluegrey.css', + isDark: true, + }, + { + primary: '#9C27B0', + accent: '#4CAF50', + href: 'purple-green.css', + isDark: true, + }, + ]; + + constructor( + public styleManager: StyleManagerService, + private _themeStorage: ThemeStorageService + ) { + const currentTheme = this._themeStorage.getStoredTheme(); + if (currentTheme) { + this.installTheme(currentTheme); + } + } + + installTheme(theme: DocsSiteTheme) { + this.currentTheme = this._getCurrentThemeFromHref(theme.href); + + if (theme.isDefault) { + this.styleManager.removeStyle('theme'); + } else { + this.styleManager.setStyle('theme', `assets/${theme.href}`); + } + + if (this.currentTheme) { + this._themeStorage.storeTheme(this.currentTheme); + } + } + + private _getCurrentThemeFromHref(href: string): DocsSiteTheme { + return this.themes.find(theme => theme.href === href); + } +} \ No newline at end of file diff --git a/web/src/assets/deeppurple-amber.css b/web/src/assets/deeppurple-amber.css new file mode 100644 index 00000000..71e75412 --- /dev/null +++ b/web/src/assets/deeppurple-amber.css @@ -0,0 +1 @@ +.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font-size:11.62px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-h6,.mat-typography h6{font-size:9.38px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:inherit;font-weight:400;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.4375em 0;border-top:.84375em solid transparent}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-placeholder{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-placeholder-wrapper .mat-form-field-placeholder{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-placeholder-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-placeholder{top:1.28125em}.mat-form-field-underline{bottom:1.25em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.54167em;top:calc(100% - 1.66667em)}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-list-item{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}@media screen and (-ms-high-contrast:active){.mat-ripple{display:none}}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transform:scale(0)}.mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;position:relative;cursor:pointer;outline:0}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.mat-option-text{display:inline-block}.mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}.mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.48}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.6)}.cdk-overlay-transparent-backdrop{background:0 0}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option{color:rgba(0,0,0,.87)}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#673ab7}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ffd740}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-optgroup-label{color:rgba(0,0,0,.54)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ffd740}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#673ab7}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button{background:0 0}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay{background-color:rgba(103,58,183,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay{background-color:rgba(255,215,64,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary{color:#673ab7}.mat-button.mat-accent,.mat-icon-button.mat-accent{color:#ffd740}.mat-button.mat-warn,.mat-icon-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled]{color:rgba(0,0,0,.38)}.mat-fab,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:rgba(255,255,255,.87)}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:rgba(0,0,0,.87)}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.38)}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#673ab7}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#ffd740}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(0,0,0,.2)}.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.1)}.mat-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.1)}.mat-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(255,215,64,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle.cdk-focused .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.06)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-disabled{background-color:#eee;color:rgba(0,0,0,.38)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#673ab7}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ffd740}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#b0b0b0}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip:not(.mat-basic-chip){background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip:not(.mat-basic-chip) .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip:not(.mat-basic-chip) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-primary{background-color:#673ab7;color:rgba(255,255,255,.87)}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:rgba(255,255,255,.87);opacity:.4}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-accent{background-color:#ffd740;color:rgba(0,0,0,.87)}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#fff}.mat-header-row,.mat-row{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell{color:rgba(0,0,0,.87)}.mat-datepicker-content{background-color:#fff;color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-calendar-next-button,.mat-calendar-previous-button{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-selected{background-color:#673ab7;color:rgba(255,255,255,.87)}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(103,58,183,.4)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px rgba(255,255,255,.87)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-dialog-container{background:#fff;color:rgba(0,0,0,.87)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.38)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field{width:200px}.mat-form-field-placeholder{color:rgba(0,0,0,.54)}.mat-hint{color:rgba(0,0,0,.54)}.mat-focused .mat-form-field-placeholder{color:#673ab7}.mat-focused .mat-form-field-placeholder.mat-accent{color:#ffd740}.mat-focused .mat-form-field-placeholder.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ffd740}.mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-underline.mat-disabled{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x}.mat-form-field-ripple{background-color:#673ab7}.mat-form-field-ripple.mat-accent{background-color:#ffd740}.mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-invalid .mat-form-field-placeholder{color:#f44336}.mat-form-field-invalid .mat-form-field-placeholder .mat-form-field-required-marker,.mat-form-field-invalid .mat-form-field-placeholder.mat-accent{color:#f44336}.mat-form-field-invalid .mat-form-field-ripple{background-color:#f44336}.mat-error{color:#f44336}.mat-icon.mat-primary{color:#673ab7}.mat-icon.mat-accent{color:#ffd740}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(0,0,0,.42)}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{color:rgba(0,0,0,.87)}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{color:rgba(0,0,0,.87)}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-nav-list .mat-list-item{outline:0}.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-list-option{outline:0}.mat-list-option.mat-list-item-focus,.mat-list-option:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled]{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon,.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item:focus:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23d1c4e9%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar-buffer{background-color:#d1c4e9}.mat-progress-bar-fill::after{background-color:#673ab7}.mat-progress-bar.mat-accent .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffe57f%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ffe57f}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ffd740}.mat-progress-bar.mat-warn .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffcdd2%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#673ab7}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ffd740}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-disabled .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#673ab7}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(103,58,183,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#ffd740}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,215,64,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-select-arrow,.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.54)}.mat-select-content,.mat-select-panel-done-animating{background:#fff}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#673ab7}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ffd740}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select.mat-select-disabled .mat-select-arrow{color:#f44336}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#ffc107}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(255,193,7,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(255,193,7,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#673ab7}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(103,58,183,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(103,58,183,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(244,67,54,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(0,0,0,.1)}.mat-slide-toggle-thumb{background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#673ab7}.mat-primary .mat-slider-thumb-label-text{color:rgba(255,255,255,.87)}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ffd740}.mat-accent .mat-slider-thumb-label-text{color:rgba(0,0,0,.87)}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,215,64,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill{background-color:rgba(0,0,0,.26)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.38)}.mat-step-header .mat-step-icon{background-color:#673ab7;color:rgba(255,255,255,.87)}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(0,0,0,.38);color:rgba(255,255,255,.87)}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label:focus,.mat-tab-group.mat-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-primary .mat-tab-link:focus{background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#673ab7}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:rgba(255,255,255,.87)}.mat-tab-group.mat-accent .mat-tab-label:focus,.mat-tab-group.mat-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-accent .mat-tab-link:focus{background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ffd740}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:rgba(0,0,0,.87)}.mat-tab-group.mat-warn .mat-tab-label:focus,.mat-tab-group.mat-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label:focus,.mat-tab-group.mat-background-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-link:focus{background-color:rgba(209,196,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#673ab7}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:rgba(255,255,255,.87)}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.87)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-tab-label:focus,.mat-tab-group.mat-background-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-link:focus{background-color:rgba(255,229,127,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ffd740}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-warn .mat-tab-label:focus,.mat-tab-group.mat-background-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#673ab7;color:rgba(255,255,255,.87)}.mat-toolbar.mat-accent{background:#ffd740;color:rgba(0,0,0,.87)}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-snack-bar-container{background:#323232;color:#fff}.mat-simple-snackbar-action{color:#ffd740} \ No newline at end of file diff --git a/web/src/assets/indigo-pink.css b/web/src/assets/indigo-pink.css new file mode 100644 index 00000000..5a66d3c4 --- /dev/null +++ b/web/src/assets/indigo-pink.css @@ -0,0 +1 @@ +.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font-size:11.62px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-h6,.mat-typography h6{font-size:9.38px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:inherit;font-weight:400;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.4375em 0;border-top:.84375em solid transparent}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-placeholder{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-placeholder-wrapper .mat-form-field-placeholder{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-placeholder-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-placeholder{top:1.28125em}.mat-form-field-underline{bottom:1.25em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.54167em;top:calc(100% - 1.66667em)}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-list-item{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}@media screen and (-ms-high-contrast:active){.mat-ripple{display:none}}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transform:scale(0)}.mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;position:relative;cursor:pointer;outline:0}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.mat-option-text{display:inline-block}.mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}.mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.48}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.6)}.cdk-overlay-transparent-backdrop{background:0 0}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option{color:rgba(0,0,0,.87)}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#3f51b5}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ff4081}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-optgroup-label{color:rgba(0,0,0,.54)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ff4081}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#3f51b5}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button{background:0 0}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay{background-color:rgba(63,81,181,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay{background-color:rgba(255,64,129,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary{color:#3f51b5}.mat-button.mat-accent,.mat-icon-button.mat-accent{color:#ff4081}.mat-button.mat-warn,.mat-icon-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled]{color:rgba(0,0,0,.38)}.mat-fab,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:rgba(255,255,255,.87)}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:#fff}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.38)}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#3f51b5}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#ff4081}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-button.mat-primary .mat-ripple-element{background-color:rgba(63,81,181,.1)}.mat-button.mat-accent .mat-ripple-element{background-color:rgba(255,64,129,.1)}.mat-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(63,81,181,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(255,64,129,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle.cdk-focused .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.06)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-disabled{background-color:#eee;color:rgba(0,0,0,.38)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#3f51b5}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ff4081}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#b0b0b0}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(63,81,181,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(255,64,129,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip:not(.mat-basic-chip){background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip:not(.mat-basic-chip) .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip:not(.mat-basic-chip) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-primary{background-color:#3f51b5;color:rgba(255,255,255,.87)}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:rgba(255,255,255,.87);opacity:.4}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-accent{background-color:#ff4081;color:#fff}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#fff}.mat-header-row,.mat-row{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell{color:rgba(0,0,0,.87)}.mat-datepicker-content{background-color:#fff;color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-calendar-next-button,.mat-calendar-previous-button{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-selected{background-color:#3f51b5;color:rgba(255,255,255,.87)}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(63,81,181,.4)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px rgba(255,255,255,.87)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-dialog-container{background:#fff;color:rgba(0,0,0,.87)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.38)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field{width:200px}.mat-form-field-placeholder{color:rgba(0,0,0,.54)}.mat-hint{color:rgba(0,0,0,.54)}.mat-focused .mat-form-field-placeholder{color:#3f51b5}.mat-focused .mat-form-field-placeholder.mat-accent{color:#ff4081}.mat-focused .mat-form-field-placeholder.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ff4081}.mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-underline.mat-disabled{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x}.mat-form-field-ripple{background-color:#3f51b5}.mat-form-field-ripple.mat-accent{background-color:#ff4081}.mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-invalid .mat-form-field-placeholder{color:#f44336}.mat-form-field-invalid .mat-form-field-placeholder .mat-form-field-required-marker,.mat-form-field-invalid .mat-form-field-placeholder.mat-accent{color:#f44336}.mat-form-field-invalid .mat-form-field-ripple{background-color:#f44336}.mat-error{color:#f44336}.mat-icon.mat-primary{color:#3f51b5}.mat-icon.mat-accent{color:#ff4081}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(0,0,0,.42)}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{color:rgba(0,0,0,.87)}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{color:rgba(0,0,0,.87)}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-nav-list .mat-list-item{outline:0}.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-list-option{outline:0}.mat-list-option.mat-list-item-focus,.mat-list-option:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled]{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon,.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item:focus:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23c5cae9%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar-buffer{background-color:#c5cae9}.mat-progress-bar-fill::after{background-color:#3f51b5}.mat-progress-bar.mat-accent .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ff80ab%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ff80ab}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ff4081}.mat-progress-bar.mat-warn .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffcdd2%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#3f51b5}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ff4081}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-disabled .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#3f51b5}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#3f51b5}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(63,81,181,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ff4081}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#ff4081}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,64,129,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-select-arrow,.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.54)}.mat-select-content,.mat-select-panel-done-animating{background:#fff}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#3f51b5}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ff4081}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select.mat-select-disabled .mat-select-arrow{color:#f44336}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#e91e63}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(233,30,99,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(233,30,99,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#3f51b5}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(63,81,181,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(63,81,181,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(244,67,54,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,.06)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(0,0,0,.1)}.mat-slide-toggle-thumb{background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#3f51b5}.mat-primary .mat-slider-thumb-label-text{color:rgba(255,255,255,.87)}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ff4081}.mat-accent .mat-slider-thumb-label-text{color:#fff}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,64,129,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill{background-color:rgba(0,0,0,.26)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.38)}.mat-step-header .mat-step-icon{background-color:#3f51b5;color:rgba(255,255,255,.87)}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(0,0,0,.38);color:rgba(255,255,255,.87)}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label:focus,.mat-tab-group.mat-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-primary .mat-tab-link:focus{background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#3f51b5}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:rgba(255,255,255,.87)}.mat-tab-group.mat-accent .mat-tab-label:focus,.mat-tab-group.mat-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-accent .mat-tab-link:focus{background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ff4081}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-warn .mat-tab-label:focus,.mat-tab-group.mat-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label:focus,.mat-tab-group.mat-background-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-link:focus{background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#3f51b5}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:rgba(255,255,255,.87)}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.87)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-tab-label:focus,.mat-tab-group.mat-background-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-link:focus{background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ff4081}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:#fff}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-label:focus,.mat-tab-group.mat-background-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#3f51b5;color:rgba(255,255,255,.87)}.mat-toolbar.mat-accent{background:#ff4081;color:#fff}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-snack-bar-container{background:#323232;color:#fff}.mat-simple-snackbar-action{color:#ff4081} \ No newline at end of file diff --git a/web/src/assets/pink-bluegrey.css b/web/src/assets/pink-bluegrey.css new file mode 100644 index 00000000..e6e96e80 --- /dev/null +++ b/web/src/assets/pink-bluegrey.css @@ -0,0 +1 @@ +.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font-size:11.62px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-h6,.mat-typography h6{font-size:9.38px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:inherit;font-weight:400;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.4375em 0;border-top:.84375em solid transparent}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-placeholder{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-placeholder-wrapper .mat-form-field-placeholder{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-placeholder-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-placeholder{top:1.28125em}.mat-form-field-underline{bottom:1.25em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.54167em;top:calc(100% - 1.66667em)}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-list-item{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}@media screen and (-ms-high-contrast:active){.mat-ripple{display:none}}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transform:scale(0)}.mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;position:relative;cursor:pointer;outline:0}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.mat-option-text{display:inline-block}.mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}.mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.48}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.6)}.cdk-overlay-transparent-backdrop{background:0 0}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-option{color:#fff}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(255,255,255,.04)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#c2185b}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#b0bec5}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(255,255,255,.04)}.mat-option.mat-active{background:rgba(255,255,255,.04);color:#fff}.mat-option.mat-option-disabled{color:rgba(255,255,255,.3)}.mat-optgroup-label{color:rgba(255,255,255,.7)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(255,255,255,.3)}.mat-pseudo-checkbox{color:rgba(255,255,255,.7)}.mat-pseudo-checkbox::after{color:#303030}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#b0bec5}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#c2185b}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.mat-app-background{background-color:#303030}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#424242;color:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#424242}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.mat-button,.mat-icon-button{background:0 0}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay{background-color:rgba(194,24,91,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay{background-color:rgba(176,190,197,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary{color:#c2185b}.mat-button.mat-accent,.mat-icon-button.mat-accent{color:#b0bec5}.mat-button.mat-warn,.mat-icon-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled]{color:rgba(255,255,255,.3)}.mat-fab,.mat-mini-fab,.mat-raised-button{color:#fff;background-color:#424242}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:rgba(255,255,255,.87)}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:rgba(0,0,0,.87)}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(255,255,255,.3)}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#c2185b}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#b0bec5}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{background-color:rgba(255,255,255,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(0,0,0,.2)}.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-button.mat-primary .mat-ripple-element{background-color:rgba(194,24,91,.1)}.mat-button.mat-accent .mat-ripple-element{background-color:rgba(176,190,197,.1)}.mat-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(194,24,91,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(176,190,197,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(255,255,255,.3)}.mat-button-toggle.cdk-focused .mat-button-toggle-focus-overlay{background-color:rgba(255,255,255,.06)}.mat-button-toggle-checked{background-color:#212121;color:rgba(255,255,255,.7)}.mat-button-toggle-disabled{background-color:#000;color:rgba(255,255,255,.3)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#424242}.mat-card{background:#424242;color:#fff}.mat-card-subtitle{color:rgba(255,255,255,.7)}.mat-checkbox-frame{border-color:rgba(255,255,255,.7)}.mat-checkbox-checkmark{fill:#303030}.mat-checkbox-checkmark-path{stroke:#303030!important}.mat-checkbox-mixedmark{background-color:#303030}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#c2185b}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#b0bec5}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.mat-checkbox-disabled .mat-checkbox-label{color:#686868}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(194,24,91,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(176,190,197,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip:not(.mat-basic-chip){background-color:#616161;color:#fff}.mat-chip:not(.mat-basic-chip) .mat-chip-remove{color:#fff;opacity:.4}.mat-chip:not(.mat-basic-chip) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-primary{background-color:#c2185b;color:rgba(255,255,255,.87)}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:rgba(255,255,255,.87);opacity:.4}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-accent{background-color:#b0bec5;color:rgba(0,0,0,.87)}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#424242}.mat-header-row,.mat-row{border-bottom-color:rgba(255,255,255,.12)}.mat-header-cell{color:rgba(255,255,255,.7)}.mat-cell{color:#fff}.mat-datepicker-content{background-color:#424242;color:#fff}.mat-calendar-arrow{border-top-color:#fff}.mat-calendar-next-button,.mat-calendar-previous-button{color:#fff}.mat-calendar-table-header{color:rgba(255,255,255,.3)}.mat-calendar-table-header-divider::after{background:rgba(255,255,255,.12)}.mat-calendar-body-label{color:rgba(255,255,255,.7)}.mat-calendar-body-cell-content{color:#fff;border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(255,255,255,.3)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(255,255,255,.04)}.mat-calendar-body-selected{background-color:#c2185b;color:rgba(255,255,255,.87)}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(194,24,91,.4)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(255,255,255,.3)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px rgba(255,255,255,.87)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(255,255,255,.1)}.mat-dialog-container{background:#424242;color:#fff}.mat-expansion-panel{background:#424242;color:#fff}.mat-action-row{border-top-color:rgba(255,255,255,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(255,255,255,.04)}.mat-expansion-panel-header-title{color:#fff}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(255,255,255,.7)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(255,255,255,.3)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field{width:200px}.mat-form-field-placeholder{color:rgba(255,255,255,.7)}.mat-hint{color:rgba(255,255,255,.7)}.mat-focused .mat-form-field-placeholder{color:#c2185b}.mat-focused .mat-form-field-placeholder.mat-accent{color:#b0bec5}.mat-focused .mat-form-field-placeholder.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#b0bec5}.mat-form-field-underline{background-color:rgba(255,255,255,.7)}.mat-form-field-underline.mat-disabled{background-image:linear-gradient(to right,rgba(255,255,255,.7) 0,rgba(255,255,255,.7) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x}.mat-form-field-ripple{background-color:#c2185b}.mat-form-field-ripple.mat-accent{background-color:#b0bec5}.mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-invalid .mat-form-field-placeholder{color:#f44336}.mat-form-field-invalid .mat-form-field-placeholder .mat-form-field-required-marker,.mat-form-field-invalid .mat-form-field-placeholder.mat-accent{color:#f44336}.mat-form-field-invalid .mat-form-field-ripple{background-color:#f44336}.mat-error{color:#f44336}.mat-icon.mat-primary{color:#c2185b}.mat-icon.mat-accent{color:#b0bec5}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(255,255,255,.7)}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{color:#fff}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{color:#fff}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{color:rgba(255,255,255,.7)}.mat-list-item-disabled{background-color:#000}.mat-divider{border-top-color:rgba(255,255,255,.12)}.mat-nav-list .mat-list-item{outline:0}.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(255,255,255,.04)}.mat-list-option{outline:0}.mat-list-option.mat-list-item-focus,.mat-list-option:hover{background:rgba(255,255,255,.04)}.mat-menu-panel{background:#424242}.mat-menu-item{background:0 0;color:#fff}.mat-menu-item[disabled]{color:rgba(255,255,255,.3)}.mat-menu-item .mat-icon,.mat-menu-item-submenu-trigger::after{color:#fff}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item:focus:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(255,255,255,.04)}.mat-paginator{background:#424242}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(255,255,255,.7)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment{border-color:rgba(255,255,255,.3)}.mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23e91e63%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar-buffer{background-color:#e91e63}.mat-progress-bar-fill::after{background-color:#c2185b}.mat-progress-bar.mat-accent .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23cfd8dc%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#cfd8dc}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#b0bec5}.mat-progress-bar.mat-warn .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffcdd2%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#c2185b}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#b0bec5}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(255,255,255,.7)}.mat-radio-disabled .mat-radio-outer-circle{border-color:rgba(255,255,255,.3)}.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,255,255,.3)}.mat-radio-disabled .mat-radio-label-content{color:rgba(255,255,255,.3)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#c2185b}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#c2185b}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(194,24,91,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#b0bec5}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#b0bec5}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(176,190,197,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-select-arrow,.mat-select-disabled .mat-select-value{color:rgba(255,255,255,.7)}.mat-select-content,.mat-select-panel-done-animating{background:#424242}.mat-select-value{color:#fff}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(255,255,255,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#c2185b}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#b0bec5}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(255,255,255,.7)}.mat-select.mat-select-disabled .mat-select-arrow{color:#f44336}.mat-drawer-container{background-color:#303030;color:#fff}.mat-drawer{background-color:#424242;color:#fff}.mat-drawer.mat-drawer-push{background-color:#424242}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(189,189,189,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#b0bec5}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(176,190,197,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(176,190,197,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#f48fb1}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(244,143,177,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(244,143,177,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#ef9a9a}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(239,154,154,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(239,154,154,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#424242}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(255,255,255,.12)}.mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-slide-toggle-bar{background-color:rgba(255,255,255,.3)}.mat-slider-track-background{background-color:rgba(255,255,255,.3)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#c2185b}.mat-primary .mat-slider-thumb-label-text{color:rgba(255,255,255,.87)}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#b0bec5}.mat-accent .mat-slider-thumb-label-text{color:rgba(0,0,0,.87)}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(176,190,197,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(255,255,255,.3)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill{background-color:rgba(255,255,255,.3)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(255,255,255,.3)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(255,255,255,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(255,255,255,.3)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(255,255,255,.3);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(255,255,255,.3)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(255,255,255,.3)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(255,255,255,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(255,255,255,.7),rgba(255,255,255,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(255,255,255,.7),rgba(255,255,255,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(255,255,255,.7),rgba(255,255,255,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(255,255,255,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(255,255,255,.3)}.mat-step-header .mat-step-icon{background-color:#c2185b;color:rgba(255,255,255,.87)}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(255,255,255,.3);color:rgba(255,255,255,.87)}.mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#424242}.mat-stepper-vertical-line::before{border-left-color:rgba(255,255,255,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(255,255,255,.12)}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(255,255,255,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(255,255,255,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:#fff}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.3)}.mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.3)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label:focus,.mat-tab-group.mat-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-primary .mat-tab-link:focus{background-color:rgba(233,30,99,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#c2185b}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:rgba(255,255,255,.87)}.mat-tab-group.mat-accent .mat-tab-label:focus,.mat-tab-group.mat-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-accent .mat-tab-link:focus{background-color:rgba(207,216,220,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#b0bec5}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:rgba(0,0,0,.87)}.mat-tab-group.mat-warn .mat-tab-label:focus,.mat-tab-group.mat-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label:focus,.mat-tab-group.mat-background-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-link:focus{background-color:rgba(233,30,99,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#c2185b}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:rgba(255,255,255,.87)}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.87)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-tab-label:focus,.mat-tab-group.mat-background-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-link:focus{background-color:rgba(207,216,220,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#b0bec5}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-warn .mat-tab-label:focus,.mat-tab-group.mat-background-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-toolbar{background:#212121;color:#fff}.mat-toolbar.mat-primary{background:#c2185b;color:rgba(255,255,255,.87)}.mat-toolbar.mat-accent{background:#b0bec5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-snack-bar-container{background:#fafafa;color:rgba(0,0,0,.87)}.mat-simple-snackbar-action{color:inherit} \ No newline at end of file diff --git a/web/src/assets/purple-green.css b/web/src/assets/purple-green.css new file mode 100644 index 00000000..c195a682 --- /dev/null +++ b/web/src/assets/purple-green.css @@ -0,0 +1 @@ +.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font-size:11.62px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-h6,.mat-typography h6{font-size:9.38px;font-weight:400;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:20px;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-button,.mat-fab,.mat-icon-button,.mat-mini-fab,.mat-raised-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-content,.mat-card-header .mat-card-title,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:inherit;font-weight:400;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.4375em 0;border-top:.84375em solid transparent}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-placeholder{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-placeholder-wrapper .mat-form-field-placeholder{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-placeholder-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-placeholder{top:1.28125em}.mat-form-field-underline{bottom:1.25em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.54167em;top:calc(100% - 1.66667em)}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-list-item{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}@media screen and (-ms-high-contrast:active){.mat-ripple{display:none}}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transform:scale(0)}.mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;position:relative;cursor:pointer;outline:0}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.mat-option-text{display:inline-block}.mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}@media screen and (-ms-high-contrast:active){.mat-option-ripple{opacity:.5}}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}.mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.48}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.6)}.cdk-overlay-transparent-backdrop{background:0 0}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-option{color:#fff}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(255,255,255,.04)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#7b1fa2}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#69f0ae}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(255,255,255,.04)}.mat-option.mat-active{background:rgba(255,255,255,.04);color:#fff}.mat-option.mat-option-disabled{color:rgba(255,255,255,.3)}.mat-optgroup-label{color:rgba(255,255,255,.7)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(255,255,255,.3)}.mat-pseudo-checkbox{color:rgba(255,255,255,.7)}.mat-pseudo-checkbox::after{color:#303030}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#69f0ae}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#7b1fa2}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#686868}.mat-app-background{background-color:#303030}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#424242;color:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#424242}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:#fff}.mat-button,.mat-icon-button{background:0 0}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay{background-color:rgba(123,31,162,.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay{background-color:rgba(105,240,174,.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay{background-color:rgba(244,67,54,.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary{color:#7b1fa2}.mat-button.mat-accent,.mat-icon-button.mat-accent{color:#69f0ae}.mat-button.mat-warn,.mat-icon-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled]{color:rgba(255,255,255,.3)}.mat-fab,.mat-mini-fab,.mat-raised-button{color:#fff;background-color:#424242}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:rgba(255,255,255,.87)}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:rgba(0,0,0,.87)}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(255,255,255,.3)}.mat-fab.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#7b1fa2}.mat-fab.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#69f0ae}.mat-fab.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{background-color:rgba(255,255,255,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(0,0,0,.2)}.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.2)}.mat-button.mat-primary .mat-ripple-element{background-color:rgba(123,31,162,.1)}.mat-button.mat-accent .mat-ripple-element{background-color:rgba(105,240,174,.1)}.mat-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.1)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(123,31,162,.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(105,240,174,.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(244,67,54,.2)}.mat-button-toggle{color:rgba(255,255,255,.3)}.mat-button-toggle.cdk-focused .mat-button-toggle-focus-overlay{background-color:rgba(255,255,255,.06)}.mat-button-toggle-checked{background-color:#212121;color:rgba(255,255,255,.7)}.mat-button-toggle-disabled{background-color:#000;color:rgba(255,255,255,.3)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#424242}.mat-card{background:#424242;color:#fff}.mat-card-subtitle{color:rgba(255,255,255,.7)}.mat-checkbox-frame{border-color:rgba(255,255,255,.7)}.mat-checkbox-checkmark{fill:#303030}.mat-checkbox-checkmark-path{stroke:#303030!important}.mat-checkbox-mixedmark{background-color:#303030}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#7b1fa2}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#69f0ae}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#686868}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#686868}.mat-checkbox-disabled .mat-checkbox-label{color:#686868}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(123,31,162,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(105,240,174,.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-chip:not(.mat-basic-chip){background-color:#616161;color:#fff}.mat-chip:not(.mat-basic-chip) .mat-chip-remove{color:#fff;opacity:.4}.mat-chip:not(.mat-basic-chip) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-primary{background-color:#7b1fa2;color:rgba(255,255,255,.87)}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:rgba(255,255,255,.87);opacity:.4}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-chip-selected.mat-accent{background-color:#69f0ae;color:rgba(0,0,0,.87)}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:.54}.mat-table{background:#424242}.mat-header-row,.mat-row{border-bottom-color:rgba(255,255,255,.12)}.mat-header-cell{color:rgba(255,255,255,.7)}.mat-cell{color:#fff}.mat-datepicker-content{background-color:#424242;color:#fff}.mat-calendar-arrow{border-top-color:#fff}.mat-calendar-next-button,.mat-calendar-previous-button{color:#fff}.mat-calendar-table-header{color:rgba(255,255,255,.3)}.mat-calendar-table-header-divider::after{background:rgba(255,255,255,.12)}.mat-calendar-body-label{color:rgba(255,255,255,.7)}.mat-calendar-body-cell-content{color:#fff;border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(255,255,255,.3)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(255,255,255,.04)}.mat-calendar-body-selected{background-color:#7b1fa2;color:rgba(255,255,255,.87)}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(123,31,162,.4)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(255,255,255,.3)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px rgba(255,255,255,.87)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(255,255,255,.1)}.mat-dialog-container{background:#424242;color:#fff}.mat-expansion-panel{background:#424242;color:#fff}.mat-action-row{border-top-color:rgba(255,255,255,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(255,255,255,.04)}.mat-expansion-panel-header-title{color:#fff}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(255,255,255,.7)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(255,255,255,.3)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field{width:200px}.mat-form-field-placeholder{color:rgba(255,255,255,.7)}.mat-hint{color:rgba(255,255,255,.7)}.mat-focused .mat-form-field-placeholder{color:#7b1fa2}.mat-focused .mat-form-field-placeholder.mat-accent{color:#69f0ae}.mat-focused .mat-form-field-placeholder.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#69f0ae}.mat-form-field-underline{background-color:rgba(255,255,255,.7)}.mat-form-field-underline.mat-disabled{background-image:linear-gradient(to right,rgba(255,255,255,.7) 0,rgba(255,255,255,.7) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x}.mat-form-field-ripple{background-color:#7b1fa2}.mat-form-field-ripple.mat-accent{background-color:#69f0ae}.mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-invalid .mat-form-field-placeholder{color:#f44336}.mat-form-field-invalid .mat-form-field-placeholder .mat-form-field-required-marker,.mat-form-field-invalid .mat-form-field-placeholder.mat-accent{color:#f44336}.mat-form-field-invalid .mat-form-field-ripple{background-color:#f44336}.mat-error{color:#f44336}.mat-icon.mat-primary{color:#7b1fa2}.mat-icon.mat-accent{color:#69f0ae}.mat-icon.mat-warn{color:#f44336}.mat-input-element:disabled{color:rgba(255,255,255,.7)}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{color:#fff}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{color:#fff}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{color:rgba(255,255,255,.7)}.mat-list-item-disabled{background-color:#000}.mat-divider{border-top-color:rgba(255,255,255,.12)}.mat-nav-list .mat-list-item{outline:0}.mat-nav-list .mat-list-item.mat-list-item-focus,.mat-nav-list .mat-list-item:hover{background:rgba(255,255,255,.04)}.mat-list-option{outline:0}.mat-list-option.mat-list-item-focus,.mat-list-option:hover{background:rgba(255,255,255,.04)}.mat-menu-panel{background:#424242}.mat-menu-item{background:0 0;color:#fff}.mat-menu-item[disabled]{color:rgba(255,255,255,.3)}.mat-menu-item .mat-icon,.mat-menu-item-submenu-trigger::after{color:#fff}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item:focus:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(255,255,255,.04)}.mat-paginator{background:#424242}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(255,255,255,.7)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid #fff;border-right:2px solid #fff}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment{border-color:rgba(255,255,255,.3)}.mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%239c27b0%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar-buffer{background-color:#9c27b0}.mat-progress-bar-fill::after{background-color:#7b1fa2}.mat-progress-bar.mat-accent .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23b9f6ca%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#b9f6ca}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#69f0ae}.mat-progress-bar.mat-warn .mat-progress-bar-background{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20x%3D%270px%27%20y%3D%270px%27%20enable-background%3D%27new%200%200%205%202%27%20xml%3Aspace%3D%27preserve%27%20viewBox%3D%270%200%205%202%27%20preserveAspectRatio%3D%27none%20slice%27%3E%3Ccircle%20cx%3D%271%27%20cy%3D%271%27%20r%3D%271%27%20fill%3D%27%23ffcdd2%27%2F%3E%3C%2Fsvg%3E")}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#7b1fa2}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#69f0ae}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(255,255,255,.7)}.mat-radio-disabled .mat-radio-outer-circle{border-color:rgba(255,255,255,.3)}.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(255,255,255,.3)}.mat-radio-disabled .mat-radio-label-content{color:rgba(255,255,255,.3)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#7b1fa2}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#7b1fa2}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(123,31,162,.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#69f0ae}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#69f0ae}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-color:rgba(105,240,174,.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#f44336}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(244,67,54,.26)}.mat-select-arrow,.mat-select-disabled .mat-select-value{color:rgba(255,255,255,.7)}.mat-select-content,.mat-select-panel-done-animating{background:#424242}.mat-select-value{color:#fff}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(255,255,255,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#7b1fa2}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#69f0ae}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(255,255,255,.7)}.mat-select.mat-select-disabled .mat-select-arrow{color:#f44336}.mat-drawer-container{background-color:#303030;color:#fff}.mat-drawer{background-color:#424242;color:#fff}.mat-drawer.mat-drawer-push{background-color:#424242}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(189,189,189,.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#a5d6a7}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(165,214,167,.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(165,214,167,.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#ce93d8}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(206,147,216,.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(206,147,216,.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#ef9a9a}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(239,154,154,.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(239,154,154,.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#424242}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(255,255,255,.12)}.mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-slide-toggle-bar{background-color:rgba(255,255,255,.3)}.mat-slider-track-background{background-color:rgba(255,255,255,.3)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#7b1fa2}.mat-primary .mat-slider-thumb-label-text{color:rgba(255,255,255,.87)}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#69f0ae}.mat-accent .mat-slider-thumb-label-text{color:rgba(0,0,0,.87)}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(105,240,174,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(255,255,255,.3)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill{background-color:rgba(255,255,255,.3)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(255,255,255,.3)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(255,255,255,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:#fff}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(255,255,255,.3)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(255,255,255,.3);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(255,255,255,.3)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(255,255,255,.3)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(255,255,255,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(255,255,255,.7),rgba(255,255,255,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(255,255,255,.7),rgba(255,255,255,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(255,255,255,.7),rgba(255,255,255,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(255,255,255,.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(255,255,255,.3)}.mat-step-header .mat-step-icon{background-color:#7b1fa2;color:rgba(255,255,255,.87)}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(255,255,255,.3);color:rgba(255,255,255,.87)}.mat-step-header .mat-step-label.mat-step-label-active{color:#fff}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#424242}.mat-stepper-vertical-line::before{border-left-color:rgba(255,255,255,.12)}.mat-stepper-horizontal-line{border-top-color:rgba(255,255,255,.12)}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(255,255,255,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(255,255,255,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:#fff}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.3)}.mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.3)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label:focus,.mat-tab-group.mat-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-primary .mat-tab-link:focus{background-color:rgba(156,39,176,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#7b1fa2}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:rgba(255,255,255,.87)}.mat-tab-group.mat-accent .mat-tab-label:focus,.mat-tab-group.mat-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-accent .mat-tab-link:focus{background-color:rgba(185,246,202,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#69f0ae}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:rgba(0,0,0,.87)}.mat-tab-group.mat-warn .mat-tab-label:focus,.mat-tab-group.mat-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label:focus,.mat-tab-group.mat-background-primary .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-link:focus{background-color:rgba(156,39,176,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#7b1fa2}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:rgba(255,255,255,.87)}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.87)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-tab-label:focus,.mat-tab-group.mat-background-accent .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-link:focus{background-color:rgba(185,246,202,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#69f0ae}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.4)}.mat-tab-group.mat-background-warn .mat-tab-label:focus,.mat-tab-group.mat-background-warn .mat-tab-link:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-label:focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-link:focus{background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-toolbar{background:#212121;color:#fff}.mat-toolbar.mat-primary{background:#7b1fa2;color:rgba(255,255,255,.87)}.mat-toolbar.mat-accent{background:#69f0ae;color:rgba(0,0,0,.87)}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-snack-bar-container{background:#fafafa;color:rgba(0,0,0,.87)}.mat-simple-snackbar-action{color:inherit} \ No newline at end of file From d05001b0158d44fdf8422c6d7652736a16849baf Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Thu, 19 Oct 2017 16:32:04 +1100 Subject: [PATCH 13/30] Expanded panels now pop out more with some added girth/width --- web/src/styles.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/web/src/styles.scss b/web/src/styles.scss index f2f8bd4d..947deb1b 100644 --- a/web/src/styles.scss +++ b/web/src/styles.scss @@ -40,6 +40,8 @@ body { .mat-expansion-panel-spacing { margin: 16px auto !important; + width: 85%; + } From d7f6693027963cfb31a0697e72d04daaaff7fb0f Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Fri, 20 Oct 2017 17:34:06 +1100 Subject: [PATCH 14/30] Further improvements to settings optimisation with lists. Still could do more --- .../app/pages/settings/settings.component.html | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/web/src/app/pages/settings/settings.component.html b/web/src/app/pages/settings/settings.component.html index de2f1009..cbe0f0c7 100644 --- a/web/src/app/pages/settings/settings.component.html +++ b/web/src/app/pages/settings/settings.component.html @@ -41,7 +41,7 @@ - + {{exchange.Name}} @@ -53,7 +53,6 @@ Enabled
-
@@ -64,17 +63,15 @@
- - Enabled Currency pairs + Enabled Currency pairs {{enabledCurrencies.selectedOptions.selected.length}}
- - - {{currency}} - - -
+ + + {{currency}} + +
From 50f6fd8aaf691615bc15c8438d07f3e42962fa05 Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Mon, 30 Oct 2017 16:52:25 +1100 Subject: [PATCH 15/30] Adds trading menu Changes how the menus render - more accurate scrollbars even if sidebar and navbar are no longer fixed --- web/package-lock.json | 5 +++ web/package.json | 1 + web/src/app/app.component.html | 43 +++++++++++-------- web/src/app/app.component.scss | 3 +- .../style-manager.service.spec.ts | 2 +- .../style-manager/style-manager.service.ts | 2 +- .../services/websocket/websocket.service.ts | 14 +++--- .../app/shared/navbar/navbar.component.scss | 6 ++- web/src/styles.scss | 1 - 9 files changed, 45 insertions(+), 32 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index 67ed5e7d..5e66c720 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -4,6 +4,11 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@amcharts/amcharts3-angular": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@amcharts/amcharts3-angular/-/amcharts3-angular-1.5.0.tgz", + "integrity": "sha512-GRw7svOXDegavtxWifbGZlh7Q2JOOzzeQX4NwNMAOy/yr3UOvsmNqvKLdYNjzcUc0TlLrmwgyjUL8w2tXmxY6g==" + }, "@angular-devkit/build-optimizer": { "version": "0.0.27", "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.27.tgz", diff --git a/web/package.json b/web/package.json index 0bfc07cc..a04850a8 100644 --- a/web/package.json +++ b/web/package.json @@ -46,6 +46,7 @@ "e2e": "protractor ./protractor.conf.js" }, "dependencies": { + "@amcharts/amcharts3-angular": "^1.5.0", "@angular/animations": "^4.4.5", "@angular/cdk": "^2.0.0-beta.12", "@angular/common": "4.4.5", diff --git a/web/src/app/app.component.html b/web/src/app/app.component.html index 82274694..9dcac19b 100644 --- a/web/src/app/app.component.html +++ b/web/src/app/app.component.html @@ -1,21 +1,26 @@ - - - - - - trending_up 

Dashboard

-
- - account_balance_wallet 

Wallet

-
- - history 

Trading

-
- - settings 

Settings

-
-
+ + + + + + + trending_up  +

Dashboard

+
+ + account_balance_wallet  +

Wallet

+
+ + history  +

Trading

+
+ + settings  +

Settings

+
+
- -
\ No newline at end of file + +
\ No newline at end of file diff --git a/web/src/app/app.component.scss b/web/src/app/app.component.scss index 95f7680b..98da567c 100644 --- a/web/src/app/app.component.scss +++ b/web/src/app/app.component.scss @@ -1,6 +1,5 @@ .container { - border: 1px solid rgba(0, 0, 0, 0.5); - height: 96vh; + height: 96vmax; } .main { diff --git a/web/src/app/services/style-manager/style-manager.service.spec.ts b/web/src/app/services/style-manager/style-manager.service.spec.ts index c787073a..8a6304a4 100644 --- a/web/src/app/services/style-manager/style-manager.service.spec.ts +++ b/web/src/app/services/style-manager/style-manager.service.spec.ts @@ -1,7 +1,7 @@ import {inject, TestBed} from '@angular/core/testing'; import {HttpModule} from '@angular/http'; import {StyleManagerComponent} from './style-manager.component'; - + describe('StyleManager', () => { let styleManager: StyleManagerComponent; diff --git a/web/src/app/services/style-manager/style-manager.service.ts b/web/src/app/services/style-manager/style-manager.service.ts index c5790f6a..e4843c71 100644 --- a/web/src/app/services/style-manager/style-manager.service.ts +++ b/web/src/app/services/style-manager/style-manager.service.ts @@ -2,7 +2,7 @@ import {Injectable} from '@angular/core'; /** * Class for managing stylesheets. Stylesheets are loaded into named slots so that they can be * removed or changed later. - */ + */ @Injectable() export class StyleManagerService { /** diff --git a/web/src/app/services/websocket/websocket.service.ts b/web/src/app/services/websocket/websocket.service.ts index ee293713..d1146910 100644 --- a/web/src/app/services/websocket/websocket.service.ts +++ b/web/src/app/services/websocket/websocket.service.ts @@ -1,13 +1,13 @@ import { Injectable } from '@angular/core'; -import * as Rx from 'rxjs/Rx'; +import {Subject, Observable, Observer } from 'rxjs/Rx'; @Injectable() export class WebsocketService { constructor() { } - private subject: Rx.Subject; + private subject: Subject; - public connect(url): Rx.Subject { + public connect(url): Subject { if (!this.subject) { this.subject = this.create(url); } @@ -21,11 +21,11 @@ export class WebsocketService { private isAuth = false; - private create(url): Rx.Subject { + private create(url): Subject { let ws = new WebSocket(url); - let observable = Rx.Observable.create( - (obs: Rx.Observer) => { + let observable = Observable.create( + (obs: Observer) => { ws.onmessage = obs.next.bind(obs); ws.onerror = obs.error.bind(obs); ws.onclose = obs.complete.bind(obs); @@ -40,6 +40,6 @@ let observer = { } } } - return Rx.Subject.create(observer, observable); + return Subject.create(observer, observable); } } \ No newline at end of file diff --git a/web/src/app/shared/navbar/navbar.component.scss b/web/src/app/shared/navbar/navbar.component.scss index 3722ff3d..8ea98975 100644 --- a/web/src/app/shared/navbar/navbar.component.scss +++ b/web/src/app/shared/navbar/navbar.component.scss @@ -1,3 +1,7 @@ .material-icons { cursor: pointer; -} \ No newline at end of file +} + +.flex-spacer { + flex-grow: 1; + } \ No newline at end of file diff --git a/web/src/styles.scss b/web/src/styles.scss index 947deb1b..6e0766d2 100644 --- a/web/src/styles.scss +++ b/web/src/styles.scss @@ -4,7 +4,6 @@ html, body { margin: 0; padding: 0; - overflow-y: hidden; } .loading-spinner { From aeb0ed33991cf0ce10e6150dcf10bf387db885e4 Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Thu, 2 Nov 2017 16:43:24 +1100 Subject: [PATCH 16/30] Changes spinner color Adds spinner to wallet Updates Angular Updates AngularCLI Updates Typescript --- web/package-lock.json | 1048 ++++++++++++++--- web/package.json | 26 +- web/src/app/app.component.html | 6 +- web/src/app/app.component.scss | 6 +- .../pages/settings/settings.component.html | 2 +- .../app/pages/wallet/wallet.component.html | 3 + web/src/app/pages/wallet/wallet.component.ts | 1 + ...ll-enabled-currency-tickers.component.html | 2 +- 8 files changed, 911 insertions(+), 183 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index 5e66c720..3ed0069f 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -10,14 +10,14 @@ "integrity": "sha512-GRw7svOXDegavtxWifbGZlh7Q2JOOzzeQX4NwNMAOy/yr3UOvsmNqvKLdYNjzcUc0TlLrmwgyjUL8w2tXmxY6g==" }, "@angular-devkit/build-optimizer": { - "version": "0.0.27", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.27.tgz", - "integrity": "sha512-Gr2qbWnclFGk0fz7FtarhrekJNq2O6l9PMzbS9waL2gdH+3q+PX7XPDYFIputp4nDPCfBJNE3vNiOoKy6lFxFA==", + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.32.tgz", + "integrity": "sha512-j09JdaFoRukEllfmH+TUJpe2ujUzTSj/szqYGHWVBilajwnNQh7f0A9v1R27mX+2di4x8tXuvaBgwvdEZBv32w==", "dev": true, "requires": { "loader-utils": "1.1.0", "source-map": "0.5.7", - "typescript": "2.4.1", + "typescript": "2.4.2", "webpack-sources": "1.0.1" } }, @@ -31,21 +31,32 @@ } }, "@angular-devkit/schematics": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.0.33.tgz", - "integrity": "sha512-ritV72m4SMbN5b4eVqg7QDqG5ctBrt2oCljOd6AK6saYesoY/0ud8oBcMjFMkDETuFDAmC/XZZeqfmEuj160yg==", + "version": "0.0.35", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.0.35.tgz", + "integrity": "sha512-+qGUWhmMpHqHkYKMk1yKQDjXb/vqXGkzbMiRs/u5rSnlrH+/TzkCO0UsM7/p9WPcModuDxkf5FItpw/AgdcPeQ==", "dev": true, "requires": { "@angular-devkit/core": "0.0.20", "@ngtools/json-schema": "1.1.0", "minimist": "1.2.0", - "rxjs": "5.4.3" + "rxjs": "5.5.2" + }, + "dependencies": { + "rxjs": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.2.tgz", + "integrity": "sha512-oRYoIKWBU3Ic37fLA5VJu31VqQO4bWubRntcHSJ+cwaDQBwdnZ9x4zmhJfm/nFQ2E82/I4loSioHnACamrKGgA==", + "dev": true, + "requires": { + "symbol-observable": "1.0.4" + } + } } }, "@angular/animations": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-4.4.5.tgz", - "integrity": "sha1-WlpVHXV+WlVgCY9vhTXBAtk5VNc=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.0.0.tgz", + "integrity": "sha1-ta0ZnGf5P3WVREd+/+ZnnhVJkfs=", "requires": { "tslib": "1.8.0" } @@ -59,21 +70,21 @@ } }, "@angular/cli": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-1.4.7.tgz", - "integrity": "sha512-VJB95B49nh8LjJJDkHNAoklJIsKQ0Xvpu39q/yaicpuzVaSiOUgHO6SfQrW6RwN3uxLAWTREy+FMRtIv1UIXNw==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-1.5.0.tgz", + "integrity": "sha512-nCXvqNCdi+8aOU2v6EABZsMg5bB7iM+wfaoWKnu9M5fOW2Rm+7/3Y1gDQKyFkgXCzXdy3J/xpfmwT0gjmjlvIA==", "dev": true, "requires": { - "@angular-devkit/build-optimizer": "0.0.27", - "@angular-devkit/schematics": "0.0.33", + "@angular-devkit/build-optimizer": "0.0.32", + "@angular-devkit/schematics": "0.0.35", "@ngtools/json-schema": "1.1.0", - "@ngtools/webpack": "1.7.4", - "@schematics/angular": "0.0.45", + "@ngtools/webpack": "1.8.0", + "@schematics/angular": "0.1.0", "autoprefixer": "6.7.7", - "chalk": "2.1.0", + "chalk": "2.2.2", "circular-dependency-plugin": "3.0.0", "common-tags": "1.4.0", - "copy-webpack-plugin": "4.1.1", + "copy-webpack-plugin": "4.2.0", "core-object": "3.1.5", "css-loader": "0.28.4", "cssnano": "3.10.0", @@ -81,15 +92,15 @@ "ember-cli-string-utils": "1.1.0", "exports-loader": "0.6.4", "extract-text-webpack-plugin": "3.0.0", - "file-loader": "0.10.1", + "file-loader": "1.1.5", "fs-extra": "4.0.2", "glob": "7.1.2", "html-webpack-plugin": "2.30.1", "istanbul-instrumenter-loader": "2.0.0", "karma-source-map-support": "1.2.0", - "less": "2.7.2", + "less": "2.7.3", "less-loader": "4.0.5", - "license-webpack-plugin": "1.1.0", + "license-webpack-plugin": "1.1.1", "lodash": "4.17.4", "memory-fs": "0.4.1", "node-modules-path": "1.0.1", @@ -97,11 +108,12 @@ "nopt": "4.0.1", "opn": "5.1.0", "portfinder": "1.0.13", + "postcss-custom-properties": "6.2.0", "postcss-loader": "1.3.3", "postcss-url": "5.1.2", "raw-loader": "0.5.1", "resolve": "1.4.0", - "rxjs": "5.4.3", + "rxjs": "5.5.2", "sass-loader": "6.0.6", "semver": "5.4.1", "silent-error": "1.1.0", @@ -110,33 +122,41 @@ "style-loader": "0.13.2", "stylus": "0.54.5", "stylus-loader": "3.0.1", - "typescript": "2.4.1", + "uglifyjs-webpack-plugin": "1.0.0", "url-loader": "0.6.2", - "webpack": "3.6.0", + "webpack": "3.8.1", "webpack-concat-plugin": "1.4.0", "webpack-dev-middleware": "1.12.0", - "webpack-dev-server": "2.7.1", - "webpack-merge": "4.1.0", + "webpack-dev-server": "2.9.3", + "webpack-merge": "4.1.1", + "webpack-sources": "1.0.1", + "webpack-subresource-integrity": "1.0.1", "zone.js": "0.8.18" }, "dependencies": { "@ngtools/webpack": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-1.7.4.tgz", - "integrity": "sha512-o0u1Oj1k1WEIamBNEncvXDWmUxCMDIlKrMFp4nIwh7bag4dndDShUVD1EinSpx1TvMjVbA42Z+7cIVmlq+240Q==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-1.8.0.tgz", + "integrity": "sha512-QefALj8VUakHMI/Z/7RjyQR4UpAAfCXeoHqqD9+7Td3CZkuryyGQILqOSAg3d+cP+64iCwIb2jSKC+YAIy722Q==", "dev": true, "requires": { + "chalk": "2.2.2", "enhanced-resolve": "3.3.0", "loader-utils": "1.1.0", "magic-string": "0.22.4", - "source-map": "0.5.7" + "semver": "5.4.1", + "source-map": "0.5.7", + "tree-kill": "1.2.0" } }, "@schematics/angular": { - "version": "0.0.45", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.0.45.tgz", - "integrity": "sha512-KBrXnyb4ZPgARWa3fMXlIY44sS1mB+TmCJ/wBw3Zn+/ME/rnGgFWvdWEQDUmMsj8LjZtZkQdY1GVqYeO3MIHfA==", - "dev": true + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.1.0.tgz", + "integrity": "sha512-+Yy72J55uImsROxwyyEMso+HJIvx7+ffT8o8HzdNOZyLg4jj7G/ZDiCsCmhRtTYOmOof4OqvF2VecJyXVi0oHA==", + "dev": true, + "requires": { + "@angular-devkit/core": "0.0.20" + } }, "ansi-regex": { "version": "3.0.0", @@ -144,6 +164,15 @@ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.0" + } + }, "autoprefixer": { "version": "6.7.7", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", @@ -164,6 +193,17 @@ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", "dev": true }, + "chalk": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.2.2.tgz", + "integrity": "sha512-LvixLAQ4MYhbf7hgL4o5PeK32gJKvVzDRiSNIApDofQvyhl8adgG2lJVXn4+ekQoK7HL9RF8lqxwerpe0x2pCw==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, "cliui": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", @@ -181,6 +221,15 @@ "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", "dev": true }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "extract-text-webpack-plugin": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.0.tgz", @@ -194,12 +243,13 @@ } }, "file-loader": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.10.1.tgz", - "integrity": "sha1-gVA0EZiR/GRB+1pkwRvJPCLd2EI=", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.5.tgz", + "integrity": "sha512-RzGHDatcVNpGISTvCpfUfOGpYuSR7HSsSg87ki+wF6rw1Hm0RALPTiAdsxAq1UwLf0RRhbe22/eHK6nhXspiOQ==", "dev": true, "requires": { - "loader-utils": "1.1.0" + "loader-utils": "1.1.0", + "schema-utils": "0.3.0" } }, "find-up": { @@ -229,9 +279,9 @@ } }, "license-webpack-plugin": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.1.0.tgz", - "integrity": "sha512-4f0H9kk1y4BF8/y8V4p8pn/ZAoZaCsCnfJfoVvq5t+jkjWJKhSKzROdzeJPNDcZj/tSzJ4NkXjcH0hXaagxLJA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.1.1.tgz", + "integrity": "sha512-TjKOyiC0exqd4Idy/4M8/DETR22dXBZks387DuS5LbslxHiMRXGx/Q2F/j9IUtvEoH5uFvt72vRgk/G6f8j3Dg==", "dev": true, "requires": { "ejs": "2.5.7" @@ -305,6 +355,15 @@ "read-pkg": "2.0.0" } }, + "rxjs": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.2.tgz", + "integrity": "sha512-oRYoIKWBU3Ic37fLA5VJu31VqQO4bWubRntcHSJ+cwaDQBwdnZ9x4zmhJfm/nFQ2E82/I4loSioHnACamrKGgA==", + "dev": true, + "requires": { + "symbol-observable": "1.0.4" + } + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -348,39 +407,47 @@ } }, "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { "has-flag": "2.0.0" } }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "uglify-es": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.1.6.tgz", + "integrity": "sha512-7zyH8T4rT3/iLVzNI7Oa8hVQSlv280S8y2/a2EmvEObft3067rdUJJKjBspc70d0HUk1Og1V5Ny4UgZOlZ0hSg==", "dev": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "commander": "2.11.0", + "source-map": "0.6.1" }, "dependencies": { - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, + "uglifyjs-webpack-plugin": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.0.0.tgz", + "integrity": "sha512-23qmtiLm1X7O0XVSZ54W7XGHykPss+2lo3RYC9zSzK3DDT5W27woZpDFDKguDCnG1RIX8cDnmy5j+dtXxJCA/Q==", + "dev": true, + "requires": { + "cacache": "10.0.0", + "find-cache-dir": "1.0.0", + "schema-utils": "0.3.0", + "source-map": "0.5.7", + "uglify-es": "3.1.6", + "webpack-sources": "1.0.1", + "worker-farm": "1.5.1" + } + }, "url-loader": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.6.2.tgz", @@ -393,15 +460,15 @@ } }, "webpack": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.6.0.tgz", - "integrity": "sha512-OsHT3D0W0KmPPh60tC7asNnOmST6bKTiR90UyEdT9QYoaJ4OYN4Gg7WK1k3VxHK07ZoiYWPsKvlS/gAjwL/vRA==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.8.1.tgz", + "integrity": "sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==", "dev": true, "requires": { "acorn": "5.1.2", "acorn-dynamic-import": "2.0.2", "ajv": "5.2.3", - "ajv-keywords": "2.1.0", + "ajv-keywords": "2.1.1", "async": "2.5.0", "enhanced-resolve": "3.4.1", "escope": "3.6.0", @@ -414,7 +481,7 @@ "mkdirp": "0.5.1", "node-libs-browser": "2.0.0", "source-map": "0.5.7", - "supports-color": "4.4.0", + "supports-color": "4.5.0", "tapable": "0.2.8", "uglifyjs-webpack-plugin": "0.4.6", "watchpack": "1.4.0", @@ -423,9 +490,9 @@ }, "dependencies": { "ajv-keywords": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz", - "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", "dev": true }, "enhanced-resolve": { @@ -440,6 +507,31 @@ "tapable": "0.2.8" } }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, "uglifyjs-webpack-plugin": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", @@ -467,24 +559,27 @@ } }, "webpack-dev-server": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.7.1.tgz", - "integrity": "sha1-IVgPWgjNBlxxFEz29hw0W8pZqLg=", + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.9.3.tgz", + "integrity": "sha512-bwq7sj452FRH+oVfgOA8xXKkLYPTNsYB4dQ0Jhz3ydjNJ9MvhpGJtehFW8Z0cEcwNkRRiF4aYbReiSGQ4pbS1w==", "dev": true, "requires": { "ansi-html": "0.0.7", + "array-includes": "3.0.3", "bonjour": "3.5.0", "chokidar": "1.7.0", "compression": "1.7.1", "connect-history-api-fallback": "1.4.0", + "debug": "3.1.0", "del": "3.0.0", "express": "4.16.2", "html-entities": "1.2.1", "http-proxy-middleware": "0.17.4", + "import-local": "0.1.1", "internal-ip": "1.2.0", "ip": "1.1.5", "loglevel": "1.5.1", - "opn": "4.0.2", + "opn": "5.1.0", "portfinder": "1.0.13", "selfsigned": "1.10.1", "serve-index": "1.9.1", @@ -492,7 +587,7 @@ "sockjs-client": "1.1.4", "spdy": "3.4.7", "strip-ansi": "3.0.1", - "supports-color": "3.2.3", + "supports-color": "4.5.0", "webpack-dev-middleware": "1.12.0", "yargs": "6.6.0" }, @@ -524,12 +619,6 @@ "pinkie-promise": "2.0.1" } }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", @@ -543,16 +632,6 @@ "strip-bom": "2.0.0" } }, - "opn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", - "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "pinkie-promise": "2.0.1" - } - }, "os-locale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", @@ -614,15 +693,6 @@ "is-utf8": "0.2.1" } }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } - }, "which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", @@ -661,6 +731,15 @@ } } }, + "webpack-subresource-integrity": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.0.1.tgz", + "integrity": "sha1-H8CdRkl9pm5GdDoqUdLMOFucsO0=", + "dev": true, + "requires": { + "webpack-core": "0.6.9" + } + }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", @@ -752,77 +831,67 @@ } }, "@angular/common": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-4.4.5.tgz", - "integrity": "sha1-vVF53JIq2/TD6m37Gec8uEn/3Dc=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.0.0.tgz", + "integrity": "sha1-+W1mpRe5ldG6mygwnxXC41lnWCU=", "requires": { "tslib": "1.8.0" } }, "@angular/compiler": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-4.4.5.tgz", - "integrity": "sha1-hyGlkQ8rtS8J4tQEytJk817eWQI=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.0.0.tgz", + "integrity": "sha1-uf+/GMijnYt9rOxHMZOpDiTMK8k=", "requires": { "tslib": "1.8.0" } }, "@angular/compiler-cli": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-4.4.5.tgz", - "integrity": "sha1-YfoDNqzRogjF8cXG1N9nnpmVMkg=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.0.0.tgz", + "integrity": "sha1-Dsu5N9hKT43ZTwwqR7B9LkaUyFM=", "dev": true, "requires": { - "@angular/tsc-wrapped": "4.4.5", + "chokidar": "1.7.0", "minimist": "1.2.0", - "reflect-metadata": "0.1.10" + "reflect-metadata": "0.1.10", + "tsickle": "0.24.1" }, "dependencies": { - "@angular/tsc-wrapped": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@angular/tsc-wrapped/-/tsc-wrapped-4.4.5.tgz", - "integrity": "sha1-MKDLtDpmOqddyphIlL5IE3eN3Jw=", + "tsickle": { + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.24.1.tgz", + "integrity": "sha512-XloFQZhVhgjpQsi3u2ORNRJvuID5sflOg6HfP093IqAbhE1+fIUXznULpdDwHgG4p+v8w78KdHruQtkWUKx5AQ==", "dev": true, "requires": { - "tsickle": "0.21.6" - }, - "dependencies": { - "tsickle": { - "version": "0.21.6", - "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.21.6.tgz", - "integrity": "sha1-U7Abl5xcE/2xOvs/uVgXflmRWI0=", - "dev": true, - "requires": { - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "source-map": "0.5.7", - "source-map-support": "0.4.18" - } - } + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "source-map": "0.5.7", + "source-map-support": "0.4.18" } } } }, "@angular/core": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-4.4.5.tgz", - "integrity": "sha1-VKy8vaEXGfiDx4apBpdKvrEy8aA=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.0.0.tgz", + "integrity": "sha1-T5dqIl993fNJkvLK2CTJVDpG9Mg=", "requires": { "tslib": "1.8.0" } }, "@angular/forms": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-4.4.5.tgz", - "integrity": "sha1-6VUghiMqqyzh0I7xmLYiBOoTxDs=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.0.0.tgz", + "integrity": "sha1-x/3fo1OWdZrphSkgowzdqMQe0d4=", "requires": { "tslib": "1.8.0" } }, "@angular/http": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-4.4.5.tgz", - "integrity": "sha1-LHNe2EJAH8I1ZBkmjiiNzyOW6E8=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.0.0.tgz", + "integrity": "sha1-Byiivgz7sHhyfF64fUyF1T/smlE=", "requires": { "tslib": "1.8.0" } @@ -836,25 +905,25 @@ } }, "@angular/platform-browser": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-4.4.5.tgz", - "integrity": "sha1-dOuRwLdYEm8m1T7lbHz0ZovZysU=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.0.0.tgz", + "integrity": "sha1-xwOPfN6AcFtiAUiXIx4YLuyXb+0=", "requires": { "tslib": "1.8.0" } }, "@angular/platform-browser-dynamic": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.4.5.tgz", - "integrity": "sha1-d029wdkPd12/HjGfbtQrJgYjth8=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.0.0.tgz", + "integrity": "sha1-iH4QbIsQOwQVz2FWpCXabYP0yJ0=", "requires": { "tslib": "1.8.0" } }, "@angular/router": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-4.4.5.tgz", - "integrity": "sha1-9zEwz0h9mjLMGYiv2llmX0Siiok=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-5.0.0.tgz", + "integrity": "sha1-/ktSGmc4QIvOMPk6U0mRQMk6T3Y=", "requires": { "tslib": "1.8.0" } @@ -1109,6 +1178,16 @@ "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", "dev": true }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.9.0" + } + }, "array-slice": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", @@ -1756,6 +1835,27 @@ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true }, + "cacache": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.0.tgz", + "integrity": "sha512-s9h6I9NY3KcBjfuS28K6XNmrv/HNFSzlpVD6eYMXugZg3Y8jjI1lUzTeUMa0oKByCDtHfsIy5Ec7KgWRnC5gtg==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "chownr": "1.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.1", + "mississippi": "1.3.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.0.0", + "unique-filename": "1.1.0", + "y18n": "3.2.1" + } + }, "callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", @@ -1920,6 +2020,12 @@ } } }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true + }, "chromium-pickle-js": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", @@ -2127,6 +2233,12 @@ "babel-runtime": "6.26.0" } }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, "compare-version": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", @@ -2278,10 +2390,24 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "1.2.0", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, "copy-webpack-plugin": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.1.1.tgz", - "integrity": "sha512-qcjV9uj5PFuKo9GDr0xYAZ3DwFA3ugwDcfbLHfiDrvnUx66Z7C4r00/ds856GaGb2cGHqLTwrGxwfvW+lgAQew==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.2.0.tgz", + "integrity": "sha512-eZERim02YjJcepLjrToQMapOoRLfiXewJi9zJON6xXNNJSUhkGzL1L/yFjOufS0KxsnWUzc2szg9t8ZaZKJXAg==", "dev": true, "requires": { "bluebird": "3.5.1", @@ -2641,6 +2767,12 @@ "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", "dev": true }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, "d": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", @@ -2751,6 +2883,24 @@ "strip-bom": "2.0.0" } }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, + "requires": { + "foreach": "2.0.5", + "object-keys": "1.0.11" + }, + "dependencies": { + "object-keys": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", + "dev": true + } + } + }, "defined": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", @@ -2987,6 +3137,18 @@ "domelementtype": "1.3.0" } }, + "duplexify": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", + "integrity": "sha512-j5goxHTwVED1Fpe5hh3q9R93Kip0Bg2KVAt4f8CEYM3UEwYcPSvWbXaUQOzdX/HtiNomipv+gU7ASQPDbV7pGQ==", + "dev": true, + "requires": { + "end-of-stream": "1.4.0", + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "stream-shift": "1.0.0" + } + }, "ecc-jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", @@ -3229,6 +3391,15 @@ "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", "dev": true }, + "end-of-stream": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, "engine.io": { "version": "1.8.3", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.3.tgz", @@ -3372,6 +3543,30 @@ "is-arrayish": "0.2.1" } }, + "es-abstract": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz", + "integrity": "sha512-kk3IJoKo7A3pWJc0OV8yZ/VEX2oSUytfekrJiqoxBlKJMFAJVJVpGdHClCCTdv+Fn2zHfpDHHIelMFhZVfef3Q==", + "dev": true, + "requires": { + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.1", + "is-callable": "1.1.3", + "is-regex": "1.0.4" + } + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, + "requires": { + "is-callable": "1.1.3", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" + } + }, "es5-ext": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.31.tgz", @@ -3886,6 +4081,17 @@ "unpipe": "1.0.0" } }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "make-dir": "1.1.0", + "pkg-dir": "2.0.0" + } + }, "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", @@ -3902,6 +4108,16 @@ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", "dev": true }, + "flush-write-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz", + "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -3917,6 +4133,12 @@ "for-in": "1.0.2" } }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -3946,6 +4168,16 @@ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, "fs-access": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", @@ -3966,6 +4198,18 @@ "universalify": "0.1.1" } }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "2.3.3" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -4672,6 +4916,12 @@ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", "dev": true }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, "image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", @@ -4688,6 +4938,22 @@ "xmldom": "0.1.27" } }, + "import-local": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz", + "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", + "dev": true, + "requires": { + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, "in-publish": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", @@ -4815,6 +5081,18 @@ "builtin-modules": "1.1.1" } }, + "is-callable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "dev": true + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, "is-directory": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", @@ -4935,6 +5213,15 @@ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", "dev": true }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "1.0.1" + } + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -4950,6 +5237,12 @@ "html-comment-regex": "1.1.1" } }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -5525,9 +5818,9 @@ } }, "less": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/less/-/less-2.7.2.tgz", - "integrity": "sha1-No1sxz4fsDmBGDKAkYdDxdz5s98=", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/less/-/less-2.7.3.tgz", + "integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==", "dev": true, "requires": { "errno": "0.1.4", @@ -5536,8 +5829,170 @@ "mime": "1.4.1", "mkdirp": "0.5.1", "promise": "7.3.1", - "request": "2.83.0", + "request": "2.81.0", "source-map": "0.5.7" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true, + "optional": true + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "optional": true, + "requires": { + "boom": "2.10.1" + } + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + } + }, + "har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "dev": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "dev": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "optional": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "dev": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true, + "optional": true + }, + "request": { + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "optional": true, + "requires": { + "hoek": "2.16.3" + } + } } }, "less-loader": { @@ -5769,6 +6224,23 @@ "vlq": "0.2.3" } }, + "make-dir": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", + "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", + "dev": true, + "requires": { + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, "make-error": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.0.tgz", @@ -5976,6 +6448,24 @@ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, + "mississippi": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-1.3.0.tgz", + "integrity": "sha1-0gFYPrEjJ+PFwWQqQEqcrPlONPU=", + "dev": true, + "requires": { + "concat-stream": "1.6.0", + "duplexify": "3.5.1", + "end-of-stream": "1.4.0", + "flush-write-stream": "1.0.2", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "1.0.2", + "pumpify": "1.3.5", + "stream-each": "1.2.2", + "through2": "2.0.3" + } + }, "mixin-object": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", @@ -6052,6 +6542,20 @@ } } }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -6590,6 +7094,17 @@ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", "dev": true }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.3" + } + }, "param-case": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", @@ -6784,6 +7299,26 @@ "pinkie": "2.0.4" } }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + } + } + }, "plist": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz", @@ -6889,6 +7424,50 @@ "postcss-value-parser": "3.3.0" } }, + "postcss-custom-properties": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-6.2.0.tgz", + "integrity": "sha512-eNR2h9T9ciKMoQEORrPjH33XeN/nuvVuxArOKmHtsFbGbNss631tgTrKou3/pmjAZbA4QQkhLIkPQkIk3WW+8w==", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "postcss": "6.0.13" + }, + "dependencies": { + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "postcss": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "dev": true, + "requires": { + "chalk": "2.1.0", + "source-map": "0.6.1", + "supports-color": "4.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, "postcss-discard-comments": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", @@ -7520,6 +8099,12 @@ "asap": "2.0.6" } }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, "protractor": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.1.2.tgz", @@ -7626,6 +8211,27 @@ "randombytes": "2.0.5" } }, + "pump": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.2.tgz", + "integrity": "sha1-Oz7mUS+U8OV1U4wXmV+fFpkKXVE=", + "dev": true, + "requires": { + "end-of-stream": "1.4.0", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.3.5.tgz", + "integrity": "sha1-G2ccYZlAq8rqwK0OOjwWS+dgmTs=", + "dev": true, + "requires": { + "duplexify": "3.5.1", + "inherits": "2.0.3", + "pump": "1.0.2" + } + }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", @@ -8050,6 +8656,21 @@ "path-parse": "1.0.5" } }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", @@ -8078,6 +8699,15 @@ "inherits": "2.0.3" } }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "1.2.0" + } + }, "run-series": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/run-series/-/run-series-1.1.4.tgz", @@ -8085,9 +8715,9 @@ "dev": true }, "rxjs": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.4.3.tgz", - "integrity": "sha512-fSNi+y+P9ss+EZuV0GcIIqPUK07DEaMRUtLJvdcvMyFjc9dizuDjere+A4V7JrLGnm9iCc+nagV/4QdMTkqC4A==", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.2.tgz", + "integrity": "sha512-oRYoIKWBU3Ic37fLA5VJu31VqQO4bWubRntcHSJ+cwaDQBwdnZ9x4zmhJfm/nFQ2E82/I4loSioHnACamrKGgA==", "requires": { "symbol-observable": "1.0.4" } @@ -8732,6 +9362,15 @@ "tweetnacl": "0.14.5" } }, + "ssri": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.0.0.tgz", + "integrity": "sha512-728D4yoQcQm1ooZvSbywLkV1RjfITZXh0oWrhM/lnsx3nAHx7LsRGJWB/YyvoceAYRq98xqbstiN4JBv1/wNHg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, "statuses": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", @@ -8758,6 +9397,16 @@ "readable-stream": "2.3.3" } }, + "stream-each": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", + "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.0", + "stream-shift": "1.0.0" + } + }, "stream-http": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", @@ -8771,6 +9420,12 @@ "xtend": "4.0.1" } }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, "strict-uri-encode": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", @@ -9072,6 +9727,12 @@ "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", "dev": true }, + "tree-kill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz", + "integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg==", + "dev": true + }, "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", @@ -9223,9 +9884,9 @@ "dev": true }, "typescript": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.1.tgz", - "integrity": "sha1-w8yxbdqgsjFN4DHn5v7onlujRrw=", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.2.tgz", + "integrity": "sha1-+DlfhdRZJ2BnyYiqQYN6j4KHCEQ=", "dev": true }, "uglify-js": { @@ -9271,6 +9932,24 @@ "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", "dev": true }, + "unique-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "dev": true, + "requires": { + "unique-slug": "2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "dev": true, + "requires": { + "imurmurhash": "0.1.4" + } + }, "universalify": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", @@ -9827,6 +10506,33 @@ } } }, + "webpack-core": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz", + "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=", + "dev": true, + "requires": { + "source-list-map": "0.1.8", + "source-map": "0.4.4" + }, + "dependencies": { + "source-list-map": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", + "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, "webpack-dev-server": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.5.0.tgz", @@ -9941,9 +10647,9 @@ } }, "webpack-merge": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.0.tgz", - "integrity": "sha1-atciI7PguDflMeRZfBmfkJNhUR4=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.1.tgz", + "integrity": "sha512-geQsZ86YkXOVOjvPC5yv3JSNnL6/X3Kzh935AQ/gJNEYXEfJDQFu/sdFuktS9OW2JcH/SJec8TGfRdrpHshH7A==", "dev": true, "requires": { "lodash": "4.17.4" @@ -10022,6 +10728,16 @@ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true }, + "worker-farm": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.1.tgz", + "integrity": "sha512-T5NH6Wqsd8MwGD4AK8BBllUy6LmHaqjEOyo/YIUEegZui6/v5Bqde//3jwyE3PGiGYMmWi06exFBi5LNhhPFNw==", + "dev": true, + "requires": { + "errno": "0.1.4", + "xtend": "4.0.1" + } + }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", diff --git a/web/package.json b/web/package.json index a04850a8..9e5b8487 100644 --- a/web/package.json +++ b/web/package.json @@ -47,28 +47,28 @@ }, "dependencies": { "@amcharts/amcharts3-angular": "^1.5.0", - "@angular/animations": "^4.4.5", + "@angular/animations": "^5.0.0", "@angular/cdk": "^2.0.0-beta.12", - "@angular/common": "4.4.5", - "@angular/compiler": "4.4.5", - "@angular/core": "4.4.5", - "@angular/forms": "4.4.5", - "@angular/http": "4.4.5", + "@angular/common": "5.0.0", + "@angular/compiler": "5.0.0", + "@angular/core": "5.0.0", + "@angular/forms": "5.0.0", + "@angular/http": "5.0.0", "@angular/material": "^2.0.0-beta.12", - "@angular/platform-browser": "4.4.5", - "@angular/platform-browser-dynamic": "4.4.5", - "@angular/router": "4.4.5", + "@angular/platform-browser": "5.0.0", + "@angular/platform-browser-dynamic": "5.0.0", + "@angular/router": "5.0.0", "@ngtools/webpack": "^1.7.4", "core-js": "2.4.1", "enhanced-resolve": "3.3.0", "extract-text-webpack-plugin": "^3.0.1", "html-webpack-plugin": "^2.30.1", - "rxjs": "^5.4.3", + "rxjs": "^5.5.0", "zone.js": "0.8.12" }, "devDependencies": { - "@angular/cli": "^1.4.7", - "@angular/compiler-cli": "4.4.5", + "@angular/cli": "^1.5.0", + "@angular/compiler-cli": "5.0.0", "@types/bluebird": "3.5.8", "@types/core-js": "0.9.36", "@types/jasmine": "2.5.53", @@ -111,7 +111,7 @@ "stylus-loader": "3.0.1", "ts-node": "3.1.0", "tslint": "5.4.3", - "typescript": "2.4.1", + "typescript": "2.4.2", "url-loader": "0.5.9", "webdriver-manager": "12.0.6", "webpack": "3.3.0", diff --git a/web/src/app/app.component.html b/web/src/app/app.component.html index 9dcac19b..107e242c 100644 --- a/web/src/app/app.component.html +++ b/web/src/app/app.component.html @@ -12,9 +12,13 @@

Wallet

- history  + add_shopping_cart 

Trading

+ + history  +

History

+
settings 

Settings

diff --git a/web/src/app/app.component.scss b/web/src/app/app.component.scss index 98da567c..368fc631 100644 --- a/web/src/app/app.component.scss +++ b/web/src/app/app.component.scss @@ -21,7 +21,11 @@ } .trading-highlight { - color: red !important; + color: orangered !important; +} + +.history-highlight { + color: blue !important; } .wallet-highlight { diff --git a/web/src/app/pages/settings/settings.component.html b/web/src/app/pages/settings/settings.component.html index cbe0f0c7..b9284dd2 100644 --- a/web/src/app/pages/settings/settings.component.html +++ b/web/src/app/pages/settings/settings.component.html @@ -1,5 +1,5 @@
- +
diff --git a/web/src/app/pages/wallet/wallet.component.html b/web/src/app/pages/wallet/wallet.component.html index 9ee7db84..0e088f24 100644 --- a/web/src/app/pages/wallet/wallet.component.html +++ b/web/src/app/pages/wallet/wallet.component.html @@ -1,3 +1,6 @@ +
+ +
diff --git a/web/src/app/pages/wallet/wallet.component.ts b/web/src/app/pages/wallet/wallet.component.ts index 4064ca49..8b991740 100644 --- a/web/src/app/pages/wallet/wallet.component.ts +++ b/web/src/app/pages/wallet/wallet.component.ts @@ -22,6 +22,7 @@ export class WalletComponent implements OnInit { }; constructor(private websocketHandler: WebsocketHandlerService) { + this.wallet= null; this.ws = websocketHandler; this.ws.messages.subscribe(msg => { if (msg.Event === 'GetPortfolio') { diff --git a/web/src/app/shared/all-enabled-currency-tickers/all-enabled-currency-tickers.component.html b/web/src/app/shared/all-enabled-currency-tickers/all-enabled-currency-tickers.component.html index 02e5627c..44883f83 100644 --- a/web/src/app/shared/all-enabled-currency-tickers/all-enabled-currency-tickers.component.html +++ b/web/src/app/shared/all-enabled-currency-tickers/all-enabled-currency-tickers.component.html @@ -1,5 +1,5 @@
- +
From 8984df24ad2d304be338e55949465d696badd8ee Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Mon, 13 Nov 2017 17:53:29 +1100 Subject: [PATCH 17/30] Adds components for design of dashboard, selected currency, donate and buy-sell components --- web/src/app/app.component.html | 4 ++- web/src/app/app.module.ts | 14 +++++++++++ .../pages/dashboard/dashboard.component.html | 18 ++++++++++++- .../pages/dashboard/dashboard.component.scss | 10 ++++++++ .../shared/buy-sell/buy-sell.component.html | 3 +++ .../shared/buy-sell/buy-sell.component.scss | 0 .../buy-sell/buy-sell.component.spec.ts | 25 +++++++++++++++++++ .../app/shared/buy-sell/buy-sell.component.ts | 15 +++++++++++ .../app/shared/donate/donate.component.html | 1 + .../app/shared/donate/donate.component.scss | 0 .../shared/donate/donate.component.spec.ts | 25 +++++++++++++++++++ web/src/app/shared/donate/donate.component.ts | 15 +++++++++++ .../shared/my-orders/my-orders.component.html | 5 ++++ .../shared/my-orders/my-orders.component.scss | 0 .../my-orders/my-orders.component.spec.ts | 25 +++++++++++++++++++ .../shared/my-orders/my-orders.component.ts | 15 +++++++++++ .../app/shared/orders/orders.component.html | 5 ++++ .../app/shared/orders/orders.component.scss | 0 .../shared/orders/orders.component.spec.ts | 25 +++++++++++++++++++ web/src/app/shared/orders/orders.component.ts | 15 +++++++++++ .../price-history.component.html | 5 ++++ .../price-history.component.scss | 0 .../price-history.component.spec.ts | 25 +++++++++++++++++++ .../price-history/price-history.component.ts | 15 +++++++++++ .../selected-currency.component.html | 3 +++ .../selected-currency.component.scss | 0 .../selected-currency.component.spec.ts | 25 +++++++++++++++++++ .../selected-currency.component.ts | 15 +++++++++++ .../trade-history.component.html | 5 ++++ .../trade-history.component.scss | 0 .../trade-history.component.spec.ts | 25 +++++++++++++++++++ .../trade-history/trade-history.component.ts | 15 +++++++++++ 32 files changed, 351 insertions(+), 2 deletions(-) create mode 100644 web/src/app/shared/buy-sell/buy-sell.component.html create mode 100644 web/src/app/shared/buy-sell/buy-sell.component.scss create mode 100644 web/src/app/shared/buy-sell/buy-sell.component.spec.ts create mode 100644 web/src/app/shared/buy-sell/buy-sell.component.ts create mode 100644 web/src/app/shared/donate/donate.component.html create mode 100644 web/src/app/shared/donate/donate.component.scss create mode 100644 web/src/app/shared/donate/donate.component.spec.ts create mode 100644 web/src/app/shared/donate/donate.component.ts create mode 100644 web/src/app/shared/my-orders/my-orders.component.html create mode 100644 web/src/app/shared/my-orders/my-orders.component.scss create mode 100644 web/src/app/shared/my-orders/my-orders.component.spec.ts create mode 100644 web/src/app/shared/my-orders/my-orders.component.ts create mode 100644 web/src/app/shared/orders/orders.component.html create mode 100644 web/src/app/shared/orders/orders.component.scss create mode 100644 web/src/app/shared/orders/orders.component.spec.ts create mode 100644 web/src/app/shared/orders/orders.component.ts create mode 100644 web/src/app/shared/price-history/price-history.component.html create mode 100644 web/src/app/shared/price-history/price-history.component.scss create mode 100644 web/src/app/shared/price-history/price-history.component.spec.ts create mode 100644 web/src/app/shared/price-history/price-history.component.ts create mode 100644 web/src/app/shared/selected-currency/selected-currency.component.html create mode 100644 web/src/app/shared/selected-currency/selected-currency.component.scss create mode 100644 web/src/app/shared/selected-currency/selected-currency.component.spec.ts create mode 100644 web/src/app/shared/selected-currency/selected-currency.component.ts create mode 100644 web/src/app/shared/trade-history/trade-history.component.html create mode 100644 web/src/app/shared/trade-history/trade-history.component.scss create mode 100644 web/src/app/shared/trade-history/trade-history.component.spec.ts create mode 100644 web/src/app/shared/trade-history/trade-history.component.ts diff --git a/web/src/app/app.component.html b/web/src/app/app.component.html index 107e242c..da75cf50 100644 --- a/web/src/app/app.component.html +++ b/web/src/app/app.component.html @@ -4,7 +4,7 @@ - trending_up  + view_quilt 

Dashboard

@@ -24,6 +24,8 @@

Settings

+
+
diff --git a/web/src/app/app.module.ts b/web/src/app/app.module.ts index eb6e7403..bae632c9 100644 --- a/web/src/app/app.module.ts +++ b/web/src/app/app.module.ts @@ -54,6 +54,13 @@ import { Wallet } from './shared/classes/wallet'; import * as Rx from 'rxjs/Rx'; +import { TradeHistoryComponent } from './shared/trade-history/trade-history.component'; +import { PriceHistoryComponent } from './shared/price-history/price-history.component'; +import { MyOrdersComponent } from './shared/my-orders/my-orders.component'; +import { OrdersComponent } from './shared/orders/orders.component'; +import { BuySellComponent } from './shared/buy-sell/buy-sell.component'; +import { DonateComponent } from './shared/donate/donate.component'; +import { SelectedCurrencyComponent } from './shared/selected-currency/selected-currency.component'; @NgModule({ @@ -69,6 +76,13 @@ import * as Rx from 'rxjs/Rx'; SidebarComponent, WalletComponent, ThemePickerComponent, + TradeHistoryComponent, + PriceHistoryComponent, + MyOrdersComponent, + OrdersComponent, + BuySellComponent, + DonateComponent, + SelectedCurrencyComponent, ], imports: [ BrowserModule, diff --git a/web/src/app/pages/dashboard/dashboard.component.html b/web/src/app/pages/dashboard/dashboard.component.html index f19d6c27..e830e491 100644 --- a/web/src/app/pages/dashboard/dashboard.component.html +++ b/web/src/app/pages/dashboard/dashboard.component.html @@ -1 +1,17 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + diff --git a/web/src/app/pages/dashboard/dashboard.component.scss b/web/src/app/pages/dashboard/dashboard.component.scss index e69de29b..f0d02af2 100644 --- a/web/src/app/pages/dashboard/dashboard.component.scss +++ b/web/src/app/pages/dashboard/dashboard.component.scss @@ -0,0 +1,10 @@ +app-trade-history, app-orders, app-price-history, app-my-orders { + height:100%; + width:100%; + margin: 15px; +} + +.my-orders-card, .orders-card,.trade-history-card,.price-history-card { + height: 90%; + width:90%; +} \ No newline at end of file diff --git a/web/src/app/shared/buy-sell/buy-sell.component.html b/web/src/app/shared/buy-sell/buy-sell.component.html new file mode 100644 index 00000000..40a5d1ef --- /dev/null +++ b/web/src/app/shared/buy-sell/buy-sell.component.html @@ -0,0 +1,3 @@ +

+ buy-sell works! +

diff --git a/web/src/app/shared/buy-sell/buy-sell.component.scss b/web/src/app/shared/buy-sell/buy-sell.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/web/src/app/shared/buy-sell/buy-sell.component.spec.ts b/web/src/app/shared/buy-sell/buy-sell.component.spec.ts new file mode 100644 index 00000000..139eef84 --- /dev/null +++ b/web/src/app/shared/buy-sell/buy-sell.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BuySellComponent } from './buy-sell.component'; + +describe('BuySellComponent', () => { + let component: BuySellComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ BuySellComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(BuySellComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/shared/buy-sell/buy-sell.component.ts b/web/src/app/shared/buy-sell/buy-sell.component.ts new file mode 100644 index 00000000..c0b2e2af --- /dev/null +++ b/web/src/app/shared/buy-sell/buy-sell.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-buy-sell', + templateUrl: './buy-sell.component.html', + styleUrls: ['./buy-sell.component.scss'] +}) +export class BuySellComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/web/src/app/shared/donate/donate.component.html b/web/src/app/shared/donate/donate.component.html new file mode 100644 index 00000000..ec9cc2d1 --- /dev/null +++ b/web/src/app/shared/donate/donate.component.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/src/app/shared/donate/donate.component.scss b/web/src/app/shared/donate/donate.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/web/src/app/shared/donate/donate.component.spec.ts b/web/src/app/shared/donate/donate.component.spec.ts new file mode 100644 index 00000000..295968ed --- /dev/null +++ b/web/src/app/shared/donate/donate.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DonateComponent } from './donate.component'; + +describe('DonateComponent', () => { + let component: DonateComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ DonateComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(DonateComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/shared/donate/donate.component.ts b/web/src/app/shared/donate/donate.component.ts new file mode 100644 index 00000000..6c782663 --- /dev/null +++ b/web/src/app/shared/donate/donate.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-donate', + templateUrl: './donate.component.html', + styleUrls: ['./donate.component.scss'] +}) +export class DonateComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/web/src/app/shared/my-orders/my-orders.component.html b/web/src/app/shared/my-orders/my-orders.component.html new file mode 100644 index 00000000..dd8ade0c --- /dev/null +++ b/web/src/app/shared/my-orders/my-orders.component.html @@ -0,0 +1,5 @@ + + + My Orders + + \ No newline at end of file diff --git a/web/src/app/shared/my-orders/my-orders.component.scss b/web/src/app/shared/my-orders/my-orders.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/web/src/app/shared/my-orders/my-orders.component.spec.ts b/web/src/app/shared/my-orders/my-orders.component.spec.ts new file mode 100644 index 00000000..f17ff491 --- /dev/null +++ b/web/src/app/shared/my-orders/my-orders.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MyOrdersComponent } from './my-orders.component'; + +describe('MyOrdersComponent', () => { + let component: MyOrdersComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ MyOrdersComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(MyOrdersComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/shared/my-orders/my-orders.component.ts b/web/src/app/shared/my-orders/my-orders.component.ts new file mode 100644 index 00000000..8861addd --- /dev/null +++ b/web/src/app/shared/my-orders/my-orders.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-my-orders', + templateUrl: './my-orders.component.html', + styleUrls: ['./my-orders.component.scss'] +}) +export class MyOrdersComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/web/src/app/shared/orders/orders.component.html b/web/src/app/shared/orders/orders.component.html new file mode 100644 index 00000000..6eac8919 --- /dev/null +++ b/web/src/app/shared/orders/orders.component.html @@ -0,0 +1,5 @@ + + + Orders + + \ No newline at end of file diff --git a/web/src/app/shared/orders/orders.component.scss b/web/src/app/shared/orders/orders.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/web/src/app/shared/orders/orders.component.spec.ts b/web/src/app/shared/orders/orders.component.spec.ts new file mode 100644 index 00000000..b8efbb0f --- /dev/null +++ b/web/src/app/shared/orders/orders.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { OrdersComponent } from './orders.component'; + +describe('OrdersComponent', () => { + let component: OrdersComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ OrdersComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(OrdersComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/shared/orders/orders.component.ts b/web/src/app/shared/orders/orders.component.ts new file mode 100644 index 00000000..de2ad688 --- /dev/null +++ b/web/src/app/shared/orders/orders.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-orders', + templateUrl: './orders.component.html', + styleUrls: ['./orders.component.scss'] +}) +export class OrdersComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/web/src/app/shared/price-history/price-history.component.html b/web/src/app/shared/price-history/price-history.component.html new file mode 100644 index 00000000..85294996 --- /dev/null +++ b/web/src/app/shared/price-history/price-history.component.html @@ -0,0 +1,5 @@ + + + Price History + + \ No newline at end of file diff --git a/web/src/app/shared/price-history/price-history.component.scss b/web/src/app/shared/price-history/price-history.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/web/src/app/shared/price-history/price-history.component.spec.ts b/web/src/app/shared/price-history/price-history.component.spec.ts new file mode 100644 index 00000000..56f7d51b --- /dev/null +++ b/web/src/app/shared/price-history/price-history.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PriceHistoryComponent } from './price-history.component'; + +describe('PriceHistoryComponent', () => { + let component: PriceHistoryComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PriceHistoryComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PriceHistoryComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/shared/price-history/price-history.component.ts b/web/src/app/shared/price-history/price-history.component.ts new file mode 100644 index 00000000..3120ec5a --- /dev/null +++ b/web/src/app/shared/price-history/price-history.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-price-history', + templateUrl: './price-history.component.html', + styleUrls: ['./price-history.component.scss'] +}) +export class PriceHistoryComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/web/src/app/shared/selected-currency/selected-currency.component.html b/web/src/app/shared/selected-currency/selected-currency.component.html new file mode 100644 index 00000000..946f8943 --- /dev/null +++ b/web/src/app/shared/selected-currency/selected-currency.component.html @@ -0,0 +1,3 @@ +

+ selected-currency works! +

diff --git a/web/src/app/shared/selected-currency/selected-currency.component.scss b/web/src/app/shared/selected-currency/selected-currency.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/web/src/app/shared/selected-currency/selected-currency.component.spec.ts b/web/src/app/shared/selected-currency/selected-currency.component.spec.ts new file mode 100644 index 00000000..b01c9a44 --- /dev/null +++ b/web/src/app/shared/selected-currency/selected-currency.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SelectedCurrencyComponent } from './selected-currency.component'; + +describe('SelectedCurrencyComponent', () => { + let component: SelectedCurrencyComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SelectedCurrencyComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SelectedCurrencyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/shared/selected-currency/selected-currency.component.ts b/web/src/app/shared/selected-currency/selected-currency.component.ts new file mode 100644 index 00000000..2b608650 --- /dev/null +++ b/web/src/app/shared/selected-currency/selected-currency.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-selected-currency', + templateUrl: './selected-currency.component.html', + styleUrls: ['./selected-currency.component.scss'] +}) +export class SelectedCurrencyComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/web/src/app/shared/trade-history/trade-history.component.html b/web/src/app/shared/trade-history/trade-history.component.html new file mode 100644 index 00000000..982c2f1b --- /dev/null +++ b/web/src/app/shared/trade-history/trade-history.component.html @@ -0,0 +1,5 @@ + + + Trade History + + \ No newline at end of file diff --git a/web/src/app/shared/trade-history/trade-history.component.scss b/web/src/app/shared/trade-history/trade-history.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/web/src/app/shared/trade-history/trade-history.component.spec.ts b/web/src/app/shared/trade-history/trade-history.component.spec.ts new file mode 100644 index 00000000..f835805c --- /dev/null +++ b/web/src/app/shared/trade-history/trade-history.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TradeHistoryComponent } from './trade-history.component'; + +describe('TradeHistoryComponent', () => { + let component: TradeHistoryComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ TradeHistoryComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(TradeHistoryComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/shared/trade-history/trade-history.component.ts b/web/src/app/shared/trade-history/trade-history.component.ts new file mode 100644 index 00000000..79808e63 --- /dev/null +++ b/web/src/app/shared/trade-history/trade-history.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-trade-history', + templateUrl: './trade-history.component.html', + styleUrls: ['./trade-history.component.scss'] +}) +export class TradeHistoryComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} From 6d2aa311c88fbb315dc872119e56d0be40b27c66 Mon Sep 17 00:00:00 2001 From: gloriousCode Date: Sun, 19 Nov 2017 19:58:06 +1100 Subject: [PATCH 18/30] Updates everything to latest stable,rc and beta versions of Angular, cli, material, webpack yeahhhh --- web/package-lock.json | 2660 +++++++---------- web/package.json | 33 +- web/src/app/app.component.scss | 8 +- .../pages/dashboard/dashboard.component.html | 72 +- .../pages/dashboard/dashboard.component.scss | 13 +- web/src/app/pages/home/home.component.html | 17 +- web/src/app/pages/home/home.component.scss | 3 + .../app/services/sidebar/sidebar.service.ts | 10 +- web/src/styles.scss | 12 +- web/tsconfig.json | 3 +- web/webpack.config.js | 8 +- 11 files changed, 1272 insertions(+), 1567 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index 3ed0069f..05ec382c 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -4,21 +4,16 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "@amcharts/amcharts3-angular": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@amcharts/amcharts3-angular/-/amcharts3-angular-1.5.0.tgz", - "integrity": "sha512-GRw7svOXDegavtxWifbGZlh7Q2JOOzzeQX4NwNMAOy/yr3UOvsmNqvKLdYNjzcUc0TlLrmwgyjUL8w2tXmxY6g==" - }, "@angular-devkit/build-optimizer": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.32.tgz", - "integrity": "sha512-j09JdaFoRukEllfmH+TUJpe2ujUzTSj/szqYGHWVBilajwnNQh7f0A9v1R27mX+2di4x8tXuvaBgwvdEZBv32w==", + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.33.tgz", + "integrity": "sha512-qdGAwI3Yd3QIJ4FJsJcAyBVThUVEGKqSm0E3njSVSQkEatjvxHXNDvexBieQDPiUhjYG2Yyobor8nW5EMxPieQ==", "dev": true, "requires": { "loader-utils": "1.1.0", "source-map": "0.5.7", "typescript": "2.4.2", - "webpack-sources": "1.0.1" + "webpack-sources": "1.0.2" } }, "@angular-devkit/core": { @@ -31,60 +26,49 @@ } }, "@angular-devkit/schematics": { - "version": "0.0.35", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.0.35.tgz", - "integrity": "sha512-+qGUWhmMpHqHkYKMk1yKQDjXb/vqXGkzbMiRs/u5rSnlrH+/TzkCO0UsM7/p9WPcModuDxkf5FItpw/AgdcPeQ==", + "version": "0.0.36", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.0.36.tgz", + "integrity": "sha512-6Aj2uuSaGVWhwVDJb7wrkVdunHY1FVak7/P24NuFTUT3ThShQs2LI5UrRKbIJKIHqxtb8PYHebFsjHCHISlRMw==", "dev": true, "requires": { "@angular-devkit/core": "0.0.20", "@ngtools/json-schema": "1.1.0", "minimist": "1.2.0", "rxjs": "5.5.2" - }, - "dependencies": { - "rxjs": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.2.tgz", - "integrity": "sha512-oRYoIKWBU3Ic37fLA5VJu31VqQO4bWubRntcHSJ+cwaDQBwdnZ9x4zmhJfm/nFQ2E82/I4loSioHnACamrKGgA==", - "dev": true, - "requires": { - "symbol-observable": "1.0.4" - } - } } }, "@angular/animations": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.0.0.tgz", - "integrity": "sha1-ta0ZnGf5P3WVREd+/+ZnnhVJkfs=", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.0.2.tgz", + "integrity": "sha1-bTpzWk+Fw4jaa6P3ddu+YUBKwC0=", "requires": { "tslib": "1.8.0" } }, "@angular/cdk": { - "version": "2.0.0-beta.12", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-2.0.0-beta.12.tgz", - "integrity": "sha1-OiQ8tiuT9OA5EgunD5ANyeI1Yi4=", + "version": "5.0.0-rc0", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-5.0.0-rc0.tgz", + "integrity": "sha512-wZg/mzHisiTieVt7Q/YNPB+r07PHvjoAT3+0mwyIP7wuC00W8BJLPhTZd/tIM5q7Nd69kuA1HSx1qLkcmlCZkw==", "requires": { "tslib": "1.8.0" } }, "@angular/cli": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-1.5.0.tgz", - "integrity": "sha512-nCXvqNCdi+8aOU2v6EABZsMg5bB7iM+wfaoWKnu9M5fOW2Rm+7/3Y1gDQKyFkgXCzXdy3J/xpfmwT0gjmjlvIA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-1.5.2.tgz", + "integrity": "sha512-OcHYTjHKoUohN6WaCWkoq5Jud1auYTh/LMtqelP1XgpszYrwfZguwNbKvwddqhrs8RPgeVM0owI4hK/sgYA07Q==", "dev": true, "requires": { - "@angular-devkit/build-optimizer": "0.0.32", - "@angular-devkit/schematics": "0.0.35", + "@angular-devkit/build-optimizer": "0.0.33", + "@angular-devkit/schematics": "0.0.36", "@ngtools/json-schema": "1.1.0", - "@ngtools/webpack": "1.8.0", - "@schematics/angular": "0.1.0", + "@ngtools/webpack": "1.8.2", + "@schematics/angular": "0.1.5", "autoprefixer": "6.7.7", "chalk": "2.2.2", "circular-dependency-plugin": "3.0.0", "common-tags": "1.4.0", - "copy-webpack-plugin": "4.2.0", + "copy-webpack-plugin": "4.2.1", "core-object": "3.1.5", "css-loader": "0.28.4", "cssnano": "3.10.0", @@ -103,8 +87,9 @@ "license-webpack-plugin": "1.1.1", "lodash": "4.17.4", "memory-fs": "0.4.1", + "minimatch": "3.0.4", "node-modules-path": "1.0.1", - "node-sass": "4.5.3", + "node-sass": "4.7.1", "nopt": "4.0.1", "opn": "5.1.0", "portfinder": "1.0.13", @@ -112,7 +97,7 @@ "postcss-loader": "1.3.3", "postcss-url": "5.1.2", "raw-loader": "0.5.1", - "resolve": "1.4.0", + "resolve": "1.5.0", "rxjs": "5.5.2", "sass-loader": "6.0.6", "semver": "5.4.1", @@ -127,52 +112,13 @@ "webpack": "3.8.1", "webpack-concat-plugin": "1.4.0", "webpack-dev-middleware": "1.12.0", - "webpack-dev-server": "2.9.3", + "webpack-dev-server": "2.9.4", "webpack-merge": "4.1.1", - "webpack-sources": "1.0.1", + "webpack-sources": "1.0.2", "webpack-subresource-integrity": "1.0.1", "zone.js": "0.8.18" }, "dependencies": { - "@ngtools/webpack": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-1.8.0.tgz", - "integrity": "sha512-QefALj8VUakHMI/Z/7RjyQR4UpAAfCXeoHqqD9+7Td3CZkuryyGQILqOSAg3d+cP+64iCwIb2jSKC+YAIy722Q==", - "dev": true, - "requires": { - "chalk": "2.2.2", - "enhanced-resolve": "3.3.0", - "loader-utils": "1.1.0", - "magic-string": "0.22.4", - "semver": "5.4.1", - "source-map": "0.5.7", - "tree-kill": "1.2.0" - } - }, - "@schematics/angular": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.1.0.tgz", - "integrity": "sha512-+Yy72J55uImsROxwyyEMso+HJIvx7+ffT8o8HzdNOZyLg4jj7G/ZDiCsCmhRtTYOmOof4OqvF2VecJyXVi0oHA==", - "dev": true, - "requires": { - "@angular-devkit/core": "0.0.20" - } - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, "autoprefixer": { "version": "6.7.7", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", @@ -180,66 +126,29 @@ "dev": true, "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000746", + "caniuse-db": "1.0.30000766", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "5.2.18", "postcss-value-parser": "3.3.0" } }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - }, - "chalk": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.2.2.tgz", - "integrity": "sha512-LvixLAQ4MYhbf7hgL4o5PeK32gJKvVzDRiSNIApDofQvyhl8adgG2lJVXn4+ekQoK7HL9RF8lqxwerpe0x2pCw==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" - } - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - } - }, "clone": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", "dev": true }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, "extract-text-webpack-plugin": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.0.tgz", "integrity": "sha1-kMqnkHvESfM1AF46x1MrQbAN5hI=", "dev": true, "requires": { - "async": "2.5.0", + "async": "2.6.0", "loader-utils": "1.1.0", "schema-utils": "0.3.0", - "webpack-sources": "1.0.1" + "webpack-sources": "1.0.2" } }, "file-loader": { @@ -252,21 +161,6 @@ "schema-utils": "0.3.0" } }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, "less-loader": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-4.0.5.tgz", @@ -278,47 +172,6 @@ "pify": "2.3.0" } }, - "license-webpack-plugin": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.1.1.tgz", - "integrity": "sha512-TjKOyiC0exqd4Idy/4M8/DETR22dXBZks387DuS5LbslxHiMRXGx/Q2F/j9IUtvEoH5uFvt72vRgk/G6f8j3Dg==", - "dev": true, - "requires": { - "ejs": "2.5.7" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - } - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, "postcss-url": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-5.1.2.tgz", @@ -334,69 +187,6 @@ "postcss": "5.2.18" } }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" - } - }, - "rxjs": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.2.tgz", - "integrity": "sha512-oRYoIKWBU3Ic37fLA5VJu31VqQO4bWubRntcHSJ+cwaDQBwdnZ9x4zmhJfm/nFQ2E82/I4loSioHnACamrKGgA==", - "dev": true, - "requires": { - "symbol-observable": "1.0.4" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, "style-loader": { "version": "0.13.2", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.13.2.tgz", @@ -406,48 +196,6 @@ "loader-utils": "1.1.0" } }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - }, - "uglify-es": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.1.6.tgz", - "integrity": "sha512-7zyH8T4rT3/iLVzNI7Oa8hVQSlv280S8y2/a2EmvEObft3067rdUJJKjBspc70d0HUk1Og1V5Ny4UgZOlZ0hSg==", - "dev": true, - "requires": { - "commander": "2.11.0", - "source-map": "0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "uglifyjs-webpack-plugin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.0.0.tgz", - "integrity": "sha512-23qmtiLm1X7O0XVSZ54W7XGHykPss+2lo3RYC9zSzK3DDT5W27woZpDFDKguDCnG1RIX8cDnmy5j+dtXxJCA/Q==", - "dev": true, - "requires": { - "cacache": "10.0.0", - "find-cache-dir": "1.0.0", - "schema-utils": "0.3.0", - "source-map": "0.5.7", - "uglify-es": "3.1.6", - "webpack-sources": "1.0.1", - "worker-farm": "1.5.1" - } - }, "url-loader": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.6.2.tgz", @@ -459,369 +207,6 @@ "schema-utils": "0.3.0" } }, - "webpack": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.8.1.tgz", - "integrity": "sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==", - "dev": true, - "requires": { - "acorn": "5.1.2", - "acorn-dynamic-import": "2.0.2", - "ajv": "5.2.3", - "ajv-keywords": "2.1.1", - "async": "2.5.0", - "enhanced-resolve": "3.4.1", - "escope": "3.6.0", - "interpret": "1.0.4", - "json-loader": "0.5.4", - "json5": "0.5.1", - "loader-runner": "2.3.0", - "loader-utils": "1.1.0", - "memory-fs": "0.4.1", - "mkdirp": "0.5.1", - "node-libs-browser": "2.0.0", - "source-map": "0.5.7", - "supports-color": "4.5.0", - "tapable": "0.2.8", - "uglifyjs-webpack-plugin": "0.4.6", - "watchpack": "1.4.0", - "webpack-sources": "1.0.1", - "yargs": "8.0.2" - }, - "dependencies": { - "ajv-keywords": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", - "dev": true - }, - "enhanced-resolve": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", - "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.4.1", - "object-assign": "4.1.1", - "tapable": "0.2.8" - } - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "uglifyjs-webpack-plugin": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", - "dev": true, - "requires": { - "source-map": "0.5.7", - "uglify-js": "2.8.29", - "webpack-sources": "1.0.1" - } - } - } - }, - "webpack-dev-middleware": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz", - "integrity": "sha1-007++y7dp+HTtdvgcolRMhllFwk=", - "dev": true, - "requires": { - "memory-fs": "0.4.1", - "mime": "1.4.1", - "path-is-absolute": "1.0.1", - "range-parser": "1.2.0", - "time-stamp": "2.0.0" - } - }, - "webpack-dev-server": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.9.3.tgz", - "integrity": "sha512-bwq7sj452FRH+oVfgOA8xXKkLYPTNsYB4dQ0Jhz3ydjNJ9MvhpGJtehFW8Z0cEcwNkRRiF4aYbReiSGQ4pbS1w==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "array-includes": "3.0.3", - "bonjour": "3.5.0", - "chokidar": "1.7.0", - "compression": "1.7.1", - "connect-history-api-fallback": "1.4.0", - "debug": "3.1.0", - "del": "3.0.0", - "express": "4.16.2", - "html-entities": "1.2.1", - "http-proxy-middleware": "0.17.4", - "import-local": "0.1.1", - "internal-ip": "1.2.0", - "ip": "1.1.5", - "loglevel": "1.5.1", - "opn": "5.1.0", - "portfinder": "1.0.13", - "selfsigned": "1.10.1", - "serve-index": "1.9.1", - "sockjs": "0.3.18", - "sockjs-client": "1.1.4", - "spdy": "3.4.7", - "strip-ansi": "3.0.1", - "supports-color": "4.5.0", - "webpack-dev-middleware": "1.12.0", - "yargs": "6.6.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "1.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true, - "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "4.2.1" - } - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "dev": true, - "requires": { - "camelcase": "3.0.0" - } - } - } - }, - "webpack-subresource-integrity": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.0.1.tgz", - "integrity": "sha1-H8CdRkl9pm5GdDoqUdLMOFucsO0=", - "dev": true, - "requires": { - "webpack-core": "0.6.9" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true - }, - "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "dev": true, - "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "read-pkg-up": "2.0.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - } - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, - "requires": { - "camelcase": "4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - } - } - }, "zone.js": { "version": "0.8.18", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.18.tgz", @@ -831,99 +216,85 @@ } }, "@angular/common": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.0.0.tgz", - "integrity": "sha1-+W1mpRe5ldG6mygwnxXC41lnWCU=", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.0.2.tgz", + "integrity": "sha1-2AMiFT+qqazKkVUmOKPkfcI3umo=", "requires": { "tslib": "1.8.0" } }, "@angular/compiler": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.0.0.tgz", - "integrity": "sha1-uf+/GMijnYt9rOxHMZOpDiTMK8k=", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.0.2.tgz", + "integrity": "sha1-2GXUNyJ83RYYP4eQCjiJPY9fsTk=", "requires": { "tslib": "1.8.0" } }, "@angular/compiler-cli": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.0.0.tgz", - "integrity": "sha1-Dsu5N9hKT43ZTwwqR7B9LkaUyFM=", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.0.2.tgz", + "integrity": "sha1-WbFnQTKF0ZX5ndHZvnP3D+2zNCk=", "dev": true, "requires": { "chokidar": "1.7.0", "minimist": "1.2.0", "reflect-metadata": "0.1.10", "tsickle": "0.24.1" - }, - "dependencies": { - "tsickle": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.24.1.tgz", - "integrity": "sha512-XloFQZhVhgjpQsi3u2ORNRJvuID5sflOg6HfP093IqAbhE1+fIUXznULpdDwHgG4p+v8w78KdHruQtkWUKx5AQ==", - "dev": true, - "requires": { - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "source-map": "0.5.7", - "source-map-support": "0.4.18" - } - } } }, "@angular/core": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.0.0.tgz", - "integrity": "sha1-T5dqIl993fNJkvLK2CTJVDpG9Mg=", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.0.2.tgz", + "integrity": "sha1-+7VpHRr37GKSSAHIlDlVaTVihUo=", "requires": { "tslib": "1.8.0" } }, "@angular/forms": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.0.0.tgz", - "integrity": "sha1-x/3fo1OWdZrphSkgowzdqMQe0d4=", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.0.2.tgz", + "integrity": "sha1-9Mb/JdUXkPYydi6xxQd00XyM9GU=", "requires": { "tslib": "1.8.0" } }, "@angular/http": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.0.0.tgz", - "integrity": "sha1-Byiivgz7sHhyfF64fUyF1T/smlE=", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.0.2.tgz", + "integrity": "sha1-yzrxUh4U8ECqjKFVTij435tW/eg=", "requires": { "tslib": "1.8.0" } }, "@angular/material": { - "version": "2.0.0-beta.12", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-2.0.0-beta.12.tgz", - "integrity": "sha1-cbbQt7AhiR5dDjaIwdS9eMdFf1g=", + "version": "5.0.0-rc0", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-5.0.0-rc0.tgz", + "integrity": "sha512-ZW9gy3c8l2NbFfX9DRYSW+i67pPoL9DZoMCb16STQlhdDfwwAWNpjGF0etXkXw30hDnRCMGVVJVU+45cNXJspA==", "requires": { "tslib": "1.8.0" } }, "@angular/platform-browser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.0.0.tgz", - "integrity": "sha1-xwOPfN6AcFtiAUiXIx4YLuyXb+0=", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.0.2.tgz", + "integrity": "sha1-0Quv8DwkN/MIhHnBc9MK/fCxJKk=", "requires": { "tslib": "1.8.0" } }, "@angular/platform-browser-dynamic": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.0.0.tgz", - "integrity": "sha1-iH4QbIsQOwQVz2FWpCXabYP0yJ0=", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.0.2.tgz", + "integrity": "sha1-iYSn4vxPimdg+aBdlaK7n2sLf5o=", "requires": { "tslib": "1.8.0" } }, "@angular/router": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-5.0.0.tgz", - "integrity": "sha1-/ktSGmc4QIvOMPk6U0mRQMk6T3Y=", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-5.0.2.tgz", + "integrity": "sha1-vhBPsJG87EGN09hU+K9koD5cZ50=", "requires": { "tslib": "1.8.0" } @@ -935,14 +306,26 @@ "dev": true }, "@ngtools/webpack": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-1.7.4.tgz", - "integrity": "sha512-o0u1Oj1k1WEIamBNEncvXDWmUxCMDIlKrMFp4nIwh7bag4dndDShUVD1EinSpx1TvMjVbA42Z+7cIVmlq+240Q==", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-1.8.2.tgz", + "integrity": "sha512-JgG6foy0Npf7dG1fWCF3Gvvtp43FfpYtTTfNwrJPujcIfFeEfBKgzSPj3nW/bx2YzGjxRqmLXBzqVO5kaYcAqg==", "requires": { + "chalk": "2.2.2", "enhanced-resolve": "3.3.0", "loader-utils": "1.1.0", "magic-string": "0.22.4", - "source-map": "0.5.7" + "semver": "5.4.1", + "source-map": "0.5.7", + "tree-kill": "1.2.0" + } + }, + "@schematics/angular": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.1.5.tgz", + "integrity": "sha512-ls2mnpxVd5/la458whcPJYhEkDpvEsF8qcACMC4mNIsxqPUyn/SnjbuZExOW9+1QJGaSYTG17Kilh3N2nEl9XA==", + "dev": true, + "requires": { + "@angular-devkit/core": "0.0.20" } }, "@types/bluebird": { @@ -976,9 +359,9 @@ "dev": true }, "@types/selenium-webdriver": { - "version": "2.53.42", - "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-2.53.42.tgz", - "integrity": "sha1-dMt3+2BS7a/yqJhN2v2I1BnyXKw=", + "version": "2.53.43", + "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-2.53.43.tgz", + "integrity": "sha512-UBYHWph6P3tutkbXpW6XYg9ZPbTKjw/YC2hGG1/GEvWwTbvezBUv3h+mmUFw79T3RFPnmedpiXdOBbXX+4l0jg==", "dev": true }, "abbrev": { @@ -998,9 +381,9 @@ } }, "acorn": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", - "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", + "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", "dev": true }, "acorn-dynamic-import": { @@ -1051,16 +434,22 @@ } }, "ajv": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz", - "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz", + "integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto=", "requires": { "co": "4.6.0", "fast-deep-equal": "1.0.0", - "json-schema-traverse": "0.3.1", - "json-stable-stringify": "1.0.1" + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true + }, "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", @@ -1096,10 +485,12 @@ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "requires": { + "color-convert": "1.9.1" + } }, "anymatch": { "version": "1.3.2", @@ -1235,9 +626,9 @@ "optional": true }, "asar": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/asar/-/asar-0.13.0.tgz", - "integrity": "sha1-3zPdnQG/+EJGTQ2fCVdA1KYq+xQ=", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/asar/-/asar-0.13.1.tgz", + "integrity": "sha512-HJnZadTbDVDhBDv3tMyDov3ZnwMYYmz80/+a7S6cFPvulUyRz55UG5hOyHeWSP1iZud6vjFq8GOYM6xxtxJECQ==", "dev": true, "requires": { "chromium-pickle-js": "0.2.0", @@ -1272,9 +663,9 @@ "dev": true }, "asn1.js": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", - "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz", + "integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==", "dev": true, "requires": { "bn.js": "4.11.8", @@ -1292,9 +683,9 @@ } }, "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", "dev": true }, "ast-types": { @@ -1304,9 +695,9 @@ "dev": true }, "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "requires": { "lodash": "4.17.4" } @@ -1336,39 +727,44 @@ "integrity": "sha1-l7yFTH0Ll5+NZIneVHoNF/swf20=", "dev": true, "requires": { - "browserslist": "2.5.1", - "caniuse-lite": "1.0.30000746", + "browserslist": "2.9.0", + "caniuse-lite": "1.0.30000766", "normalize-range": "0.1.2", "num2fraction": "1.2.2", - "postcss": "6.0.13", + "postcss": "6.0.14", "postcss-value-parser": "3.3.0" }, "dependencies": { "browserslist": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.5.1.tgz", - "integrity": "sha512-jAvM2ku7YDJ+leAq3bFH1DE0Ylw+F+EQDq4GkqZfgPEqpWYw9ofQH85uKSB9r3Tv7XDbfqVtE+sdvKJW7IlPJA==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.9.0.tgz", + "integrity": "sha512-vJEBcDTANoDhSHL46NeOEW5hvQw7It9uCqzeFPQhpawXfnOwnpvW5C97vn1eGJ7iCkSg8wWU0nYObE7d/N95Iw==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000746", - "electron-to-chromium": "1.3.26" + "caniuse-lite": "1.0.30000766", + "electron-to-chromium": "1.3.27" } }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "chalk": "2.1.0", + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "postcss": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz", + "integrity": "sha512-NJ1z0f+1offCgadPhz+DvGm5Mkci+mmV5BqD13S992o0Xk9eElxUfPPF+t2ksH5R/17gz4xVK8KWocUQ5o3Rog==", + "dev": true, + "requires": { + "chalk": "2.3.0", "source-map": "0.6.1", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "source-map": { @@ -1376,22 +772,13 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } } } }, "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", "dev": true }, "aws4": { @@ -1411,6 +798,12 @@ "js-tokens": "3.0.2" }, "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -1594,9 +987,9 @@ } }, "binary-extensions": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz", - "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", "dev": true }, "blob": { @@ -1651,6 +1044,14 @@ "qs": "6.5.1", "raw-body": "2.3.2", "type-is": "1.6.15" + }, + "dependencies": { + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + } } }, "bonjour": { @@ -1673,12 +1074,12 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, "boom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", - "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { - "hoek": "4.2.0" + "hoek": "2.16.3" } }, "brace-expansion": { @@ -1709,9 +1110,9 @@ "dev": true }, "browserify-aes": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.0.tgz", - "integrity": "sha512-W2bIMLYoZ9oow7TyePpMJk9l9LY7O3R61a/68bVCDOtnJynnwe3ZeW2IzzSkrQnPKNdJrxVDn3ALZNisSBwb7g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", "dev": true, "requires": { "buffer-xor": "1.0.3", @@ -1728,7 +1129,7 @@ "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "dev": true, "requires": { - "browserify-aes": "1.1.0", + "browserify-aes": "1.1.1", "browserify-des": "1.0.0", "evp_bytestokey": "1.0.3" } @@ -1770,12 +1171,12 @@ } }, "browserify-zlib": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "pako": "0.2.9" + "pako": "1.0.6" } }, "browserslist": { @@ -1784,8 +1185,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000746", - "electron-to-chromium": "1.3.26" + "caniuse-db": "1.0.30000766", + "electron-to-chromium": "1.3.27" } }, "buffer": { @@ -1836,9 +1237,9 @@ "dev": true }, "cacache": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.0.tgz", - "integrity": "sha512-s9h6I9NY3KcBjfuS28K6XNmrv/HNFSzlpVD6eYMXugZg3Y8jjI1lUzTeUMa0oKByCDtHfsIy5Ec7KgWRnC5gtg==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.1.tgz", + "integrity": "sha512-dRHYcs9LvG9cHgdPzjiI+/eS7e1xRhULrcyOx04RZQsszNJXU2SL9CyG60yLnge282Qq5nwTv+ieK2fH+WPZmA==", "dev": true, "requires": { "bluebird": "3.5.1", @@ -1894,21 +1295,21 @@ "dev": true, "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000746", + "caniuse-db": "1.0.30000766", "lodash.memoize": "4.1.2", "lodash.uniq": "4.5.0" } }, "caniuse-db": { - "version": "1.0.30000746", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000746.tgz", - "integrity": "sha1-UBCYxm9fu/Y0wC8lUIsF6ICZEPQ=", + "version": "1.0.30000766", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000766.tgz", + "integrity": "sha1-TJEao3R/ATiEUvpLknt4/PFDBoA=", "dev": true }, "caniuse-lite": { - "version": "1.0.30000746", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000746.tgz", - "integrity": "sha1-xk+Vo5Jc/TAgejCO12wa6W6gnqA=", + "version": "1.0.30000766", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000766.tgz", + "integrity": "sha1-iglcxeuZI8JwCM5NDbI+ZaPiiEM=", "dev": true }, "caseless": { @@ -1945,40 +1346,13 @@ } }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", - "dev": true, + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.2.2.tgz", + "integrity": "sha512-LvixLAQ4MYhbf7hgL4o5PeK32gJKvVzDRiSNIApDofQvyhl8adgG2lJVXn4+ekQoK7HL9RF8lqxwerpe0x2pCw==", "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } + "supports-color": "4.5.0" } }, "charenc": { @@ -2057,6 +1431,12 @@ "chalk": "1.1.3" }, "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -2098,9 +1478,9 @@ } }, "clone": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", - "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz", + "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=", "dev": true }, "clone-deep": { @@ -2126,7 +1506,7 @@ "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", "dev": true, "requires": { - "q": "1.5.0" + "q": "1.5.1" } }, "code-point-at": { @@ -2155,16 +1535,15 @@ "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", "dev": true, "requires": { - "clone": "1.0.2", - "color-convert": "1.9.0", + "clone": "1.0.3", + "color-convert": "1.9.1", "color-string": "0.3.0" } }, "color-convert": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", - "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", - "dev": true, + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "requires": { "color-name": "1.1.3" } @@ -2172,8 +1551,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "color-string": { "version": "0.3.0", @@ -2264,9 +1642,9 @@ "dev": true }, "compressible": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.11.tgz", - "integrity": "sha1-FnGKdd4oPtjmBAQWJaIGRYZ5fYo=", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", + "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", "dev": true, "requires": { "mime-db": "1.30.0" @@ -2280,7 +1658,7 @@ "requires": { "accepts": "1.3.4", "bytes": "3.0.0", - "compressible": "2.0.11", + "compressible": "2.0.12", "debug": "2.6.9", "on-headers": "1.0.1", "safe-buffer": "5.1.1", @@ -2334,9 +1712,9 @@ } }, "connect-history-api-fallback": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.4.0.tgz", - "integrity": "sha1-PbJPlz9LkjsOgvYZzg3wJBHKYj0=", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", "dev": true }, "console-browserify": { @@ -2405,9 +1783,9 @@ } }, "copy-webpack-plugin": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.2.0.tgz", - "integrity": "sha512-eZERim02YjJcepLjrToQMapOoRLfiXewJi9zJON6xXNNJSUhkGzL1L/yFjOufS0KxsnWUzc2szg9t8ZaZKJXAg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.2.1.tgz", + "integrity": "sha512-wZIe7EAcOrCQrZF2w6/bqloylIxeuPIope3Qt7ygJMFp4TqT0OZJoYwm/Uu36QMs9U+j6rOGrY8RupGiahE+Rg==", "dev": true, "requires": { "bluebird": "3.5.1", @@ -2459,7 +1837,7 @@ "integrity": "sha512-sA2/4+/PZ/KV6CKgjrVrrUVBKCkdDO02CUlQ0YKTQoYUwPYNOtOAcWlbYhd5v/1JqYaA6oZ4sDlOU4ppVw6Wbg==", "dev": true, "requires": { - "chalk": "2.1.0" + "chalk": "2.2.2" } }, "core-util-is": { @@ -2559,29 +1937,18 @@ "dev": true }, "cryptiles": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", - "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, "requires": { - "boom": "5.2.0" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.2.0" - } - } + "boom": "2.10.1" } }, "crypto-browserify": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", - "integrity": "sha512-Na7ZlwCOqoaW5RwUK1WpXws2kv8mNhWdTlzob0UXulk6G9BDbyiJaGTYBIX61Ozn9l1EPPJpICZb4DaOpT9NlQ==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { "browserify-cipher": "1.0.0", @@ -2593,7 +1960,8 @@ "inherits": "2.0.3", "pbkdf2": "3.0.14", "public-encrypt": "4.0.0", - "randombytes": "2.0.5" + "randombytes": "2.0.5", + "randomfill": "1.0.3" } }, "css-color-names": { @@ -2727,7 +2095,7 @@ "dev": true, "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000746", + "caniuse-db": "1.0.30000766", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "5.2.18", @@ -2779,7 +2147,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.31" + "es5-ext": "0.10.35" } }, "dashdash": { @@ -2789,6 +2157,14 @@ "dev": true, "requires": { "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "date-now": { @@ -2822,7 +2198,7 @@ "graceful-fs": "4.1.11", "mkpath": "0.1.0", "nopt": "3.0.6", - "q": "1.5.0", + "q": "1.5.1", "readable-stream": "1.1.14", "touch": "0.0.3" }, @@ -2891,14 +2267,6 @@ "requires": { "foreach": "2.0.5", "object-keys": "1.0.11" - }, - "dependencies": { - "object-keys": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", - "dev": true - } } }, "defined": { @@ -3177,15 +2545,15 @@ "integrity": "sha1-vnnA69zv7bW/KBF0CYAPpTus7/o=", "dev": true, "requires": { - "@types/node": "7.0.43", + "@types/node": "7.0.48", "electron-download": "3.3.0", "extract-zip": "1.6.5" }, "dependencies": { "@types/node": { - "version": "7.0.43", - "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.43.tgz", - "integrity": "sha512-7scYwwfHNppXvH/9JzakbVxk0o0QUILVk1Lv64GRaxwPuGpnF1QBiwdvhDpLcymb8BpomQL3KYoWKq3wUdDMhQ==", + "version": "7.0.48", + "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.48.tgz", + "integrity": "sha512-LLlXafM3BD52MH056tHxTXO8JFCnpJJQkdzIU3+m8ew+CXJY/5zIXgDNb4TK/QFvlI8QexLS5tL+sE0Qhegr1w==", "dev": true } } @@ -3202,7 +2570,7 @@ "minimist": "1.2.0", "nugget": "2.0.1", "path-exists": "2.1.0", - "rc": "1.2.1", + "rc": "1.2.2", "semver": "5.4.1", "sumchecker": "1.3.1" }, @@ -3251,7 +2619,7 @@ "integrity": "sha1-RX078kvJYHwGrUsettqkrMrcIQg=", "dev": true, "requires": { - "asar": "0.13.0", + "asar": "0.13.1", "debug": "2.6.9", "electron-download": "4.1.0", "electron-osx-sign": "0.4.7", @@ -3261,7 +2629,7 @@ "minimist": "1.2.0", "plist": "2.1.0", "rcedit": "0.9.0", - "resolve": "1.4.0", + "resolve": "1.5.0", "run-series": "1.1.4", "sanitize-filename": "1.6.1", "semver": "5.4.1" @@ -3279,7 +2647,7 @@ "minimist": "1.2.0", "nugget": "2.0.1", "path-exists": "3.0.0", - "rc": "1.2.1", + "rc": "1.2.2", "semver": "5.4.1", "sumchecker": "2.0.2" }, @@ -3354,9 +2722,9 @@ } }, "electron-to-chromium": { - "version": "1.3.26", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.26.tgz", - "integrity": "sha1-mWQnKUhhp02cfIK5Jg6jAejALWY=", + "version": "1.3.27", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz", + "integrity": "sha1-eOy4o5kGYYe7N07t412ccFZagD0=", "dev": true }, "elliptic": { @@ -3568,23 +2936,23 @@ } }, "es5-ext": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.31.tgz", - "integrity": "sha1-e7k4yVp/G59ygJLcCcQe3MOY7v4=", + "version": "0.10.35", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz", + "integrity": "sha1-GO6FjOajxFx9eekcFfzKnsVoSU8=", "dev": true, "requires": { - "es6-iterator": "2.0.1", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" } }, "es6-iterator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", - "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.31", + "es5-ext": "0.10.35", "es6-symbol": "3.1.1" } }, @@ -3595,8 +2963,8 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.31", - "es6-iterator": "2.0.1", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.3", "es6-set": "0.1.5", "es6-symbol": "3.1.1", "event-emitter": "0.3.5" @@ -3615,8 +2983,8 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.31", - "es6-iterator": "2.0.1", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", "event-emitter": "0.3.5" } @@ -3628,7 +2996,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.31" + "es5-ext": "0.10.35" } }, "es6-templates": { @@ -3648,8 +3016,8 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.31", - "es6-iterator": "2.0.1", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" } }, @@ -3662,8 +3030,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escope": { "version": "3.6.0", @@ -3718,7 +3085,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.31" + "es5-ext": "0.10.35" } }, "eventemitter3": { @@ -3901,6 +3268,12 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true } } }, @@ -3928,14 +3301,14 @@ } }, "extract-text-webpack-plugin": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.1.tgz", - "integrity": "sha512-zv0/Cg2mU8uMzeQQ3oyfJvZU4Iv/GbQYUIr/HU+8pZetT/0W3xj6XAbxoG4gsp8SbnYcFd4BOsCAZPl9NvplPw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", + "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", "requires": { - "async": "2.5.0", + "async": "2.6.0", "loader-utils": "1.1.0", "schema-utils": "0.3.0", - "webpack-sources": "1.0.1" + "webpack-sources": "1.0.2" } }, "extract-zip": { @@ -3993,6 +3366,11 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, "fastparse": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", @@ -4146,9 +3524,9 @@ "dev": true }, "form-data": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", - "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, "requires": { "asynckit": "0.4.0", @@ -4260,6 +3638,23 @@ "globule": "1.2.0" } }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true, + "optional": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "optional": true, + "requires": { + "is-property": "1.0.2" + } + }, "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", @@ -4356,6 +3751,14 @@ "dev": true, "requires": { "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "glob": { @@ -4509,19 +3912,31 @@ } }, "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", "dev": true }, "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", "dev": true, "requires": { - "ajv": "5.2.3", - "har-schema": "2.0.0" + "ajv": "4.11.8", + "har-schema": "1.0.5" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + } } }, "has": { @@ -4566,10 +3981,9 @@ "dev": true }, "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" }, "has-unicode": { "version": "2.0.1", @@ -4597,15 +4011,15 @@ } }, "hawk": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.0", - "sntp": "2.0.2" + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" } }, "he": { @@ -4625,9 +4039,9 @@ } }, "hoek": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", - "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", "dev": true }, "home-path": { @@ -4674,15 +4088,15 @@ "requires": { "es6-templates": "0.2.3", "fastparse": "1.1.1", - "html-minifier": "3.5.5", + "html-minifier": "3.5.6", "loader-utils": "1.1.0", "object-assign": "4.1.1" } }, "html-minifier": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.5.tgz", - "integrity": "sha512-g+1+NBycQI0fGnggd52JM8TRUweG7+9W2wrtjGitMAqc4G7maweAHvVAAjz9veHseIH3tYKE2lk2USGSoewIrQ==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.6.tgz", + "integrity": "sha512-88FjtKrlak2XjczhxrBomgzV4jmGzM3UnHRBScRkJcmcRum0kb+IwhVAETJ8AVp7j0p3xugjSaw9L+RmI5/QOA==", "requires": { "camel-case": "3.0.0", "clean-css": "4.1.9", @@ -4691,7 +4105,7 @@ "ncname": "1.0.0", "param-case": "2.1.1", "relateurl": "0.2.7", - "uglify-js": "3.1.3" + "uglify-js": "3.1.9" } }, "html-webpack-plugin": { @@ -4700,7 +4114,7 @@ "integrity": "sha1-f5xCG36pHsRg9WUn1430hO51N9U=", "requires": { "bluebird": "3.5.1", - "html-minifier": "3.5.5", + "html-minifier": "3.5.6", "loader-utils": "0.2.17", "lodash": "4.17.4", "pretty-error": "2.1.1", @@ -4828,20 +4242,20 @@ } }, "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "0.2.0", "jsprim": "1.4.1", "sshpk": "1.13.1" } }, "https-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, "https-proxy-agent": { @@ -4873,24 +4287,29 @@ "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", "dev": true, "requires": { - "postcss": "6.0.13" + "postcss": "6.0.14" }, "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "chalk": "2.1.0", + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "postcss": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz", + "integrity": "sha512-NJ1z0f+1offCgadPhz+DvGm5Mkci+mmV5BqD13S992o0Xk9eElxUfPPF+t2ksH5R/17gz4xVK8KWocUQ5o3Rog==", + "dev": true, + "requires": { + "chalk": "2.3.0", "source-map": "0.6.1", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "source-map": { @@ -4898,15 +4317,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } } } }, @@ -5063,13 +4473,13 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.10.0" + "binary-extensions": "1.11.0" } }, "is-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-builtin-module": { @@ -5153,6 +4563,19 @@ "is-extglob": "2.1.1" } }, + "is-my-json-valid": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", + "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==", + "dev": true, + "optional": true, + "requires": { + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" + } + }, "is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", @@ -5213,6 +4636,13 @@ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", "dev": true }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true, + "optional": true + }, "is-regex": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", @@ -5297,19 +4727,19 @@ "dev": true }, "istanbul-api": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.14.tgz", - "integrity": "sha1-JbxXAffGgMD//5E95G42GaOm5oA=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.1.tgz", + "integrity": "sha512-oFCwXvd65amgaPCzqrR+a2XjanS1MvpXN6l/MlMUTv6uiA1NOgGX+I0uyq8Lg3GDxsxPsaP1049krz3hIJ5+KA==", "dev": true, "requires": { - "async": "2.5.0", + "async": "2.6.0", "fileset": "2.0.3", "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.0.7", - "istanbul-lib-instrument": "1.8.0", - "istanbul-lib-report": "1.1.1", - "istanbul-lib-source-maps": "1.2.1", - "istanbul-reports": "1.1.2", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", "js-yaml": "3.7.0", "mkdirp": "0.5.1", "once": "1.4.0" @@ -5322,7 +4752,7 @@ "dev": true, "requires": { "convert-source-map": "1.5.0", - "istanbul-lib-instrument": "1.8.0", + "istanbul-lib-instrument": "1.9.1", "loader-utils": "0.2.17", "object-assign": "4.1.1" }, @@ -5348,18 +4778,18 @@ "dev": true }, "istanbul-lib-hook": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz", - "integrity": "sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", + "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.8.0.tgz", - "integrity": "sha1-ZvbJQhzJ7EcE928tsIS6kHiitTI=", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", + "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", "dev": true, "requires": { "babel-generator": "6.26.0", @@ -5372,37 +4802,65 @@ } }, "istanbul-lib-report": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", - "integrity": "sha512-tvF+YmCmH4thnez6JFX06ujIA19WPa9YUiwjc1uALF2cv5dmE3It8b5I8Ob7FHJ70H9Y5yF+TDkVa/mcADuw1Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", + "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", "dev": true, "requires": { "istanbul-lib-coverage": "1.1.1", "mkdirp": "0.5.1", "path-parse": "1.0.5", "supports-color": "3.2.3" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } } }, "istanbul-lib-source-maps": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", - "integrity": "sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", + "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", "dev": true, "requires": { - "debug": "2.6.9", + "debug": "3.1.0", "istanbul-lib-coverage": "1.1.1", "mkdirp": "0.5.1", "rimraf": "2.6.2", "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } } }, "istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha1-D7Lj9qqZIr085F0F2KtNXo4HvU8=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", + "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", "dev": true, "requires": { - "handlebars": "4.0.10" + "handlebars": "4.0.11" }, "dependencies": { "async": { @@ -5440,9 +4898,9 @@ } }, "handlebars": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz", - "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { "async": "1.5.2", @@ -5608,6 +5066,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, "requires": { "jsonify": "0.0.0" } @@ -5641,7 +5100,15 @@ "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true, + "optional": true }, "jsprim": { "version": "1.4.1", @@ -5653,6 +5120,14 @@ "extsprintf": "1.3.0", "json-schema": "0.2.3", "verror": "1.10.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "karma": { @@ -5739,7 +5214,7 @@ "integrity": "sha1-rmw8WKMTodALRRZMRVubhs4X+WA=", "dev": true, "requires": { - "resolve": "1.4.0" + "resolve": "1.5.0" } }, "karma-coverage-istanbul-reporter": { @@ -5748,7 +5223,7 @@ "integrity": "sha1-V2YmMzit6wAm9+Sseoml8FbFZCw=", "dev": true, "requires": { - "istanbul-api": "1.1.14" + "istanbul-api": "1.2.1" } }, "karma-jasmine": { @@ -5784,13 +5259,19 @@ "graceful-fs": "4.1.11" } }, + "killable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz", + "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=", + "dev": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.5" + "is-buffer": "1.1.6" } }, "klaw": { @@ -5831,168 +5312,6 @@ "promise": "7.3.1", "request": "2.81.0", "source-map": "0.5.7" - }, - "dependencies": { - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true, - "optional": true - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "optional": true, - "requires": { - "boom": "2.10.1" - } - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" - } - }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", - "dev": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "optional": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" - } - }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", - "dev": true, - "optional": true - }, - "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" - } - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "optional": true, - "requires": { - "hoek": "2.16.3" - } - } } }, "less-loader": { @@ -6014,6 +5333,15 @@ } } }, + "license-webpack-plugin": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.1.1.tgz", + "integrity": "sha512-TjKOyiC0exqd4Idy/4M8/DETR22dXBZks387DuS5LbslxHiMRXGx/Q2F/j9IUtvEoH5uFvt72vRgk/G6f8j3Dg==", + "dev": true, + "requires": { + "ejs": "2.5.7" + } + }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", @@ -6159,9 +5487,9 @@ } }, "loglevel": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.5.1.tgz", - "integrity": "sha1-GJB4yUq5BT7iFaCs2/JCROoPZQI=", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.0.tgz", + "integrity": "sha1-rgyqVhERSYxboTcj1vtjHSQAOTQ=", "dev": true }, "longest": { @@ -6267,7 +5595,7 @@ "requires": { "charenc": "0.0.2", "crypt": "0.0.2", - "is-buffer": "1.1.5" + "is-buffer": "1.1.6" } }, "md5.js": { @@ -6460,7 +5788,7 @@ "flush-write-stream": "1.0.2", "from2": "2.3.0", "parallel-transform": "1.1.0", - "pump": "1.0.2", + "pump": "1.0.3", "pumpify": "1.3.5", "stream-each": "1.2.2", "through2": "2.0.3" @@ -6515,7 +5843,7 @@ "requires": { "decompress-zip": "0.3.0", "fs-extra": "0.26.7", - "request": "2.83.0" + "request": "2.81.0" }, "dependencies": { "fs-extra": { @@ -6579,9 +5907,9 @@ "dev": true }, "nan": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", - "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", + "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", "dev": true, "optional": true }, @@ -6637,7 +5965,7 @@ "nopt": "3.0.6", "npmlog": "4.1.2", "osenv": "0.1.4", - "request": "2.83.0", + "request": "2.81.0", "rimraf": "2.6.2", "semver": "5.3.0", "tar": "2.2.1", @@ -6664,21 +5992,21 @@ } }, "node-libs-browser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.0.0.tgz", - "integrity": "sha1-o6WeyXAkmFtG6Vg3lkb5bEthZkY=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "dev": true, "requires": { "assert": "1.4.1", - "browserify-zlib": "0.1.4", + "browserify-zlib": "0.2.0", "buffer": "4.9.1", "console-browserify": "1.1.0", "constants-browserify": "1.0.0", - "crypto-browserify": "3.11.1", + "crypto-browserify": "3.12.0", "domain-browser": "1.1.7", "events": "1.1.1", - "https-browserify": "0.0.1", - "os-browserify": "0.2.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", "path-browserify": "0.0.0", "process": "0.11.10", "punycode": "1.4.1", @@ -6686,20 +6014,12 @@ "readable-stream": "2.3.3", "stream-browserify": "2.0.1", "stream-http": "2.7.2", - "string_decoder": "0.10.31", + "string_decoder": "1.0.3", "timers-browserify": "2.0.4", "tty-browserify": "0.0.0", "url": "0.11.0", "util": "0.10.3", "vm-browserify": "0.0.4" - }, - "dependencies": { - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } } }, "node-modules-path": { @@ -6709,9 +6029,9 @@ "dev": true }, "node-sass": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.3.tgz", - "integrity": "sha1-0JydEXlkEjnRuX/8YjH9zsU+FWg=", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.7.1.tgz", + "integrity": "sha512-WUG10FNj6E3bXpAy7f3bXVdLVUJuNn8pRbT4oo5ez9Zp5ZfqPFKsVJuDEEUmkpdyGa8P9JwifEr5dhNgZT2FpQ==", "dev": true, "optional": true, "requires": { @@ -6727,20 +6047,33 @@ "lodash.mergewith": "4.6.0", "meow": "3.7.0", "mkdirp": "0.5.1", - "nan": "2.7.0", + "nan": "2.8.0", "node-gyp": "3.6.2", "npmlog": "4.1.2", - "request": "2.83.0", + "request": "2.79.0", "sass-graph": "2.2.4", - "stdout-stream": "1.4.0" + "stdout-stream": "1.4.0", + "true-case-path": "1.0.2" }, "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true, + "optional": true + }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, - "optional": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -6749,10 +6082,65 @@ "supports-color": "2.0.0" } }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "optional": true, + "requires": { + "chalk": "1.1.3", + "commander": "2.11.0", + "is-my-json-valid": "2.16.1", + "pinkie-promise": "2.0.1" + } + }, + "qs": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", + "dev": true, + "optional": true + }, + "request": { + "version": "2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.11.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "2.0.6", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "qs": "6.3.2", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.4.3", + "uuid": "3.1.0" + } + }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", "dev": true, "optional": true } @@ -6882,7 +6270,7 @@ "minimist": "1.2.0", "pretty-bytes": "1.0.4", "progress-stream": "1.2.0", - "request": "2.83.0", + "request": "2.81.0", "single-line-log": "1.1.2", "throttleit": "0.0.2" } @@ -6923,9 +6311,9 @@ "dev": true }, "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", "dev": true }, "object.omit": { @@ -7025,9 +6413,9 @@ } }, "os-browserify": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", - "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, "os-homedir": { @@ -7089,9 +6477,9 @@ "dev": true }, "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", "dev": true }, "parallel-transform": { @@ -7119,8 +6507,8 @@ "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "dev": true, "requires": { - "asn1.js": "4.9.1", - "browserify-aes": "1.1.0", + "asn1.js": "4.9.2", + "browserify-aes": "1.1.1", "create-hash": "1.1.3", "evp_bytestokey": "1.0.3", "pbkdf2": "3.0.14" @@ -7273,9 +6661,9 @@ "dev": true }, "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", "dev": true }, "pify": { @@ -7369,6 +6757,12 @@ "supports-color": "3.2.3" }, "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -7389,6 +6783,21 @@ "dev": true } } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } } } }, @@ -7431,22 +6840,27 @@ "dev": true, "requires": { "balanced-match": "1.0.0", - "postcss": "6.0.13" + "postcss": "6.0.14" }, "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "chalk": "2.1.0", + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "postcss": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz", + "integrity": "sha512-NJ1z0f+1offCgadPhz+DvGm5Mkci+mmV5BqD13S992o0Xk9eElxUfPPF+t2ksH5R/17gz4xVK8KWocUQ5o3Rog==", + "dev": true, + "requires": { + "chalk": "2.3.0", "source-map": "0.6.1", "supports-color": "4.5.0" } @@ -7456,15 +6870,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } } } }, @@ -7658,24 +7063,29 @@ "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", "dev": true, "requires": { - "postcss": "6.0.13" + "postcss": "6.0.14" }, "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "chalk": "2.1.0", + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "postcss": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz", + "integrity": "sha512-NJ1z0f+1offCgadPhz+DvGm5Mkci+mmV5BqD13S992o0Xk9eElxUfPPF+t2ksH5R/17gz4xVK8KWocUQ5o3Rog==", + "dev": true, + "requires": { + "chalk": "2.3.0", "source-map": "0.6.1", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "source-map": { @@ -7683,15 +7093,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } } } }, @@ -7702,24 +7103,29 @@ "dev": true, "requires": { "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.13" + "postcss": "6.0.14" }, "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "chalk": "2.1.0", + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "postcss": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz", + "integrity": "sha512-NJ1z0f+1offCgadPhz+DvGm5Mkci+mmV5BqD13S992o0Xk9eElxUfPPF+t2ksH5R/17gz4xVK8KWocUQ5o3Rog==", + "dev": true, + "requires": { + "chalk": "2.3.0", "source-map": "0.6.1", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "source-map": { @@ -7727,15 +7133,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } } } }, @@ -7746,24 +7143,29 @@ "dev": true, "requires": { "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.13" + "postcss": "6.0.14" }, "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "chalk": "2.1.0", + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "postcss": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz", + "integrity": "sha512-NJ1z0f+1offCgadPhz+DvGm5Mkci+mmV5BqD13S992o0Xk9eElxUfPPF+t2ksH5R/17gz4xVK8KWocUQ5o3Rog==", + "dev": true, + "requires": { + "chalk": "2.3.0", "source-map": "0.6.1", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "source-map": { @@ -7771,15 +7173,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } } } }, @@ -7790,24 +7183,29 @@ "dev": true, "requires": { "icss-replace-symbols": "1.1.0", - "postcss": "6.0.13" + "postcss": "6.0.14" }, "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "chalk": "2.1.0", + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "postcss": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz", + "integrity": "sha512-NJ1z0f+1offCgadPhz+DvGm5Mkci+mmV5BqD13S992o0Xk9eElxUfPPF+t2ksH5R/17gz4xVK8KWocUQ5o3Rog==", + "dev": true, + "requires": { + "chalk": "2.3.0", "source-map": "0.6.1", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "source-map": { @@ -7815,15 +7213,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } } } }, @@ -7931,25 +7320,30 @@ "mime": "1.4.1", "minimatch": "3.0.4", "mkdirp": "0.5.1", - "postcss": "6.0.13", + "postcss": "6.0.14", "xxhashjs": "0.2.1" }, "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "chalk": "2.1.0", + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "postcss": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz", + "integrity": "sha512-NJ1z0f+1offCgadPhz+DvGm5Mkci+mmV5BqD13S992o0Xk9eElxUfPPF+t2ksH5R/17gz4xVK8KWocUQ5o3Rog==", + "dev": true, + "requires": { + "chalk": "2.3.0", "source-map": "0.6.1", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "source-map": { @@ -7957,15 +7351,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } } } }, @@ -8050,6 +7435,12 @@ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", "dev": true }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "dev": true + }, "readable-stream": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", @@ -8111,9 +7502,9 @@ "integrity": "sha1-myIXQXCaTGLVzVPGqt1UpxE36V8=", "dev": true, "requires": { - "@types/node": "6.0.89", + "@types/node": "6.0.92", "@types/q": "0.0.32", - "@types/selenium-webdriver": "2.53.42", + "@types/selenium-webdriver": "2.53.43", "blocking-proxy": "0.0.5", "chalk": "1.1.3", "glob": "7.1.2", @@ -8129,9 +7520,15 @@ }, "dependencies": { "@types/node": { - "version": "6.0.89", - "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.89.tgz", - "integrity": "sha512-Z/67L97+6H1qJiEEHSN1SQapkWjDss1D90rAnFcQ6UxKkah9juzotK5UNEP1bDv/0lJ3NAQTnVfc/JWdgCGruA==", + "version": "6.0.92", + "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.92.tgz", + "integrity": "sha512-awEYSSTn7dauwVCYSx2CJaPTu0Z1Ht2oR1b2AD3CYao6ZRb+opb6EL43fzmD7eMFgMHzTBWSUzlWSD+S8xN0Nw==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, "chalk": { @@ -8212,9 +7609,9 @@ } }, "pump": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.2.tgz", - "integrity": "sha1-Oz7mUS+U8OV1U4wXmV+fFpkKXVE=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", "dev": true, "requires": { "end-of-stream": "1.4.0", @@ -8229,7 +7626,7 @@ "requires": { "duplexify": "3.5.1", "inherits": "2.0.3", - "pump": "1.0.2" + "pump": "1.0.3" } }, "punycode": { @@ -8239,9 +7636,9 @@ "dev": true }, "q": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", - "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, "qjobs": { @@ -8251,9 +7648,9 @@ "dev": true }, "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", "dev": true }, "query-string": { @@ -8309,7 +7706,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.5" + "is-buffer": "1.1.6" } } } @@ -8320,7 +7717,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.5" + "is-buffer": "1.1.6" } } } @@ -8334,6 +7731,16 @@ "safe-buffer": "5.1.1" } }, + "randomfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz", + "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==", + "dev": true, + "requires": { + "randombytes": "2.0.5", + "safe-buffer": "5.1.1" + } + }, "range-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", @@ -8359,9 +7766,9 @@ "dev": true }, "rc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz", + "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", "dev": true, "requires": { "deep-extend": "0.4.2", @@ -8594,28 +8001,28 @@ } }, "request": { - "version": "2.83.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", "dev": true, "requires": { - "aws-sign2": "0.7.0", + "aws-sign2": "0.6.0", "aws4": "1.6.0", "caseless": "0.12.0", "combined-stream": "1.0.5", "extend": "3.0.1", "forever-agent": "0.6.1", - "form-data": "2.3.1", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", "is-typedarray": "1.0.0", "isstream": "0.1.2", "json-stringify-safe": "5.0.1", "mime-types": "2.1.17", "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", + "performance-now": "0.2.0", + "qs": "6.4.0", "safe-buffer": "5.1.1", "stringstream": "0.0.5", "tough-cookie": "2.3.3", @@ -8648,9 +8055,9 @@ "dev": true }, "resolve": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", - "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", "dev": true, "requires": { "path-parse": "1.0.5" @@ -8755,7 +8162,7 @@ "integrity": "sha512-c3/Zc+iW+qqDip6kXPYLEgsAu2lf4xz0EZDplB7EmSUMda12U1sGJPetH55B/j9eu0bTtKzKlNPWWyYC7wFNyQ==", "dev": true, "requires": { - "async": "2.5.0", + "async": "2.6.0", "clone-deep": "0.3.0", "loader-utils": "1.1.0", "lodash.tail": "4.1.1", @@ -8790,7 +8197,7 @@ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", "requires": { - "ajv": "5.2.3" + "ajv": "5.3.0" } }, "script-loader": { @@ -8866,8 +8273,7 @@ "semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "dev": true + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" }, "semver-dsl": { "version": "1.0.1", @@ -8978,7 +8384,7 @@ "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", "dev": true, "requires": { - "is-buffer": "1.1.5" + "is-buffer": "1.1.6" } } } @@ -9023,12 +8429,12 @@ } }, "sntp": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.0.2.tgz", - "integrity": "sha1-UGQRDwr4X3z9t9a2ekACjOUrSys=", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, "requires": { - "hoek": "4.2.0" + "hoek": "2.16.3" } }, "socket.io": { @@ -9202,7 +8608,7 @@ "faye-websocket": "0.11.1", "inherits": "2.0.3", "json3": "3.3.2", - "url-parse": "1.1.9" + "url-parse": "1.2.0" }, "dependencies": { "faye-websocket": { @@ -9360,6 +8766,14 @@ "getpass": "0.1.7", "jsbn": "0.1.1", "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "ssri": { @@ -9432,14 +8846,6 @@ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -9451,6 +8857,14 @@ "strip-ansi": "3.0.1" } }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -9572,12 +8986,11 @@ } }, "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "requires": { - "has-flag": "1.0.0" + "has-flag": "2.0.0" } }, "svgo": { @@ -9730,8 +9143,7 @@ "tree-kill": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz", - "integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg==", - "dev": true + "integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg==" }, "trim-newlines": { "version": "1.0.0", @@ -9745,6 +9157,32 @@ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, + "true-case-path": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", + "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", + "dev": true, + "optional": true, + "requires": { + "glob": "6.0.4" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "dev": true, + "optional": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, "truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", @@ -9772,6 +9210,12 @@ "yn": "2.0.0" }, "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -9811,6 +9255,18 @@ } } }, + "tsickle": { + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.24.1.tgz", + "integrity": "sha512-XloFQZhVhgjpQsi3u2ORNRJvuID5sflOg6HfP093IqAbhE1+fIUXznULpdDwHgG4p+v8w78KdHruQtkWUKx5AQ==", + "dev": true, + "requires": { + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "source-map": "0.5.7", + "source-map-support": "0.4.18" + } + }, "tslib": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.0.tgz", @@ -9828,21 +9284,19 @@ "diff": "3.4.0", "glob": "7.1.2", "minimatch": "3.0.4", - "resolve": "1.4.0", + "resolve": "1.5.0", "semver": "5.4.1", "tslib": "1.8.0", - "tsutils": "2.12.1" - }, - "dependencies": { - "tsutils": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.12.1.tgz", - "integrity": "sha1-9Nlc4zkciXHkblTEzw7bCiHdWyQ=", - "dev": true, - "requires": { - "tslib": "1.8.0" - } - } + "tsutils": "2.12.2" + } + }, + "tsutils": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.12.2.tgz", + "integrity": "sha1-rVikhl0X7D3bZjG2ylO+FKVlb/M=", + "dev": true, + "requires": { + "tslib": "1.8.0" } }, "tty-browserify": { @@ -9890,12 +9344,19 @@ "dev": true }, "uglify-js": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.3.tgz", - "integrity": "sha512-5ZUOgufCHjN2mBBLfz63UtWTP6va2sSzBpNCM+/iqI6RnPzEhANmB0EKiKBYdQbc3v7KeomXJ2DJx0Xq9gvUvA==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.9.tgz", + "integrity": "sha512-ari2E89bD7f+fMU173NgF12JBcOhgoxeyuCs97h5K58IBENrnG9eVj2lFadrOPdqf0KifsxVmUQfzA2cHNxCZQ==", "requires": { "commander": "2.11.0", - "source-map": "0.5.7" + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } } }, "uglify-to-browserify": { @@ -9905,6 +9366,41 @@ "dev": true, "optional": true }, + "uglifyjs-webpack-plugin": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.0.0.tgz", + "integrity": "sha512-23qmtiLm1X7O0XVSZ54W7XGHykPss+2lo3RYC9zSzK3DDT5W27woZpDFDKguDCnG1RIX8cDnmy5j+dtXxJCA/Q==", + "dev": true, + "requires": { + "cacache": "10.0.1", + "find-cache-dir": "1.0.0", + "schema-utils": "0.3.0", + "source-map": "0.5.7", + "uglify-es": "3.1.9", + "webpack-sources": "1.0.2", + "worker-farm": "1.5.2" + }, + "dependencies": { + "uglify-es": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.1.9.tgz", + "integrity": "sha512-wVSiJKHDgDDFmxTVVvnbAH6IpamAFHYDI+5JvwPdaqIMnk8kRTX2JKwq1Fx7gb2+Jj5Dus8kzvIpKkWOMNU51w==", + "dev": true, + "requires": { + "commander": "2.11.0", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + } + } + }, "ultron": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", @@ -10004,9 +9500,9 @@ } }, "url-parse": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.9.tgz", - "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", + "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", "dev": true, "requires": { "querystringify": "1.0.0", @@ -10130,6 +9626,14 @@ "assert-plus": "1.0.0", "core-util-is": "1.0.2", "extsprintf": "1.3.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "vlq": { @@ -10158,7 +9662,7 @@ "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", "dev": true, "requires": { - "async": "2.5.0", + "async": "2.6.0", "chokidar": "1.7.0", "graceful-fs": "4.1.11" } @@ -10178,7 +9682,7 @@ "integrity": "sha1-gcUzqeM9W/tZe05j4s2yW1R3dRU=", "dev": true, "requires": { - "@types/selenium-webdriver": "2.53.42", + "@types/selenium-webdriver": "2.53.43", "selenium-webdriver": "2.53.3" }, "dependencies": { @@ -10237,13 +9741,19 @@ "glob": "7.1.2", "ini": "1.3.4", "minimist": "1.2.0", - "q": "1.5.0", - "request": "2.83.0", + "q": "1.5.1", + "request": "2.81.0", "rimraf": "2.6.2", "semver": "5.4.1", "xml2js": "0.4.19" }, "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -10295,17 +9805,17 @@ } }, "webpack": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.3.0.tgz", - "integrity": "sha1-zi+eB2Vmq6kfdIhxM6iD/X2hh7w=", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.8.1.tgz", + "integrity": "sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==", "dev": true, "requires": { - "acorn": "5.1.2", + "acorn": "5.2.1", "acorn-dynamic-import": "2.0.2", - "ajv": "5.2.3", - "ajv-keywords": "2.1.0", - "async": "2.5.0", - "enhanced-resolve": "3.3.0", + "ajv": "5.3.0", + "ajv-keywords": "2.1.1", + "async": "2.6.0", + "enhanced-resolve": "3.4.1", "escope": "3.6.0", "interpret": "1.0.4", "json-loader": "0.5.4", @@ -10314,20 +9824,20 @@ "loader-utils": "1.1.0", "memory-fs": "0.4.1", "mkdirp": "0.5.1", - "node-libs-browser": "2.0.0", + "node-libs-browser": "2.1.0", "source-map": "0.5.7", - "supports-color": "3.2.3", + "supports-color": "4.5.0", "tapable": "0.2.8", "uglifyjs-webpack-plugin": "0.4.6", "watchpack": "1.4.0", - "webpack-sources": "1.0.1", - "yargs": "6.6.0" + "webpack-sources": "1.0.2", + "yargs": "8.0.2" }, "dependencies": { - "ajv-keywords": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz", - "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=", + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "camelcase": { @@ -10347,6 +9857,113 @@ "wordwrap": "0.0.2" } }, + "enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "object-assign": "4.1.1", + "tapable": "0.2.8" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, "uglify-js": { "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", @@ -10380,9 +9997,15 @@ "requires": { "source-map": "0.5.7", "uglify-js": "2.8.29", - "webpack-sources": "1.0.1" + "webpack-sources": "1.0.2" } }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, "wordwrap": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", @@ -10390,30 +10013,30 @@ "dev": true }, "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "dev": true, "requires": { - "camelcase": "3.0.0", + "camelcase": "4.1.0", "cliui": "3.2.0", "decamelize": "1.2.0", "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", "require-directory": "2.1.1", "require-main-filename": "1.0.1", "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", "y18n": "3.2.1", - "yargs-parser": "4.2.1" + "yargs-parser": "7.0.0" }, "dependencies": { "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "cliui": { @@ -10425,23 +10048,36 @@ "string-width": "1.0.2", "strip-ansi": "3.0.1", "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } } } } }, "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "dev": true, "requires": { - "camelcase": "3.0.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true } } @@ -10533,31 +10169,50 @@ } } }, + "webpack-dev-middleware": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz", + "integrity": "sha1-007++y7dp+HTtdvgcolRMhllFwk=", + "dev": true, + "requires": { + "memory-fs": "0.4.1", + "mime": "1.4.1", + "path-is-absolute": "1.0.1", + "range-parser": "1.2.0", + "time-stamp": "2.0.0" + } + }, "webpack-dev-server": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.5.0.tgz", - "integrity": "sha1-TTanKLA7iyr6SO0wJCiEfOooQK0=", + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.9.4.tgz", + "integrity": "sha512-thrqC0EQEoSjXeYgP6pUXcUCZ+LNrKsDPn+mItLnn5VyyNZOJKd06hUP5vqkYwL8nWWXsii0loSF9NHNccT6ow==", "dev": true, "requires": { "ansi-html": "0.0.7", + "array-includes": "3.0.3", "bonjour": "3.5.0", "chokidar": "1.7.0", "compression": "1.7.1", - "connect-history-api-fallback": "1.4.0", + "connect-history-api-fallback": "1.5.0", + "debug": "3.1.0", "del": "3.0.0", "express": "4.16.2", "html-entities": "1.2.1", "http-proxy-middleware": "0.17.4", + "import-local": "0.1.1", "internal-ip": "1.2.0", - "opn": "4.0.2", + "ip": "1.1.5", + "killable": "1.0.0", + "loglevel": "1.6.0", + "opn": "5.1.0", "portfinder": "1.0.13", "selfsigned": "1.10.1", "serve-index": "1.9.1", "sockjs": "0.3.18", - "sockjs-client": "1.1.2", + "sockjs-client": "1.1.4", "spdy": "3.4.7", "strip-ansi": "3.0.1", - "supports-color": "3.2.3", + "supports-color": "4.5.0", "webpack-dev-middleware": "1.12.0", "yargs": "6.6.0" }, @@ -10568,50 +10223,13 @@ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", "dev": true }, - "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { - "websocket-driver": "0.7.0" - } - }, - "opn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", - "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "pinkie-promise": "2.0.1" - } - }, - "sockjs-client": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.2.tgz", - "integrity": "sha1-8CEqhVDkyUaMjM6u79LjSTwDOtU=", - "dev": true, - "requires": { - "debug": "2.6.9", - "eventsource": "0.1.6", - "faye-websocket": "0.11.1", - "inherits": "2.0.3", - "json3": "3.3.2", - "url-parse": "1.1.9" - } - }, - "webpack-dev-middleware": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz", - "integrity": "sha1-007++y7dp+HTtdvgcolRMhllFwk=", - "dev": true, - "requires": { - "memory-fs": "0.4.1", - "mime": "1.4.1", - "path-is-absolute": "1.0.1", - "range-parser": "1.2.0", - "time-stamp": "2.0.0" + "ms": "2.0.0" } }, "yargs": { @@ -10656,12 +10274,28 @@ } }, "webpack-sources": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz", - "integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.2.tgz", + "integrity": "sha512-Y7UddMCv6dGjy81nBv6nuQeFFIt5aalHm7uyDsAsW86nZwfOVPGRr3XMjEQLaT+WKo8rlzhC9qtbJvYKLtAwaw==", "requires": { "source-list-map": "2.0.0", - "source-map": "0.5.7" + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "webpack-subresource-integrity": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.0.1.tgz", + "integrity": "sha1-H8CdRkl9pm5GdDoqUdLMOFucsO0=", + "dev": true, + "requires": { + "webpack-core": "0.6.9" } }, "websocket-driver": { @@ -10671,13 +10305,13 @@ "dev": true, "requires": { "http-parser-js": "0.4.9", - "websocket-extensions": "0.1.2" + "websocket-extensions": "0.1.3" } }, "websocket-extensions": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.2.tgz", - "integrity": "sha1-Dhh4HeYpoYMIzhSBZQ9n/6JpOl0=", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", "dev": true }, "when": { @@ -10729,9 +10363,9 @@ "dev": true }, "worker-farm": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.1.tgz", - "integrity": "sha512-T5NH6Wqsd8MwGD4AK8BBllUy6LmHaqjEOyo/YIUEegZui6/v5Bqde//3jwyE3PGiGYMmWi06exFBi5LNhhPFNw==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz", + "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", "dev": true, "requires": { "errno": "0.1.4", diff --git a/web/package.json b/web/package.json index 9e5b8487..47282523 100644 --- a/web/package.json +++ b/web/package.json @@ -46,19 +46,18 @@ "e2e": "protractor ./protractor.conf.js" }, "dependencies": { - "@amcharts/amcharts3-angular": "^1.5.0", - "@angular/animations": "^5.0.0", - "@angular/cdk": "^2.0.0-beta.12", - "@angular/common": "5.0.0", - "@angular/compiler": "5.0.0", - "@angular/core": "5.0.0", - "@angular/forms": "5.0.0", - "@angular/http": "5.0.0", - "@angular/material": "^2.0.0-beta.12", - "@angular/platform-browser": "5.0.0", - "@angular/platform-browser-dynamic": "5.0.0", - "@angular/router": "5.0.0", - "@ngtools/webpack": "^1.7.4", + "@angular/animations": "5.0.2", + "@angular/cdk": "5.0.0-rc0", + "@angular/common": "5.0.2", + "@angular/compiler": "5.0.2", + "@angular/core": "5.0.2", + "@angular/forms": "5.0.2", + "@angular/http": "5.0.2", + "@angular/material": "^5.0.0-rc0", + "@angular/platform-browser": "5.0.2", + "@angular/platform-browser-dynamic": "5.0.2", + "@angular/router": "5.0.2", + "@ngtools/webpack": "1.8.2", "core-js": "2.4.1", "enhanced-resolve": "3.3.0", "extract-text-webpack-plugin": "^3.0.1", @@ -67,8 +66,8 @@ "zone.js": "0.8.12" }, "devDependencies": { - "@angular/cli": "^1.5.0", - "@angular/compiler-cli": "5.0.0", + "@angular/cli": "^1.5.2", + "@angular/compiler-cli": "5.0.2", "@types/bluebird": "3.5.8", "@types/core-js": "0.9.36", "@types/jasmine": "2.5.53", @@ -114,8 +113,8 @@ "typescript": "2.4.2", "url-loader": "0.5.9", "webdriver-manager": "12.0.6", - "webpack": "3.3.0", - "webpack-dev-server": "2.5.0" + "webpack": "3.8.1", + "webpack-dev-server": "2.9.4" }, "license": "SEE LICENSE IN LICENSE.md" } diff --git a/web/src/app/app.component.scss b/web/src/app/app.component.scss index 368fc631..710976af 100644 --- a/web/src/app/app.component.scss +++ b/web/src/app/app.component.scss @@ -1,5 +1,5 @@ .container { - height: 96vmax; + height: 100vmax; } .main { @@ -14,6 +14,12 @@ .sidebar { width: 14%; + position: fixed; + margin-top: 64px; +} + +.navbar { + position: fixed; } .dashboard-highlight { diff --git a/web/src/app/pages/dashboard/dashboard.component.html b/web/src/app/pages/dashboard/dashboard.component.html index e830e491..3d986445 100644 --- a/web/src/app/pages/dashboard/dashboard.component.html +++ b/web/src/app/pages/dashboard/dashboard.component.html @@ -1,17 +1,63 @@ - - - - - - - - - - - - + + + + Shiba Inu + Dog Breed + + + HI + + + + + + + + + + Shiba Inu + Dog Breed + + + HI + + + + + + lkasdjf; la + + + + + + Shiba Inu + Dog Breed + + + HI + + + + + + + + + + Shiba Inu + Dog Breed + + + HI + + + + + + - + \ No newline at end of file diff --git a/web/src/app/pages/dashboard/dashboard.component.scss b/web/src/app/pages/dashboard/dashboard.component.scss index f0d02af2..221bc7d4 100644 --- a/web/src/app/pages/dashboard/dashboard.component.scss +++ b/web/src/app/pages/dashboard/dashboard.component.scss @@ -1,10 +1,9 @@ -app-trade-history, app-orders, app-price-history, app-my-orders { - height:100%; - width:100%; - margin: 15px; +.full-card { + margin: 10px; + width: 100%; } -.my-orders-card, .orders-card,.trade-history-card,.price-history-card { - height: 90%; - width:90%; + ::ng-deep mat-grid-tile.mat-grid-tile .mat-figure { + align-items: initial; + /*vertical alignment*/ } \ No newline at end of file diff --git a/web/src/app/pages/home/home.component.html b/web/src/app/pages/home/home.component.html index af3741e1..64508b2a 100644 --- a/web/src/app/pages/home/home.component.html +++ b/web/src/app/pages/home/home.component.html @@ -1 +1,16 @@ -

Howdy!

\ No newline at end of file + + +
+ Shiba Inu + Dog Breed +
+ +

+ The Shiba Inu is the smallest of the six original and distinct spitz breeds of dog from Japan. A small, agile dog that copes very well with mountainous terrain, the Shiba Inu was originally bred for hunting. +

+
+ + + + +
\ No newline at end of file diff --git a/web/src/app/pages/home/home.component.scss b/web/src/app/pages/home/home.component.scss index e69de29b..f97c36b4 100644 --- a/web/src/app/pages/home/home.component.scss +++ b/web/src/app/pages/home/home.component.scss @@ -0,0 +1,3 @@ +.example-card { + width: 400px; +} \ No newline at end of file diff --git a/web/src/app/services/sidebar/sidebar.service.ts b/web/src/app/services/sidebar/sidebar.service.ts index 0c3d6479..3309d1e1 100644 --- a/web/src/app/services/sidebar/sidebar.service.ts +++ b/web/src/app/services/sidebar/sidebar.service.ts @@ -20,7 +20,9 @@ export class SidebarService { * @returns Promise */ public open(): Promise { - return this.sidenav.open(); + this.sidenav.open(); + + return; } /** @@ -29,7 +31,8 @@ export class SidebarService { * @returns Promise */ public close(): Promise { - return this.sidenav.close(); + this.sidenav.close(); + return; } /** @@ -40,6 +43,7 @@ export class SidebarService { * @returns {Promise} */ public toggle(isOpen?: boolean): Promise { - return this.sidenav.toggle(isOpen); + this.sidenav.toggle(isOpen); + return; } } \ No newline at end of file diff --git a/web/src/styles.scss b/web/src/styles.scss index 6e0766d2..75f8ede2 100644 --- a/web/src/styles.scss +++ b/web/src/styles.scss @@ -27,23 +27,21 @@ body { margin: 0px auto !important; } - .mat-expansion-panel-header-title, - .mat-expansion-panel-header-description { - flex-basis: 0; +.mat-expansion-panel-header-title, +.mat-expansion-panel-header-description { + flex-basis: 0; } .mat-expansion-panel-header-description { - justify-content: space-between; - align-items: center; + justify-content: space-between; + align-items: center; } .mat-expansion-panel-spacing { margin: 16px auto !important; width: 85%; - } - .mat-drawer { background: none !important; } diff --git a/web/tsconfig.json b/web/tsconfig.json index cfec3fdb..e9043429 100644 --- a/web/tsconfig.json +++ b/web/tsconfig.json @@ -1,6 +1,7 @@ { "compileOnSave": false, "compilerOptions": { + "module":"system", "outDir": "./dist/out-tsc", "baseUrl": "src", "sourceMap": true, @@ -8,7 +9,7 @@ "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, - "allowJs": true, + "allowJs": false, "target": "es5", "paths": { "environments": [ diff --git a/web/webpack.config.js b/web/webpack.config.js index 91bb465e..674a6ecc 100644 --- a/web/webpack.config.js +++ b/web/webpack.config.js @@ -9,7 +9,7 @@ const postcssUrl = require('postcss-url'); const { NoEmitOnErrorsPlugin, LoaderOptionsPlugin, DefinePlugin, HashedModuleIdsPlugin } = require('webpack'); const { GlobCopyWebpackPlugin, BaseHrefWebpackPlugin } = require('@angular/cli/plugins/webpack'); const { CommonsChunkPlugin, UglifyJsPlugin } = require('webpack').optimize; -const { AotPlugin } = require('@ngtools/webpack'); +const { AngularCompilerPlugin } = require('@ngtools/webpack'); const nodeModules = path.join(process.cwd(), 'node_modules'); const entryPoints = ["inline", "polyfills", "sw-register", "styles", "vendor", "main"]; @@ -139,7 +139,7 @@ function getPlugins() { "hashDigestLength": 4 })); - plugins.push(new AotPlugin({ + plugins.push(new AngularCompilerPlugin({ "mainPath": "main.ts", "hostReplacementPaths": { "environments/index.ts": "environments/index.prod.ts" @@ -160,7 +160,7 @@ function getPlugins() { })); } else { - plugins.push(new AotPlugin({ + plugins.push(new AngularCompilerPlugin({ "mainPath": "main.ts", "hostReplacementPaths": { "environments/index.ts": "environments/index.ts" @@ -364,7 +364,7 @@ module.exports = { }) }, { - "test": /\.ts$/, + "test": /(?:\.ngfactory\.js|\.ngstyle\.js|\.ts)$/, "loader": "@ngtools/webpack" } ] From a073d5c4397bf84042bed301b1b32ab2e917362d Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Mon, 20 Nov 2017 17:50:07 +1100 Subject: [PATCH 19/30] Fixes navbar to top Fixes footer buttons for cards --- web/package-lock.json | 19 +++++------ web/src/app/app.component.html | 2 +- web/src/app/app.component.scss | 5 ++- .../pages/dashboard/dashboard.component.html | 33 +++++++++---------- .../pages/dashboard/dashboard.component.scss | 5 +++ 5 files changed, 34 insertions(+), 30 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index 05ec382c..f390605a 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -8846,6 +8846,14 @@ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -8857,14 +8865,6 @@ "strip-ansi": "3.0.1" } }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -9363,8 +9363,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true + "dev": true }, "uglifyjs-webpack-plugin": { "version": "1.0.0", diff --git a/web/src/app/app.component.html b/web/src/app/app.component.html index da75cf50..45e95938 100644 --- a/web/src/app/app.component.html +++ b/web/src/app/app.component.html @@ -1,4 +1,4 @@ - + diff --git a/web/src/app/app.component.scss b/web/src/app/app.component.scss index 710976af..0e4c3e4f 100644 --- a/web/src/app/app.component.scss +++ b/web/src/app/app.component.scss @@ -10,16 +10,19 @@ min-width: 86%; margin: 10px auto; overflow-x: hidden; + margin-top:4rem; } .sidebar { width: 14%; position: fixed; - margin-top: 64px; + margin-top: 4rem; } .navbar { position: fixed; + width: 100%; + z-index: 2; } .dashboard-highlight { diff --git a/web/src/app/pages/dashboard/dashboard.component.html b/web/src/app/pages/dashboard/dashboard.component.html index 3d986445..92996ea5 100644 --- a/web/src/app/pages/dashboard/dashboard.component.html +++ b/web/src/app/pages/dashboard/dashboard.component.html @@ -1,16 +1,16 @@ - + Shiba Inu Dog Breed - + HI - + - + @@ -23,10 +23,9 @@ HI - + - - lkasdjf; la + @@ -35,29 +34,27 @@ Shiba Inu Dog Breed - + HI - + + - + - Shiba Inu + 4 Inu Dog Breed - + HI - + - + - - - - \ No newline at end of file + \ No newline at end of file diff --git a/web/src/app/pages/dashboard/dashboard.component.scss b/web/src/app/pages/dashboard/dashboard.component.scss index 221bc7d4..852afb6f 100644 --- a/web/src/app/pages/dashboard/dashboard.component.scss +++ b/web/src/app/pages/dashboard/dashboard.component.scss @@ -6,4 +6,9 @@ ::ng-deep mat-grid-tile.mat-grid-tile .mat-figure { align-items: initial; /*vertical alignment*/ +} + +.mat-card-footer { + position: absolute; + bottom: 24px; } \ No newline at end of file From 83b1e8c51409c7f0f230ddf23c22fa18ff31ffe5 Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Mon, 20 Nov 2017 17:51:55 +1100 Subject: [PATCH 20/30] Changes some values to REM as a test gives the navbar a shadow --- web/src/app/app.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/app/app.component.html b/web/src/app/app.component.html index 45e95938..38e7bb27 100644 --- a/web/src/app/app.component.html +++ b/web/src/app/app.component.html @@ -1,4 +1,4 @@ - + From a20a88680d757c4a968bfa6850f3aeacef087310 Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Mon, 20 Nov 2017 17:59:38 +1100 Subject: [PATCH 21/30] New items on the sidebar for external links and donations --- web/src/app/app.component.html | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/web/src/app/app.component.html b/web/src/app/app.component.html index 38e7bb27..7537aaea 100644 --- a/web/src/app/app.component.html +++ b/web/src/app/app.component.html @@ -23,9 +23,21 @@ settings 

Settings

+ + bug_report  +

Report a bug

+
+ + grade  +

GitHub

+
+ + thumb_up  +

Donate

+
+ -
- +
From ffd6d392fd5705efd916eea3b92a06d1005fdd9c Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Tue, 21 Nov 2017 17:30:08 +1100 Subject: [PATCH 22/30] Removes sidebar component Updates homepage Updates navigation Updates text font family --- web/src/app/app.component.html | 24 +++++++++----- web/src/app/app.module.ts | 2 -- web/src/app/pages/home/home.component.html | 21 +++---------- .../app/shared/sidebar/sidebar.component.html | 0 .../app/shared/sidebar/sidebar.component.scss | 22 ------------- .../shared/sidebar/sidebar.component.spec.ts | 25 --------------- .../app/shared/sidebar/sidebar.component.ts | 31 ------------------- web/src/styles.scss | 1 + 8 files changed, 23 insertions(+), 103 deletions(-) delete mode 100644 web/src/app/shared/sidebar/sidebar.component.html delete mode 100644 web/src/app/shared/sidebar/sidebar.component.scss delete mode 100644 web/src/app/shared/sidebar/sidebar.component.spec.ts delete mode 100644 web/src/app/shared/sidebar/sidebar.component.ts diff --git a/web/src/app/app.component.html b/web/src/app/app.component.html index 7537aaea..2b2811bd 100644 --- a/web/src/app/app.component.html +++ b/web/src/app/app.component.html @@ -24,17 +24,27 @@

Settings

- bug_report  -

Report a bug

-
+ thumb_up  +

Donate

+ grade  -

GitHub

+ +

GitHub

+
+
+ + view_agenda  + +

Trello

+
- thumb_up  -

Donate

-
+ bug_report  + +

Report a bug

+
+ diff --git a/web/src/app/app.module.ts b/web/src/app/app.module.ts index bae632c9..a6687f5a 100644 --- a/web/src/app/app.module.ts +++ b/web/src/app/app.module.ts @@ -35,7 +35,6 @@ import { DashboardComponent } from './pages/dashboard/dashboard.component'; import { WalletComponent } from './pages/wallet/wallet.component'; //Shared import { NavbarComponent } from './shared/navbar/navbar.component'; -import { SidebarComponent } from './shared/sidebar/sidebar.component'; import { ExchangeCurrencyTickerComponent } from './shared/exchange-currency-ticker/exchange-currency-ticker.component'; import { AllEnabledCurrencyTickersComponent } from './shared/all-enabled-currency-tickers/all-enabled-currency-tickers.component'; import { ThemePickerComponent } from './shared/theme-picker/theme-picker'; @@ -73,7 +72,6 @@ import { SelectedCurrencyComponent } from './shared/selected-currency/selected-c DashboardComponent, ExchangeCurrencyTickerComponent, AllEnabledCurrencyTickersComponent, - SidebarComponent, WalletComponent, ThemePickerComponent, TradeHistoryComponent, diff --git a/web/src/app/pages/home/home.component.html b/web/src/app/pages/home/home.component.html index 64508b2a..d900709c 100644 --- a/web/src/app/pages/home/home.component.html +++ b/web/src/app/pages/home/home.component.html @@ -1,16 +1,5 @@ - - -
- Shiba Inu - Dog Breed -
- -

- The Shiba Inu is the smallest of the six original and distinct spitz breeds of dog from Japan. A small, agile dog that copes very well with mountainous terrain, the Shiba Inu was originally bred for hunting. -

-
- - - - -
\ No newline at end of file + +

Welcome to GoCryptoTrader

+

GoCryptoTrader is a multi-currency, multi-exchange trader for cryptocurrencies

+

It is under active development and you can see its development progress by clicking the trello button to the left

+

If you like what you see, consider clicking the donation button to the left

\ No newline at end of file diff --git a/web/src/app/shared/sidebar/sidebar.component.html b/web/src/app/shared/sidebar/sidebar.component.html deleted file mode 100644 index e69de29b..00000000 diff --git a/web/src/app/shared/sidebar/sidebar.component.scss b/web/src/app/shared/sidebar/sidebar.component.scss deleted file mode 100644 index aec098e4..00000000 --- a/web/src/app/shared/sidebar/sidebar.component.scss +++ /dev/null @@ -1,22 +0,0 @@ -.sidebar { - padding: 20px; - width:20%; -} - - - -.dashboard-highlight { - color: green !important; -} - -.trading-highlight { - color: red !important; -} - -.wallet-highlight { - color: blueviolet !important; -} - -.settings-highlight { - color: magenta !important; -} \ No newline at end of file diff --git a/web/src/app/shared/sidebar/sidebar.component.spec.ts b/web/src/app/shared/sidebar/sidebar.component.spec.ts deleted file mode 100644 index e49c1a50..00000000 --- a/web/src/app/shared/sidebar/sidebar.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { SidebarComponent } from './sidebar.component'; - -describe('SidebarComponent', () => { - let component: SidebarComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ SidebarComponent ] - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(SidebarComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should be created', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/web/src/app/shared/sidebar/sidebar.component.ts b/web/src/app/shared/sidebar/sidebar.component.ts deleted file mode 100644 index dd505987..00000000 --- a/web/src/app/shared/sidebar/sidebar.component.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Component, OnInit, ViewChild } from '@angular/core'; -import { MatSidenav } from '@angular/material'; -import { SidebarService } from './../../services/sidebar/sidebar.service'; -import { Router, NavigationEnd } from '@angular/router'; - -@Component({ - selector: 'app-sidebar', - templateUrl: './sidebar.component.html', - styleUrls: ['./sidebar.component.scss'] -}) -export class SidebarComponent implements OnInit { - @ViewChild('sidenav') public sidenav: MatSidenav; - sidebarService: SidebarService -public currentUrl:string; - - constructor(something: SidebarService, private router:Router) { - this.sidebarService = something; - - router.events.subscribe(event => { - - if (event instanceof NavigationEnd ) { - console.log("current url",event.url); // event.url has current url - this.currentUrl = event.url; - } - }); - } - - ngOnInit() { - this.sidebarService.setSidenav(this.sidenav); - } - } diff --git a/web/src/styles.scss b/web/src/styles.scss index 75f8ede2..8baaf5dc 100644 --- a/web/src/styles.scss +++ b/web/src/styles.scss @@ -4,6 +4,7 @@ html, body { margin: 0; padding: 0; + font-family: Roboto,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; } .loading-spinner { From b35c6b65bcaf56d736d03458e0b9174c6b9cbea5 Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Wed, 29 Nov 2017 17:12:19 +1100 Subject: [PATCH 23/30] Expandable tiles for dashboard --- web/src/app/app.component.html | 99 +++++++++---------- .../pages/dashboard/dashboard.component.html | 55 ++--------- .../pages/dashboard/dashboard.component.ts | 63 ++++++++++-- 3 files changed, 108 insertions(+), 109 deletions(-) diff --git a/web/src/app/app.component.html b/web/src/app/app.component.html index 2b2811bd..84310ac7 100644 --- a/web/src/app/app.component.html +++ b/web/src/app/app.component.html @@ -1,54 +1,51 @@ - - - - view_quilt  -

Dashboard

-
- - account_balance_wallet  -

Wallet

-
- - add_shopping_cart  -

Trading

-
- - history  -

History

-
- - settings  -

Settings

-
- - thumb_up  -

Donate

-
- - grade  - -

GitHub

-
-
- - view_agenda  - -

Trello

-
-
- - bug_report  - -

Report a bug

-
-
- -
- -
- - -
\ No newline at end of file + + + + view_quilt  +

Dashboard

+
+ + account_balance_wallet  +

Wallet

+
+ + add_shopping_cart  +

Trading

+
+ + history  +

History

+
+ + settings  +

Settings

+
+ + thumb_up  +

Donate

+
+ + grade  + +

GitHub

+
+
+ + view_agenda  + +

Trello

+
+
+ + bug_report  + +

Report a bug

+
+
+
+
+ +
diff --git a/web/src/app/pages/dashboard/dashboard.component.html b/web/src/app/pages/dashboard/dashboard.component.html index 92996ea5..6aec9745 100644 --- a/web/src/app/pages/dashboard/dashboard.component.html +++ b/web/src/app/pages/dashboard/dashboard.component.html @@ -1,60 +1,17 @@ - + - Shiba Inu - Dog Breed + {{tile.title}} + {{tile.subTitle}} - HI + {{tile.content}} - + + - - - - Shiba Inu - Dog Breed - - - HI - - - - - - - - - - - Shiba Inu - Dog Breed - - - HI - - - - - - - - - - - 4 Inu - Dog Breed - - - HI - - - - - - \ No newline at end of file diff --git a/web/src/app/pages/dashboard/dashboard.component.ts b/web/src/app/pages/dashboard/dashboard.component.ts index 121dc821..488a04e5 100644 --- a/web/src/app/pages/dashboard/dashboard.component.ts +++ b/web/src/app/pages/dashboard/dashboard.component.ts @@ -1,18 +1,63 @@ -import { Component, OnInit } from '@angular/core'; +import {Component, OnInit }from '@angular/core'; -@Component({ - selector: 'app-dashboard', - templateUrl: './dashboard.component.html', - styleUrls: ['./dashboard.component.scss'], +@Component( { +selector:'app-dashboard', +templateUrl:'./dashboard.component.html', +styleUrls:['./dashboard.component.scss'], }) + export class DashboardComponent implements OnInit { - constructor() - { - } +public dashboard:any; +public expanded:boolean = false; +constructor() { +} - ngOnInit() { +ngOnInit() { + this.resetTiles(); +} + +public expandTile(tile:any) { + for(var i = 0; i< this.dashboard.tiles.length; i++) { + if(this.dashboard.tiles[i].title === tile.title ) { + this.dashboard.tiles[i].rows = 2; + this.dashboard.tiles[i].columns = 3; + this.expanded = true; + } else { + this.dashboard.tiles[i].rows = 0; + this.dashboard.tiles[i].columns = 0; + } } +} +public resetTiles() { + this.expanded = false; + this.dashboard = {tiles:[ { + title:'Trade History:', + subTitle:'Trade History', + content:'', + columns:1, + rows:2, + }, { + title:'Price History:', + subTitle:'Price History', + content:'', + columns:2, + rows:1, + }, { + title:'My Orders:', + subTitle:'My Orders', + content:'', + columns:1, + rows:1, + }, { + title:'Orders:', + subTitle:'Orders', + content:'', + columns:1, + rows:1, + }, + ]}; +} } From 420d65a5ebf81d2acc724f664c4d1098025ad6b1 Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Thu, 30 Nov 2017 17:54:45 +1100 Subject: [PATCH 24/30] Adds donate component Adds FAB to dashboard Adds slack to sidebar --- web/src/app/app-routing.module.ts | 6 ++++++ web/src/app/app.component.html | 6 ++++++ web/src/app/app.component.scss | 8 +++++++- web/src/app/app.module.ts | 3 ++- .../pages/dashboard/dashboard.component.html | 6 +++++- .../pages/dashboard/dashboard.component.scss | 11 +++++++++- .../app/pages/donate/donate.component.html | 19 ++++++++++++++++++ .../app/pages/donate/donate.component.scss | 8 ++++++++ .../donate/donate.component.spec.ts | 0 .../donate/donate.component.ts | 0 .../pages/settings/settings.component.html | 4 ++-- .../app/shared/donate/donate.component.html | 1 - .../app/shared/donate/donate.component.scss | 0 web/src/assets/early-dumb-donate.png | Bin 0 -> 7976 bytes 14 files changed, 65 insertions(+), 7 deletions(-) create mode 100644 web/src/app/pages/donate/donate.component.html create mode 100644 web/src/app/pages/donate/donate.component.scss rename web/src/app/{shared => pages}/donate/donate.component.spec.ts (100%) rename web/src/app/{shared => pages}/donate/donate.component.ts (100%) delete mode 100644 web/src/app/shared/donate/donate.component.html delete mode 100644 web/src/app/shared/donate/donate.component.scss create mode 100644 web/src/assets/early-dumb-donate.png diff --git a/web/src/app/app-routing.module.ts b/web/src/app/app-routing.module.ts index cd01b7d1..e052dfa8 100644 --- a/web/src/app/app-routing.module.ts +++ b/web/src/app/app-routing.module.ts @@ -3,6 +3,7 @@ import { SettingsComponent } from './pages/settings/settings.component'; import { AboutComponent } from './pages/about/about.component'; import { DashboardComponent } from './pages/dashboard/dashboard.component'; import { WalletComponent } from './pages/wallet/wallet.component'; +import { DonateComponent } from './pages/donate/donate.component'; import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; @@ -28,6 +29,11 @@ const routes: Routes = [ path: 'wallet', component: WalletComponent } + , + { + path: 'donate', + component: DonateComponent + } ]; diff --git a/web/src/app/app.component.html b/web/src/app/app.component.html index 84310ac7..cbe6a5a7 100644 --- a/web/src/app/app.component.html +++ b/web/src/app/app.component.html @@ -39,6 +39,12 @@

Trello

+ + apps  + +

Slack

+
+
bug_report  diff --git a/web/src/app/app.component.scss b/web/src/app/app.component.scss index 0e4c3e4f..6df782bd 100644 --- a/web/src/app/app.component.scss +++ b/web/src/app/app.component.scss @@ -1,5 +1,6 @@ .container { - height: 100vmax; + min-height: 100vh; + height:100%; } .main { @@ -17,6 +18,7 @@ width: 14%; position: fixed; margin-top: 4rem; + } .navbar { @@ -43,4 +45,8 @@ .settings-highlight { color: magenta !important; +} + +.donate-highlight { + color: goldenrod!important; } \ No newline at end of file diff --git a/web/src/app/app.module.ts b/web/src/app/app.module.ts index a6687f5a..fda27e19 100644 --- a/web/src/app/app.module.ts +++ b/web/src/app/app.module.ts @@ -33,6 +33,8 @@ import { AboutComponent } from './pages/about/about.component'; import { SettingsComponent } from './pages/settings/settings.component'; import { DashboardComponent } from './pages/dashboard/dashboard.component'; import { WalletComponent } from './pages/wallet/wallet.component'; +import { DonateComponent } from './pages/donate/donate.component'; + //Shared import { NavbarComponent } from './shared/navbar/navbar.component'; import { ExchangeCurrencyTickerComponent } from './shared/exchange-currency-ticker/exchange-currency-ticker.component'; @@ -58,7 +60,6 @@ import { PriceHistoryComponent } from './shared/price-history/price-history.comp import { MyOrdersComponent } from './shared/my-orders/my-orders.component'; import { OrdersComponent } from './shared/orders/orders.component'; import { BuySellComponent } from './shared/buy-sell/buy-sell.component'; -import { DonateComponent } from './shared/donate/donate.component'; import { SelectedCurrencyComponent } from './shared/selected-currency/selected-currency.component'; diff --git a/web/src/app/pages/dashboard/dashboard.component.html b/web/src/app/pages/dashboard/dashboard.component.html index 6aec9745..07ae4aaa 100644 --- a/web/src/app/pages/dashboard/dashboard.component.html +++ b/web/src/app/pages/dashboard/dashboard.component.html @@ -1,3 +1,6 @@ + + +
@@ -14,4 +17,5 @@ - \ No newline at end of file + +
diff --git a/web/src/app/pages/dashboard/dashboard.component.scss b/web/src/app/pages/dashboard/dashboard.component.scss index 852afb6f..94179cbb 100644 --- a/web/src/app/pages/dashboard/dashboard.component.scss +++ b/web/src/app/pages/dashboard/dashboard.component.scss @@ -11,4 +11,13 @@ .mat-card-footer { position: absolute; bottom: 24px; -} \ No newline at end of file +} + +.mat-fab { + top: auto; + right: 30px; + bottom: 20px; + left: auto; + position: fixed; + z-index: 3; +} diff --git a/web/src/app/pages/donate/donate.component.html b/web/src/app/pages/donate/donate.component.html new file mode 100644 index 00000000..6308e679 --- /dev/null +++ b/web/src/app/pages/donate/donate.component.html @@ -0,0 +1,19 @@ + + + Donations + We give our thanks + + +
+ +
+

If this framework helped you in any way, or you would like to support the developers working on it, please donate

+ + + attach_money +

Address:

+

1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB

+
+
+
+
\ No newline at end of file diff --git a/web/src/app/pages/donate/donate.component.scss b/web/src/app/pages/donate/donate.component.scss new file mode 100644 index 00000000..5dfe9673 --- /dev/null +++ b/web/src/app/pages/donate/donate.component.scss @@ -0,0 +1,8 @@ +.BTC { + color:orange; +} + +.full-card { + width: 80%; + margin: 0px auto !important; +} \ No newline at end of file diff --git a/web/src/app/shared/donate/donate.component.spec.ts b/web/src/app/pages/donate/donate.component.spec.ts similarity index 100% rename from web/src/app/shared/donate/donate.component.spec.ts rename to web/src/app/pages/donate/donate.component.spec.ts diff --git a/web/src/app/shared/donate/donate.component.ts b/web/src/app/pages/donate/donate.component.ts similarity index 100% rename from web/src/app/shared/donate/donate.component.ts rename to web/src/app/pages/donate/donate.component.ts diff --git a/web/src/app/pages/settings/settings.component.html b/web/src/app/pages/settings/settings.component.html index b9284dd2..cdfd4464 100644 --- a/web/src/app/pages/settings/settings.component.html +++ b/web/src/app/pages/settings/settings.component.html @@ -64,11 +64,11 @@
- Enabled Currency pairs {{enabledCurrencies.selectedOptions.selected.length}} + Enabled Currency pairs {{enabledCurrencies.selectedOptions.selected.length}} - Managed via config temporarily
- + {{currency}} diff --git a/web/src/app/shared/donate/donate.component.html b/web/src/app/shared/donate/donate.component.html deleted file mode 100644 index ec9cc2d1..00000000 --- a/web/src/app/shared/donate/donate.component.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/src/app/shared/donate/donate.component.scss b/web/src/app/shared/donate/donate.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/web/src/assets/early-dumb-donate.png b/web/src/assets/early-dumb-donate.png new file mode 100644 index 0000000000000000000000000000000000000000..a123a27cffc967747e1eb7b2f657fd89810fdf56 GIT binary patch literal 7976 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 MMNNfzIm>td1BAY45C8xG literal 0 HcmV?d00001 From 4561ca9acb734d0fa08bfdc48d8f144ad0baf1da Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Thu, 30 Nov 2017 19:11:52 +1100 Subject: [PATCH 25/30] Fancy logos Tooltips --- web/src/app/app.component.html | 2 +- web/src/app/app.module.ts | 2 ++ .../pages/dashboard/dashboard.component.html | 5 +++-- .../pages/settings/settings.component.html | 4 ++-- web/src/assets/early-dumb-donate.png | Bin 7976 -> 9528 bytes web/src/assets/page-logo.png | Bin 0 -> 31995 bytes web/src/favicon.ico | Bin 5430 -> 2672 bytes web/src/index.html | 2 +- 8 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 web/src/assets/page-logo.png diff --git a/web/src/app/app.component.html b/web/src/app/app.component.html index cbe6a5a7..68453880 100644 --- a/web/src/app/app.component.html +++ b/web/src/app/app.component.html @@ -36,7 +36,7 @@ view_agenda 
-

Trello

+

Trello

diff --git a/web/src/app/app.module.ts b/web/src/app/app.module.ts index fda27e19..7bf57ff9 100644 --- a/web/src/app/app.module.ts +++ b/web/src/app/app.module.ts @@ -24,6 +24,7 @@ import { MatSortModule, MatExpansionModule, MatLineModule, + MatTooltipModule } from '@angular/material'; @@ -104,6 +105,7 @@ import { SelectedCurrencyComponent } from './shared/selected-currency/selected-c MatSortModule, MatExpansionModule, MatLineModule, + MatTooltipModule, ], providers: [ ElectronService, diff --git a/web/src/app/pages/dashboard/dashboard.component.html b/web/src/app/pages/dashboard/dashboard.component.html index 07ae4aaa..67237db4 100644 --- a/web/src/app/pages/dashboard/dashboard.component.html +++ b/web/src/app/pages/dashboard/dashboard.component.html @@ -1,4 +1,5 @@ - + +
@@ -18,4 +19,4 @@ -
+
diff --git a/web/src/app/pages/settings/settings.component.html b/web/src/app/pages/settings/settings.component.html index cdfd4464..a369b8a5 100644 --- a/web/src/app/pages/settings/settings.component.html +++ b/web/src/app/pages/settings/settings.component.html @@ -3,7 +3,7 @@
- + @@ -15,7 +15,7 @@ SMS configuration and contact management phone_iphone - +
Enabled
diff --git a/web/src/assets/early-dumb-donate.png b/web/src/assets/early-dumb-donate.png index a123a27cffc967747e1eb7b2f657fd89810fdf56..5d047a42136c20f948478e0adc24cfbf1a262dec 100644 GIT binary patch literal 9528 zcmb7KcQ{;6)K-9v!b!p+0D z!W)$+f()n$lGqe~L`4uFDL@3e4+!$qlnH)>&HP2;!r|pw3LqXfM`{`xj)cloYaNv* z8HZ^Wv{ikx3q0N;RZSOnQs24a_7)q^n`sT3=jgouUn)T==JAf0^6=R7^mPSvWpp(L<28sr?y|1gV){S!C-;By*Id_F*BlPY07%ne zao&^MAgqZ50kdKM!tx-YMD}ZDP;z%RSysllo;as?d+7X{fPvucb}ucIR#mAmt+2V? zV=Ze_Zg|zenop3i0VK{6|AhUaC$k4jC9^8xRO&H1HRL-hUz}0=l?r!M|7+o6PRdwA zlhP!AykikTN{28NdWsgC!lH~QzYuD6;~+qk-dR@UkzvSvZJxtAgbQk|{Y#~xxa4?+r=;E0c;`f0z$UGPvLj^`p*tU=*_w3&yZTqvPXfTV`z` zFNq8&vT;I9Gg)2YA3X^v!W)~w!; zoU2Qobl>=KBJUPda5p-*6r@QW=cCn*ox1?kkeMnLvD@n6X9GVVU7fZ<^J|cs3djh; zulnrsF+>C{6pp%uMEkso?Jn^(=Grxl<@HMVhDKE&XY3@kml7)8G! zR&XA(E&&>NE%Rxb&(Jm15f&6%4)&gO1zuMeWBt5;e;2iC&~DJV97ktu!iPgMGz0rT zhLPB^)-pGL3-=2`iLzo+43`ZIN(s?L)8U#&@Eg4ggo?xk+xWkr?U9gx=DCKE3T>J~ zKMjKOtKh6l6(7bgCh-cG=flE!BM=E?UA=<<$xj`b!TldI$fXNr|2F$9qjNWVOw3q? z2Yxv7yF}VwiN!ode-R;&Zod8K)W+Z^AL)a-6??Vm_gU*3vvJgrL&?$o2ER$U>6Tk$#$qw;lvNnZBR@&}S6;>3fm1f;Jt zhK{J&N}g$~3_fu7W-2yneUdiTxq>z|VSn}Zz_?ZYkI)zekEoU*hx04>)hJLo-ot*^ z4_YbgTig@%1r(u8A z7&oWVrg&o6s$BnKJ9x1-b~$xlA#jc^CyV*n4tC|Bk9C+$IL1;da_LKsl>!Zi!rHN$ zL1DV8bhKXA^q)x`hm>IrP$9wzHO3fw z-6FvDOg2_el1^i`S>&AH^`JNWdih`&r#er9)uc`LrVLU4!k*A9@hR~V)*P;JEe= zgQA;M81A2xKi=;?@)%TNWBekMeeg@vNyPR9x#k?tYe0w4X1 z3Bxy=aK#{uS!2+ZfyK=YgY9T?RF+`k(~lNF&H(0^BbJrmxmk@4!ciI6Dw4Wr`F z;8Lo^p_MRB*;-Li!)ppl!|Eqmob4QYR6G4&MY+6nRuGn+Mkr$+vb;rE(AXwF{wCvL z+d*t?$Bz&IL_h#2C?o`tl>CJs-hmqqWD3@ly`k1GGbPiMI(l%rJ5A0Y;!Ferfl#

nd=supbFe^sdAq$8)@FS}ezuU%(Zi_p~ z2N8A`8YK?+^&-n?^5#Vtj{UC`VVc*4+$X};QrB!^L%Y43(xh26$HH2PRhqIRLqaLu zu6duMpLcRqKMEi4EL?8(z**aqWGykV_(-Cy{R6hmqe2pN>7tZ{Jx+V)C^x%ra84EN7oq&k27$CgWW6-VZdMLTW;nO8^^-PViyepcn4 zqC*Z$&yrO~#ZqcR*Z9f;CycIwcNgKy4APGRfS8HwX}Cvn={@LSHyNgs6(|!OTeucH z$k8-A`yWdHq4M>?o^&|dFnzJ2y?w~}D{~lVrFHG2?aX<(U#VWmRGi=7$2gGvVCi4)Q1OfjDK0I|uM(WC+_sxD|X?E>8rD=cngRlDF%Rt&w zhPt4MUssjDm6)WUmJuu|#`IC?*Khvnu&*O}{%X8prOchl@Cf*Ik-OJ!xQPn=C|0wv zosZ$7+>?*KMEq1DoUu#Qa|*gWzEQ+UeWjhYRutqcj-jkh{u1P3?J(*5Wjxx!*Z-iy zblapsB9%uAda*Uc@LfMGy(ac?lTtL_1?WibefzgOFN5-RklLepE_1Qp*>w~LA*OFD zY=u)HATfrz(CX`Vb>jcvWN-MhY1N-TCaru1)asXg^MEqd^yjDNg>p@v9_PE^b@5d> zitLSEz=A*h{WZ*ece~vTEv9Kql2zMH?$!0w#~*I;Q=XgaC1sYqkbrJJ?hc?!)+u{A zm3mldL&f_qdJqSHTyslqs_NH|v3Wj|=Z;Ovx>iE$Q4^5qO2V?_BwXp)(*^6+R#O<2 zlcLU2mCP^v?O~~heRVPVj{GUcTlM8aowwhpu-H%xC)147->+ylmCPEVF;yRfX{1PKU~H1TAc=LVbIung;Wq{74L z2J-R|83SWZj73FA-r%c}l#oX>wwrQ0=~e^AJ&xQjq;7VM+NTThhRuddpUgCv-o1&y z&n9lZ`tX;*paz(VYhk#}`q%3*>MJ(i+;j~*WTfn4%HC%EBAtCgm88N;y>ZLq{MC=2 z`1W;a($|4X6S)-Uv8LHnwhg329SDGGs+0)~|Ae=@ocHz2JLc_VI{GSFYy)L3vP3Zh zyBJtw$1=i0*dM~p852nz)!(D}ZA;hw0a*8ODP_xNhcC)VPcn<8|=i-O8q zuAcv^38t1XNv^V!^;DRVeG_`l`dg5d^gX!q?SguH?Rwv0&9u<4NT5j3!1VzD7QV60 za3SWKZf=AAmR}-$olVz%`-3l2>7}1vxgs!u$37hp6U8;_xe|X;6oiD@|4IDBfSxAO zmyvH;-ueINuZmjwE#M}A1C~cgS6^g^SJcR8w7x!Sn z@zOP9;=L4@n-GI@g6t46A96jGCUKg7{&_2m+rkp!%<)Eca zoj*5T$AI&q#om8@<>50ZAyVeW;ncI~I5f!fdfv+U>PNQ`jIru`FP!hc0beo)y7(J+ zTvZX4r2@j_v@c|KazzT(aO`BSCsO zGo%sFufvng6++P1miU{N)SqN-g|WZtJ!;>zZ;T&|G$zgOXYO(y#GL&(I~6bY-a5C$N&CCNuU?^16mCbR%^w~@li=f@lkJB7w5aa2vyZ6_n>e9C!bCQSL5Mry$-jg6);}^~3geaRlGZZ>qhamkj9ZlY9+E7ay|T z?cwj{C!EAUnGcTnGkkVEGJk&%R|c#9`tmFH0(-44sWQ|}KHIDs z9HJb}v~!8~I~z`P0WV84tEfD)piLOti+g5O;<(Yx!Iby-d(9zfxbH<+;$OVn zXM_hrUV-h!-QB>^>;)xhg-yuFk9oY7 zi5_7`&5ex_YbB3>RWiW`9W17tw7yaQPhOuvhrL6&lMAw^^skFFyU)B4T_Cuz1r}L(F-5 zBl7sh9JjgUuf@!}9*VyWI-+8eh5TXmQ$PFv67CBk?!0n4TZoDYRRr4K_3?QF%wH%3 zA-;j8t3E7~-K&#Rx*01TH?$jx-hJnp^7_xu%>j#rcH%$EP8CKOiw@3vA?sU zE3I2JMT$Ve99lSd(;H`+dw(Bv-~VX(GPy0uZ0fk%EwE--y5F>ih3rX^qeKMM|+(UG@i8WXga@r#Ya1>t4X8Pyvq1<9xW<-%k2wQxO>++hnyJy(SLr ziwQ5$8;Z=L=&h7n4P?oMs;-bohyJp&H0Olx zBBo!R+vK`;40JoVtEJh=`}X0&*`KO(WJk=!nUuE-JmVyi12rWSb+z(o&|hlt_%+zt z;m1Hf+@bf96>rO_*1*Gltv@@qTI*jwy?z;==DdiTadp5EySro4jLsdC{`s{Gz;F?P z)eWuDB$JA^*Jgs!tWX~HjqAHPn~(%(uyw+L2cgv!qH}Yqw-SfHg<#4&9lqS#CNsWO zXBr;na%Rq+jN~B@(6QY>QD$kGDo)SszaEP-xi~)&kmsNV9Xe! zl_r-~dr^7@Oj(s#&4;{of8qU2DUp9`3FG5mf=fvuk8ei)MGcy04boh%?rG!efJ};F z;tbp)FZ14gRS~mT2f2{yCe}aV0`0JNer9Z&{UM`q>=Zs=aRs_t8O)<{`!ULFQ04Gw zJ+s?orDfY{dF8M7jML6adINdo^au$P@eFYPLzObw2wdFyu~T;I7xNonvxv%wW(duN_ZzvSUx?5!1Jg& zGUc-bTdGXt(!57SUaeytr>3CiM6HyFw!<*WA;sdD#SMYLw>qgdEuB@V5E{A_Mn;?}yl~=g zH)(q!oO1bL5^(UeKD|>L0KwaXQtL}!wzzMiPJRxpqbeKjsPgQ~-S67`pRSHLiZFp5 zxnw1p(1ZECPZ-z~ghe?(D+0fhcW8JCZD0BE^r{MGfOAtC+%G*T*yL7dLm@tM;9J8# zv)VSKAx*S!CmH=#>2ck|B-%yeD%|)?mIXo)Ss6-ZjW@|RAM9ls%$72GShASn zrQN;qL37#@he?#|KEM@$!pNPiqf|VwD~H+C^Lt%mYpfW>71|o{3@JyMlH>08PMN`P zJQF$_`B%&{cg=?uH)n@mBId3seyx+7w~E&)eDMMXe@ZsWDeCpdG!=4gZQ#+n5=_8} ze!wEP%KI6gG{dM&eOyw;ayxGpxS!W%yuABy6O*-l@QO~Gn5a0Sj6$bH|5jmBX}pcZ z+g&{_v6+RHi?}|7A~;Q9`&*Pr2ZO#tx1=cdfLX)$j{xB=n}=ZzM`uPnkLM~r-^~9r znfoxdXem>|Mj6K$v7RHZ=($g1#^6{F$Whl803tq<*7@&`yhOWAHZKgf$C{L3n5@Eo zg!D1a3_nQNUMdw3attW3GWZ;a^y<8s)VqyMxy9)yO4&$ff7pOW{Ml8pu%g38iE4tg zqLGtF6aXQWh@1j>r2MXMn6r;n^0vm&SDk^D zQiF8{;ZJmi{5|DT*%qT87z<0!poVEJUf1iD0uft#crrqW1KEZiDC_WN?FiSFrZj{0v^1&p<59w zAoif-B`uBnseJ%M*q5jdMaNy2igUl1m9j}1j<-wUtMR`L*}M1_7=3#oGG~hSy=K?X zYaol*5Pxh(`2fulMO@q~Pykuy^++fH>1bH$)!RG-Kt@#UU&$mZBc25{-oqpvkPR3VGb~+CjTB=xUn)O@<621%uI&()?w^ZO9uUe zFul{t^O-ku0+hd@Y)ygt8?4o#yy+Q=Z%=6S)uXRvzlJM!3hKW4An6_ZmMhz)!fY}6 z(yr8kHfRXG(#oIS!4Gkv)LQwp0LGwbKLJ zHe|h-bY0~RsiEz>K8tBgTY>GoMm6Gosu77Jj9t#^mdXHepG|Wc#-Xt=v1hJKey1Zu zU+JQn=sJu8QavzW@r8-Zf3amr7>3`!m}^-zd3Di5D4 zW#F{>t2;+Q7f`K&)vNb?`g|_oW8Be%-};iW&$%wR;`B`1_Rt7dw&=Mh6=OB1731Ud zC{%Az;S22;O7vCYOds5GGZzi@(WuKxvHtbIM?Tff=?%O4obf%A6c&v|C*36`*7vZ9 zbxVr089iqXs_(XA_#LS(Avd?-LJ_cH!@QjWN2RhCay*_F9BbmZk70g47@CYMKn z=b|;JFbTHSgwyN4O)N(}*Hpg`=k_O#Ht5Fd==A#Qu>%gfXbPton#{+#`9`R>HBoB= zWqOBe(bQZGual1Jm{!C1QpKEmGAFuG!m&Xmo2J?_I@)YtYd#5O{%x=f%^wusv;6Q& zd8s;QgE5a<2-m1tBG^Qj@DqzMag%{Go+>SA`DMrKy2P2rtxh~2nYPbD;lG82zg}c4 z_@PI{J6uv9(Y%Z7>Mh6+W27O?sS7aRe$k$Cj#0WsqT=>$!iVxVopW!t2*~aA-JGqS z(caFVxe9%xL$|S37(4r!Bq2>LR-@08Y48_(XJnUkAGaH#w%mB)V{@IIutX;8aFSf? zZE5`S(AjqUoS;Vh!35X>r2ke&uKin%Zt~UVn8-%u#B$ExV_udn31gd%U7$jJ_ZVi< z(k6i1PL}C%^8_$2^X>}_GpbD?QHzVTP(g`pzG#Bg05k=ALHx^~(avtuPv zdMf^WAdit0I^{-o2`uoT>sCkytD0PwZzn6EQss-1Ix$9H=b+nomVf5)mwfW*AB&YW zskY#+=4hSfDg7IpNgx6i=RG1Ot-F;(3QsCO`Jhj;zJbtwUZFFB5AP1%oREB4Ii>XwOkq4Lk~4=#xCEOYvRp_q$XVaS@%^h)5U$A+;d) z?`Ho%6bonMR`LAr)OhUQDT)oPa#c+9yS9gIZX^Z6o+it{halV~2`<2NO6|mv)R^{f z@riFR(bn}FXp=V3+vRTz?{&>^H;9((EB5LqF@p8gBq3N z?Vynyq?Jsu_iXFMl>Od+>~^mtL-EE` z+F1S|e`0G}N=TZ#S|CQOFC)E`Yt2E=LSIBo;zGbm%2$;j-KJlBQBxcK;N8UK_1#rnyynl&GH&mH2>g1={Ar6j?<)+z^`)ZE(7Rk7<%*h?sBa&xQbUuCwU*Uz(g(Ae71-=_L(g2-ML0(9dDc99@J^7L~Bqk?btFl zDA#C7u-gfSl|Kl^v#U&b_^khK7YY?|ED#IN`p*#YND>q8L;Wh-K~_;w0~o-ax4&Oz zoWIDzGSgvbmx%sJ3&gr4w_00CgF<=;qW3{iH}SD)vmp#{lq337J?=$RZJSn#XW&GS zEdq{6@PSqIF9Z;IO*lY2((bVoiF4(`>J`&MIXR1LEn<#WHQ-mxHVDL%p1UjfJrj?l za5Kqp=sr$f@Oe*EOf+j`Bed<6;D2)kk0*eT6wFfvbZoz7Y=gZe6uVv`RDEV3j~E!T zX^f;w>ERARf5;G(>+jHk?8bPr-u-29Xh{K#P^>(v_j6C29!5!; zvmeb2hDGs{Gu5Zd^AdgKn{V7HDrV*5dk)JSp%w25o~_D8gpxSFv{#q{Ls(5T#&VTo zSL|%d?Vh!*BRugR(RjdDf9G0i`)My#^e=q zV$HtG?ESLySFcM?%KQWrJ>TzHECUw)vo@s3DT)~BSZDU5FMRlBr9HIW?(S2#@e*^W z23?Kip$?Z|35okQNnOOjLQ_YDRgbRDLjjugwe};9VfmZ>_`R0xHYR=5O(H4>U|mE+ z1kqcdO6hXwEdLx7x6QW11MJHUD=+Ojae8Guz{Z8%Sk|@FX01 zFUnwsWBG7kC_kf!oT*xoV`&hTdcd&X(QA~c^wwVVvSw~dq$iMv2d(it-@;l?%;Q?6 zS1x2w_B^$+6;U0fVFw?Im6hK(o?Hf_B%!cVDOj>2kX~Q)CB(#}ZL!cOn{uyY!T8x! z=ZOSDd&wxtrk=joETkk>CgfjkMO=DDHu$lc1qhbEAUQm)X~Q6O%RjxYEt7h7q|y84 zl1wGD0w--6c-A1^xp}|WEScHT<%^zm#8++_s-$kEfTT-IR9i4mHu)8C7kCMf`+b!e-?L*hVm4gr)K!X$IxJIQ; zT;hEcwN8~+i@;!v*yiq^3YH{P=3*wGwsX+nUtsMYIR%;ijlb9W5_gO5YN~owG1aQ4 zVMZ3r`g)&5TwYaQxoOW#_{HyNdL$HbJpVL-ymPW6-o;z|_H2HRBY%T+gB@;XY|lt0 z>O6x~y?KI-x)NHW$-X5OY3Se|B7)_9<;+eAk?DD72GB)6_=K literal 7976 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 MMNNfzIm>td1BAY45C8xG diff --git a/web/src/assets/page-logo.png b/web/src/assets/page-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c97d05156794a7e50a7ac043b9324e78c5042133 GIT binary patch literal 31995 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 RpTlJl{c~8|f-`pi{10CgcrO3| literal 0 HcmV?d00001 diff --git a/web/src/favicon.ico b/web/src/favicon.ico index 8081c7ceaf2be08bf59010158c586170d9d2d517..4c801d4a3067b52573ac6495600bfa36442f6fc6 100644 GIT binary patch literal 2672 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 humW;*g7R+&|Ledvc- - Loading... + \ No newline at end of file From 5e25072a130cc20b3553d9677d64f9c06346b7ba Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Thu, 30 Nov 2017 20:02:19 +1100 Subject: [PATCH 26/30] Fixes favicon --- .../pages/dashboard/dashboard.component.html | 2 +- web/src/favicon.ico | Bin 2672 -> 14437 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/app/pages/dashboard/dashboard.component.html b/web/src/app/pages/dashboard/dashboard.component.html index 67237db4..2e22b349 100644 --- a/web/src/app/pages/dashboard/dashboard.component.html +++ b/web/src/app/pages/dashboard/dashboard.component.html @@ -1,5 +1,5 @@ - +

diff --git a/web/src/favicon.ico b/web/src/favicon.ico index 4c801d4a3067b52573ac6495600bfa36442f6fc6..45ffe1627b94a0f17c15fe2b22f4b0732cd02843 100644 GIT binary patch literal 14437 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 literal 2672 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 eX#nD Date: Thu, 7 Dec 2017 20:56:19 +1100 Subject: [PATCH 27/30] Minor theme changes Moving closer to spawning component dynamically for the purpose of the dashboard and trading --- web/src/app/app-routing.module.ts | 10 ++++++++ web/src/app/app.component.html | 3 ++- web/src/app/app.component.scss | 4 +-- web/src/app/app.module.ts | 8 +++++- .../pages/dashboard/dashboard.component.html | 2 +- .../pages/dashboard/dashboard.component.ts | 2 ++ .../app/pages/donate/donate.component.html | 4 +-- .../app/pages/donate/donate.component.scss | 7 +++++- .../app/pages/history/history.component.html | 3 +++ .../app/pages/history/history.component.scss | 0 .../pages/history/history.component.spec.ts | 25 +++++++++++++++++++ .../app/pages/history/history.component.ts | 15 +++++++++++ .../app/pages/trading/trading.component.html | 4 +++ .../app/pages/trading/trading.component.scss | 9 +++++++ .../pages/trading/trading.component.spec.ts | 25 +++++++++++++++++++ .../app/pages/trading/trading.component.ts | 15 +++++++++++ .../shared/buy-sell/buy-sell.component.html | 19 +++++++++++--- .../app/shared/buy-sell/buy-sell.component.ts | 4 +-- 18 files changed, 145 insertions(+), 14 deletions(-) create mode 100644 web/src/app/pages/history/history.component.html create mode 100644 web/src/app/pages/history/history.component.scss create mode 100644 web/src/app/pages/history/history.component.spec.ts create mode 100644 web/src/app/pages/history/history.component.ts create mode 100644 web/src/app/pages/trading/trading.component.html create mode 100644 web/src/app/pages/trading/trading.component.scss create mode 100644 web/src/app/pages/trading/trading.component.spec.ts create mode 100644 web/src/app/pages/trading/trading.component.ts diff --git a/web/src/app/app-routing.module.ts b/web/src/app/app-routing.module.ts index e052dfa8..36a33adc 100644 --- a/web/src/app/app-routing.module.ts +++ b/web/src/app/app-routing.module.ts @@ -4,6 +4,8 @@ import { AboutComponent } from './pages/about/about.component'; import { DashboardComponent } from './pages/dashboard/dashboard.component'; import { WalletComponent } from './pages/wallet/wallet.component'; import { DonateComponent } from './pages/donate/donate.component'; +import { HistoryComponent } from './pages/history/history.component'; +import { TradingComponent } from './pages/trading/trading.component'; import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; @@ -33,6 +35,14 @@ const routes: Routes = [ { path: 'donate', component: DonateComponent + }, + { + path: 'history', + component: HistoryComponent + }, + { + path: 'trading', + component: TradingComponent } ]; diff --git a/web/src/app/app.component.html b/web/src/app/app.component.html index 68453880..849b01e6 100644 --- a/web/src/app/app.component.html +++ b/web/src/app/app.component.html @@ -12,7 +12,7 @@

Wallet

- add_shopping_cart  + swap_horiz 

Trading

@@ -27,6 +27,7 @@ thumb_up 

Donate

+ grade  diff --git a/web/src/app/app.component.scss b/web/src/app/app.component.scss index 6df782bd..ae2f8824 100644 --- a/web/src/app/app.component.scss +++ b/web/src/app/app.component.scss @@ -1,6 +1,6 @@ .container { - min-height: 100vh; - height:100%; + height: 100vh; + min-height:100%; } .main { diff --git a/web/src/app/app.module.ts b/web/src/app/app.module.ts index 7bf57ff9..e59d770e 100644 --- a/web/src/app/app.module.ts +++ b/web/src/app/app.module.ts @@ -24,7 +24,8 @@ import { MatSortModule, MatExpansionModule, MatLineModule, - MatTooltipModule + MatTooltipModule, + MatTabsModule, } from '@angular/material'; @@ -62,6 +63,8 @@ import { MyOrdersComponent } from './shared/my-orders/my-orders.component'; import { OrdersComponent } from './shared/orders/orders.component'; import { BuySellComponent } from './shared/buy-sell/buy-sell.component'; import { SelectedCurrencyComponent } from './shared/selected-currency/selected-currency.component'; +import { TradingComponent } from './pages/trading/trading.component'; +import { HistoryComponent } from './pages/history/history.component'; @NgModule({ @@ -83,6 +86,8 @@ import { SelectedCurrencyComponent } from './shared/selected-currency/selected-c BuySellComponent, DonateComponent, SelectedCurrencyComponent, + TradingComponent, + HistoryComponent, ], imports: [ BrowserModule, @@ -106,6 +111,7 @@ import { SelectedCurrencyComponent } from './shared/selected-currency/selected-c MatExpansionModule, MatLineModule, MatTooltipModule, + MatTabsModule, ], providers: [ ElectronService, diff --git a/web/src/app/pages/dashboard/dashboard.component.html b/web/src/app/pages/dashboard/dashboard.component.html index 2e22b349..309e3f03 100644 --- a/web/src/app/pages/dashboard/dashboard.component.html +++ b/web/src/app/pages/dashboard/dashboard.component.html @@ -1,6 +1,6 @@ - +
diff --git a/web/src/app/pages/dashboard/dashboard.component.ts b/web/src/app/pages/dashboard/dashboard.component.ts index 488a04e5..22923aa9 100644 --- a/web/src/app/pages/dashboard/dashboard.component.ts +++ b/web/src/app/pages/dashboard/dashboard.component.ts @@ -1,5 +1,6 @@ import {Component, OnInit }from '@angular/core'; + @Component( { selector:'app-dashboard', templateUrl:'./dashboard.component.html', @@ -9,6 +10,7 @@ styleUrls:['./dashboard.component.scss'], export class DashboardComponent implements OnInit { public dashboard:any; public expanded:boolean = false; + constructor() { } diff --git a/web/src/app/pages/donate/donate.component.html b/web/src/app/pages/donate/donate.component.html index 6308e679..90cd5da2 100644 --- a/web/src/app/pages/donate/donate.component.html +++ b/web/src/app/pages/donate/donate.component.html @@ -4,9 +4,7 @@ We give our thanks -
- -
+

If this framework helped you in any way, or you would like to support the developers working on it, please donate

diff --git a/web/src/app/pages/donate/donate.component.scss b/web/src/app/pages/donate/donate.component.scss index 5dfe9673..13f14a65 100644 --- a/web/src/app/pages/donate/donate.component.scss +++ b/web/src/app/pages/donate/donate.component.scss @@ -3,6 +3,11 @@ } .full-card { - width: 80%; + width: 30%; margin: 0px auto !important; +} + +.heart { + margin: 0px auto !important; +display:flex; } \ No newline at end of file diff --git a/web/src/app/pages/history/history.component.html b/web/src/app/pages/history/history.component.html new file mode 100644 index 00000000..c0470d21 --- /dev/null +++ b/web/src/app/pages/history/history.component.html @@ -0,0 +1,3 @@ +

+ history works! +

diff --git a/web/src/app/pages/history/history.component.scss b/web/src/app/pages/history/history.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/web/src/app/pages/history/history.component.spec.ts b/web/src/app/pages/history/history.component.spec.ts new file mode 100644 index 00000000..f68be4f2 --- /dev/null +++ b/web/src/app/pages/history/history.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HistoryComponent } from './history.component'; + +describe('HistoryComponent', () => { + let component: HistoryComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ HistoryComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(HistoryComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/pages/history/history.component.ts b/web/src/app/pages/history/history.component.ts new file mode 100644 index 00000000..92c80aa8 --- /dev/null +++ b/web/src/app/pages/history/history.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-history', + templateUrl: './history.component.html', + styleUrls: ['./history.component.scss'] +}) +export class HistoryComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/web/src/app/pages/trading/trading.component.html b/web/src/app/pages/trading/trading.component.html new file mode 100644 index 00000000..826064a5 --- /dev/null +++ b/web/src/app/pages/trading/trading.component.html @@ -0,0 +1,4 @@ +

+ trading works! +

+ diff --git a/web/src/app/pages/trading/trading.component.scss b/web/src/app/pages/trading/trading.component.scss new file mode 100644 index 00000000..66903595 --- /dev/null +++ b/web/src/app/pages/trading/trading.component.scss @@ -0,0 +1,9 @@ + +.mat-fab { + top: auto; + right: 30px; + bottom: 20px; + left: auto; + position: fixed; + z-index: 3; +} \ No newline at end of file diff --git a/web/src/app/pages/trading/trading.component.spec.ts b/web/src/app/pages/trading/trading.component.spec.ts new file mode 100644 index 00000000..da3ae01d --- /dev/null +++ b/web/src/app/pages/trading/trading.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TradingComponent } from './trading.component'; + +describe('TradingComponent', () => { + let component: TradingComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ TradingComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(TradingComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/pages/trading/trading.component.ts b/web/src/app/pages/trading/trading.component.ts new file mode 100644 index 00000000..446023a7 --- /dev/null +++ b/web/src/app/pages/trading/trading.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-trading', + templateUrl: './trading.component.html', + styleUrls: ['./trading.component.scss'] +}) +export class TradingComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/web/src/app/shared/buy-sell/buy-sell.component.html b/web/src/app/shared/buy-sell/buy-sell.component.html index 40a5d1ef..a2e2fdc5 100644 --- a/web/src/app/shared/buy-sell/buy-sell.component.html +++ b/web/src/app/shared/buy-sell/buy-sell.component.html @@ -1,3 +1,16 @@ -

- buy-sell works! -

+ + + + The best pasta + +

Best pasta restaurants

+

...

+
+ + + thumb_down The worst sushi + +

Terrible sushi restaurants

+

...

+
+
\ No newline at end of file diff --git a/web/src/app/shared/buy-sell/buy-sell.component.ts b/web/src/app/shared/buy-sell/buy-sell.component.ts index c0b2e2af..e9d0bbd7 100644 --- a/web/src/app/shared/buy-sell/buy-sell.component.ts +++ b/web/src/app/shared/buy-sell/buy-sell.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit,Directive, ViewContainerRef } from '@angular/core'; @Component({ selector: 'app-buy-sell', @@ -7,7 +7,7 @@ import { Component, OnInit } from '@angular/core'; }) export class BuySellComponent implements OnInit { - constructor() { } + constructor(public viewContainerRef: ViewContainerRef) { } ngOnInit() { } From 92e8ff790bc3649791f2d40f6ee3c32180909809 Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Thu, 7 Dec 2017 21:18:34 +1100 Subject: [PATCH 28/30] Adds selected currency to the navbar --- web/src/app/shared/navbar/navbar.component.html | 1 + .../selected-currency.component.html | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/web/src/app/shared/navbar/navbar.component.html b/web/src/app/shared/navbar/navbar.component.html index 97fad423..b63ce1ab 100644 --- a/web/src/app/shared/navbar/navbar.component.html +++ b/web/src/app/shared/navbar/navbar.component.html @@ -5,6 +5,7 @@
GoCryptoTrader +
diff --git a/web/src/app/shared/selected-currency/selected-currency.component.html b/web/src/app/shared/selected-currency/selected-currency.component.html index 946f8943..39a10213 100644 --- a/web/src/app/shared/selected-currency/selected-currency.component.html +++ b/web/src/app/shared/selected-currency/selected-currency.component.html @@ -1,3 +1,11 @@ -

- selected-currency works! -

+ + + \ No newline at end of file From cf9425a0d752115565f114ecdb33f57b3b70b4dc Mon Sep 17 00:00:00 2001 From: GloriousCode Date: Thu, 14 Dec 2017 17:14:43 +1100 Subject: [PATCH 29/30] Dumb fleshout of currency listing and buy sell component --- web/src/app/app-routing.module.ts | 10 ++++ web/src/app/app.component.scss | 3 +- web/src/app/app.module.ts | 6 ++ .../currency-list.component.html | 35 +++++++++++ .../currency-list.component.scss | 9 +++ .../currency-list.component.spec.ts | 25 ++++++++ .../currency-list/currency-list.component.ts | 15 +++++ .../app/pages/donate/donate.component.scss | 2 +- .../exchange-grid.component.html | 60 +++++++++++++++++++ .../exchange-grid.component.scss | 0 .../exchange-grid.component.spec.ts | 25 ++++++++ .../exchange-grid/exchange-grid.component.ts | 15 +++++ .../app/pages/trading/trading.component.html | 4 +- .../buy-sell-form.component.html | 3 + .../buy-sell-form.component.scss | 0 .../buy-sell-form.component.spec.ts | 25 ++++++++ .../buy-sell-form/buy-sell-form.component.ts | 15 +++++ .../shared/buy-sell/buy-sell.component.html | 10 ++-- .../app/shared/navbar/navbar.component.html | 2 + .../selected-currency.component.html | 6 +- 20 files changed, 255 insertions(+), 15 deletions(-) create mode 100644 web/src/app/pages/currency-list/currency-list.component.html create mode 100644 web/src/app/pages/currency-list/currency-list.component.scss create mode 100644 web/src/app/pages/currency-list/currency-list.component.spec.ts create mode 100644 web/src/app/pages/currency-list/currency-list.component.ts create mode 100644 web/src/app/pages/exchange-grid/exchange-grid.component.html create mode 100644 web/src/app/pages/exchange-grid/exchange-grid.component.scss create mode 100644 web/src/app/pages/exchange-grid/exchange-grid.component.spec.ts create mode 100644 web/src/app/pages/exchange-grid/exchange-grid.component.ts create mode 100644 web/src/app/shared/buy-sell-form/buy-sell-form.component.html create mode 100644 web/src/app/shared/buy-sell-form/buy-sell-form.component.scss create mode 100644 web/src/app/shared/buy-sell-form/buy-sell-form.component.spec.ts create mode 100644 web/src/app/shared/buy-sell-form/buy-sell-form.component.ts diff --git a/web/src/app/app-routing.module.ts b/web/src/app/app-routing.module.ts index 36a33adc..623b4a5d 100644 --- a/web/src/app/app-routing.module.ts +++ b/web/src/app/app-routing.module.ts @@ -6,6 +6,8 @@ import { WalletComponent } from './pages/wallet/wallet.component'; import { DonateComponent } from './pages/donate/donate.component'; import { HistoryComponent } from './pages/history/history.component'; import { TradingComponent } from './pages/trading/trading.component'; +import { ExchangeGridComponent } from './pages/exchange-grid/exchange-grid.component'; +import { CurrencyListComponent } from './pages/currency-list/currency-list.component'; import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; @@ -43,6 +45,14 @@ const routes: Routes = [ { path: 'trading', component: TradingComponent + }, + { + path: 'exchange-grid', + component: ExchangeGridComponent + }, + { + path: 'currency-list', + component: CurrencyListComponent } ]; diff --git a/web/src/app/app.component.scss b/web/src/app/app.component.scss index ae2f8824..ee32bed6 100644 --- a/web/src/app/app.component.scss +++ b/web/src/app/app.component.scss @@ -18,7 +18,6 @@ width: 14%; position: fixed; margin-top: 4rem; - } .navbar { @@ -36,7 +35,7 @@ } .history-highlight { - color: blue !important; + color: cornflowerblue !important; } .wallet-highlight { diff --git a/web/src/app/app.module.ts b/web/src/app/app.module.ts index e59d770e..703cebf2 100644 --- a/web/src/app/app.module.ts +++ b/web/src/app/app.module.ts @@ -65,6 +65,9 @@ import { BuySellComponent } from './shared/buy-sell/buy-sell.component'; import { SelectedCurrencyComponent } from './shared/selected-currency/selected-currency.component'; import { TradingComponent } from './pages/trading/trading.component'; import { HistoryComponent } from './pages/history/history.component'; +import { BuySellFormComponent } from './shared/buy-sell-form/buy-sell-form.component'; +import { ExchangeGridComponent } from './pages/exchange-grid/exchange-grid.component'; +import { CurrencyListComponent } from './pages/currency-list/currency-list.component'; @NgModule({ @@ -88,6 +91,9 @@ import { HistoryComponent } from './pages/history/history.component'; SelectedCurrencyComponent, TradingComponent, HistoryComponent, + BuySellFormComponent, + ExchangeGridComponent, + CurrencyListComponent, ], imports: [ BrowserModule, diff --git a/web/src/app/pages/currency-list/currency-list.component.html b/web/src/app/pages/currency-list/currency-list.component.html new file mode 100644 index 00000000..ad84feff --- /dev/null +++ b/web/src/app/pages/currency-list/currency-list.component.html @@ -0,0 +1,35 @@ + +

Poloniex

+ + attach_money +

BTC_USD

+ +
+ + attach_money +

LTC_USD

+ +
+ + attach_money +

ETH_USD

+ +
+ +

Kraken

+ + attach_money +

BTC_USD

+ +
+ + attach_money +

LTC_USD

+ +
+ + attach_money +

ETH_USD

+ +
+
\ No newline at end of file diff --git a/web/src/app/pages/currency-list/currency-list.component.scss b/web/src/app/pages/currency-list/currency-list.component.scss new file mode 100644 index 00000000..14568929 --- /dev/null +++ b/web/src/app/pages/currency-list/currency-list.component.scss @@ -0,0 +1,9 @@ +.BTC { + color:orange; +} +.LTC { + color:silver; +} +.ETH { + color:darkslategrey; +} \ No newline at end of file diff --git a/web/src/app/pages/currency-list/currency-list.component.spec.ts b/web/src/app/pages/currency-list/currency-list.component.spec.ts new file mode 100644 index 00000000..0cd6916b --- /dev/null +++ b/web/src/app/pages/currency-list/currency-list.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CurrencyListComponent } from './currency-list.component'; + +describe('CurrencyListComponent', () => { + let component: CurrencyListComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ CurrencyListComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CurrencyListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/pages/currency-list/currency-list.component.ts b/web/src/app/pages/currency-list/currency-list.component.ts new file mode 100644 index 00000000..af96b91d --- /dev/null +++ b/web/src/app/pages/currency-list/currency-list.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-currency-list', + templateUrl: './currency-list.component.html', + styleUrls: ['./currency-list.component.scss'] +}) +export class CurrencyListComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/web/src/app/pages/donate/donate.component.scss b/web/src/app/pages/donate/donate.component.scss index 13f14a65..9bbb6a27 100644 --- a/web/src/app/pages/donate/donate.component.scss +++ b/web/src/app/pages/donate/donate.component.scss @@ -9,5 +9,5 @@ .heart { margin: 0px auto !important; -display:flex; + display:flex; } \ No newline at end of file diff --git a/web/src/app/pages/exchange-grid/exchange-grid.component.html b/web/src/app/pages/exchange-grid/exchange-grid.component.html new file mode 100644 index 00000000..417ab070 --- /dev/null +++ b/web/src/app/pages/exchange-grid/exchange-grid.component.html @@ -0,0 +1,60 @@ + + + + + Poloniex + + + + + image and blurb + + + + attach_money +

BTC_USD

+ +
+ + attach_money +

LTC_USD

+ +
+ + attach_money +

ETH_USD

+ +
+
+ +
+ + + Kraken + + + + + image and blurb +
+ + + + attach_money +

BTC_USD

+ +
+ + attach_money +

LTC_USD

+ +
+ + attach_money +

ETH_USD

+ +
+
+
+
+
\ No newline at end of file diff --git a/web/src/app/pages/exchange-grid/exchange-grid.component.scss b/web/src/app/pages/exchange-grid/exchange-grid.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/web/src/app/pages/exchange-grid/exchange-grid.component.spec.ts b/web/src/app/pages/exchange-grid/exchange-grid.component.spec.ts new file mode 100644 index 00000000..40cca157 --- /dev/null +++ b/web/src/app/pages/exchange-grid/exchange-grid.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ExchangeGridComponent } from './exchange-grid.component'; + +describe('ExchangeGridComponent', () => { + let component: ExchangeGridComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ExchangeGridComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ExchangeGridComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/pages/exchange-grid/exchange-grid.component.ts b/web/src/app/pages/exchange-grid/exchange-grid.component.ts new file mode 100644 index 00000000..d72a48ef --- /dev/null +++ b/web/src/app/pages/exchange-grid/exchange-grid.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-exchange-grid', + templateUrl: './exchange-grid.component.html', + styleUrls: ['./exchange-grid.component.scss'] +}) +export class ExchangeGridComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/web/src/app/pages/trading/trading.component.html b/web/src/app/pages/trading/trading.component.html index 826064a5..481dca37 100644 --- a/web/src/app/pages/trading/trading.component.html +++ b/web/src/app/pages/trading/trading.component.html @@ -1,4 +1,2 @@ -

- trading works! -

+ diff --git a/web/src/app/shared/buy-sell-form/buy-sell-form.component.html b/web/src/app/shared/buy-sell-form/buy-sell-form.component.html new file mode 100644 index 00000000..42eb3dea --- /dev/null +++ b/web/src/app/shared/buy-sell-form/buy-sell-form.component.html @@ -0,0 +1,3 @@ +

+ buy-sell-form works! +

diff --git a/web/src/app/shared/buy-sell-form/buy-sell-form.component.scss b/web/src/app/shared/buy-sell-form/buy-sell-form.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/web/src/app/shared/buy-sell-form/buy-sell-form.component.spec.ts b/web/src/app/shared/buy-sell-form/buy-sell-form.component.spec.ts new file mode 100644 index 00000000..78399347 --- /dev/null +++ b/web/src/app/shared/buy-sell-form/buy-sell-form.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BuySellFormComponent } from './buy-sell-form.component'; + +describe('BuySellFormComponent', () => { + let component: BuySellFormComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ BuySellFormComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(BuySellFormComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/web/src/app/shared/buy-sell-form/buy-sell-form.component.ts b/web/src/app/shared/buy-sell-form/buy-sell-form.component.ts new file mode 100644 index 00000000..593a3a91 --- /dev/null +++ b/web/src/app/shared/buy-sell-form/buy-sell-form.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-buy-sell-form', + templateUrl: './buy-sell-form.component.html', + styleUrls: ['./buy-sell-form.component.scss'] +}) +export class BuySellFormComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/web/src/app/shared/buy-sell/buy-sell.component.html b/web/src/app/shared/buy-sell/buy-sell.component.html index a2e2fdc5..0d923df8 100644 --- a/web/src/app/shared/buy-sell/buy-sell.component.html +++ b/web/src/app/shared/buy-sell/buy-sell.component.html @@ -1,16 +1,14 @@ - The best pasta + BUY -

Best pasta restaurants

-

...

+
- thumb_down The worst sushi + SELL -

Terrible sushi restaurants

-

...

+
\ No newline at end of file diff --git a/web/src/app/shared/navbar/navbar.component.html b/web/src/app/shared/navbar/navbar.component.html index b63ce1ab..291b660d 100644 --- a/web/src/app/shared/navbar/navbar.component.html +++ b/web/src/app/shared/navbar/navbar.component.html @@ -8,5 +8,7 @@
+   +   \ No newline at end of file diff --git a/web/src/app/shared/selected-currency/selected-currency.component.html b/web/src/app/shared/selected-currency/selected-currency.component.html index 39a10213..9d0da2c1 100644 --- a/web/src/app/shared/selected-currency/selected-currency.component.html +++ b/web/src/app/shared/selected-currency/selected-currency.component.html @@ -1,10 +1,10 @@ - - + -