Merge 'master' into skeleton
							
								
								
									
										16
									
								
								CREDITS
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					// @ Image/Vector/Icon Credits
 | 
				
			||||||
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Avatars - https://uifaces.co/
 | 
				
			||||||
 | 
					Flag icons - http://www.famfamfam.com/lab/icons/flags/
 | 
				
			||||||
 | 
					Frame vector created by Freepik - https://www.freepik.com/free-photos-vectors/frame
 | 
				
			||||||
 | 
					A Walk Amongst Friends - Photo by Kristin Ellis on Unsplash - https://unsplash.com/photos/CbZOGbazDWQ
 | 
				
			||||||
 | 
					Sunrise at Moraine Lake - Photo by Marlon Martinez on Unsplash - https://unsplash.com/photos/woNYcfrnp9M
 | 
				
			||||||
 | 
					Braies Lake - Photo by Luca Nicoletti on Unsplash - https://unsplash.com/photos/dH-L5zPcv3E
 | 
				
			||||||
 | 
					Lago di Sorapis - Photo by eberhard grossgasteiger on Unsplash - https://unsplash.com/photos/6uDg_zb20EM
 | 
				
			||||||
 | 
					Lago di Braies - Photo by Salmen Bejaoui on Unsplash - https://unsplash.com/photos/uXTozY3CcQg
 | 
				
			||||||
 | 
					Reaching - Photo by Justin Novello on Unsplash - https://unsplash.com/photos/Y14TNvIDllM
 | 
				
			||||||
 | 
					Yosemite - Photo by Tim Mossholder on Unsplash - https://unsplash.com/photos/ZCrtRSSUpGI
 | 
				
			||||||
 | 
					Never Stop Changing - Photo by John Westrock on Unsplash - https://unsplash.com/photos/_GY56uSG70U
 | 
				
			||||||
 | 
					Fall glow - Photo by Casey Horner on Unsplash - https://unsplash.com/photos/gz19zOdgN7w
 | 
				
			||||||
 | 
					First snow - Photo by eberhard grossgasteiger on Unsplash - https://unsplash.com/photos/LRrGf6dBjA4
 | 
				
			||||||
							
								
								
									
										3
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						@ -1 +1,2 @@
 | 
				
			|||||||
https://themeforest.net/licenses/terms/regular
 | 
					This project is protected by Envato's Regular License. For more information,
 | 
				
			||||||
 | 
					check the official license page at https://themeforest.net/licenses/terms/regular
 | 
				
			||||||
							
								
								
									
										17
									
								
								angular.json
									
									
									
									
									
								
							
							
						
						@ -48,7 +48,14 @@
 | 
				
			|||||||
                            "aot": true,
 | 
					                            "aot": true,
 | 
				
			||||||
                            "extractLicenses": true,
 | 
					                            "extractLicenses": true,
 | 
				
			||||||
                            "vendorChunk": false,
 | 
					                            "vendorChunk": false,
 | 
				
			||||||
                            "buildOptimizer": true
 | 
					                            "buildOptimizer": true,
 | 
				
			||||||
 | 
					                            "budgets": [
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    "type": "initial",
 | 
				
			||||||
 | 
					                                    "maximumWarning": "2mb",
 | 
				
			||||||
 | 
					                                    "maximumError": "5mb"
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            ]
 | 
				
			||||||
                        },
 | 
					                        },
 | 
				
			||||||
                        "ec": {
 | 
					                        "ec": {
 | 
				
			||||||
                            "sourceMap": true,
 | 
					                            "sourceMap": true,
 | 
				
			||||||
@ -96,7 +103,7 @@
 | 
				
			|||||||
                        "tsConfig": "src/tsconfig.spec.json",
 | 
					                        "tsConfig": "src/tsconfig.spec.json",
 | 
				
			||||||
                        "karmaConfig": "src/karma.conf.js",
 | 
					                        "karmaConfig": "src/karma.conf.js",
 | 
				
			||||||
                        "styles": [
 | 
					                        "styles": [
 | 
				
			||||||
                            "styles.scss"
 | 
					                            "src/styles.scss"
 | 
				
			||||||
                        ],
 | 
					                        ],
 | 
				
			||||||
                        "scripts": [],
 | 
					                        "scripts": [],
 | 
				
			||||||
                        "assets": [
 | 
					                        "assets": [
 | 
				
			||||||
@ -122,12 +129,18 @@
 | 
				
			|||||||
        "fuse-e2e": {
 | 
					        "fuse-e2e": {
 | 
				
			||||||
            "root": "e2e/",
 | 
					            "root": "e2e/",
 | 
				
			||||||
            "projectType": "application",
 | 
					            "projectType": "application",
 | 
				
			||||||
 | 
					            "prefix": "",
 | 
				
			||||||
            "architect": {
 | 
					            "architect": {
 | 
				
			||||||
                "e2e": {
 | 
					                "e2e": {
 | 
				
			||||||
                    "builder": "@angular-devkit/build-angular:protractor",
 | 
					                    "builder": "@angular-devkit/build-angular:protractor",
 | 
				
			||||||
                    "options": {
 | 
					                    "options": {
 | 
				
			||||||
                        "protractorConfig": "e2e/protractor.conf.js",
 | 
					                        "protractorConfig": "e2e/protractor.conf.js",
 | 
				
			||||||
                        "devServerTarget": "fuse:serve"
 | 
					                        "devServerTarget": "fuse:serve"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "configurations": {
 | 
				
			||||||
 | 
					                        "production": {
 | 
				
			||||||
 | 
					                            "devServerTarget": "fuse:serve:production"
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "lint": {
 | 
					                "lint": {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,14 +1,14 @@
 | 
				
			|||||||
import { Fuse2Page } from './app.po';
 | 
					import { FusePage } from './app.po';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
describe('Fuse2 App', () => {
 | 
					describe('Fuse App', () => {
 | 
				
			||||||
    let page: Fuse2Page;
 | 
					    let page: FusePage;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    beforeEach(() => {
 | 
					    beforeEach(() => {
 | 
				
			||||||
        page = new Fuse2Page();
 | 
					        page = new FusePage();
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    it('should display welcome message', () => {
 | 
					    it('should display welcome message', () => {
 | 
				
			||||||
        page.navigateTo();
 | 
					        page.navigateTo();
 | 
				
			||||||
        expect(page.getParagraphText()).toEqual('Welcome to Fuse2!');
 | 
					        expect(page.getParagraphText()).toEqual('Welcome to Fuse!');
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
				
			|||||||
@ -1,11 +1,11 @@
 | 
				
			|||||||
import { browser, by, element } from 'protractor';
 | 
					import { browser, by, element } from 'protractor';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class Fuse2Page {
 | 
					export class FusePage {
 | 
				
			||||||
    navigateTo(): any {
 | 
					    navigateTo(): any {
 | 
				
			||||||
        return browser.get('/');
 | 
					        return browser.get('/');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    getParagraphText(): any {
 | 
					    getParagraphText(): any {
 | 
				
			||||||
        return element(by.css('app-root h1')).getText();
 | 
					        return element(by.css('app #main')).getText();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										4421
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
							
								
								
									
										75
									
								
								package.json
									
									
									
									
									
								
							
							
						
						@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "fuse",
 | 
					  "name": "fuse",
 | 
				
			||||||
  "version": "6.3.0",
 | 
					  "version": "7.0.0",
 | 
				
			||||||
  "license": "https://themeforest.net/licenses/terms/regular",
 | 
					  "license": "https://themeforest.net/licenses/terms/regular",
 | 
				
			||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
    "ng": "ng",
 | 
					    "ng": "ng",
 | 
				
			||||||
@ -18,20 +18,20 @@
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  "private": true,
 | 
					  "private": true,
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "@agm/core": "1.0.0-beta.3",
 | 
					    "@agm/core": "1.0.0-beta.5",
 | 
				
			||||||
    "@angular/animations": "6.1.6",
 | 
					    "@angular/animations": "7.0.0",
 | 
				
			||||||
    "@angular/cdk": "6.4.6",
 | 
					    "@angular/cdk": "7.0.0",
 | 
				
			||||||
    "@angular/common": "6.1.6",
 | 
					    "@angular/common": "7.0.0",
 | 
				
			||||||
    "@angular/compiler": "6.1.6",
 | 
					    "@angular/compiler": "7.0.0",
 | 
				
			||||||
    "@angular/core": "6.1.6",
 | 
					    "@angular/core": "7.0.0",
 | 
				
			||||||
    "@angular/flex-layout": "6.0.0-beta.16",
 | 
					    "@angular/flex-layout": "7.0.0-beta.19",
 | 
				
			||||||
    "@angular/forms": "6.1.6",
 | 
					    "@angular/forms": "7.0.0",
 | 
				
			||||||
    "@angular/http": "6.1.6",
 | 
					    "@angular/http": "7.0.0",
 | 
				
			||||||
    "@angular/material": "6.4.6",
 | 
					    "@angular/material": "7.0.0",
 | 
				
			||||||
    "@angular/material-moment-adapter": "6.4.6",
 | 
					    "@angular/material-moment-adapter": "7.0.0",
 | 
				
			||||||
    "@angular/platform-browser": "6.1.6",
 | 
					    "@angular/platform-browser": "7.0.0",
 | 
				
			||||||
    "@angular/platform-browser-dynamic": "6.1.6",
 | 
					    "@angular/platform-browser-dynamic": "7.0.0",
 | 
				
			||||||
    "@angular/router": "6.1.6",
 | 
					    "@angular/router": "7.0.0",
 | 
				
			||||||
    "@ngrx/effects": "6.1.0",
 | 
					    "@ngrx/effects": "6.1.0",
 | 
				
			||||||
    "@ngrx/router-store": "6.1.0",
 | 
					    "@ngrx/router-store": "6.1.0",
 | 
				
			||||||
    "@ngrx/store": "6.1.0",
 | 
					    "@ngrx/store": "6.1.0",
 | 
				
			||||||
@ -40,50 +40,51 @@
 | 
				
			|||||||
    "@swimlane/dragula": "3.7.3",
 | 
					    "@swimlane/dragula": "3.7.3",
 | 
				
			||||||
    "@swimlane/ngx-charts": "9.0.0",
 | 
					    "@swimlane/ngx-charts": "9.0.0",
 | 
				
			||||||
    "@swimlane/ngx-datatable": "13.1.0",
 | 
					    "@swimlane/ngx-datatable": "13.1.0",
 | 
				
			||||||
    "@swimlane/ngx-dnd": "5.0.6",
 | 
					    "@swimlane/ngx-dnd": "5.1.0",
 | 
				
			||||||
    "@types/prismjs": "1.9.0",
 | 
					    "@types/prismjs": "1.9.0",
 | 
				
			||||||
    "angular-calendar": "0.25.2",
 | 
					    "angular-calendar": "0.26.3",
 | 
				
			||||||
    "angular-in-memory-web-api": "0.6.1",
 | 
					    "angular-in-memory-web-api": "0.6.1",
 | 
				
			||||||
    "chart.js": "2.7.2",
 | 
					    "chart.js": "2.7.3",
 | 
				
			||||||
    "classlist.js": "1.1.20150312",
 | 
					    "classlist.js": "1.1.20150312",
 | 
				
			||||||
    "core-js": "2.5.7",
 | 
					    "core-js": "2.5.7",
 | 
				
			||||||
    "d3": "5.7.0",
 | 
					    "d3": "5.7.0",
 | 
				
			||||||
 | 
					    "date-fns": "1.29.0",
 | 
				
			||||||
    "hammerjs": "2.0.8",
 | 
					    "hammerjs": "2.0.8",
 | 
				
			||||||
    "lodash": "4.17.10",
 | 
					    "lodash": "4.17.11",
 | 
				
			||||||
    "moment": "2.22.2",
 | 
					    "moment": "2.22.2",
 | 
				
			||||||
    "ng2-charts": "1.6.0",
 | 
					    "ng2-charts": "1.6.0",
 | 
				
			||||||
    "ngrx-store-freeze": "0.2.4",
 | 
					    "ngrx-store-freeze": "0.2.4",
 | 
				
			||||||
    "ngx-color-picker": "6.6.0",
 | 
					    "ngx-color-picker": "6.7.0",
 | 
				
			||||||
    "ngx-cookie-service": "1.0.10",
 | 
					    "ngx-cookie-service": "1.0.10",
 | 
				
			||||||
    "perfect-scrollbar": "1.4.0",
 | 
					    "perfect-scrollbar": "1.4.0",
 | 
				
			||||||
    "prismjs": "1.15.0",
 | 
					    "prismjs": "1.15.0",
 | 
				
			||||||
    "rxjs": "6.2.2",
 | 
					    "rxjs": "6.3.3",
 | 
				
			||||||
    "rxjs-compat": "6.2.2",
 | 
					    "rxjs-compat": "6.3.3",
 | 
				
			||||||
    "web-animations-js": "2.3.1",
 | 
					    "web-animations-js": "2.3.1",
 | 
				
			||||||
    "zone.js": "0.8.26"
 | 
					    "zone.js": "0.8.26"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
    "@angular/cli": "6.1.5",
 | 
					    "@angular/cli": "7.0.1",
 | 
				
			||||||
    "@angular/compiler-cli": "6.1.6",
 | 
					    "@angular/compiler-cli": "7.0.0",
 | 
				
			||||||
    "@angular/language-service": "6.1.6",
 | 
					    "@angular/language-service": "7.0.0",
 | 
				
			||||||
    "@angular-devkit/build-angular": "0.7.5",
 | 
					    "@angular-devkit/build-angular": "0.10.1",
 | 
				
			||||||
    "@angularclass/hmr": "2.1.3",
 | 
					    "@angularclass/hmr": "2.1.3",
 | 
				
			||||||
    "@types/jasmine": "2.8.8",
 | 
					    "@types/jasmine": "2.8.9",
 | 
				
			||||||
    "@types/jasminewd2": "2.0.3",
 | 
					    "@types/jasminewd2": "2.0.5",
 | 
				
			||||||
    "@types/lodash": "4.14.116",
 | 
					    "@types/lodash": "4.14.117",
 | 
				
			||||||
    "@types/node": "8.9.5",
 | 
					    "@types/node": "8.9.5",
 | 
				
			||||||
    "codelyzer": "4.2.1",
 | 
					    "codelyzer": "4.5.0",
 | 
				
			||||||
    "jasmine-core": "2.99.1",
 | 
					    "jasmine-core": "2.99.1",
 | 
				
			||||||
    "jasmine-spec-reporter": "4.2.1",
 | 
					    "jasmine-spec-reporter": "4.2.1",
 | 
				
			||||||
    "karma": "1.7.1",
 | 
					    "karma": "3.0.0",
 | 
				
			||||||
    "karma-chrome-launcher": "2.2.0",
 | 
					    "karma-chrome-launcher": "2.2.0",
 | 
				
			||||||
    "karma-coverage-istanbul-reporter": "2.0.2",
 | 
					    "karma-coverage-istanbul-reporter": "2.0.4",
 | 
				
			||||||
    "karma-jasmine": "1.1.2",
 | 
					    "karma-jasmine": "1.1.2",
 | 
				
			||||||
    "karma-jasmine-html-reporter": "0.2.2",
 | 
					    "karma-jasmine-html-reporter": "0.2.2",
 | 
				
			||||||
    "protractor": "5.4.0",
 | 
					    "protractor": "5.4.1",
 | 
				
			||||||
    "ts-node": "5.0.1",
 | 
					    "ts-node": "7.0.1",
 | 
				
			||||||
    "tslint": "5.9.1",
 | 
					    "tslint": "5.11.0",
 | 
				
			||||||
    "typescript": "2.7.2",
 | 
					    "typescript": "3.1.3",
 | 
				
			||||||
    "webpack-bundle-analyzer": "2.13.1"
 | 
					    "webpack-bundle-analyzer": "3.0.3"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -37,7 +37,7 @@
 | 
				
			|||||||
        velit.
 | 
					        velit.
 | 
				
			||||||
    </p>
 | 
					    </p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <img class="mt-24 w-100-p" src="assets/images/etc/early-sunrise.jpg" style="max-width: 640px">
 | 
					    <img class="mt-24 w-100-p" src="assets/images/demo-content/morain-lake.jpg" style="max-width: 640px">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <p class="mt-8 mb-24 secondary-text">
 | 
					    <p class="mt-8 mb-24 secondary-text">
 | 
				
			||||||
        <em>Nullam tincidunt sed purus eu placerat. Donec id dictum erat. Etiam enim ex, dapibus et tortor id.</em>
 | 
					        <em>Nullam tincidunt sed purus eu placerat. Donec id dictum erat. Etiam enim ex, dapibus et tortor id.</em>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,14 +1,15 @@
 | 
				
			|||||||
import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';
 | 
					import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, ViewEncapsulation } from '@angular/core';
 | 
				
			||||||
import { Subject } from 'rxjs';
 | 
					import { merge, Subject } from 'rxjs';
 | 
				
			||||||
import { takeUntil } from 'rxjs/operators';
 | 
					import { takeUntil } from 'rxjs/operators';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { FuseNavigationService } from '@fuse/components/navigation/navigation.service';
 | 
					import { FuseNavigationService } from '@fuse/components/navigation/navigation.service';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Component({
 | 
					@Component({
 | 
				
			||||||
    selector     : 'fuse-navigation',
 | 
					    selector       : 'fuse-navigation',
 | 
				
			||||||
    templateUrl  : './navigation.component.html',
 | 
					    templateUrl    : './navigation.component.html',
 | 
				
			||||||
    styleUrls    : ['./navigation.component.scss'],
 | 
					    styleUrls      : ['./navigation.component.scss'],
 | 
				
			||||||
    encapsulation: ViewEncapsulation.None
 | 
					    encapsulation  : ViewEncapsulation.None,
 | 
				
			||||||
 | 
					    changeDetection: ChangeDetectionStrategy.OnPush
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
export class FuseNavigationComponent implements OnInit
 | 
					export class FuseNavigationComponent implements OnInit
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -22,9 +23,12 @@ export class FuseNavigationComponent implements OnInit
 | 
				
			|||||||
    private _unsubscribeAll: Subject<any>;
 | 
					    private _unsubscribeAll: Subject<any>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Constructor
 | 
					     *
 | 
				
			||||||
 | 
					     * @param {ChangeDetectorRef} _changeDetectorRef
 | 
				
			||||||
 | 
					     * @param {FuseNavigationService} _fuseNavigationService
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    constructor(
 | 
					    constructor(
 | 
				
			||||||
 | 
					        private _changeDetectorRef: ChangeDetectorRef,
 | 
				
			||||||
        private _fuseNavigationService: FuseNavigationService
 | 
					        private _fuseNavigationService: FuseNavigationService
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -48,7 +52,24 @@ export class FuseNavigationComponent implements OnInit
 | 
				
			|||||||
        this._fuseNavigationService.onNavigationChanged
 | 
					        this._fuseNavigationService.onNavigationChanged
 | 
				
			||||||
            .pipe(takeUntil(this._unsubscribeAll))
 | 
					            .pipe(takeUntil(this._unsubscribeAll))
 | 
				
			||||||
            .subscribe(() => {
 | 
					            .subscribe(() => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                // Load the navigation
 | 
				
			||||||
                this.navigation = this._fuseNavigationService.getCurrentNavigation();
 | 
					                this.navigation = this._fuseNavigationService.getCurrentNavigation();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                // Mark for check
 | 
				
			||||||
 | 
					                this._changeDetectorRef.markForCheck();
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Subscribe to navigation item
 | 
				
			||||||
 | 
					        merge(
 | 
				
			||||||
 | 
					            this._fuseNavigationService.onNavigationItemAdded,
 | 
				
			||||||
 | 
					            this._fuseNavigationService.onNavigationItemUpdated,
 | 
				
			||||||
 | 
					            this._fuseNavigationService.onNavigationItemRemoved
 | 
				
			||||||
 | 
					        ).pipe(takeUntil(this._unsubscribeAll))
 | 
				
			||||||
 | 
					         .subscribe(() => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					             // Mark for check
 | 
				
			||||||
 | 
					             this._changeDetectorRef.markForCheck();
 | 
				
			||||||
 | 
					         });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,6 @@
 | 
				
			|||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { BehaviorSubject, Observable, Subject } from 'rxjs';
 | 
					import { BehaviorSubject, Observable, Subject } from 'rxjs';
 | 
				
			||||||
 | 
					import * as _ from 'lodash';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { FuseNavigationItem } from '@fuse/types';
 | 
					import { FuseNavigationItem } from '@fuse/types';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -15,6 +16,9 @@ export class FuseNavigationService
 | 
				
			|||||||
    private _onNavigationChanged: BehaviorSubject<any>;
 | 
					    private _onNavigationChanged: BehaviorSubject<any>;
 | 
				
			||||||
    private _onNavigationRegistered: BehaviorSubject<any>;
 | 
					    private _onNavigationRegistered: BehaviorSubject<any>;
 | 
				
			||||||
    private _onNavigationUnregistered: BehaviorSubject<any>;
 | 
					    private _onNavigationUnregistered: BehaviorSubject<any>;
 | 
				
			||||||
 | 
					    private _onNavigationItemAdded: BehaviorSubject<any>;
 | 
				
			||||||
 | 
					    private _onNavigationItemUpdated: BehaviorSubject<any>;
 | 
				
			||||||
 | 
					    private _onNavigationItemRemoved: BehaviorSubject<any>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private _currentNavigationKey: string;
 | 
					    private _currentNavigationKey: string;
 | 
				
			||||||
    private _registry: { [key: string]: any } = {};
 | 
					    private _registry: { [key: string]: any } = {};
 | 
				
			||||||
@ -33,6 +37,9 @@ export class FuseNavigationService
 | 
				
			|||||||
        this._onNavigationChanged = new BehaviorSubject(null);
 | 
					        this._onNavigationChanged = new BehaviorSubject(null);
 | 
				
			||||||
        this._onNavigationRegistered = new BehaviorSubject(null);
 | 
					        this._onNavigationRegistered = new BehaviorSubject(null);
 | 
				
			||||||
        this._onNavigationUnregistered = new BehaviorSubject(null);
 | 
					        this._onNavigationUnregistered = new BehaviorSubject(null);
 | 
				
			||||||
 | 
					        this._onNavigationItemAdded = new BehaviorSubject(null);
 | 
				
			||||||
 | 
					        this._onNavigationItemUpdated = new BehaviorSubject(null);
 | 
				
			||||||
 | 
					        this._onNavigationItemRemoved = new BehaviorSubject(null);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // -----------------------------------------------------------------------------------------------------
 | 
					    // -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
@ -69,6 +76,36 @@ export class FuseNavigationService
 | 
				
			|||||||
        return this._onNavigationUnregistered.asObservable();
 | 
					        return this._onNavigationUnregistered.asObservable();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Get onNavigationItemAdded
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @returns {Observable<any>}
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    get onNavigationItemAdded(): Observable<any>
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return this._onNavigationItemAdded.asObservable();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Get onNavigationItemUpdated
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @returns {Observable<any>}
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    get onNavigationItemUpdated(): Observable<any>
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return this._onNavigationItemUpdated.asObservable();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Get onNavigationItemRemoved
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @returns {Observable<any>}
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    get onNavigationItemRemoved(): Observable<any>
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return this._onNavigationItemRemoved.asObservable();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // -----------------------------------------------------------------------------------------------------
 | 
					    // -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
    // @ Public methods
 | 
					    // @ Public methods
 | 
				
			||||||
    // -----------------------------------------------------------------------------------------------------
 | 
					    // -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
@ -319,6 +356,33 @@ export class FuseNavigationService
 | 
				
			|||||||
            // Add the item
 | 
					            // Add the item
 | 
				
			||||||
            parent.children.push(item);
 | 
					            parent.children.push(item);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Trigger the observable
 | 
				
			||||||
 | 
					        this._onNavigationItemAdded.next(true);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Update navigation item with the given id
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param id
 | 
				
			||||||
 | 
					     * @param properties
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    updateNavigationItem(id, properties): void
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        // Get the navigation item
 | 
				
			||||||
 | 
					        const navigationItem = this.getNavigationItem(id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // If there is no navigation with the give id, return
 | 
				
			||||||
 | 
					        if ( !navigationItem )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Merge the navigation properties
 | 
				
			||||||
 | 
					        _.merge(navigationItem, properties);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Trigger the observable
 | 
				
			||||||
 | 
					        this._onNavigationItemUpdated.next(true);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@ -346,5 +410,8 @@ export class FuseNavigationService
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        // Remove the item
 | 
					        // Remove the item
 | 
				
			||||||
        parent.splice(parent.indexOf(item), 1);
 | 
					        parent.splice(parent.indexOf(item), 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Trigger the observable
 | 
				
			||||||
 | 
					        this._onNavigationItemRemoved.next(true);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
import { Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core';
 | 
					import { ChangeDetectorRef, Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core';
 | 
				
			||||||
import { NavigationEnd, Router } from '@angular/router';
 | 
					import { NavigationEnd, Router } from '@angular/router';
 | 
				
			||||||
import { Subject } from 'rxjs';
 | 
					import { merge, Subject } from 'rxjs';
 | 
				
			||||||
import { filter, takeUntil } from 'rxjs/operators';
 | 
					import { filter, takeUntil } from 'rxjs/operators';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { FuseNavigationItem } from '@fuse/types';
 | 
					import { FuseNavigationItem } from '@fuse/types';
 | 
				
			||||||
@ -30,10 +30,12 @@ export class FuseNavVerticalCollapsableComponent implements OnInit, OnDestroy
 | 
				
			|||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Constructor
 | 
					     * Constructor
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 | 
					     * @param {ChangeDetectorRef} _changeDetectorRef
 | 
				
			||||||
     * @param {FuseNavigationService} _fuseNavigationService
 | 
					     * @param {FuseNavigationService} _fuseNavigationService
 | 
				
			||||||
     * @param {Router} _router
 | 
					     * @param {Router} _router
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    constructor(
 | 
					    constructor(
 | 
				
			||||||
 | 
					        private _changeDetectorRef: ChangeDetectorRef,
 | 
				
			||||||
        private _fuseNavigationService: FuseNavigationService,
 | 
					        private _fuseNavigationService: FuseNavigationService,
 | 
				
			||||||
        private _router: Router
 | 
					        private _router: Router
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
@ -111,6 +113,18 @@ export class FuseNavVerticalCollapsableComponent implements OnInit, OnDestroy
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            this.collapse();
 | 
					            this.collapse();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Subscribe to navigation item
 | 
				
			||||||
 | 
					        merge(
 | 
				
			||||||
 | 
					            this._fuseNavigationService.onNavigationItemAdded,
 | 
				
			||||||
 | 
					            this._fuseNavigationService.onNavigationItemUpdated,
 | 
				
			||||||
 | 
					            this._fuseNavigationService.onNavigationItemRemoved
 | 
				
			||||||
 | 
					        ).pipe(takeUntil(this._unsubscribeAll))
 | 
				
			||||||
 | 
					         .subscribe(() => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					             // Mark for check
 | 
				
			||||||
 | 
					             this._changeDetectorRef.markForCheck();
 | 
				
			||||||
 | 
					         });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@ -154,6 +168,10 @@ export class FuseNavVerticalCollapsableComponent implements OnInit, OnDestroy
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this.isOpen = true;
 | 
					        this.isOpen = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Mark for check
 | 
				
			||||||
 | 
					        this._changeDetectorRef.markForCheck();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this._fuseNavigationService.onItemCollapseToggled.next();
 | 
					        this._fuseNavigationService.onItemCollapseToggled.next();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -168,6 +186,10 @@ export class FuseNavVerticalCollapsableComponent implements OnInit, OnDestroy
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this.isOpen = false;
 | 
					        this.isOpen = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Mark for check
 | 
				
			||||||
 | 
					        this._changeDetectorRef.markForCheck();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this._fuseNavigationService.onItemCollapseToggled.next();
 | 
					        this._fuseNavigationService.onItemCollapseToggled.next();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,13 +1,16 @@
 | 
				
			|||||||
import { Component, HostBinding, Input } from '@angular/core';
 | 
					import { ChangeDetectorRef, Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core';
 | 
				
			||||||
 | 
					import { merge, Subject } from 'rxjs';
 | 
				
			||||||
 | 
					import { takeUntil } from 'rxjs/operators';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { FuseNavigationItem } from '@fuse/types';
 | 
					import { FuseNavigationItem } from '@fuse/types';
 | 
				
			||||||
 | 
					import { FuseNavigationService } from '@fuse/components/navigation/navigation.service';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Component({
 | 
					@Component({
 | 
				
			||||||
    selector   : 'fuse-nav-vertical-group',
 | 
					    selector   : 'fuse-nav-vertical-group',
 | 
				
			||||||
    templateUrl: './group.component.html',
 | 
					    templateUrl: './group.component.html',
 | 
				
			||||||
    styleUrls  : ['./group.component.scss']
 | 
					    styleUrls  : ['./group.component.scss']
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
export class FuseNavVerticalGroupComponent
 | 
					export class FuseNavVerticalGroupComponent implements OnInit, OnDestroy
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    @HostBinding('class')
 | 
					    @HostBinding('class')
 | 
				
			||||||
    classes = 'nav-group nav-item';
 | 
					    classes = 'nav-group nav-item';
 | 
				
			||||||
@ -15,11 +18,57 @@ export class FuseNavVerticalGroupComponent
 | 
				
			|||||||
    @Input()
 | 
					    @Input()
 | 
				
			||||||
    item: FuseNavigationItem;
 | 
					    item: FuseNavigationItem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Private
 | 
				
			||||||
 | 
					    private _unsubscribeAll: Subject<any>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Constructor
 | 
					     * Constructor
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    constructor()
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param {ChangeDetectorRef} _changeDetectorRef
 | 
				
			||||||
 | 
					     * @param {FuseNavigationService} _fuseNavigationService
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    constructor(
 | 
				
			||||||
 | 
					        private _changeDetectorRef: ChangeDetectorRef,
 | 
				
			||||||
 | 
					        private _fuseNavigationService: FuseNavigationService
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        // Set the private defaults
 | 
				
			||||||
 | 
					        this._unsubscribeAll = new Subject();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					    // @ Lifecycle hooks
 | 
				
			||||||
 | 
					    // -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * On init
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    ngOnInit(): void
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        // Subscribe to navigation item
 | 
				
			||||||
 | 
					        merge(
 | 
				
			||||||
 | 
					            this._fuseNavigationService.onNavigationItemAdded,
 | 
				
			||||||
 | 
					            this._fuseNavigationService.onNavigationItemUpdated,
 | 
				
			||||||
 | 
					            this._fuseNavigationService.onNavigationItemRemoved
 | 
				
			||||||
 | 
					        ).pipe(takeUntil(this._unsubscribeAll))
 | 
				
			||||||
 | 
					         .subscribe(() => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					             // Mark for check
 | 
				
			||||||
 | 
					             this._changeDetectorRef.markForCheck();
 | 
				
			||||||
 | 
					         });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * On destroy
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    ngOnDestroy(): void
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        // Unsubscribe from all subscriptions
 | 
				
			||||||
 | 
					        this._unsubscribeAll.next();
 | 
				
			||||||
 | 
					        this._unsubscribeAll.complete();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,13 +1,16 @@
 | 
				
			|||||||
import { Component, HostBinding, Input } from '@angular/core';
 | 
					import { ChangeDetectorRef, Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core';
 | 
				
			||||||
 | 
					import { merge, Subject } from 'rxjs';
 | 
				
			||||||
 | 
					import { takeUntil } from 'rxjs/operators';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { FuseNavigationItem } from '@fuse/types';
 | 
					import { FuseNavigationItem } from '@fuse/types';
 | 
				
			||||||
 | 
					import { FuseNavigationService } from '@fuse/components/navigation/navigation.service';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Component({
 | 
					@Component({
 | 
				
			||||||
    selector   : 'fuse-nav-vertical-item',
 | 
					    selector   : 'fuse-nav-vertical-item',
 | 
				
			||||||
    templateUrl: './item.component.html',
 | 
					    templateUrl: './item.component.html',
 | 
				
			||||||
    styleUrls  : ['./item.component.scss']
 | 
					    styleUrls  : ['./item.component.scss']
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
export class FuseNavVerticalItemComponent
 | 
					export class FuseNavVerticalItemComponent implements OnInit, OnDestroy
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    @HostBinding('class')
 | 
					    @HostBinding('class')
 | 
				
			||||||
    classes = 'nav-item';
 | 
					    classes = 'nav-item';
 | 
				
			||||||
@ -15,10 +18,56 @@ export class FuseNavVerticalItemComponent
 | 
				
			|||||||
    @Input()
 | 
					    @Input()
 | 
				
			||||||
    item: FuseNavigationItem;
 | 
					    item: FuseNavigationItem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Private
 | 
				
			||||||
 | 
					    private _unsubscribeAll: Subject<any>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Constructor
 | 
					     * Constructor
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    constructor()
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param {ChangeDetectorRef} _changeDetectorRef
 | 
				
			||||||
 | 
					     * @param {FuseNavigationService} _fuseNavigationService
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    constructor(
 | 
				
			||||||
 | 
					        private _changeDetectorRef: ChangeDetectorRef,
 | 
				
			||||||
 | 
					        private _fuseNavigationService: FuseNavigationService
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        // Set the private defaults
 | 
				
			||||||
 | 
					        this._unsubscribeAll = new Subject();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					    // @ Lifecycle hooks
 | 
				
			||||||
 | 
					    // -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * On init
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    ngOnInit(): void
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        // Subscribe to navigation item
 | 
				
			||||||
 | 
					        merge(
 | 
				
			||||||
 | 
					            this._fuseNavigationService.onNavigationItemAdded,
 | 
				
			||||||
 | 
					            this._fuseNavigationService.onNavigationItemUpdated,
 | 
				
			||||||
 | 
					            this._fuseNavigationService.onNavigationItemRemoved
 | 
				
			||||||
 | 
					        ).pipe(takeUntil(this._unsubscribeAll))
 | 
				
			||||||
 | 
					         .subscribe(() => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					             // Mark for check
 | 
				
			||||||
 | 
					             this._changeDetectorRef.markForCheck();
 | 
				
			||||||
 | 
					         });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * On destroy
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    ngOnDestroy(): void
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        // Unsubscribe from all subscriptions
 | 
				
			||||||
 | 
					        this._unsubscribeAll.next();
 | 
				
			||||||
 | 
					        this._unsubscribeAll.complete();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -9,7 +9,7 @@
 | 
				
			|||||||
        height: 64px;
 | 
					        height: 64px;
 | 
				
			||||||
        font-size: 13px;
 | 
					        font-size: 13px;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        @include media-breakpoint-down('xs') {
 | 
					        @include media-breakpoint('xs') {
 | 
				
			||||||
            height: 56px;
 | 
					            height: 56px;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -28,7 +28,7 @@
 | 
				
			|||||||
                height: 64px !important;
 | 
					                height: 64px !important;
 | 
				
			||||||
                line-height: 64px !important;
 | 
					                line-height: 64px !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                @include media-breakpoint-down('xs') {
 | 
					                @include media-breakpoint('xs') {
 | 
				
			||||||
                    height: 56px !important;
 | 
					                    height: 56px !important;
 | 
				
			||||||
                    line-height: 56px !important;
 | 
					                    line-height: 56px !important;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@ -39,7 +39,7 @@
 | 
				
			|||||||
                height: 64px !important;
 | 
					                height: 64px !important;
 | 
				
			||||||
                line-height: 64px !important;
 | 
					                line-height: 64px !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                @include media-breakpoint-down('xs') {
 | 
					                @include media-breakpoint('xs') {
 | 
				
			||||||
                    height: 56px !important;
 | 
					                    height: 56px !important;
 | 
				
			||||||
                    line-height: 56px !important;
 | 
					                    line-height: 56px !important;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
				
			|||||||
@ -7,7 +7,7 @@
 | 
				
			|||||||
        </button>
 | 
					        </button>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <div class="shortcuts" fxHide fxShow.gt-sm>
 | 
					    <div class="shortcuts" fxLayout="row" fxHide fxShow.gt-sm>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <div fxLayout="row" fxLayoutAlign="space-between center" fxFlex="0 1 auto">
 | 
					        <div fxLayout="row" fxLayoutAlign="space-between center" fxFlex="0 1 auto">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
:host {
 | 
					:host {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @include media-breakpoint-down('sm') {
 | 
					    @include media-breakpoint('lt-md') {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #fuse-shortcuts {
 | 
					        #fuse-shortcuts {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -70,9 +70,7 @@ export class FuseShortcutsComponent implements OnInit, OnDestroy
 | 
				
			|||||||
        // Get the navigation items and flatten them
 | 
					        // Get the navigation items and flatten them
 | 
				
			||||||
        this.filteredNavigationItems = this.navigationItems = this._fuseNavigationService.getFlatNavigation(this.navigation);
 | 
					        this.filteredNavigationItems = this.navigationItems = this._fuseNavigationService.getFlatNavigation(this.navigation);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const cookieExists = this._cookieService.check('FUSE2.shortcuts');
 | 
					        if ( this._cookieService.check('FUSE2.shortcuts') )
 | 
				
			||||||
 | 
					 | 
				
			||||||
        if ( cookieExists )
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            this.shortcutItems = JSON.parse(this._cookieService.get('FUSE2.shortcuts'));
 | 
					            this.shortcutItems = JSON.parse(this._cookieService.get('FUSE2.shortcuts'));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -107,6 +105,7 @@ export class FuseShortcutsComponent implements OnInit, OnDestroy
 | 
				
			|||||||
            ];
 | 
					            ];
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Subscribe to media changes
 | 
				
			||||||
        this._fuseMatchMediaService.onMediaChange
 | 
					        this._fuseMatchMediaService.onMediaChange
 | 
				
			||||||
            .pipe(takeUntil(this._unsubscribeAll))
 | 
					            .pipe(takeUntil(this._unsubscribeAll))
 | 
				
			||||||
            .subscribe(() => {
 | 
					            .subscribe(() => {
 | 
				
			||||||
 | 
				
			|||||||
@ -16,7 +16,7 @@ fuse-sidebar {
 | 
				
			|||||||
    z-index: 1000;
 | 
					    z-index: 1000;
 | 
				
			||||||
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.35);
 | 
					    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.35);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @include media-breakpoint-down('xs') {
 | 
					    @include media-breakpoint('xs') {
 | 
				
			||||||
        min-width: 0 !important;
 | 
					        min-width: 0 !important;
 | 
				
			||||||
        max-width: 80vw !important;
 | 
					        max-width: 80vw !important;
 | 
				
			||||||
        width: 80vw !important;
 | 
					        width: 80vw !important;
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
import {
 | 
					import {
 | 
				
			||||||
    ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, OnInit, Output, Renderer2, RendererStyleFlags2, ViewEncapsulation
 | 
					    ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, OnInit, Output, Renderer2, ViewEncapsulation
 | 
				
			||||||
} from '@angular/core';
 | 
					} from '@angular/core';
 | 
				
			||||||
import { animate, AnimationBuilder, AnimationPlayer, style } from '@angular/animations';
 | 
					import { animate, AnimationBuilder, AnimationPlayer, style } from '@angular/animations';
 | 
				
			||||||
import { ObservableMedia } from '@angular/flex-layout';
 | 
					import { ObservableMedia } from '@angular/flex-layout';
 | 
				
			||||||
@ -174,7 +174,7 @@ export class FuseSidebarComponent implements OnInit, OnDestroy
 | 
				
			|||||||
            this._renderer.setStyle(this._elementRef.nativeElement, 'max-width', styleValue);
 | 
					            this._renderer.setStyle(this._elementRef.nativeElement, 'max-width', styleValue);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Set the style and class
 | 
					            // Set the style and class
 | 
				
			||||||
            this._renderer.setStyle(sibling, styleRule, styleValue, RendererStyleFlags2.Important + RendererStyleFlags2.DashCase);
 | 
					            this._renderer.setStyle(sibling, styleRule, styleValue);
 | 
				
			||||||
            this._renderer.addClass(this._elementRef.nativeElement, 'folded');
 | 
					            this._renderer.addClass(this._elementRef.nativeElement, 'folded');
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        // If unfolded...
 | 
					        // If unfolded...
 | 
				
			||||||
@ -320,6 +320,7 @@ export class FuseSidebarComponent implements OnInit, OnDestroy
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                // Get the active status
 | 
					                // Get the active status
 | 
				
			||||||
                const isActive = this._observableMedia.isActive(this.lockedOpen);
 | 
					                const isActive = this._observableMedia.isActive(this.lockedOpen);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                // If the both status are the same, don't act
 | 
					                // If the both status are the same, don't act
 | 
				
			||||||
                if ( this._wasActive === isActive )
 | 
					                if ( this._wasActive === isActive )
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@ -434,7 +435,7 @@ export class FuseSidebarComponent implements OnInit, OnDestroy
 | 
				
			|||||||
        this._renderer.setStyle(this._elementRef.nativeElement, 'max-width', styleValue);
 | 
					        this._renderer.setStyle(this._elementRef.nativeElement, 'max-width', styleValue);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Set the style and class
 | 
					        // Set the style and class
 | 
				
			||||||
        this._renderer.setStyle(sibling, styleRule, styleValue, RendererStyleFlags2.Important + RendererStyleFlags2.DashCase);
 | 
					        this._renderer.setStyle(sibling, styleRule, styleValue);
 | 
				
			||||||
        this._renderer.addClass(this._elementRef.nativeElement, 'folded');
 | 
					        this._renderer.addClass(this._elementRef.nativeElement, 'folded');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -30,7 +30,7 @@ fuse-theme-options {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            .title {
 | 
					            .title {
 | 
				
			||||||
                font-size: 20px;
 | 
					                font-size: 20px;
 | 
				
			||||||
                font-weight: 500;
 | 
					                font-weight: 600;
 | 
				
			||||||
                padding-left: 4px;
 | 
					                padding-left: 4px;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -56,12 +56,12 @@ fuse-theme-options {
 | 
				
			|||||||
                    margin: 0;
 | 
					                    margin: 0;
 | 
				
			||||||
                    padding: 0 8px;
 | 
					                    padding: 0 8px;
 | 
				
			||||||
                    font-size: 16px;
 | 
					                    font-size: 16px;
 | 
				
			||||||
                    font-weight: 500;
 | 
					                    font-weight: 600;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                h3 {
 | 
					                h3 {
 | 
				
			||||||
                    font-size: 14px;
 | 
					                    font-size: 14px;
 | 
				
			||||||
                    font-weight: 500;
 | 
					                    font-weight: 600;
 | 
				
			||||||
                    margin: 24px 0 16px 0;
 | 
					                    margin: 24px 0 16px 0;
 | 
				
			||||||
                    padding: 0;
 | 
					                    padding: 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -118,7 +118,6 @@ export class FuseThemeOptionsComponent implements OnInit, OnDestroy
 | 
				
			|||||||
                // Reset the form values based on the
 | 
					                // Reset the form values based on the
 | 
				
			||||||
                // selected layout style
 | 
					                // selected layout style
 | 
				
			||||||
                this._resetFormValues(value);
 | 
					                this._resetFormValues(value);
 | 
				
			||||||
 | 
					 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Subscribe to the form value changes
 | 
					        // Subscribe to the form value changes
 | 
				
			||||||
 | 
				
			|||||||
@ -20,11 +20,13 @@ fuse-widget {
 | 
				
			|||||||
        width: 100%;
 | 
					        width: 100%;
 | 
				
			||||||
        opacity: 1;
 | 
					        opacity: 1;
 | 
				
			||||||
        z-index: 10;
 | 
					        z-index: 10;
 | 
				
			||||||
        border-radius: 2px;
 | 
					        border-radius: 8px;
 | 
				
			||||||
        transition: transform 0.5s ease-out 0s, visibility 0s ease-in 0.2s, opacity 0s ease-in 0.2s;
 | 
					        transition: transform 0.5s ease-out 0s, visibility 0s ease-in 0.2s, opacity 0s ease-in 0.2s;
 | 
				
			||||||
        transform: rotateY(0deg);
 | 
					        transform: rotateY(0deg);
 | 
				
			||||||
        backface-visibility: hidden;
 | 
					        backface-visibility: hidden;
 | 
				
			||||||
 | 
					        border: 1px solid;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    > .fuse-widget-back {
 | 
					    > .fuse-widget-back {
 | 
				
			||||||
        display: block;
 | 
					        display: block;
 | 
				
			||||||
        position: absolute;
 | 
					        position: absolute;
 | 
				
			||||||
@ -36,9 +38,11 @@ fuse-widget {
 | 
				
			|||||||
        visibility: hidden;
 | 
					        visibility: hidden;
 | 
				
			||||||
        opacity: 0;
 | 
					        opacity: 0;
 | 
				
			||||||
        z-index: 10;
 | 
					        z-index: 10;
 | 
				
			||||||
 | 
					        border-radius: 8px;
 | 
				
			||||||
        transition: transform 0.5s ease-out 0s, visibility 0s ease-in 0.2s, opacity 0s ease-in 0.2s;
 | 
					        transition: transform 0.5s ease-out 0s, visibility 0s ease-in 0.2s, opacity 0s ease-in 0.2s;
 | 
				
			||||||
        transform: rotateY(180deg);
 | 
					        transform: rotateY(180deg);
 | 
				
			||||||
        backface-visibility: hidden;
 | 
					        backface-visibility: hidden;
 | 
				
			||||||
 | 
					        border: 1px solid;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        [fuseWidgetToggle] {
 | 
					        [fuseWidgetToggle] {
 | 
				
			||||||
            position: absolute;
 | 
					            position: absolute;
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,7 @@
 | 
				
			|||||||
        > .fuse-widget-front,
 | 
					        > .fuse-widget-front,
 | 
				
			||||||
        > .fuse-widget-back {
 | 
					        > .fuse-widget-back {
 | 
				
			||||||
            background: map-get($background, card);
 | 
					            background: map-get($background, card);
 | 
				
			||||||
 | 
					            border-color: map-get($foreground, divider);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -15,7 +15,7 @@ export class FusePerfectScrollbarDirective implements AfterViewInit, OnDestroy
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    isInitialized: boolean;
 | 
					    isInitialized: boolean;
 | 
				
			||||||
    isMobile: boolean;
 | 
					    isMobile: boolean;
 | 
				
			||||||
    ps: PerfectScrollbar;
 | 
					    ps: PerfectScrollbar | any;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Private
 | 
					    // Private
 | 
				
			||||||
    private _enabled: boolean | '';
 | 
					    private _enabled: boolean | '';
 | 
				
			||||||
@ -200,6 +200,19 @@ export class FusePerfectScrollbarDirective implements AfterViewInit, OnDestroy
 | 
				
			|||||||
        this.ps = new PerfectScrollbar(this.elementRef.nativeElement, {
 | 
					        this.ps = new PerfectScrollbar(this.elementRef.nativeElement, {
 | 
				
			||||||
            ...this.fusePerfectScrollbarOptions
 | 
					            ...this.fusePerfectScrollbarOptions
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Unbind 'keydown' events of PerfectScrollbar since it causes an extremely
 | 
				
			||||||
 | 
					        // high CPU usage on Angular Material inputs.
 | 
				
			||||||
 | 
					        // Loop through all the event elements of this PerfectScrollbar instance
 | 
				
			||||||
 | 
					        this.ps.event.eventElements.forEach((eventElement) => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // If we hit to the element with a 'keydown' event...
 | 
				
			||||||
 | 
					            if ( typeof eventElement.handlers['keydown'] !== 'undefined' )
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                // Unbind it
 | 
				
			||||||
 | 
					                eventElement.element.removeEventListener('keydown', eventElement.handlers['keydown'][0]);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 | 
				
			|||||||
@ -17,11 +17,10 @@
 | 
				
			|||||||
@include mat-core();
 | 
					@include mat-core();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Partials
 | 
					// Partials
 | 
				
			||||||
@import "partials/reset";
 | 
					 | 
				
			||||||
@import "partials/normalize";
 | 
					@import "partials/normalize";
 | 
				
			||||||
@import "partials/scrollbars";
 | 
					@import "partials/scrollbars";
 | 
				
			||||||
@import "partials/helpers";
 | 
					@import "partials/helpers";
 | 
				
			||||||
@import "partials/global";
 | 
					@import "partials/general";
 | 
				
			||||||
@import "partials/icons";
 | 
					@import "partials/icons";
 | 
				
			||||||
@import "partials/colors";
 | 
					@import "partials/colors";
 | 
				
			||||||
@import "partials/material";
 | 
					@import "partials/material";
 | 
				
			||||||
@ -32,7 +31,6 @@
 | 
				
			|||||||
@import "partials/cards";
 | 
					@import "partials/cards";
 | 
				
			||||||
@import "partials/navigation";
 | 
					@import "partials/navigation";
 | 
				
			||||||
@import "partials/forms";
 | 
					@import "partials/forms";
 | 
				
			||||||
@import "partials/toolbar";
 | 
					 | 
				
			||||||
@import "partials/print";
 | 
					@import "partials/print";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Plugins
 | 
					// Plugins
 | 
				
			||||||
 | 
				
			|||||||
@ -2,4 +2,4 @@
 | 
				
			|||||||
@import '~@angular/material/theming';
 | 
					@import '~@angular/material/theming';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Breakpoint mixins
 | 
					// Breakpoint mixins
 | 
				
			||||||
@import "mixins/breakpoints";
 | 
					@import "partials/breakpoints";
 | 
				
			||||||
@ -1,126 +0,0 @@
 | 
				
			|||||||
// Media step breakpoint mixin based on Angular Material lib
 | 
					 | 
				
			||||||
$breakpoints: (
 | 
					 | 
				
			||||||
    xs: 'screen and (max-width: 599px)',
 | 
					 | 
				
			||||||
    sm: 'screen and (min-width: 600px) and (max-width: 959px)',
 | 
					 | 
				
			||||||
    md: 'screen and (min-width: 960px) and (max-width: 1279px)',
 | 
					 | 
				
			||||||
    lg: 'screen and (min-width: 1280px) and (max-width: 1919px)',
 | 
					 | 
				
			||||||
    xl: 'screen and (min-width: 1920px) and (max-width: 5000px)',
 | 
					 | 
				
			||||||
    lt-sm: 'screen and (max-width: 599px)',
 | 
					 | 
				
			||||||
    lt-md: 'screen and (max-width: 959px)',
 | 
					 | 
				
			||||||
    lt-lg: 'screen and (max-width: 1279px)',
 | 
					 | 
				
			||||||
    lt-xl: 'screen and (max-width: 1919px)',
 | 
					 | 
				
			||||||
    gt-xs: 'screen and (min-width: 600px)',
 | 
					 | 
				
			||||||
    gt-sm: 'screen and (min-width: 960px)',
 | 
					 | 
				
			||||||
    gt-md: 'screen and (min-width: 1280px)',
 | 
					 | 
				
			||||||
    gt-lg: 'screen and (min-width: 1920px)'
 | 
					 | 
				
			||||||
) !default;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
$grid-breakpoints: (
 | 
					 | 
				
			||||||
    xs: 0,
 | 
					 | 
				
			||||||
    sm: 600px,
 | 
					 | 
				
			||||||
    md: 960px,
 | 
					 | 
				
			||||||
    lg: 1280px,
 | 
					 | 
				
			||||||
    xl: 1920px
 | 
					 | 
				
			||||||
) !default;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@mixin media-breakpoint($breakpointName) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    $mediaQuery: map-get($breakpoints, $breakpointName);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @if ($mediaQuery != null) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @media #{$mediaQuery} {
 | 
					 | 
				
			||||||
            @content
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//    >> breakpoint-next(sm)
 | 
					 | 
				
			||||||
//    md
 | 
					 | 
				
			||||||
//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
 | 
					 | 
				
			||||||
//    md
 | 
					 | 
				
			||||||
//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))
 | 
					 | 
				
			||||||
//    md
 | 
					 | 
				
			||||||
@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {
 | 
					 | 
				
			||||||
    $n: index($breakpoint-names, $name);
 | 
					 | 
				
			||||||
    @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Minimum breakpoint width. Null for the smallest (first) breakpoint.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
 | 
					 | 
				
			||||||
//    576px
 | 
					 | 
				
			||||||
@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {
 | 
					 | 
				
			||||||
    $min: map-get($breakpoints, $name);
 | 
					 | 
				
			||||||
    @return if($min != 0, $min, null);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Maximum breakpoint width. Null for the largest (last) breakpoint.
 | 
					 | 
				
			||||||
// The maximum value is calculated as the minimum of the next one less 0.1.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
 | 
					 | 
				
			||||||
//    767px
 | 
					 | 
				
			||||||
@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {
 | 
					 | 
				
			||||||
    $next: breakpoint-next($name, $breakpoints);
 | 
					 | 
				
			||||||
    @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.
 | 
					 | 
				
			||||||
// Useful for making responsive utilities.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
 | 
					 | 
				
			||||||
//    ""  (Returns a blank string)
 | 
					 | 
				
			||||||
//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
 | 
					 | 
				
			||||||
//    "-sm"
 | 
					 | 
				
			||||||
@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {
 | 
					 | 
				
			||||||
    @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.
 | 
					 | 
				
			||||||
// Makes the @content apply to the given breakpoint and wider.
 | 
					 | 
				
			||||||
@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {
 | 
					 | 
				
			||||||
    $min: breakpoint-min($name, $breakpoints);
 | 
					 | 
				
			||||||
    @if $min {
 | 
					 | 
				
			||||||
        @media (min-width: $min) {
 | 
					 | 
				
			||||||
            @content;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    } @else {
 | 
					 | 
				
			||||||
        @content;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Media of at most the maximum breakpoint width. No query for the largest breakpoint.
 | 
					 | 
				
			||||||
// Makes the @content apply to the given breakpoint and narrower.
 | 
					 | 
				
			||||||
@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {
 | 
					 | 
				
			||||||
    $max: breakpoint-max($name, $breakpoints);
 | 
					 | 
				
			||||||
    @if $max {
 | 
					 | 
				
			||||||
        @media (max-width: $max) {
 | 
					 | 
				
			||||||
            @content;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    } @else {
 | 
					 | 
				
			||||||
        @content;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Media that spans multiple breakpoint widths.
 | 
					 | 
				
			||||||
// Makes the @content apply between the min and max breakpoints
 | 
					 | 
				
			||||||
@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {
 | 
					 | 
				
			||||||
    $min: breakpoint-max($lower, $breakpoints);
 | 
					 | 
				
			||||||
    $max: breakpoint-max($upper, $breakpoints);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @media (min-width: $min) and (max-width: $max) {
 | 
					 | 
				
			||||||
        @content;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Media between the breakpoint's minimum and maximum widths.
 | 
					 | 
				
			||||||
// No minimum for the smallest breakpoint, and no maximum for the largest one.
 | 
					 | 
				
			||||||
// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.
 | 
					 | 
				
			||||||
@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {
 | 
					 | 
				
			||||||
    $min: breakpoint-min($name, $breakpoints);
 | 
					 | 
				
			||||||
    $max: breakpoint-max($name, $breakpoints);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @media (min-width: $min) and (max-width: $max) {
 | 
					 | 
				
			||||||
        @content;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,3 +1,31 @@
 | 
				
			|||||||
 | 
					// Fix: "Remove the cdk-global-scrollblock effects from the HTML"
 | 
				
			||||||
 | 
					// Fuse already blocks the body scroll so it doesn't need this feature. We are disabling it
 | 
				
			||||||
 | 
					// because on Windows, it causes a scrollbar to show up.
 | 
				
			||||||
 | 
					html {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    &.cdk-global-scrollblock {
 | 
				
			||||||
 | 
					        position: relative !important;
 | 
				
			||||||
 | 
					        overflow: hidden !important;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Fix: "Inconsistent button heights due to inconsistent line heights"
 | 
				
			||||||
 | 
					button {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .mat-button-wrapper {
 | 
				
			||||||
 | 
					        line-height: normal;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.mat-icon {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Fix: "Font-weight config affecting the icons"
 | 
				
			||||||
 | 
					    font-weight: 400 !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Fix: "Inconsistent positioning on custom font icons"
 | 
				
			||||||
 | 
					    line-height: 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Fix: "Icon button ripple radius is not correct on Edge & Safari"
 | 
					// Fix: "Icon button ripple radius is not correct on Edge & Safari"
 | 
				
			||||||
.mat-icon-button {
 | 
					.mat-icon-button {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -30,9 +58,9 @@
 | 
				
			|||||||
    background-color: rgba(0, 0, 0, 0.12);
 | 
					    background-color: rgba(0, 0, 0, 0.12);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Fix: "Table-cell and inline-table in mat-select"
 | 
					 | 
				
			||||||
.mat-form-field {
 | 
					.mat-form-field {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Fix: "Table-cell and inline-table in mat-select"
 | 
				
			||||||
    &.mat-form-field-type-mat-select {
 | 
					    &.mat-form-field-type-mat-select {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        .mat-form-field-infix {
 | 
					        .mat-form-field-infix {
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										38
									
								
								src/@fuse/scss/partials/_breakpoints.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					// Media step breakpoint mixin based on Angular Material lib
 | 
				
			||||||
 | 
					$breakpoints: (
 | 
				
			||||||
 | 
					    xs: 'screen and (max-width: 599px)',
 | 
				
			||||||
 | 
					    sm: 'screen and (min-width: 600px) and (max-width: 959px)',
 | 
				
			||||||
 | 
					    md: 'screen and (min-width: 960px) and (max-width: 1279px)',
 | 
				
			||||||
 | 
					    lg: 'screen and (min-width: 1280px) and (max-width: 1919px)',
 | 
				
			||||||
 | 
					    xl: 'screen and (min-width: 1920px) and (max-width: 5000px)',
 | 
				
			||||||
 | 
					    lt-sm: 'screen and (max-width: 599px)',
 | 
				
			||||||
 | 
					    lt-md: 'screen and (max-width: 959px)',
 | 
				
			||||||
 | 
					    lt-lg: 'screen and (max-width: 1279px)',
 | 
				
			||||||
 | 
					    lt-xl: 'screen and (max-width: 1919px)',
 | 
				
			||||||
 | 
					    gt-xs: 'screen and (min-width: 600px)',
 | 
				
			||||||
 | 
					    gt-sm: 'screen and (min-width: 960px)',
 | 
				
			||||||
 | 
					    gt-md: 'screen and (min-width: 1280px)',
 | 
				
			||||||
 | 
					    gt-lg: 'screen and (min-width: 1920px)'
 | 
				
			||||||
 | 
					) !default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Re-map the breakpoints for the helper classes
 | 
				
			||||||
 | 
					$helper-breakpoints: (
 | 
				
			||||||
 | 
					    xs: null,
 | 
				
			||||||
 | 
					    sm: 'gt-xs',
 | 
				
			||||||
 | 
					    md: 'gt-sm',
 | 
				
			||||||
 | 
					    lg: 'gt-md',
 | 
				
			||||||
 | 
					    xl: 'gt-lg'
 | 
				
			||||||
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@mixin media-breakpoint($breakpointName) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    $mediaQuery: map-get($breakpoints, $breakpointName);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @if ($mediaQuery == null) {
 | 
				
			||||||
 | 
					        @content
 | 
				
			||||||
 | 
					    } @else {
 | 
				
			||||||
 | 
					        @media #{$mediaQuery} {
 | 
				
			||||||
 | 
					            @content
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -8,6 +8,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    .fuse-card {
 | 
					    .fuse-card {
 | 
				
			||||||
        background: map-get($background, card);
 | 
					        background: map-get($background, card);
 | 
				
			||||||
 | 
					        border-color: map-get($foreground, divider);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        .card-divider {
 | 
					        .card-divider {
 | 
				
			||||||
            border-top: 1px solid map-get($foreground, divider);
 | 
					            border-top: 1px solid map-get($foreground, divider);
 | 
				
			||||||
@ -21,8 +22,8 @@
 | 
				
			|||||||
.fuse-card {
 | 
					.fuse-card {
 | 
				
			||||||
    max-width: 320px;
 | 
					    max-width: 320px;
 | 
				
			||||||
    min-width: 320px;
 | 
					    min-width: 320px;
 | 
				
			||||||
    border-radius: 2px;
 | 
					    border-radius: 8px;
 | 
				
			||||||
    @include mat-elevation(2);
 | 
					    border: 1px solid;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    &.variable-width {
 | 
					    &.variable-width {
 | 
				
			||||||
        min-width: 0;
 | 
					        min-width: 0;
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										70
									
								
								src/@fuse/scss/partials/_general.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,70 @@
 | 
				
			|||||||
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					// @ Body scroll lock
 | 
				
			||||||
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					html,
 | 
				
			||||||
 | 
					body {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    flex: 1 0 auto;
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    height: 100%;
 | 
				
			||||||
 | 
					    max-height: 100%;
 | 
				
			||||||
 | 
					    min-height: 100%;
 | 
				
			||||||
 | 
					    margin: 0;
 | 
				
			||||||
 | 
					    padding: 0;
 | 
				
			||||||
 | 
					    overflow: hidden;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					// @ Boxed body
 | 
				
			||||||
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					body {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Boxed
 | 
				
			||||||
 | 
					    &.boxed {
 | 
				
			||||||
 | 
					        max-width: 1200px;
 | 
				
			||||||
 | 
					        margin: 0 auto;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        @include mat-elevation(8);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*----------------------------------------------------------------*/
 | 
				
			||||||
 | 
					/*  @ Text rendering & box sizing
 | 
				
			||||||
 | 
					/*----------------------------------------------------------------*/
 | 
				
			||||||
 | 
					* {
 | 
				
			||||||
 | 
					    text-rendering: optimizeLegibility;
 | 
				
			||||||
 | 
					    -o-text-rendering: optimizeLegibility;
 | 
				
			||||||
 | 
					    -ms-text-rendering: optimizeLegibility;
 | 
				
			||||||
 | 
					    -moz-text-rendering: optimizeLegibility;
 | 
				
			||||||
 | 
					    -webkit-text-rendering: optimizeLegibility;
 | 
				
			||||||
 | 
					    -webkit-tap-highlight-color: transparent;
 | 
				
			||||||
 | 
					    box-sizing: border-box;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    &:before, &:after {
 | 
				
			||||||
 | 
					        box-sizing: border-box;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Remove focus outline
 | 
				
			||||||
 | 
					    &:focus {
 | 
				
			||||||
 | 
					        outline: none;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					// @ Responsive images
 | 
				
			||||||
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					img {
 | 
				
			||||||
 | 
					    max-width: 100%;
 | 
				
			||||||
 | 
					    height: auto;
 | 
				
			||||||
 | 
					    vertical-align: top;
 | 
				
			||||||
 | 
					    border: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					// @ Input
 | 
				
			||||||
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					input {
 | 
				
			||||||
 | 
					    border: none;
 | 
				
			||||||
 | 
					    padding: 0 16px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,23 +0,0 @@
 | 
				
			|||||||
html,
 | 
					 | 
				
			||||||
body {
 | 
					 | 
				
			||||||
    display: flex;
 | 
					 | 
				
			||||||
    flex: 1 0 auto;
 | 
					 | 
				
			||||||
    width: 100%;
 | 
					 | 
				
			||||||
    height: 100%;
 | 
					 | 
				
			||||||
    max-height: 100%;
 | 
					 | 
				
			||||||
    min-height: 100%;
 | 
					 | 
				
			||||||
    margin: 0;
 | 
					 | 
				
			||||||
    padding: 0;
 | 
					 | 
				
			||||||
    overflow: hidden;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
body {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Boxed
 | 
					 | 
				
			||||||
    &.boxed {
 | 
					 | 
				
			||||||
        max-width: 1200px;
 | 
					 | 
				
			||||||
        margin: 0 auto;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @include mat-elevation(8);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,11 +1,11 @@
 | 
				
			|||||||
// -----------------------------------------------------------------------------------------------------
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
// @ Position helpers
 | 
					// @ Position helpers
 | 
				
			||||||
// -----------------------------------------------------------------------------------------------------
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
@each $breakpoint in map-keys($grid-breakpoints) {
 | 
					@each $breakpoint, $materialBreakpoint in $helper-breakpoints {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @include media-breakpoint-up($breakpoint) {
 | 
					    @include media-breakpoint($materialBreakpoint) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
 | 
					        $infix: if($materialBreakpoint == null, "", "-#{$breakpoint}");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        .position#{$infix}-relative {
 | 
					        .position#{$infix}-relative {
 | 
				
			||||||
            position: relative;
 | 
					            position: relative;
 | 
				
			||||||
@ -24,11 +24,11 @@
 | 
				
			|||||||
// -----------------------------------------------------------------------------------------------------
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
// @ Absolute position alignment helpers
 | 
					// @ Absolute position alignment helpers
 | 
				
			||||||
// -----------------------------------------------------------------------------------------------------
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
@each $breakpoint in map-keys($grid-breakpoints) {
 | 
					@each $breakpoint, $materialBreakpoint in $helper-breakpoints {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @include media-breakpoint-up($breakpoint) {
 | 
					    @include media-breakpoint($materialBreakpoint) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
 | 
					        $infix: if($materialBreakpoint == null, "", "-#{$breakpoint}");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        .align#{$infix}-top {
 | 
					        .align#{$infix}-top {
 | 
				
			||||||
            top: 0;
 | 
					            top: 0;
 | 
				
			||||||
@ -78,11 +78,11 @@
 | 
				
			|||||||
// -----------------------------------------------------------------------------------------------------
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
// @ Spacing helpers
 | 
					// @ Spacing helpers
 | 
				
			||||||
// -----------------------------------------------------------------------------------------------------
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
@each $breakpoint in map-keys($grid-breakpoints) {
 | 
					@each $breakpoint, $materialBreakpoint in $helper-breakpoints {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @include media-breakpoint-up($breakpoint) {
 | 
					    @include media-breakpoint($materialBreakpoint) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
 | 
					        $infix: if($materialBreakpoint == null, "", "-#{$breakpoint}");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        @each $prop, $abbrev in (margin: m, padding: p) {
 | 
					        @each $prop, $abbrev in (margin: m, padding: p) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -7,11 +7,11 @@ mat-icon {
 | 
				
			|||||||
    min-height: 24px;
 | 
					    min-height: 24px;
 | 
				
			||||||
    line-height: 24px;
 | 
					    line-height: 24px;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @each $breakpoint in map-keys($grid-breakpoints) {
 | 
					    @each $breakpoint, $materialBreakpoint in $helper-breakpoints {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        @include media-breakpoint-up($breakpoint) {
 | 
					        @include media-breakpoint($materialBreakpoint) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
 | 
					            $infix: if($materialBreakpoint == null, "", "-#{$breakpoint}");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            @for $size from 2 through 128 {
 | 
					            @for $size from 2 through 128 {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -172,7 +172,7 @@
 | 
				
			|||||||
    margin: 0 8px 0 0;
 | 
					    margin: 0 8px 0 0;
 | 
				
			||||||
    border-radius: 50%;
 | 
					    border-radius: 50%;
 | 
				
			||||||
    font-size: 17px;
 | 
					    font-size: 17px;
 | 
				
			||||||
    font-weight: 500;
 | 
					    font-weight: 600;
 | 
				
			||||||
    text-align: center;
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    &.square {
 | 
					    &.square {
 | 
				
			||||||
@ -230,13 +230,12 @@ mat-icon.status {
 | 
				
			|||||||
        color: #F44336;
 | 
					        color: #F44336;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        &:before {
 | 
					        &:before {
 | 
				
			||||||
            content: "do_not_disturb_on";
 | 
					            content: "remove_circle_outline";
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    &.away {
 | 
					    &.away {
 | 
				
			||||||
        background-color: #FFC107;
 | 
					        color: #FFC107;
 | 
				
			||||||
        color: #FFFFFF;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        &:before {
 | 
					        &:before {
 | 
				
			||||||
            content: "access_time";
 | 
					            content: "access_time";
 | 
				
			||||||
@ -245,7 +244,6 @@ mat-icon.status {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    &.offline {
 | 
					    &.offline {
 | 
				
			||||||
        color: #646464;
 | 
					        color: #646464;
 | 
				
			||||||
        background-color: #FFFFFF;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        &:before {
 | 
					        &:before {
 | 
				
			||||||
            content: "not_interested";
 | 
					            content: "not_interested";
 | 
				
			||||||
@ -287,14 +285,14 @@ mat-icon.status {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        .title {
 | 
					        .title {
 | 
				
			||||||
            font-size: 13px;
 | 
					            font-size: 13px;
 | 
				
			||||||
            font-weight: 500;
 | 
					            font-weight: 600;
 | 
				
			||||||
            line-height: 1;
 | 
					            line-height: 1;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .subheader {
 | 
					    .subheader {
 | 
				
			||||||
        font-size: 13px;
 | 
					        font-size: 13px;
 | 
				
			||||||
        font-weight: 500;
 | 
					        font-weight: 600;
 | 
				
			||||||
        margin-top: 8px;
 | 
					        margin-top: 8px;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -310,8 +308,9 @@ mat-icon.status {
 | 
				
			|||||||
    position: relative;
 | 
					    position: relative;
 | 
				
			||||||
    display: inline-flex;
 | 
					    display: inline-flex;
 | 
				
			||||||
    flex-direction: row;
 | 
					    flex-direction: row;
 | 
				
			||||||
    @include mat-elevation(1);
 | 
					 | 
				
			||||||
    padding: 0 8px;
 | 
					    padding: 0 8px;
 | 
				
			||||||
 | 
					    border-radius: 4px;
 | 
				
			||||||
 | 
					    @include mat-elevation(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .pagination-item {
 | 
					    .pagination-item {
 | 
				
			||||||
        display: flex;
 | 
					        display: flex;
 | 
				
			||||||
@ -364,7 +363,7 @@ mat-icon.status {
 | 
				
			|||||||
                .currency {
 | 
					                .currency {
 | 
				
			||||||
                    padding-right: 4px;
 | 
					                    padding-right: 4px;
 | 
				
			||||||
                    font-size: 24px;
 | 
					                    font-size: 24px;
 | 
				
			||||||
                    font-weight: 500;
 | 
					                    font-weight: 600;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                .value {
 | 
					                .value {
 | 
				
			||||||
@ -406,14 +405,14 @@ mat-icon.status {
 | 
				
			|||||||
                left: 50%;
 | 
					                left: 50%;
 | 
				
			||||||
                transform: translateX(-50%);
 | 
					                transform: translateX(-50%);
 | 
				
			||||||
                font-size: 11px;
 | 
					                font-size: 11px;
 | 
				
			||||||
                font-weight: 500;
 | 
					                font-weight: 600;
 | 
				
			||||||
                padding: 6px 8px;
 | 
					                padding: 6px 8px;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            .package-type {
 | 
					            .package-type {
 | 
				
			||||||
                padding: 48px 32px 24px 32px;
 | 
					                padding: 48px 32px 24px 32px;
 | 
				
			||||||
                font-size: 20px;
 | 
					                font-size: 20px;
 | 
				
			||||||
                font-weight: 500;
 | 
					                font-weight: 600;
 | 
				
			||||||
                text-align: center;
 | 
					                text-align: center;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -423,7 +422,7 @@ mat-icon.status {
 | 
				
			|||||||
                .currency {
 | 
					                .currency {
 | 
				
			||||||
                    padding-right: 4px;
 | 
					                    padding-right: 4px;
 | 
				
			||||||
                    font-size: 24px;
 | 
					                    font-size: 24px;
 | 
				
			||||||
                    font-weight: 500;
 | 
					                    font-weight: 600;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                .value {
 | 
					                .value {
 | 
				
			||||||
@ -436,7 +435,7 @@ mat-icon.status {
 | 
				
			|||||||
            .period {
 | 
					            .period {
 | 
				
			||||||
                padding: 0 32px;
 | 
					                padding: 0 32px;
 | 
				
			||||||
                font-size: 15px;
 | 
					                font-size: 15px;
 | 
				
			||||||
                font-weight: 500;
 | 
					                font-weight: 600;
 | 
				
			||||||
                text-align: center;
 | 
					                text-align: center;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -471,7 +470,7 @@ mat-icon.status {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                .subtitle {
 | 
					                .subtitle {
 | 
				
			||||||
                    font-size: 17px;
 | 
					                    font-size: 17px;
 | 
				
			||||||
                    font-weight: 500;
 | 
					                    font-weight: 600;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -481,7 +480,7 @@ mat-icon.status {
 | 
				
			|||||||
                .currency {
 | 
					                .currency {
 | 
				
			||||||
                    padding-right: 4px;
 | 
					                    padding-right: 4px;
 | 
				
			||||||
                    font-size: 15px;
 | 
					                    font-size: 15px;
 | 
				
			||||||
                    font-weight: 500;
 | 
					                    font-weight: 600;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                .value {
 | 
					                .value {
 | 
				
			||||||
@ -546,7 +545,7 @@ table {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                th {
 | 
					                th {
 | 
				
			||||||
                    padding: 16px 8px;
 | 
					                    padding: 16px 8px;
 | 
				
			||||||
                    font-weight: 500;
 | 
					                    font-weight: 600;
 | 
				
			||||||
                    white-space: nowrap;
 | 
					                    white-space: nowrap;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    &:first-child {
 | 
					                    &:first-child {
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,7 @@
 | 
				
			|||||||
        display: flex;
 | 
					        display: flex;
 | 
				
			||||||
        align-items: center;
 | 
					        align-items: center;
 | 
				
			||||||
        height: 48px;
 | 
					        height: 48px;
 | 
				
			||||||
        font-weight: 500;
 | 
					        font-weight: 600;
 | 
				
			||||||
        padding-left: 24px;
 | 
					        padding-left: 24px;
 | 
				
			||||||
        margin-top: 8px;
 | 
					        margin-top: 8px;
 | 
				
			||||||
        font-size: 12px;
 | 
					        font-size: 12px;
 | 
				
			||||||
@ -19,7 +19,7 @@
 | 
				
			|||||||
            display: flex;
 | 
					            display: flex;
 | 
				
			||||||
            align-items: center;
 | 
					            align-items: center;
 | 
				
			||||||
            height: 48px;
 | 
					            height: 48px;
 | 
				
			||||||
            font-weight: 500;
 | 
					            font-weight: 600;
 | 
				
			||||||
            padding-left: 24px;
 | 
					            padding-left: 24px;
 | 
				
			||||||
            margin-top: 8px;
 | 
					            margin-top: 8px;
 | 
				
			||||||
            font-size: 12px;
 | 
					            font-size: 12px;
 | 
				
			||||||
@ -53,7 +53,7 @@
 | 
				
			|||||||
                height: 20px;
 | 
					                height: 20px;
 | 
				
			||||||
                padding: 0 7px;
 | 
					                padding: 0 7px;
 | 
				
			||||||
                font-size: 11px;
 | 
					                font-size: 11px;
 | 
				
			||||||
                font-weight: 500;
 | 
					                font-weight: 600;
 | 
				
			||||||
                border-radius: 20px;
 | 
					                border-radius: 20px;
 | 
				
			||||||
                transition: opacity 0.2s ease-in-out 0.1s;
 | 
					                transition: opacity 0.2s ease-in-out 0.1s;
 | 
				
			||||||
                margin-left: 8px;
 | 
					                margin-left: 8px;
 | 
				
			||||||
@ -85,7 +85,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            .nav-link-icon {
 | 
					            .nav-link-icon {
 | 
				
			||||||
                margin-right: 16px;
 | 
					                margin-right: 16px;
 | 
				
			||||||
                opacity: 0.7;
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            .nav-link-icon,
 | 
					            .nav-link-icon,
 | 
				
			||||||
@ -220,24 +219,27 @@
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Material style
 | 
					    // Material 2 style
 | 
				
			||||||
    &.material {
 | 
					    &.material2,
 | 
				
			||||||
 | 
					    .material2 & {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        .nav-subheader {
 | 
					        .nav-subheader {
 | 
				
			||||||
            border-top: 1px solid rgba(0, 0, 0, 0.12);
 | 
					            height: 40px;
 | 
				
			||||||
 | 
					 | 
				
			||||||
            &:first-child {
 | 
					 | 
				
			||||||
                border-top: none;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .nav-group {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            > .group-title {
 | 
				
			||||||
 | 
					                height: 40px;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        .nav-item {
 | 
					        .nav-item {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            .nav-link {
 | 
					            .nav-link {
 | 
				
			||||||
                height: 40px;
 | 
					                height: 40px;
 | 
				
			||||||
                padding: 0 16px;
 | 
					                padding: 0 12px 0 24px;
 | 
				
			||||||
                margin: 4px 8px;
 | 
					                border-radius: 0 20px 20px 0;
 | 
				
			||||||
                border-radius: 4px;
 | 
					                margin-right: 16px;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -18,6 +18,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                    > .content-card {
 | 
					                    > .content-card {
 | 
				
			||||||
                        background: map-get($background, card);
 | 
					                        background: map-get($background, card);
 | 
				
			||||||
 | 
					                        border-radius: 8px 8px 0 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        > .toolbar {
 | 
					                        > .toolbar {
 | 
				
			||||||
                            border-bottom-color: map-get($foreground, divider);
 | 
					                            border-bottom-color: map-get($foreground, divider);
 | 
				
			||||||
@ -34,6 +35,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                    > .content-card {
 | 
					                    > .content-card {
 | 
				
			||||||
                        background: map-get($background, card);
 | 
					                        background: map-get($background, card);
 | 
				
			||||||
 | 
					                        border-radius: 8px 8px 0 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        > .toolbar {
 | 
					                        > .toolbar {
 | 
				
			||||||
                            border-bottom-color: map-get($foreground, divider);
 | 
					                            border-bottom-color: map-get($foreground, divider);
 | 
				
			||||||
@ -79,15 +81,11 @@
 | 
				
			|||||||
// @ Page Layouts
 | 
					// @ Page Layouts
 | 
				
			||||||
// -----------------------------------------------------------------------------------------------------
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
$carded-header-height: 200px !default;
 | 
					$carded-header-height: 200px !default;
 | 
				
			||||||
$carded-header-height-sm: 160px !default;
 | 
					 | 
				
			||||||
$carded-toolbar-height: 64px !default;
 | 
					$carded-toolbar-height: 64px !default;
 | 
				
			||||||
 | 
					 | 
				
			||||||
$header-height: 120px !default;
 | 
					$header-height: 120px !default;
 | 
				
			||||||
$header-height-sm: 100px !default;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Calculate toolbarless header height
 | 
					// Calculate toolbar-less carded header height
 | 
				
			||||||
$carded-header-height-without-toolbar: $carded-header-height - $carded-toolbar-height;
 | 
					$carded-header-height-without-toolbar: $carded-header-height - $carded-toolbar-height;
 | 
				
			||||||
$carded-header-height-without-toolbar-sm: $carded-header-height-sm - $carded-toolbar-height;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.page-layout {
 | 
					.page-layout {
 | 
				
			||||||
    position: relative;
 | 
					    position: relative;
 | 
				
			||||||
@ -109,10 +107,6 @@ $carded-header-height-without-toolbar-sm: $carded-header-height-sm - $carded-too
 | 
				
			|||||||
            right: 0;
 | 
					            right: 0;
 | 
				
			||||||
            left: 0;
 | 
					            left: 0;
 | 
				
			||||||
            height: $carded-header-height;
 | 
					            height: $carded-header-height;
 | 
				
			||||||
 | 
					 | 
				
			||||||
            @include media-breakpoint-down('sm') {
 | 
					 | 
				
			||||||
                height: $carded-header-height-sm;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Fullwidth
 | 
					        // Fullwidth
 | 
				
			||||||
@ -136,12 +130,6 @@ $carded-header-height-without-toolbar-sm: $carded-header-height-sm - $carded-too
 | 
				
			|||||||
                    height: $carded-header-height-without-toolbar !important;
 | 
					                    height: $carded-header-height-without-toolbar !important;
 | 
				
			||||||
                    min-height: $carded-header-height-without-toolbar !important;
 | 
					                    min-height: $carded-header-height-without-toolbar !important;
 | 
				
			||||||
                    max-height: $carded-header-height-without-toolbar !important;
 | 
					                    max-height: $carded-header-height-without-toolbar !important;
 | 
				
			||||||
 | 
					 | 
				
			||||||
                    @include media-breakpoint-down('sm') {
 | 
					 | 
				
			||||||
                        height: $carded-header-height-without-toolbar-sm !important;
 | 
					 | 
				
			||||||
                        min-height: $carded-header-height-without-toolbar-sm !important;
 | 
					 | 
				
			||||||
                        max-height: $carded-header-height-without-toolbar-sm !important;
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                > .content-card {
 | 
					                > .content-card {
 | 
				
			||||||
@ -149,7 +137,7 @@ $carded-header-height-without-toolbar-sm: $carded-header-height-sm - $carded-too
 | 
				
			|||||||
                    flex-direction: column;
 | 
					                    flex-direction: column;
 | 
				
			||||||
                    flex: 1 0 auto;
 | 
					                    flex: 1 0 auto;
 | 
				
			||||||
                    overflow: hidden;
 | 
					                    overflow: hidden;
 | 
				
			||||||
                    @include mat-elevation(7);
 | 
					                    @include mat-elevation(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    > .toolbar {
 | 
					                    > .toolbar {
 | 
				
			||||||
                        display: flex;
 | 
					                        display: flex;
 | 
				
			||||||
@ -303,12 +291,6 @@ $carded-header-height-without-toolbar-sm: $carded-header-height-sm - $carded-too
 | 
				
			|||||||
                    height: $carded-header-height;
 | 
					                    height: $carded-header-height;
 | 
				
			||||||
                    min-height: $carded-header-height;
 | 
					                    min-height: $carded-header-height;
 | 
				
			||||||
                    max-height: $carded-header-height;
 | 
					                    max-height: $carded-header-height;
 | 
				
			||||||
 | 
					 | 
				
			||||||
                    @include media-breakpoint-down('sm') {
 | 
					 | 
				
			||||||
                        height: $carded-header-height-sm;
 | 
					 | 
				
			||||||
                        min-height: $carded-header-height-sm;
 | 
					 | 
				
			||||||
                        max-height: $carded-header-height-sm;
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                .content {
 | 
					                .content {
 | 
				
			||||||
@ -334,12 +316,6 @@ $carded-header-height-without-toolbar-sm: $carded-header-height-sm - $carded-too
 | 
				
			|||||||
                    height: $carded-header-height-without-toolbar;
 | 
					                    height: $carded-header-height-without-toolbar;
 | 
				
			||||||
                    min-height: $carded-header-height-without-toolbar;
 | 
					                    min-height: $carded-header-height-without-toolbar;
 | 
				
			||||||
                    max-height: $carded-header-height-without-toolbar;
 | 
					                    max-height: $carded-header-height-without-toolbar;
 | 
				
			||||||
 | 
					 | 
				
			||||||
                    @include media-breakpoint-down('sm') {
 | 
					 | 
				
			||||||
                        height: $carded-header-height-without-toolbar-sm;
 | 
					 | 
				
			||||||
                        min-height: $carded-header-height-without-toolbar-sm;
 | 
					 | 
				
			||||||
                        max-height: $carded-header-height-without-toolbar-sm;
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                > .content-card {
 | 
					                > .content-card {
 | 
				
			||||||
@ -347,7 +323,7 @@ $carded-header-height-without-toolbar-sm: $carded-header-height-sm - $carded-too
 | 
				
			|||||||
                    flex-direction: column;
 | 
					                    flex-direction: column;
 | 
				
			||||||
                    flex: 1 1 auto;
 | 
					                    flex: 1 1 auto;
 | 
				
			||||||
                    overflow: hidden;
 | 
					                    overflow: hidden;
 | 
				
			||||||
                    @include mat-elevation(7);
 | 
					                    @include mat-elevation(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    > .toolbar {
 | 
					                    > .toolbar {
 | 
				
			||||||
                        display: flex;
 | 
					                        display: flex;
 | 
				
			||||||
@ -379,7 +355,7 @@ $carded-header-height-without-toolbar-sm: $carded-header-height-sm - $carded-too
 | 
				
			|||||||
                    width: calc(100% - 32px);
 | 
					                    width: calc(100% - 32px);
 | 
				
			||||||
                    min-width: 0;
 | 
					                    min-width: 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    @include media-breakpoint-down('md') {
 | 
					                    @include media-breakpoint('lt-lg') {
 | 
				
			||||||
                        width: calc(100% - 64px);
 | 
					                        width: calc(100% - 64px);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -566,7 +542,7 @@ $carded-header-height-without-toolbar-sm: $carded-header-height-sm - $carded-too
 | 
				
			|||||||
                z-index: 3;
 | 
					                z-index: 3;
 | 
				
			||||||
                min-width: 0;
 | 
					                min-width: 0;
 | 
				
			||||||
                width: 100%;
 | 
					                width: 100%;
 | 
				
			||||||
                @include mat-elevation(7);
 | 
					                @include mat-elevation(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                > .header {
 | 
					                > .header {
 | 
				
			||||||
                    height: $header-height;
 | 
					                    height: $header-height;
 | 
				
			||||||
@ -625,6 +601,11 @@ $carded-header-height-without-toolbar-sm: $carded-header-height-sm - $carded-too
 | 
				
			|||||||
                        flex: 1 1 auto;
 | 
					                        flex: 1 1 auto;
 | 
				
			||||||
                        overflow: auto;
 | 
					                        overflow: auto;
 | 
				
			||||||
                        -webkit-overflow-scrolling: touch;
 | 
					                        -webkit-overflow-scrolling: touch;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        > .content {
 | 
				
			||||||
 | 
					                            border-radius: 8px;
 | 
				
			||||||
 | 
					                            @include mat-elevation(1);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@ -685,7 +666,7 @@ $carded-header-height-without-toolbar-sm: $carded-header-height-sm - $carded-too
 | 
				
			|||||||
        min-height: 100%;
 | 
					        min-height: 100%;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @include media-breakpoint-down('xs') {
 | 
					    @include media-breakpoint('xs') {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Smaller margins
 | 
					        // Smaller margins
 | 
				
			||||||
        &.carded {
 | 
					        &.carded {
 | 
				
			||||||
 | 
				
			|||||||
@ -9,7 +9,6 @@
 | 
				
			|||||||
    .page-break-before {
 | 
					    .page-break-before {
 | 
				
			||||||
        display: none;
 | 
					        display: none;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@media print {
 | 
					@media print {
 | 
				
			||||||
@ -47,6 +46,13 @@
 | 
				
			|||||||
            display: none !important;
 | 
					            display: none !important;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        #main,
 | 
				
			||||||
 | 
					        #container-1,
 | 
				
			||||||
 | 
					        #container-2,
 | 
				
			||||||
 | 
					        #container-3 {
 | 
				
			||||||
 | 
					            padding: 0 !important;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        .ps {
 | 
					        .ps {
 | 
				
			||||||
            overflow: visible !important;
 | 
					            overflow: visible !important;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -1,76 +0,0 @@
 | 
				
			|||||||
/*----------------------------------------------------------------*/
 | 
					 | 
				
			||||||
/*  Reset
 | 
					 | 
				
			||||||
/*----------------------------------------------------------------*/
 | 
					 | 
				
			||||||
* {
 | 
					 | 
				
			||||||
    text-rendering: optimizeLegibility;
 | 
					 | 
				
			||||||
    -o-text-rendering: optimizeLegibility;
 | 
					 | 
				
			||||||
    -ms-text-rendering: optimizeLegibility;
 | 
					 | 
				
			||||||
    -moz-text-rendering: optimizeLegibility;
 | 
					 | 
				
			||||||
    -webkit-text-rendering: optimizeLegibility;
 | 
					 | 
				
			||||||
    -webkit-tap-highlight-color: transparent;
 | 
					 | 
				
			||||||
    box-sizing: border-box;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    &:before, &:after {
 | 
					 | 
				
			||||||
        box-sizing: border-box;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Remove focus outline
 | 
					 | 
				
			||||||
    &:focus {
 | 
					 | 
				
			||||||
        outline: none;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Reset non angular-material input's default browser/os styles
 | 
					 | 
				
			||||||
*:not(mat-form-field) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    > input {
 | 
					 | 
				
			||||||
        border: none;
 | 
					 | 
				
			||||||
        border-radius: 0;
 | 
					 | 
				
			||||||
        padding: 0;
 | 
					 | 
				
			||||||
        margin: 0;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    > input[type="text"],
 | 
					 | 
				
			||||||
    > input[type="tel"],
 | 
					 | 
				
			||||||
    > input[type="email"],
 | 
					 | 
				
			||||||
    > input[type="search"],
 | 
					 | 
				
			||||||
    > input[type="password"],
 | 
					 | 
				
			||||||
    > input[type="button"],
 | 
					 | 
				
			||||||
    > button,
 | 
					 | 
				
			||||||
    > input[type="submit"],
 | 
					 | 
				
			||||||
    > input[type="image"],
 | 
					 | 
				
			||||||
    > textarea {
 | 
					 | 
				
			||||||
        appearance: none;
 | 
					 | 
				
			||||||
        border: none;
 | 
					 | 
				
			||||||
        border-radius: 0;
 | 
					 | 
				
			||||||
        padding: 0;
 | 
					 | 
				
			||||||
        margin: 0;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
*:not(mat-form-field) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    > input[type="button"],
 | 
					 | 
				
			||||||
    > button,
 | 
					 | 
				
			||||||
    > input[type="submit"] {
 | 
					 | 
				
			||||||
        background: none;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
button {
 | 
					 | 
				
			||||||
    border-radius: 0;
 | 
					 | 
				
			||||||
    font-family: inherit;
 | 
					 | 
				
			||||||
    font-size: inherit;
 | 
					 | 
				
			||||||
    padding: 0;
 | 
					 | 
				
			||||||
    margin: 0;
 | 
					 | 
				
			||||||
    appearance: none;
 | 
					 | 
				
			||||||
    -moz-appearance: none;
 | 
					 | 
				
			||||||
    -webkit-appearance: none;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
img {
 | 
					 | 
				
			||||||
    max-width: 100%;
 | 
					 | 
				
			||||||
    height: auto;
 | 
					 | 
				
			||||||
    vertical-align: top;
 | 
					 | 
				
			||||||
    border: none;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -12,12 +12,12 @@ body:not(.is-mobile) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    ::-webkit-scrollbar-thumb {
 | 
					    ::-webkit-scrollbar-thumb {
 | 
				
			||||||
        border: 2px solid transparent;
 | 
					        border: 2px solid transparent;
 | 
				
			||||||
        box-shadow: inset 0 0 0 24px rgba(0, 0, 0, 0.37);
 | 
					        box-shadow: inset 0 0 0 12px rgba(0, 0, 0, 0.37);
 | 
				
			||||||
        border-radius: 24px;
 | 
					        border-radius: 12px;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ::-webkit-scrollbar-thumb:active {
 | 
					    ::-webkit-scrollbar-thumb:active {
 | 
				
			||||||
        box-shadow: inset 0 0 0 24px rgba(0, 0, 0, 0.54);
 | 
					        box-shadow: inset 0 0 0 12px rgba(0, 0, 0, 0.54);
 | 
				
			||||||
        border-radius: 24px;
 | 
					        border-radius: 12px;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -1,9 +0,0 @@
 | 
				
			|||||||
.toolbar {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    .toolbar-separator {
 | 
					 | 
				
			||||||
        height: 48px;
 | 
					 | 
				
			||||||
        width: 1px;
 | 
					 | 
				
			||||||
        border-right: 1px solid rgba(0, 0, 0, 0.12);
 | 
					 | 
				
			||||||
        margin: 0 12px;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -41,7 +41,7 @@
 | 
				
			|||||||
// -----------------------------------------------------------------------------------------------------
 | 
					// -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
html {
 | 
					html {
 | 
				
			||||||
    font-size: 62.5%;
 | 
					    font-size: 62.5%;
 | 
				
			||||||
    font-family: 'Roboto', 'Helvetica Neue', 'Arial', sans-serif;
 | 
					    font-family: 'Nunito', 'Helvetica Neue', 'Arial', sans-serif;
 | 
				
			||||||
    line-height: 1.4 !important;
 | 
					    line-height: 1.4 !important;
 | 
				
			||||||
    letter-spacing: -0.1px !important;
 | 
					    letter-spacing: -0.1px !important;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -89,7 +89,7 @@ h6, .h6 {
 | 
				
			|||||||
a {
 | 
					a {
 | 
				
			||||||
    text-decoration: none;
 | 
					    text-decoration: none;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    &:not(.mat-button):not(.mat-raised-button):not(.mat-icon-button) {
 | 
					    &:not(.mat-button):not(.mat-raised-button):not(.mat-flat-button):not(.mat-stroked-button):not(.mat-icon-button):not(.mat-fab):not(.mat-mini-fab) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        &:hover, &:active {
 | 
					        &:hover, &:active {
 | 
				
			||||||
            text-decoration: underline;
 | 
					            text-decoration: underline;
 | 
				
			||||||
@ -304,7 +304,7 @@ strong {
 | 
				
			|||||||
    padding: 4px 8px;
 | 
					    padding: 4px 8px;
 | 
				
			||||||
    margin: 0 8px;
 | 
					    margin: 0 8px;
 | 
				
			||||||
    font-size: 11px;
 | 
					    font-size: 11px;
 | 
				
			||||||
    font-weight: 500;
 | 
					    font-weight: 600;
 | 
				
			||||||
    white-space: nowrap;
 | 
					    white-space: nowrap;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -399,6 +399,10 @@ strong {
 | 
				
			|||||||
                li {
 | 
					                li {
 | 
				
			||||||
                    margin-bottom: 6px;
 | 
					                    margin-bottom: 6px;
 | 
				
			||||||
                    letter-spacing: 0.015em;
 | 
					                    letter-spacing: 0.015em;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    ul {
 | 
				
			||||||
 | 
					                        margin-top: 6px;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -433,4 +437,4 @@ strong {
 | 
				
			|||||||
        border-left-color: #03A9F4;
 | 
					        border-left-color: #03A9F4;
 | 
				
			||||||
        color: rgba(0, 0, 0, 0.87);
 | 
					        color: rgba(0, 0, 0, 0.87);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -23,6 +23,17 @@
 | 
				
			|||||||
        opacity: .90;
 | 
					        opacity: .90;
 | 
				
			||||||
        z-index: 998;
 | 
					        z-index: 998;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        &.right-side-panel {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            @include media-breakpoint('gt-md') {
 | 
				
			||||||
 | 
					                right: 70px;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        &.side-panel-hidden {
 | 
				
			||||||
 | 
					            right: 0 !important;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        mat-icon {
 | 
					        mat-icon {
 | 
				
			||||||
            animation: rotating 3s linear infinite;
 | 
					            animation: rotating 3s linear infinite;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -37,4 +48,4 @@
 | 
				
			|||||||
        min-width: 360px;
 | 
					        min-width: 360px;
 | 
				
			||||||
        max-width: 360px;
 | 
					        max-width: 360px;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -73,9 +73,12 @@ export class AppComponent implements OnInit, OnDestroy
 | 
				
			|||||||
        this._translateService.use('en');
 | 
					        this._translateService.use('en');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * ------------------------------------------------------------------
 | 
					         * ----------------------------------------------------------------------------------------------------
 | 
				
			||||||
         * ngxTranslate Fix Start
 | 
					         * ngxTranslate Fix Start
 | 
				
			||||||
         * ------------------------------------------------------------------
 | 
					         * ----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
         * If you are using a language other than the default one, i.e. Turkish in this case,
 | 
					         * If you are using a language other than the default one, i.e. Turkish in this case,
 | 
				
			||||||
         * you may encounter an issue where some of the components are not actually being
 | 
					         * you may encounter an issue where some of the components are not actually being
 | 
				
			||||||
         * translated when your app first initialized.
 | 
					         * translated when your app first initialized.
 | 
				
			||||||
@ -97,9 +100,9 @@ export class AppComponent implements OnInit, OnDestroy
 | 
				
			|||||||
         */
 | 
					         */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * ------------------------------------------------------------------
 | 
					         * ----------------------------------------------------------------------------------------------------
 | 
				
			||||||
         * ngxTranslate Fix End
 | 
					         * ngxTranslate Fix End
 | 
				
			||||||
         * ------------------------------------------------------------------
 | 
					         * ----------------------------------------------------------------------------------------------------
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Add is-mobile class to the body if the platform is mobile
 | 
					        // Add is-mobile class to the body if the platform is mobile
 | 
				
			||||||
 | 
				
			|||||||
@ -63,7 +63,11 @@ $custom_palettes: (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Force the input field font sizes to 16px
 | 
					// Force the input field font sizes to 16px
 | 
				
			||||||
$typography: mat-typography-config(
 | 
					$typography: mat-typography-config(
 | 
				
			||||||
    $input: mat-typography-level(16px, 1.125, 400)
 | 
					    $font-family: 'Nunito, Helvetica Neue, Arial, sans-serif',
 | 
				
			||||||
 | 
					    $title: mat-typography-level(20px, 32px, 600),
 | 
				
			||||||
 | 
					    $body-2: mat-typography-level(14px, 24px, 600),
 | 
				
			||||||
 | 
					    $button: mat-typography-level(14px, 14px, 600),
 | 
				
			||||||
 | 
					    $input: mat-typography-level(16px, 1.125, 400) // line-height must be unitless !!!
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Setup the typography
 | 
					// Setup the typography
 | 
				
			||||||
@ -223,4 +227,4 @@ body.theme-pink-dark {
 | 
				
			|||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @include fuse-color-classes($palettes);
 | 
					    @include fuse-color-classes($palettes);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -11,9 +11,9 @@ import { ContentComponent } from 'app/layout/components/content/content.componen
 | 
				
			|||||||
    ],
 | 
					    ],
 | 
				
			||||||
    imports     : [
 | 
					    imports     : [
 | 
				
			||||||
        RouterModule,
 | 
					        RouterModule,
 | 
				
			||||||
        FuseSharedModule,
 | 
					        FuseSharedModule
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    exports: [
 | 
					    exports     : [
 | 
				
			||||||
        ContentComponent
 | 
					        ContentComponent
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,6 @@
 | 
				
			|||||||
            <a mat-button routerLink="/documentation/changelog">Changelog</a>
 | 
					            <a mat-button routerLink="/documentation/changelog">Changelog</a>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</mat-toolbar>
 | 
					</mat-toolbar>
 | 
				
			||||||
 | 
				
			|||||||
@ -36,7 +36,7 @@
 | 
				
			|||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <div class="navbar-content">
 | 
					    <div class="navbar-content">
 | 
				
			||||||
        <fuse-navigation layout="vertical"></fuse-navigation>
 | 
					        <fuse-navigation class="material2" layout="vertical"></fuse-navigation>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 | 
				
			|||||||
@ -61,6 +61,19 @@ fuse-sidebar {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                        .navbar-content {
 | 
					                        .navbar-content {
 | 
				
			||||||
                            padding-top: 0;
 | 
					                            padding-top: 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            // Material 2 specific style
 | 
				
			||||||
 | 
					                            .material2 {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                .nav-item {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                    .nav-link {
 | 
				
			||||||
 | 
					                                        border-radius: 20px;
 | 
				
			||||||
 | 
					                                        margin: 0 12px;
 | 
				
			||||||
 | 
					                                        padding: 0 12px;
 | 
				
			||||||
 | 
					                                    }
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
				
			|||||||
@ -22,6 +22,22 @@ fuse-sidebar {
 | 
				
			|||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    .navbar-content {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        // Material 2 specific style
 | 
				
			||||||
 | 
					                        .material2 {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            .nav-item {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                .nav-link {
 | 
				
			||||||
 | 
					                                    border-radius: 20px;
 | 
				
			||||||
 | 
					                                    margin: 0 12px;
 | 
				
			||||||
 | 
					                                    padding: 0 12px;
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -63,7 +63,7 @@
 | 
				
			|||||||
                    class="language-button"
 | 
					                    class="language-button"
 | 
				
			||||||
                    [matMenuTriggerFor]="languageMenu">
 | 
					                    [matMenuTriggerFor]="languageMenu">
 | 
				
			||||||
                <div fxLayout="row" fxLayoutAlign="center center">
 | 
					                <div fxLayout="row" fxLayoutAlign="center center">
 | 
				
			||||||
                    <img class="flag mr-8" [src]="'assets/images/flags/'+selectedLanguage.flag+'.png'">
 | 
					                    <img class="flag mr-8" [src]="'assets/icons/flags/'+selectedLanguage.flag+'.png'">
 | 
				
			||||||
                    <span class="iso text-uppercase">{{selectedLanguage.id}}</span>
 | 
					                    <span class="iso text-uppercase">{{selectedLanguage.id}}</span>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
            </button>
 | 
					            </button>
 | 
				
			||||||
@ -72,7 +72,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                <button mat-menu-item *ngFor="let lang of languages" (click)="setLanguage(lang)">
 | 
					                <button mat-menu-item *ngFor="let lang of languages" (click)="setLanguage(lang)">
 | 
				
			||||||
                    <span fxLayout="row" fxLayoutAlign="start center">
 | 
					                    <span fxLayout="row" fxLayoutAlign="start center">
 | 
				
			||||||
                        <img class="flag mr-16" [src]="'assets/images/flags/'+lang.flag+'.png'">
 | 
					                        <img class="flag mr-16" [src]="'assets/icons/flags/'+lang.flag+'.png'">
 | 
				
			||||||
                        <span class="iso">{{lang.title}}</span>
 | 
					                        <span class="iso">{{lang.title}}</span>
 | 
				
			||||||
                    </span>
 | 
					                    </span>
 | 
				
			||||||
                </button>
 | 
					                </button>
 | 
				
			||||||
 | 
				
			|||||||
@ -33,7 +33,7 @@ toolbar {
 | 
				
			|||||||
        min-width: 64px;
 | 
					        min-width: 64px;
 | 
				
			||||||
        height: 64px;
 | 
					        height: 64px;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        @include media-breakpoint-down('xs') {
 | 
					        @include media-breakpoint('xs') {
 | 
				
			||||||
            height: 56px;
 | 
					            height: 56px;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -47,7 +47,7 @@ toolbar {
 | 
				
			|||||||
        height: 64px;
 | 
					        height: 64px;
 | 
				
			||||||
        width: 1px;
 | 
					        width: 1px;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        @include media-breakpoint-down('xs') {
 | 
					        @include media-breakpoint('xs') {
 | 
				
			||||||
            height: 56px;
 | 
					            height: 56px;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,10 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    $foreground: map-get($theme, foreground);
 | 
					    $foreground: map-get($theme, foreground);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .toolbar-separator {
 | 
					    toolbar {
 | 
				
			||||||
        background: map-get($foreground, divider);
 | 
					
 | 
				
			||||||
 | 
					        .toolbar-separator {
 | 
				
			||||||
 | 
					            background: map-get($foreground, divider);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								src/assets/icons/flags/tr.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 492 B  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/icons/flags/us.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 609 B  | 
							
								
								
									
										2037
									
								
								src/assets/icons/material-icons/outline/fonts/material-outline-icons.svg
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.1 MiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/icons/material-icons/outline/fonts/material-outline-icons.ttf
									
									
									
									
									
										Executable file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								src/assets/icons/material-icons/outline/fonts/material-outline-icons.woff
									
									
									
									
									
										Executable file
									
								
							
							
						
						
							
								
								
									
										3074
									
								
								src/assets/icons/material-icons/outline/style.css
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 203 KiB  | 
| 
		 Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 94 KiB  | 
| 
		 Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB  | 
| 
		 Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB  | 
| 
		 Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/cards/card1.jpg
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 44 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/cards/card2-large.jpg
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 25 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/cards/card2-medium.jpg
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 15 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/cards/card2-small.jpg
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 6.9 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/cards/card2.jpg
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 62 KiB  | 
| 
		 Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 20 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/cards/card3.jpg
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| 
		 Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 43 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/demo-content/morain-lake.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 226 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/ecommerce/a-walk-amongst-friends.jpg
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 98 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/ecommerce/braies-lake.jpg
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 99 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/ecommerce/fall-glow.jpg
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 149 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/ecommerce/first-snow.jpg
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 66 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/ecommerce/lago-di-braies.jpg
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 108 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/ecommerce/lago-di-sorapis.jpg
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 71 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/ecommerce/morain-lake.jpg
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 85 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/ecommerce/never-stop-changing.jpg
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 132 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/ecommerce/reaching.jpg
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 90 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/ecommerce/yosemite.jpg
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 81 KiB  | 
| 
		 Before Width: | Height: | Size: 20 KiB  | 
| 
		 Before Width: | Height: | Size: 9.5 KiB  | 
| 
		 Before Width: | Height: | Size: 46 KiB  | 
| 
		 Before Width: | Height: | Size: 21 KiB  | 
| 
		 Before Width: | Height: | Size: 128 KiB  | 
| 
		 Before Width: | Height: | Size: 27 KiB  | 
| 
		 Before Width: | Height: | Size: 13 KiB  | 
| 
		 Before Width: | Height: | Size: 16 KiB  | 
| 
		 Before Width: | Height: | Size: 7.2 KiB  | 
| 
		 Before Width: | Height: | Size: 24 KiB  | 
| 
		 Before Width: | Height: | Size: 6.0 KiB  | 
| 
		 Before Width: | Height: | Size: 136 KiB  | 
| 
		 Before Width: | Height: | Size: 5.1 KiB  | 
| 
		 Before Width: | Height: | Size: 209 KiB  | 
| 
		 Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB  | 
| 
		 Before Width: | Height: | Size: 2.5 KiB  | 
| 
		 Before Width: | Height: | Size: 2.1 KiB  | 
| 
		 Before Width: | Height: | Size: 13 KiB  |