├── demo
├── src
│ ├── assets
│ │ ├── .gitkeep
│ │ ├── .npmignore
│ │ ├── lib
│ │ │ └── hljs
│ │ │ │ ├── styles
│ │ │ │ ├── pojoaque.jpg
│ │ │ │ ├── school-book.png
│ │ │ │ ├── brown-papersq.png
│ │ │ │ ├── darkula.css
│ │ │ │ ├── ascetic.css
│ │ │ │ ├── mono-blue.css
│ │ │ │ ├── dark.css
│ │ │ │ ├── androidstudio.css
│ │ │ │ ├── codepen-embed.css
│ │ │ │ ├── brown-paper.css
│ │ │ │ ├── vs.css
│ │ │ │ ├── far.css
│ │ │ │ ├── arta.css
│ │ │ │ ├── ir-black.css
│ │ │ │ ├── color-brewer.css
│ │ │ │ ├── magula.css
│ │ │ │ ├── github-gist.css
│ │ │ │ ├── monokai.css
│ │ │ │ ├── darcula.css
│ │ │ │ ├── tomorrow.css
│ │ │ │ ├── zenburn.css
│ │ │ │ ├── school-book.css
│ │ │ │ ├── ocean.css
│ │ │ │ ├── paraiso-dark.css
│ │ │ │ ├── paraiso-light.css
│ │ │ │ ├── dracula.css
│ │ │ │ ├── qtcreator_dark.css
│ │ │ │ ├── qtcreator_light.css
│ │ │ │ ├── rainbow.css
│ │ │ │ ├── kimbie.dark.css
│ │ │ │ ├── kimbie.light.css
│ │ │ │ ├── atelier-dune-dark.css
│ │ │ │ ├── monokai-sublime.css
│ │ │ │ ├── atelier-dune-light.css
│ │ │ │ ├── atelier-heath-dark.css
│ │ │ │ ├── atelier-heath-light.css
│ │ │ │ ├── atelier-forest-dark.css
│ │ │ │ ├── atelier-forest-light.css
│ │ │ │ ├── tomorrow-night-bright.css
│ │ │ │ ├── tomorrow-night-eighties.css
│ │ │ │ ├── atelier-seaside-dark.css
│ │ │ │ ├── atelier-seaside-light.css
│ │ │ │ ├── hopscotch.css
│ │ │ │ ├── atelier-lakeside-dark.css
│ │ │ │ ├── atelier-lakeside-light.css
│ │ │ │ ├── arduino-light.css
│ │ │ │ ├── googlecode.css
│ │ │ │ ├── xt256.css
│ │ │ │ ├── atelier-sulphurpool-dark.css
│ │ │ │ ├── atelier-sulphurpool-light.css
│ │ │ │ ├── obsidian.css
│ │ │ │ ├── foundation.css
│ │ │ │ ├── tomorrow-night.css
│ │ │ │ ├── xcode.css
│ │ │ │ ├── tomorrow-night-blue.css
│ │ │ │ ├── pojoaque.css
│ │ │ │ ├── solarized-dark.css
│ │ │ │ ├── solarized-light.css
│ │ │ │ ├── docco.css
│ │ │ │ ├── idea.css
│ │ │ │ ├── atelier-cave-dark.css
│ │ │ │ ├── atelier-cave-light.css
│ │ │ │ ├── atelier-estuary-dark.css
│ │ │ │ ├── atelier-plateau-dark.css
│ │ │ │ ├── atelier-savanna-dark.css
│ │ │ │ ├── github.css
│ │ │ │ ├── atelier-estuary-light.css
│ │ │ │ ├── atelier-plateau-light.css
│ │ │ │ ├── atelier-savanna-light.css
│ │ │ │ ├── atom-one-dark.css
│ │ │ │ ├── default.css
│ │ │ │ ├── atom-one-light.css
│ │ │ │ ├── sunburst.css
│ │ │ │ ├── railscasts.css
│ │ │ │ ├── routeros.css
│ │ │ │ ├── agate.css
│ │ │ │ ├── hybrid.css
│ │ │ │ ├── gruvbox-dark.css
│ │ │ │ ├── gruvbox-light.css
│ │ │ │ ├── vs2015.css
│ │ │ │ ├── grayscale.css
│ │ │ │ └── purebasic.css
│ │ │ │ └── LICENSE
│ │ └── logo.svg
│ ├── app
│ │ ├── app.component.scss
│ │ ├── shared
│ │ │ ├── index.ts
│ │ │ ├── content-wrapper
│ │ │ │ ├── content-wrapper.component.scss
│ │ │ │ ├── content-wrapper.component.html
│ │ │ │ ├── content-wrapper.component.ts
│ │ │ │ └── content-wrapper.component.spec.ts
│ │ │ ├── header
│ │ │ │ ├── header.component.scss
│ │ │ │ ├── header.component.ts
│ │ │ │ ├── header.component.html
│ │ │ │ └── header.component.spec.ts
│ │ │ ├── footer
│ │ │ │ ├── footer.component.scss
│ │ │ │ ├── footer.component.ts
│ │ │ │ ├── footer.component.html
│ │ │ │ └── footer.component.spec.ts
│ │ │ └── shared.module.ts
│ │ ├── getting-started
│ │ │ ├── getting-started.component.scss
│ │ │ ├── getting-started.component.html
│ │ │ ├── getting-started-routing.module.ts
│ │ │ ├── getting-started.module.ts
│ │ │ ├── getting-started.component.ts
│ │ │ └── getting-started.component.spec.ts
│ │ ├── app.component.html
│ │ ├── home
│ │ │ ├── home-routing.module.ts
│ │ │ ├── home.component.scss
│ │ │ ├── home.component.spec.ts
│ │ │ └── home.module.ts
│ │ ├── app-routing.module.ts
│ │ ├── app.component.ts
│ │ ├── app.server.module.ts
│ │ ├── app.module.ts
│ │ └── app.component.spec.ts
│ ├── testing
│ │ ├── index.ts
│ │ └── router-stubs.ts
│ ├── favicon.ico
│ ├── environments
│ │ ├── environment.hmr.ts
│ │ ├── environment.prod.ts
│ │ └── environment.ts
│ ├── typings.d.ts
│ ├── main.server.ts
│ ├── tsconfig.spec.json
│ ├── .browserslistrc
│ ├── tsconfig.app.json
│ ├── tsconfig.server.json
│ ├── hmr.ts
│ ├── test.ts
│ ├── main.ts
│ ├── styles.scss
│ ├── karma.conf.js
│ └── index.html
├── .firebaserc
├── static.paths.ts
├── proxy.conf.json
├── e2e
│ ├── tsconfig.e2e.json
│ ├── src
│ │ ├── app.po.ts
│ │ └── app.e2e-spec.ts
│ └── protractor.conf.js
├── .editorconfig
├── tsconfig.json
├── .gitignore
├── README.md
├── webpack.server.config.js
├── prerender.ts
├── server.ts
├── package.json
└── tslint.json
├── .npmrc
├── prettier.config.js
├── projects
└── mat-progress-buttons
│ ├── src
│ ├── public-api.ts
│ ├── lib
│ │ ├── mat-progress-buttons.injection-token.ts
│ │ ├── component
│ │ │ ├── bar-button
│ │ │ │ ├── bar-button.component.scss
│ │ │ │ ├── bar-button.component.html
│ │ │ │ ├── bar-button.component.ts
│ │ │ │ └── bar-button.component.spec.ts
│ │ │ └── spinner-button
│ │ │ │ ├── spinner-button.component.scss
│ │ │ │ ├── spinner-button.component.html
│ │ │ │ ├── spinner-button.component.ts
│ │ │ │ └── spinner-button.component.spec.ts
│ │ ├── mat-progress-buttons.interface.ts
│ │ └── mat-progress-buttons.module.ts
│ └── test.ts
│ ├── ng-package.json
│ ├── tsconfig.lib.prod.json
│ ├── tsconfig.spec.json
│ ├── tslint.json
│ ├── package-lock.json
│ ├── tsconfig.lib.json
│ ├── package.json
│ └── karma.conf.js
├── .prettierignore
├── .editorconfig
├── firebase.json
├── .github
├── workflows
│ ├── ci-tests.yml
│ ├── firebase-hosting-merge.yml
│ └── node.js.yml
└── ISSUE_TEMPLATE.md
├── .gitignore
├── tsconfig.json
├── LICENSE
├── package.json
└── angular.json
/demo/src/assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/demo/src/assets/.npmignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/demo/src/app/app.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | registry = 'https://registry.npmjs.org/'
2 |
--------------------------------------------------------------------------------
/demo/src/testing/index.ts:
--------------------------------------------------------------------------------
1 | export * from './router-stubs';
--------------------------------------------------------------------------------
/demo/src/app/shared/index.ts:
--------------------------------------------------------------------------------
1 | export * from './shared.module';
--------------------------------------------------------------------------------
/demo/src/app/shared/content-wrapper/content-wrapper.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/demo/.firebaserc:
--------------------------------------------------------------------------------
1 | {
2 | "projects": {
3 | "default": "mat-progress-buttons"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/demo/static.paths.ts:
--------------------------------------------------------------------------------
1 | export const ROUTES = [
2 | '/',
3 | '/getting-started/',
4 | ];
5 |
--------------------------------------------------------------------------------
/prettier.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | printWidth: 85,
3 | singleQuote: true,
4 | };
5 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/src/public-api.ts:
--------------------------------------------------------------------------------
1 | export * from './lib/mat-progress-buttons.module';
2 |
--------------------------------------------------------------------------------
/demo/src/app/shared/header/header.component.scss:
--------------------------------------------------------------------------------
1 | .navbar {
2 | background: hsla(0,0%,100%,.95)
3 | }
4 |
--------------------------------------------------------------------------------
/demo/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michaeldoye/mat-progress-buttons/HEAD/demo/src/favicon.ico
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | package.json
2 | package-lock.json
3 | dist
4 | e2e
5 | node_modules
6 | src/app/lms-api.ts
7 |
--------------------------------------------------------------------------------
/demo/src/app/getting-started/getting-started.component.scss:
--------------------------------------------------------------------------------
1 | .getting-started{
2 | margin-top: 1.0rem;
3 | }
4 |
--------------------------------------------------------------------------------
/demo/src/environments/environment.hmr.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: false,
3 | hmr: true
4 | };
5 |
--------------------------------------------------------------------------------
/demo/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true,
3 | hmr: false
4 | };
5 |
--------------------------------------------------------------------------------
/demo/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/demo/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | /* SystemJS module definition */
2 | declare var module: NodeModule;
3 | interface NodeModule {
4 | id: string;
5 | }
6 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/pojoaque.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michaeldoye/mat-progress-buttons/HEAD/demo/src/assets/lib/hljs/styles/pojoaque.jpg
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/school-book.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michaeldoye/mat-progress-buttons/HEAD/demo/src/assets/lib/hljs/styles/school-book.png
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/brown-papersq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/michaeldoye/mat-progress-buttons/HEAD/demo/src/assets/lib/hljs/styles/brown-papersq.png
--------------------------------------------------------------------------------
/demo/proxy.conf.json:
--------------------------------------------------------------------------------
1 | {
2 | "/doc/*": {
3 | "target": "http://localhost:8080",
4 | "secure": false,
5 | "pathRewrite": {"^/doc" : ""},
6 | "logLevel": "info"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/darkula.css:
--------------------------------------------------------------------------------
1 | /*
2 | Deprecated due to a typo in the name and left here for compatibility purpose only.
3 | Please use darcula.css instead.
4 | */
5 |
6 | @import url('darcula.css');
7 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/ng-package.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3 | "dest": "../../dist/mat-progress-buttons",
4 | "lib": {
5 | "entryFile": "src/public-api.ts"
6 | }
7 | }
--------------------------------------------------------------------------------
/demo/e2e/tsconfig.e2e.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../out-tsc/app",
5 | "module": "commonjs",
6 | "target": "es5",
7 | "types": [
8 | "jasmine",
9 | "jasminewd2",
10 | "node"
11 | ]
12 | }
13 | }
--------------------------------------------------------------------------------
/demo/e2e/src/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, element, by } from 'protractor';
2 |
3 | export class MatProgressButtonsDemoPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | getParagraphText() {
9 | return element(by.css('app-root h1')).getText();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see http://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.md]
12 | max_line_length = 0
13 | trim_trailing_whitespace = false
14 |
--------------------------------------------------------------------------------
/demo/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see http://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.md]
12 | max_line_length = off
13 | trim_trailing_whitespace = false
14 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/tsconfig.lib.prod.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "./tsconfig.lib.json",
4 | "compilerOptions": {
5 | "declarationMap": false
6 | },
7 | "angularCompilerOptions": {
8 | "enableIvy": false
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/firebase.json:
--------------------------------------------------------------------------------
1 | {
2 | "hosting": {
3 | "public": "demo/dist/browser",
4 | "ignore": [
5 | "firebase.json",
6 | "**/.*",
7 | "**/node_modules/**"
8 | ],
9 | "rewrites": [
10 | {
11 | "source": "**",
12 | "destination": "/index.html"
13 | }
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/demo/src/app/shared/footer/footer.component.scss:
--------------------------------------------------------------------------------
1 | footer {
2 | padding: 3rem 0;
3 | font-size: 85%;
4 | background-color: #f7f7f7;
5 | text-align: left;
6 |
7 | .heart{
8 | color: #ff005d;
9 | }
10 |
11 | p {
12 | margin-bottom: 0;
13 | }
14 |
15 | a {
16 | font-weight: 500;
17 | color: #55595c;
18 | }
19 |
20 | }
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../../../out-tsc/spec",
5 | "types": [
6 | "jasmine"
7 | ]
8 | },
9 | "files": [
10 | "src/test.ts"
11 | ],
12 | "include": [
13 | "**/*.spec.ts",
14 | "**/*.d.ts"
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/tslint.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tslint.json",
3 | "rules": {
4 | "directive-selector": [
5 | true,
6 | "attribute",
7 | "lib",
8 | "camelCase"
9 | ],
10 | "component-selector": [
11 | true,
12 | "element",
13 | "lib",
14 | "kebab-case"
15 | ]
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/demo/src/app/shared/footer/footer.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-footer',
5 | templateUrl: './footer.component.html',
6 | styleUrls: ['./footer.component.scss']
7 | })
8 | export class FooterComponent implements OnInit {
9 |
10 | constructor() { }
11 |
12 | ngOnInit() {
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/demo/src/app/home/home-routing.module.ts:
--------------------------------------------------------------------------------
1 | import { RouterModule } from '@angular/router';
2 | import { NgModule } from '@angular/core';
3 | import { HomeComponent } from './home.component';
4 |
5 | @NgModule({
6 | imports: [RouterModule.forChild([
7 | { path: 'home', component: HomeComponent }
8 | ])],
9 | exports: [RouterModule]
10 | })
11 | export class HomeRoutingModule {}
12 |
--------------------------------------------------------------------------------
/demo/src/app/shared/content-wrapper/content-wrapper.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
{{ component }}
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/demo/src/main.server.ts:
--------------------------------------------------------------------------------
1 | /***************************************************************************************************
2 | * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.
3 | */
4 | import '@angular/localize/init';
5 | export { AppServerModule } from './app/app.server.module';
6 |
7 | export { renderModule, renderModuleFactory } from '@angular/platform-server';
--------------------------------------------------------------------------------
/demo/src/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../out-tsc/spec",
5 | "baseUrl": "./",
6 | "target": "es5",
7 | "types": [
8 | "jasmine",
9 | "node"
10 | ]
11 | },
12 | "files": [
13 | "test.ts",
14 | "polyfills.ts"
15 | ],
16 | "include": [
17 | "**/*.spec.ts",
18 | "**/*.d.ts"
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/demo/src/.browserslistrc:
--------------------------------------------------------------------------------
1 | # This file is currently used by autoprefixer to adjust CSS to support the below specified browsers
2 | # For additional information regarding the format and rule options, please see:
3 | # https://github.com/browserslist/browserslist#queries
4 | # For IE 9-11 support, please uncomment the last line of the file and adjust as needed
5 | > 0.5%
6 | last 2 versions
7 | Firefox ESR
8 | not dead
9 | # IE 9-11
--------------------------------------------------------------------------------
/demo/src/app/getting-started/getting-started.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Getting Started
4 |
5 |
6 |
7 |
8 |
9 |
10 | Put your content here. Typically instructions about how to install/use your library.
11 |
12 |
--------------------------------------------------------------------------------
/demo/src/app/shared/header/header.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-header',
5 | templateUrl: './header.component.html',
6 | styleUrls: ['./header.component.scss']
7 | })
8 | export class HeaderComponent implements OnInit {
9 |
10 | navbarCollapsed = true;
11 |
12 | constructor() { }
13 |
14 | ngOnInit() {
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/demo/src/app/shared/footer/footer.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/src/lib/mat-progress-buttons.injection-token.ts:
--------------------------------------------------------------------------------
1 | import { InjectionToken } from '@angular/core';
2 | import { MatProgressButtonOptions } from './mat-progress-buttons.interface';
3 |
4 | export interface Config extends MatProgressButtonOptions {
5 | id?: string;
6 | }
7 |
8 | export type GlobalConfig = Config[];
9 |
10 | export const GLOBAL_CONFIG = new InjectionToken('Global Config');
11 |
--------------------------------------------------------------------------------
/demo/e2e/src/app.e2e-spec.ts:
--------------------------------------------------------------------------------
1 | import { MatProgressButtonsDemoPage } from './app.po';
2 |
3 | describe('mat-progress-buttons-demo App', () => {
4 | let page: MatProgressButtonsDemoPage;
5 |
6 | beforeEach(() => {
7 | page = new MatProgressButtonsDemoPage ();
8 | });
9 |
10 | it('should display message saying app works', () => {
11 | page.navigateTo();
12 | expect(page.getParagraphText()).toEqual('app works!');
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/demo/src/app/getting-started/getting-started-routing.module.ts:
--------------------------------------------------------------------------------
1 | import { RouterModule } from '@angular/router';
2 | import { NgModule } from '@angular/core';
3 | import { GettingStartedComponent } from './getting-started.component';
4 |
5 | @NgModule({
6 | imports: [RouterModule.forChild([
7 | { path: '', component: GettingStartedComponent }
8 | ])],
9 | exports: [RouterModule]
10 | })
11 | export class GettingStartedRoutingModule {}
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mat-progress-buttons",
3 | "version": "9.3.1",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "tslib": {
8 | "version": "2.3.1",
9 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
10 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/demo/src/environments/environment.ts:
--------------------------------------------------------------------------------
1 | // The file contents for the current environment will overwrite these during build.
2 | // The build system defaults to the dev environment which uses `environment.ts`, but if you do
3 | // `ng build --env=prod` then `environment.prod.ts` will be used instead.
4 | // The list of which env maps to which file can be found in `.angular-cli.json`.
5 |
6 | export const environment = {
7 | production: false,
8 | hmr: false
9 | };
10 |
--------------------------------------------------------------------------------
/demo/src/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../out-tsc/app",
5 | "baseUrl": "./",
6 | "types": ["node"],
7 | "paths": {
8 | "@angular/*": ["../node_modules/@angular/*"]
9 | },
10 | "typeRoots": [
11 | "node_modules/@types"
12 | ]
13 | },
14 | "files": [
15 | "main.ts",
16 | "polyfills.ts"
17 | ],
18 | "include": [
19 | "src/**/*.d.ts"
20 | ]
21 | }
22 |
--------------------------------------------------------------------------------
/demo/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "importHelpers": true,
5 | "module": "es2020",
6 | "outDir": "./dist/out-tsc",
7 | "sourceMap": true,
8 | "declaration": false,
9 | "moduleResolution": "node",
10 | "experimentalDecorators": true,
11 | "target": "es5",
12 | "typeRoots": [
13 | "node_modules/@types"
14 | ],
15 | "lib": [
16 | "es2017",
17 | "dom"
18 | ]
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/demo/src/app/shared/content-wrapper/content-wrapper.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit, Input } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-content-wrapper',
5 | templateUrl: './content-wrapper.component.html',
6 | styleUrls: ['./content-wrapper.component.scss']
7 | })
8 | export class ContentWrapperComponent implements OnInit {
9 |
10 | @Input()
11 | public component: string;
12 |
13 | constructor() { }
14 |
15 | ngOnInit() {
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/demo/src/app/getting-started/getting-started.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { CommonModule } from '@angular/common';
3 | import { GettingStartedComponent } from './getting-started.component';
4 | import { GettingStartedRoutingModule } from './getting-started-routing.module';
5 |
6 | @NgModule({
7 | imports: [
8 | CommonModule,
9 | GettingStartedRoutingModule
10 | ],
11 | declarations: [GettingStartedComponent],
12 | })
13 | export class GettingStartedModule { }
14 |
--------------------------------------------------------------------------------
/demo/src/tsconfig.server.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../out-tsc/app",
5 | "baseUrl": "./",
6 | "target": "es2016",
7 | "types": ["node"],
8 | "typeRoots": [
9 | "node_modules/@types"
10 | ]
11 | },
12 | "angularCompilerOptions": {
13 | "entryModule": "app/app.server.module#AppServerModule"
14 | },
15 | "files": [
16 | "main.server.ts"
17 | ],
18 | "include": [
19 | "src/**/*.d.ts"
20 | ]
21 | }
22 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/src/lib/component/bar-button/bar-button.component.scss:
--------------------------------------------------------------------------------
1 | :host {
2 | button {
3 | &.active {
4 | cursor: not-allowed;
5 | }
6 | &.fullWidth {
7 | width: 100%;
8 | }
9 | .bar {
10 | position:absolute;
11 | top: 0;
12 | left: 0;
13 | }
14 | mat-icon {
15 | padding-right: 5px;
16 | &.is-mat-icon {
17 | font-size: 18px;
18 | position: relative;
19 | top: 3px;
20 | }
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/.github/workflows/ci-tests.yml:
--------------------------------------------------------------------------------
1 | name: Test
2 |
3 | on:
4 | pull_request:
5 | branches: [master, dev/*]
6 |
7 | jobs:
8 | build:
9 | runs-on: ubuntu-latest
10 |
11 | strategy:
12 | matrix:
13 | node-version: [12.x]
14 |
15 | steps:
16 | - uses: actions/checkout@v2
17 | - name: Use Node.js ${{ matrix.node-version }}
18 | uses: actions/setup-node@v1
19 | with:
20 | node-version: ${{ matrix.node-version }}
21 | - run: npm install
22 | - run: npm run test:ci
23 |
--------------------------------------------------------------------------------
/demo/src/app/getting-started/getting-started.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit } from '@angular/core';
2 | import { Title } from '@angular/platform-browser';
3 |
4 |
5 | @Component({
6 | selector: 'app-getting-started',
7 | templateUrl: './getting-started.component.html',
8 | styleUrls: ['./getting-started.component.scss']
9 | })
10 | export class GettingStartedComponent implements OnInit {
11 |
12 | constructor(private titleService:Title) { }
13 |
14 | ngOnInit() {
15 | this.titleService.setTitle('Getting Started | mat-progress-buttons');
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/demo/src/app/app-routing.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { Routes, RouterModule } from '@angular/router';
3 |
4 | const routes: Routes = [
5 | {
6 | path: '',
7 | redirectTo: 'home',
8 | pathMatch: 'full'
9 | },
10 | {
11 | path: 'getting-started',
12 | loadChildren: () => import('app/getting-started/getting-started.module').then(m => m.GettingStartedModule)
13 | }
14 | ];
15 |
16 | @NgModule({
17 | imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],
18 | exports: [RouterModule]
19 | })
20 | export class AppRoutingModule { }
21 |
--------------------------------------------------------------------------------
/demo/src/hmr.ts:
--------------------------------------------------------------------------------
1 | import { NgModuleRef, ApplicationRef } from '@angular/core';
2 | import { createNewHosts } from '@angularclass/hmr';
3 |
4 | export const hmrBootstrap = (module: any, bootstrap: () => Promise>) => {
5 | let ngModule: NgModuleRef;
6 | module.hot.accept();
7 | bootstrap().then(mod => ngModule = mod);
8 | module.hot.dispose(() => {
9 | const appRef: ApplicationRef = ngModule.injector.get(ApplicationRef);
10 | const elements = appRef.components.map(c => c.location.nativeElement);
11 | const makeVisible = createNewHosts(elements);
12 | ngModule.destroy();
13 | makeVisible();
14 | });
15 | };
16 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/tsconfig.lib.json:
--------------------------------------------------------------------------------
1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */
2 | {
3 | "extends": "../../tsconfig.json",
4 | "compilerOptions": {
5 | "outDir": "../../../out-tsc/lib",
6 | "target": "es2015",
7 | "declaration": true,
8 | "declarationMap": true,
9 | "inlineSources": true,
10 | "types": [],
11 | "lib": [
12 | "dom",
13 | "es2018"
14 | ]
15 | },
16 | "angularCompilerOptions": {
17 | "skipTemplateCodegen": true,
18 | "strictMetadataEmit": true,
19 | "enableResourceInlining": true
20 | },
21 | "exclude": [
22 | "src/test.ts",
23 | "**/*.spec.ts"
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/demo/.gitignore:
--------------------------------------------------------------------------------
1 | # See http://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # compiled output
4 | /dist
5 | /tmp
6 | /out-tsc
7 |
8 | # dependencies
9 | /node_modules
10 |
11 | # IDEs and editors
12 | /.idea
13 | .project
14 | .classpath
15 | .c9/
16 | *.launch
17 | .settings/
18 | *.sublime-workspace
19 |
20 | # IDE - VSCode
21 | .vscode/*
22 | !.vscode/settings.json
23 | !.vscode/tasks.json
24 | !.vscode/launch.json
25 | !.vscode/extensions.json
26 |
27 | # misc
28 | /.sass-cache
29 | /connect.lock
30 | /coverage
31 | /libpeerconnection.log
32 | npm-debug.log
33 | yarn-error.log
34 | testem.log
35 | /typings
36 | .firebase/*
37 |
38 | # System Files
39 | .DS_Store
40 | Thumbs.db
41 |
--------------------------------------------------------------------------------
/demo/src/app/home/home.component.scss:
--------------------------------------------------------------------------------
1 | .logo {
2 | width: 256px;
3 | height: 256px;
4 | margin-top: 1.4rem;
5 | }
6 |
7 | .home {
8 | margin-top: 1.0rem;
9 | }
10 |
11 | p.buttons a {
12 | text-decoration: none;
13 | }
14 |
15 | p.buttons a i {
16 | margin-right: 5px;
17 | }
18 |
19 | .example-container {
20 | border: 1px solid rgba(0,0,0,.03);
21 | box-shadow: 0 2px 2px rgba(0,0,0,.24), 0 0 2px rgba(0,0,0,.12);
22 | margin: 4px;
23 | margin-bottom: 30px;
24 | }
25 |
26 | mat-spinner-button, mat-bar-button {
27 | margin-right: 25px;
28 | }
29 |
30 | .example-header {
31 | width: 100%;
32 | margin-bottom: 0px;
33 | }
34 |
35 | button {
36 | outline: none;
37 | }
--------------------------------------------------------------------------------
/demo/src/app/shared/shared.module.ts:
--------------------------------------------------------------------------------
1 | import { RouterModule } from '@angular/router';
2 | import { NgModule } from '@angular/core';
3 | import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap';
4 |
5 | import { HeaderComponent } from './header/header.component';
6 | import { FooterComponent } from './footer/footer.component';
7 | import { ContentWrapperComponent } from './content-wrapper/content-wrapper.component';
8 |
9 | @NgModule({
10 | imports: [RouterModule, NgbCollapseModule ],
11 | exports: [HeaderComponent, FooterComponent, ContentWrapperComponent],
12 | declarations: [HeaderComponent, FooterComponent, ContentWrapperComponent],
13 | providers: [],
14 | })
15 | export class AppSharedModule { }
16 |
--------------------------------------------------------------------------------
/demo/src/test.ts:
--------------------------------------------------------------------------------
1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2 |
3 | import 'zone.js/testing';
4 | import { getTestBed } from '@angular/core/testing';
5 | import {
6 | BrowserDynamicTestingModule,
7 | platformBrowserDynamicTesting
8 | } from '@angular/platform-browser-dynamic/testing';
9 |
10 | declare const require: any;
11 |
12 | // First, initialize the Angular testing environment.
13 | getTestBed().initTestEnvironment(
14 | BrowserDynamicTestingModule,
15 | platformBrowserDynamicTesting()
16 | );
17 | // Then we find all the tests.
18 | const context = require.context('./', true, /\.spec\.ts$/);
19 | // And load the modules.
20 | context.keys().map(context);
21 |
--------------------------------------------------------------------------------
/demo/src/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Inject, PLATFORM_ID } from '@angular/core';
2 | import { Router, NavigationEnd, RouterEvent } from '@angular/router';
3 | import { isPlatformBrowser } from '@angular/common';
4 | import { filter } from 'rxjs/operators';
5 |
6 | @Component({
7 | selector: 'app-root',
8 | templateUrl: './app.component.html',
9 | styleUrls: ['./app.component.scss']
10 | })
11 | export class AppComponent {
12 |
13 | constructor(private router: Router, @Inject(PLATFORM_ID) private platformId: Object) {
14 |
15 | this.router.events.pipe(
16 | filter((event:RouterEvent) => event instanceof NavigationEnd)
17 | ).subscribe(event => {
18 | if (isPlatformBrowser(this.platformId)) {
19 | window.scroll(0, 0);
20 | }
21 | });
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/demo/src/assets/logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/ascetic.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: white;
12 | color: black;
13 | }
14 |
15 | .hljs-string,
16 | .hljs-variable,
17 | .hljs-template-variable,
18 | .hljs-symbol,
19 | .hljs-bullet,
20 | .hljs-section,
21 | .hljs-addition,
22 | .hljs-attribute,
23 | .hljs-link {
24 | color: #888;
25 | }
26 |
27 | .hljs-comment,
28 | .hljs-quote,
29 | .hljs-meta,
30 | .hljs-deletion {
31 | color: #ccc;
32 | }
33 |
34 | .hljs-keyword,
35 | .hljs-selector-tag,
36 | .hljs-section,
37 | .hljs-name,
38 | .hljs-type,
39 | .hljs-strong {
40 | font-weight: bold;
41 | }
42 |
43 | .hljs-emphasis {
44 | font-style: italic;
45 | }
46 |
--------------------------------------------------------------------------------
/demo/src/main.ts:
--------------------------------------------------------------------------------
1 | import { enableProdMode } from '@angular/core';
2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3 |
4 | import { AppModule } from './app/app.module';
5 | import { environment } from './environments/environment';
6 |
7 | import { hmrBootstrap } from './hmr';
8 |
9 | if (environment.production) {
10 | enableProdMode();
11 | }
12 |
13 | const bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule);
14 |
15 | if (environment.hmr) {
16 | if (module[ 'hot' ]) {
17 | hmrBootstrap(module, bootstrap);
18 | } else {
19 | console.error('HMR is not enabled for webpack-dev-server!');
20 | console.log('Are you using the --hmr flag for ng serve?');
21 | }
22 | } else {
23 | bootstrap().catch(err => console.log(err));
24 | }
25 |
--------------------------------------------------------------------------------
/demo/src/app/app.server.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { ServerModule, ServerTransferStateModule } from '@angular/platform-server';
3 | import { ModuleMapLoaderModule } from '@nguniversal/module-map-ngfactory-loader';
4 |
5 | import { AppModule } from './app.module';
6 | import { AppComponent } from './app.component';
7 |
8 | @NgModule({
9 | imports: [
10 | // The AppServerModule should import your AppModule followed
11 | // by the ServerModule from @angular/platform-server.
12 | AppModule,
13 | ServerModule,
14 | ModuleMapLoaderModule,
15 | ServerTransferStateModule,
16 | ],
17 | // Since the bootstrapped component is not inherited from your
18 | // imported AppModule, it needs to be repeated here.
19 | bootstrap: [AppComponent],
20 | })
21 | export class AppServerModule { }
22 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See http://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # compiled output
4 | /dist
5 | /tmp
6 | /out-tsc
7 | # Only exists if Bazel was run
8 | /bazel-out
9 |
10 | # dependencies
11 | /node_modules
12 |
13 | # profiling files
14 | chrome-profiler-events*.json
15 | speed-measure-plugin*.json
16 |
17 | # IDEs and editors
18 | /.idea
19 | .project
20 | .classpath
21 | .c9/
22 | *.launch
23 | .settings/
24 | *.sublime-workspace
25 |
26 | # IDE - VSCode
27 | .vscode/*
28 | !.vscode/settings.json
29 | !.vscode/tasks.json
30 | !.vscode/launch.json
31 | !.vscode/extensions.json
32 | .history/*
33 |
34 | # misc
35 | /.sass-cache
36 | /connect.lock
37 | /coverage
38 | /libpeerconnection.log
39 | npm-debug.log
40 | yarn-error.log
41 | testem.log
42 | /typings
43 |
44 | # System Files
45 | .DS_Store
46 | Thumbs.db
47 |
--------------------------------------------------------------------------------
/demo/src/app/shared/footer/footer.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2 | import { DebugElement } from '@angular/core';
3 |
4 | import { FooterComponent } from './footer.component';
5 |
6 | describe('FooterComponent', () => {
7 | let component: FooterComponent;
8 | let fixture: ComponentFixture;
9 |
10 | beforeEach(waitForAsync(() => {
11 | TestBed.configureTestingModule({
12 | declarations: [FooterComponent]
13 | })
14 | .compileComponents()
15 | .then(() => {
16 | fixture = TestBed.createComponent(FooterComponent);
17 | component = fixture.componentInstance;
18 | fixture.detectChanges();
19 | });
20 | }));
21 |
22 | it('should create', () => {
23 | expect(component).toBeTruthy();
24 | });
25 | });
26 |
--------------------------------------------------------------------------------
/.github/workflows/firebase-hosting-merge.yml:
--------------------------------------------------------------------------------
1 | # This file was auto-generated by the Firebase CLI
2 | # https://github.com/firebase/firebase-tools
3 |
4 | name: Deploy to Firebase Hosting on merge
5 | 'on':
6 | push:
7 | branches:
8 | - master
9 | jobs:
10 | build_and_deploy:
11 | runs-on: ubuntu-latest
12 | defaults:
13 | run:
14 | working-directory: ./demo
15 | steps:
16 | - uses: actions/checkout@v2
17 | - run: npm install
18 | - run: npm link mat-progress-buttons
19 | - run: npm run build:prod
20 | - uses: FirebaseExtended/action-hosting-deploy@v0
21 | with:
22 | repoToken: '${{ secrets.GITHUB_TOKEN }}'
23 | firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_MAT_PROGRESS_BUTTONS }}'
24 | channelId: live
25 | projectId: mat-progress-buttons
26 |
--------------------------------------------------------------------------------
/demo/e2e/protractor.conf.js:
--------------------------------------------------------------------------------
1 | // Protractor configuration file, see link for more information
2 | // https://github.com/angular/protractor/blob/master/lib/config.ts
3 |
4 | const { SpecReporter } = require('jasmine-spec-reporter');
5 |
6 | exports.config = {
7 | allScriptsTimeout: 11000,
8 | specs: [
9 | './src/**/*.e2e-spec.ts'
10 | ],
11 | capabilities: {
12 | 'browserName': 'chrome'
13 | },
14 | directConnect: true,
15 | baseUrl: 'http://localhost:4200/',
16 | framework: 'jasmine',
17 | jasmineNodeOpts: {
18 | showColors: true,
19 | defaultTimeoutInterval: 30000,
20 | print: function() {}
21 | },
22 | onPrepare() {
23 | require('ts-node').register({
24 | project: require('path').join(__dirname, './tsconfig.e2e.json')
25 | });
26 | jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
27 | }
28 | };
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/src/test.ts:
--------------------------------------------------------------------------------
1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2 |
3 | import 'zone.js';
4 | import 'zone.js/testing';
5 | import { getTestBed } from '@angular/core/testing';
6 | import {
7 | BrowserDynamicTestingModule,
8 | platformBrowserDynamicTesting
9 | } from '@angular/platform-browser-dynamic/testing';
10 |
11 | declare const require: {
12 | context(path: string, deep?: boolean, filter?: RegExp): {
13 | keys(): string[];
14 | (id: string): T;
15 | };
16 | };
17 |
18 | // First, initialize the Angular testing environment.
19 | getTestBed().initTestEnvironment(
20 | BrowserDynamicTestingModule,
21 | platformBrowserDynamicTesting()
22 | );
23 | // Then we find all the tests.
24 | const context = require.context('./', true, /\.spec\.ts$/);
25 | // And load the modules.
26 | context.keys().map(context);
27 |
--------------------------------------------------------------------------------
/demo/src/app/getting-started/getting-started.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2 | import { DebugElement } from '@angular/core';
3 |
4 | import { GettingStartedComponent } from './getting-started.component';
5 |
6 | describe('GettingStartedComponent', () => {
7 | let component: GettingStartedComponent;
8 | let fixture: ComponentFixture;
9 |
10 | beforeEach(waitForAsync(() => {
11 | TestBed.configureTestingModule({
12 | declarations: [GettingStartedComponent]
13 | })
14 | .compileComponents()
15 | .then(() => {
16 | fixture = TestBed.createComponent(GettingStartedComponent);
17 | component = fixture.componentInstance;
18 | fixture.detectChanges();
19 | });
20 | }));
21 |
22 | it('should create', () => {
23 | expect(component).toBeTruthy();
24 | });
25 | });
26 |
--------------------------------------------------------------------------------
/demo/src/app/shared/content-wrapper/content-wrapper.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2 | import { DebugElement } from '@angular/core';
3 |
4 | import { ContentWrapperComponent } from './content-wrapper.component';
5 |
6 | describe('ContentWrapperComponent', () => {
7 | let component: ContentWrapperComponent;
8 | let fixture: ComponentFixture;
9 |
10 | beforeEach(waitForAsync(() => {
11 | TestBed.configureTestingModule({
12 | declarations: [ContentWrapperComponent]
13 | })
14 | .compileComponents()
15 | .then(() => {
16 | fixture = TestBed.createComponent(ContentWrapperComponent);
17 | component = fixture.componentInstance;
18 | fixture.detectChanges();
19 | });
20 | }));
21 |
22 | it('should create', () => {
23 | expect(component).toBeTruthy();
24 | });
25 | });
26 |
--------------------------------------------------------------------------------
/demo/src/app/home/home.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2 | import { DebugElement } from '@angular/core';
3 |
4 | import { HomeComponent } from './home.component';
5 | import { MatProgressButtonsModule } from 'mat-progress-buttons';
6 |
7 | describe('HomeComponent', () => {
8 | let component: HomeComponent;
9 | let fixture: ComponentFixture;
10 |
11 | beforeEach(waitForAsync(() => {
12 | TestBed.configureTestingModule({
13 | imports: [
14 | MatProgressButtonsModule.forRoot()],
15 | declarations: [HomeComponent]
16 | })
17 | .compileComponents()
18 | .then(() => {
19 | fixture = TestBed.createComponent(HomeComponent);
20 | component = fixture.componentInstance;
21 | });
22 | }));
23 |
24 | it('should create', () => {
25 | expect(component).toBeTruthy();
26 | });
27 | });
28 |
--------------------------------------------------------------------------------
/demo/src/styles.scss:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 | @import "~@angular/material/prebuilt-themes/indigo-pink.css";
3 | @import '~bootstrap/scss/bootstrap';
4 | @import '~font-awesome/scss/font-awesome';
5 | @import '~highlight.js/styles/github.css';
6 |
7 | .jumbotron {
8 | margin-bottom: 0rem;
9 | h1 {
10 | font-size: 2.5rem;
11 | margin-bottom: 1.4rem;
12 | }
13 | p {
14 | font-size: 1.2rem;
15 | }
16 |
17 | .btn {
18 | margin: .5rem;
19 | }
20 |
21 | .buttons a{
22 | margin: 0.2rem;
23 | }
24 |
25 | }
26 |
27 | @include media-breakpoint-up(sm) {
28 | .jumbotron {
29 | margin-bottom: 0rem;
30 | h1 {
31 | font-size: 3.6rem;
32 | margin-bottom: 1.8rem;
33 | }
34 | p {
35 | font-size: 1.4rem;
36 | }
37 | .buttons a{
38 | margin: 0.3rem;
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": false,
3 | "compilerOptions": {
4 | "baseUrl": "./",
5 | "outDir": "./dist/out-tsc",
6 | "forceConsistentCasingInFileNames": true,
7 | "strict": false,
8 | "noImplicitReturns": true,
9 | "noFallthroughCasesInSwitch": true,
10 | "sourceMap": true,
11 | "declaration": false,
12 | "downlevelIteration": true,
13 | "experimentalDecorators": true,
14 | "moduleResolution": "node",
15 | "importHelpers": true,
16 | "target": "es2015",
17 | "module": "es2020",
18 | "lib": [
19 | "es2018",
20 | "dom"
21 | ],
22 | "paths": {
23 | "mat-progress-buttons": [
24 | "dist/mat-progress-buttons/mat-progress-buttons",
25 | "dist/mat-progress-buttons"
26 | ]
27 | }
28 | },
29 | "angularCompilerOptions": {
30 | "preserveSymlinks": true,
31 | "strictInjectionParameters": true,
32 | "strictInputAccessModifiers": true,
33 | "strictTemplates": false
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/src/lib/mat-progress-buttons.interface.ts:
--------------------------------------------------------------------------------
1 | import { ThemePalette } from '@angular/material/core';
2 | import { ProgressSpinnerMode } from '@angular/material/progress-spinner';
3 |
4 | export interface MatProgressButtonOptions {
5 | active?: boolean;
6 | text: string;
7 | spinnerText?: string;
8 | buttonColor?: ThemePalette;
9 | spinnerColor?: ThemePalette;
10 | barColor?: ThemePalette;
11 | raised?: boolean;
12 | stroked?: boolean;
13 | flat?: boolean;
14 | fab?: boolean;
15 | spinnerSize?: number;
16 | mode?: ProgressSpinnerMode;
17 | value?: number;
18 | fullWidth?: boolean;
19 | disabled?: boolean;
20 | icon?: MatProgressButtonIcon;
21 | type?: string;
22 | customClass?: string;
23 | buttonIcon?: MatProgressButtonIcon;
24 | id?: string;
25 | }
26 |
27 | interface MatProgressButtonIcon {
28 | color?: ThemePalette;
29 | fontIcon?: string;
30 | fontSet?: string;
31 | inline?: boolean;
32 | svgIcon?: string;
33 | customClass?: string;
34 | }
35 |
--------------------------------------------------------------------------------
/demo/src/app/shared/header/header.component.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/mono-blue.css:
--------------------------------------------------------------------------------
1 | /*
2 | Five-color theme from a single blue hue.
3 | */
4 | .hljs {
5 | display: block;
6 | overflow-x: auto;
7 | padding: 0.5em;
8 | background: #eaeef3;
9 | }
10 |
11 | .hljs {
12 | color: #00193a;
13 | }
14 |
15 | .hljs-keyword,
16 | .hljs-selector-tag,
17 | .hljs-title,
18 | .hljs-section,
19 | .hljs-doctag,
20 | .hljs-name,
21 | .hljs-strong {
22 | font-weight: bold;
23 | }
24 |
25 | .hljs-comment {
26 | color: #738191;
27 | }
28 |
29 | .hljs-string,
30 | .hljs-title,
31 | .hljs-section,
32 | .hljs-built_in,
33 | .hljs-literal,
34 | .hljs-type,
35 | .hljs-addition,
36 | .hljs-tag,
37 | .hljs-quote,
38 | .hljs-name,
39 | .hljs-selector-id,
40 | .hljs-selector-class {
41 | color: #0048ab;
42 | }
43 |
44 | .hljs-meta,
45 | .hljs-subst,
46 | .hljs-symbol,
47 | .hljs-regexp,
48 | .hljs-attribute,
49 | .hljs-deletion,
50 | .hljs-variable,
51 | .hljs-template-variable,
52 | .hljs-link,
53 | .hljs-bullet {
54 | color: #4c81c9;
55 | }
56 |
57 | .hljs-emphasis {
58 | font-style: italic;
59 | }
60 |
--------------------------------------------------------------------------------
/demo/src/karma.conf.js:
--------------------------------------------------------------------------------
1 | // Karma configuration file, see link for more information
2 | // https://karma-runner.github.io/1.0/config/configuration-file.html
3 |
4 | module.exports = function (config) {
5 | config.set({
6 | basePath: '',
7 | frameworks: ['jasmine', '@angular-devkit/build-angular'],
8 | plugins: [
9 | require('karma-jasmine'),
10 | require('karma-chrome-launcher'),
11 | require('karma-jasmine-html-reporter'),
12 | require('karma-coverage-istanbul-reporter'),
13 | require('@angular-devkit/build-angular/plugins/karma')
14 | ],
15 | client: {
16 | clearContext: false // leave Jasmine Spec Runner output visible in browser
17 | },
18 | coverageIstanbulReporter: {
19 | dir: require('path').join(__dirname, '../coverage'),
20 | reports: ['html', 'lcovonly'],
21 | fixWebpackSourcePaths: true
22 | },
23 | reporters: ['progress', 'kjhtml'],
24 | port: 9876,
25 | colors: true,
26 | logLevel: config.LOG_INFO,
27 | autoWatch: true,
28 | browsers: ['Chrome'],
29 | singleRun: false
30 | });
31 | };
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Dark style from softwaremaniacs.org (c) Ivan Sagalaev
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #444;
12 | }
13 |
14 | .hljs-keyword,
15 | .hljs-selector-tag,
16 | .hljs-literal,
17 | .hljs-section,
18 | .hljs-link {
19 | color: white;
20 | }
21 |
22 | .hljs,
23 | .hljs-subst {
24 | color: #ddd;
25 | }
26 |
27 | .hljs-string,
28 | .hljs-title,
29 | .hljs-name,
30 | .hljs-type,
31 | .hljs-attribute,
32 | .hljs-symbol,
33 | .hljs-bullet,
34 | .hljs-built_in,
35 | .hljs-addition,
36 | .hljs-variable,
37 | .hljs-template-tag,
38 | .hljs-template-variable {
39 | color: #d88;
40 | }
41 |
42 | .hljs-comment,
43 | .hljs-quote,
44 | .hljs-deletion,
45 | .hljs-meta {
46 | color: #777;
47 | }
48 |
49 | .hljs-keyword,
50 | .hljs-selector-tag,
51 | .hljs-literal,
52 | .hljs-title,
53 | .hljs-section,
54 | .hljs-doctag,
55 | .hljs-type,
56 | .hljs-name,
57 | .hljs-strong {
58 | font-weight: bold;
59 | }
60 |
61 | .hljs-emphasis {
62 | font-style: italic;
63 | }
64 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/androidstudio.css:
--------------------------------------------------------------------------------
1 | /*
2 | Date: 24 Fev 2015
3 | Author: Pedro Oliveira
4 | */
5 |
6 | .hljs {
7 | color: #a9b7c6;
8 | background: #282b2e;
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | }
13 |
14 | .hljs-number,
15 | .hljs-literal,
16 | .hljs-symbol,
17 | .hljs-bullet {
18 | color: #6897BB;
19 | }
20 |
21 | .hljs-keyword,
22 | .hljs-selector-tag,
23 | .hljs-deletion {
24 | color: #cc7832;
25 | }
26 |
27 | .hljs-variable,
28 | .hljs-template-variable,
29 | .hljs-link {
30 | color: #629755;
31 | }
32 |
33 | .hljs-comment,
34 | .hljs-quote {
35 | color: #808080;
36 | }
37 |
38 | .hljs-meta {
39 | color: #bbb529;
40 | }
41 |
42 | .hljs-string,
43 | .hljs-attribute,
44 | .hljs-addition {
45 | color: #6A8759;
46 | }
47 |
48 | .hljs-section,
49 | .hljs-title,
50 | .hljs-type {
51 | color: #ffc66d;
52 | }
53 |
54 | .hljs-name,
55 | .hljs-selector-id,
56 | .hljs-selector-class {
57 | color: #e8bf6a;
58 | }
59 |
60 | .hljs-emphasis {
61 | font-style: italic;
62 | }
63 |
64 | .hljs-strong {
65 | font-weight: bold;
66 | }
67 |
--------------------------------------------------------------------------------
/demo/README.md:
--------------------------------------------------------------------------------
1 | # mat-progress-buttons-demo
2 |
3 | This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 6.0.0.
4 |
5 | ## Development server
6 |
7 | Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
8 |
9 | ## Code scaffolding
10 |
11 | Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
12 |
13 | ## Build
14 |
15 | Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.
16 |
17 | ## Running unit tests
18 |
19 | Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
20 |
21 | ## Running end-to-end tests
22 |
23 | Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
24 |
25 | ## Further help
26 |
27 | To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
28 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/codepen-embed.css:
--------------------------------------------------------------------------------
1 | /*
2 | codepen.io Embed Theme
3 | Author: Justin Perry
4 | Original theme - https://github.com/chriskempson/tomorrow-theme
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #222;
12 | color: #fff;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #777;
18 | }
19 |
20 | .hljs-variable,
21 | .hljs-template-variable,
22 | .hljs-tag,
23 | .hljs-regexp,
24 | .hljs-meta,
25 | .hljs-number,
26 | .hljs-built_in,
27 | .hljs-builtin-name,
28 | .hljs-literal,
29 | .hljs-params,
30 | .hljs-symbol,
31 | .hljs-bullet,
32 | .hljs-link,
33 | .hljs-deletion {
34 | color: #ab875d;
35 | }
36 |
37 | .hljs-section,
38 | .hljs-title,
39 | .hljs-name,
40 | .hljs-selector-id,
41 | .hljs-selector-class,
42 | .hljs-type,
43 | .hljs-attribute {
44 | color: #9b869b;
45 | }
46 |
47 | .hljs-string,
48 | .hljs-keyword,
49 | .hljs-selector-tag,
50 | .hljs-addition {
51 | color: #8f9c6c;
52 | }
53 |
54 | .hljs-emphasis {
55 | font-style: italic;
56 | }
57 |
58 | .hljs-strong {
59 | font-weight: bold;
60 | }
61 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2018 Michael Doye
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | "Software"), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/brown-paper.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Brown Paper style from goldblog.com.ua (c) Zaripov Yura
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background:#b7a68e url(./brown-papersq.png);
12 | }
13 |
14 | .hljs-keyword,
15 | .hljs-selector-tag,
16 | .hljs-literal {
17 | color:#005599;
18 | font-weight:bold;
19 | }
20 |
21 | .hljs,
22 | .hljs-subst {
23 | color: #363c69;
24 | }
25 |
26 | .hljs-string,
27 | .hljs-title,
28 | .hljs-section,
29 | .hljs-type,
30 | .hljs-attribute,
31 | .hljs-symbol,
32 | .hljs-bullet,
33 | .hljs-built_in,
34 | .hljs-addition,
35 | .hljs-variable,
36 | .hljs-template-tag,
37 | .hljs-template-variable,
38 | .hljs-link,
39 | .hljs-name {
40 | color: #2c009f;
41 | }
42 |
43 | .hljs-comment,
44 | .hljs-quote,
45 | .hljs-meta,
46 | .hljs-deletion {
47 | color: #802022;
48 | }
49 |
50 | .hljs-keyword,
51 | .hljs-selector-tag,
52 | .hljs-literal,
53 | .hljs-doctag,
54 | .hljs-title,
55 | .hljs-section,
56 | .hljs-type,
57 | .hljs-name,
58 | .hljs-strong {
59 | font-weight: bold;
60 | }
61 |
62 | .hljs-emphasis {
63 | font-style: italic;
64 | }
65 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/vs.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Visual Studio-like style based on original C# coloring by Jason Diamond
4 |
5 | */
6 | .hljs {
7 | display: block;
8 | overflow-x: auto;
9 | padding: 0.5em;
10 | background: white;
11 | color: black;
12 | }
13 |
14 | .hljs-comment,
15 | .hljs-quote,
16 | .hljs-variable {
17 | color: #008000;
18 | }
19 |
20 | .hljs-keyword,
21 | .hljs-selector-tag,
22 | .hljs-built_in,
23 | .hljs-name,
24 | .hljs-tag {
25 | color: #00f;
26 | }
27 |
28 | .hljs-string,
29 | .hljs-title,
30 | .hljs-section,
31 | .hljs-attribute,
32 | .hljs-literal,
33 | .hljs-template-tag,
34 | .hljs-template-variable,
35 | .hljs-type,
36 | .hljs-addition {
37 | color: #a31515;
38 | }
39 |
40 | .hljs-deletion,
41 | .hljs-selector-attr,
42 | .hljs-selector-pseudo,
43 | .hljs-meta {
44 | color: #2b91af;
45 | }
46 |
47 | .hljs-doctag {
48 | color: #808080;
49 | }
50 |
51 | .hljs-attr {
52 | color: #f00;
53 | }
54 |
55 | .hljs-symbol,
56 | .hljs-bullet,
57 | .hljs-link {
58 | color: #00b0e8;
59 | }
60 |
61 |
62 | .hljs-emphasis {
63 | font-style: italic;
64 | }
65 |
66 | .hljs-strong {
67 | font-weight: bold;
68 | }
69 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/src/lib/component/spinner-button/spinner-button.component.scss:
--------------------------------------------------------------------------------
1 | :host {
2 | button {
3 | outline: none;
4 | &.active {
5 | cursor: not-allowed;
6 | }
7 | & ::ng-deep .mat-button-wrapper {
8 | display:flex;
9 | align-items: center;
10 | justify-content: center;
11 | }
12 | &.fullWidth {
13 | width: 100%;
14 | }
15 | &.mat-fab {
16 | .spinner {
17 | margin-top: -15px;
18 | }
19 | }
20 | .spinner {
21 | position: absolute;
22 | top: 25%;
23 | opacity:0;
24 | transition: opacity .3s ease-in-out;
25 | &.active {
26 | opacity: 1;
27 | }
28 | }
29 | .button-text {
30 | opacity: 1;
31 | transition: opacity .3s ease-in-out;
32 | &.active {
33 | opacity: 0;
34 | }
35 | }
36 | mat-icon.mat-button-icon {
37 | padding-right: 5px;
38 | transition: opacity .3s ease-in-out;
39 | &.is-mat-icon {
40 | font-size: 18px;
41 | position: relative;
42 | top: 3px;
43 | }
44 | &.active {
45 | opacity: 0;
46 | }
47 | }
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/far.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | FAR Style (c) MajestiC
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #000080;
12 | }
13 |
14 | .hljs,
15 | .hljs-subst {
16 | color: #0ff;
17 | }
18 |
19 | .hljs-string,
20 | .hljs-attribute,
21 | .hljs-symbol,
22 | .hljs-bullet,
23 | .hljs-built_in,
24 | .hljs-builtin-name,
25 | .hljs-template-tag,
26 | .hljs-template-variable,
27 | .hljs-addition {
28 | color: #ff0;
29 | }
30 |
31 | .hljs-keyword,
32 | .hljs-selector-tag,
33 | .hljs-section,
34 | .hljs-type,
35 | .hljs-name,
36 | .hljs-selector-id,
37 | .hljs-selector-class,
38 | .hljs-variable {
39 | color: #fff;
40 | }
41 |
42 | .hljs-comment,
43 | .hljs-quote,
44 | .hljs-doctag,
45 | .hljs-deletion {
46 | color: #888;
47 | }
48 |
49 | .hljs-number,
50 | .hljs-regexp,
51 | .hljs-literal,
52 | .hljs-link {
53 | color: #0f0;
54 | }
55 |
56 | .hljs-meta {
57 | color: #008080;
58 | }
59 |
60 | .hljs-keyword,
61 | .hljs-selector-tag,
62 | .hljs-title,
63 | .hljs-section,
64 | .hljs-name,
65 | .hljs-strong {
66 | font-weight: bold;
67 | }
68 |
69 | .hljs-emphasis {
70 | font-style: italic;
71 | }
72 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/arta.css:
--------------------------------------------------------------------------------
1 | /*
2 | Date: 17.V.2011
3 | Author: pumbur
4 | */
5 |
6 | .hljs {
7 | display: block;
8 | overflow-x: auto;
9 | padding: 0.5em;
10 | background: #222;
11 | }
12 |
13 | .hljs,
14 | .hljs-subst {
15 | color: #aaa;
16 | }
17 |
18 | .hljs-section {
19 | color: #fff;
20 | }
21 |
22 | .hljs-comment,
23 | .hljs-quote,
24 | .hljs-meta {
25 | color: #444;
26 | }
27 |
28 | .hljs-string,
29 | .hljs-symbol,
30 | .hljs-bullet,
31 | .hljs-regexp {
32 | color: #ffcc33;
33 | }
34 |
35 | .hljs-number,
36 | .hljs-addition {
37 | color: #00cc66;
38 | }
39 |
40 | .hljs-built_in,
41 | .hljs-builtin-name,
42 | .hljs-literal,
43 | .hljs-type,
44 | .hljs-template-variable,
45 | .hljs-attribute,
46 | .hljs-link {
47 | color: #32aaee;
48 | }
49 |
50 | .hljs-keyword,
51 | .hljs-selector-tag,
52 | .hljs-name,
53 | .hljs-selector-id,
54 | .hljs-selector-class {
55 | color: #6644aa;
56 | }
57 |
58 | .hljs-title,
59 | .hljs-variable,
60 | .hljs-deletion,
61 | .hljs-template-tag {
62 | color: #bb1166;
63 | }
64 |
65 | .hljs-section,
66 | .hljs-doctag,
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
71 | .hljs-emphasis {
72 | font-style: italic;
73 | }
74 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
4 | ### Bug Report or Feature Request (mark with an `x`)
5 | ```
6 | - [ ] bug report -> please search issues before submitting
7 | - [ ] feature request
8 | ```
9 |
10 | ### OS and Version?
11 |
14 |
15 | ### Versions
16 |
20 |
21 |
22 | ### Repro steps
23 |
28 |
29 |
30 | ### The log given by the failure
31 |
32 |
33 |
34 | ### Desired functionality
35 |
39 |
40 |
41 | ### Mention any other details that might be useful
42 |
43 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/ir-black.css:
--------------------------------------------------------------------------------
1 | /*
2 | IR_Black style (c) Vasily Mikhailitchenko
3 | */
4 |
5 | .hljs {
6 | display: block;
7 | overflow-x: auto;
8 | padding: 0.5em;
9 | background: #000;
10 | color: #f8f8f8;
11 | }
12 |
13 | .hljs-comment,
14 | .hljs-quote,
15 | .hljs-meta {
16 | color: #7c7c7c;
17 | }
18 |
19 | .hljs-keyword,
20 | .hljs-selector-tag,
21 | .hljs-tag,
22 | .hljs-name {
23 | color: #96cbfe;
24 | }
25 |
26 | .hljs-attribute,
27 | .hljs-selector-id {
28 | color: #ffffb6;
29 | }
30 |
31 | .hljs-string,
32 | .hljs-selector-attr,
33 | .hljs-selector-pseudo,
34 | .hljs-addition {
35 | color: #a8ff60;
36 | }
37 |
38 | .hljs-subst {
39 | color: #daefa3;
40 | }
41 |
42 | .hljs-regexp,
43 | .hljs-link {
44 | color: #e9c062;
45 | }
46 |
47 | .hljs-title,
48 | .hljs-section,
49 | .hljs-type,
50 | .hljs-doctag {
51 | color: #ffffb6;
52 | }
53 |
54 | .hljs-symbol,
55 | .hljs-bullet,
56 | .hljs-variable,
57 | .hljs-template-variable,
58 | .hljs-literal {
59 | color: #c6c5fe;
60 | }
61 |
62 | .hljs-number,
63 | .hljs-deletion {
64 | color:#ff73fd;
65 | }
66 |
67 | .hljs-emphasis {
68 | font-style: italic;
69 | }
70 |
71 | .hljs-strong {
72 | font-weight: bold;
73 | }
74 |
--------------------------------------------------------------------------------
/demo/src/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { FormsModule } from '@angular/forms';
3 | import { BrowserModule } from '@angular/platform-browser';
4 | import { TransferHttpCacheModule } from '@nguniversal/common';
5 |
6 | import { AppRoutingModule } from './app-routing.module';
7 | import { AppSharedModule } from './shared';
8 | import { HomeModule } from './home/home.module';
9 | import { AppComponent } from './app.component';
10 | import { MatIconRegistry } from '@angular/material/icon';
11 |
12 | @NgModule({
13 | declarations: [
14 | AppComponent
15 | ],
16 | imports: [
17 | // Add .withServerTransition() to support Universal rendering.
18 | // The application ID can be any identifier which is unique on
19 | // the page.
20 | BrowserModule.withServerTransition({appId: 'mat-progress-buttons-demo-id'}),
21 | TransferHttpCacheModule,
22 | FormsModule,
23 | AppRoutingModule,
24 | AppSharedModule,
25 | HomeModule
26 | ],
27 | providers: [MatIconRegistry],
28 | bootstrap: [AppComponent]
29 | })
30 | export class AppModule {
31 | constructor(public matIconRegistry: MatIconRegistry) {
32 | matIconRegistry.registerFontClassAlias('fontawesome', 'fa');
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/color-brewer.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Colorbrewer theme
4 | Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock
5 | Ported by Fabrício Tavares de Oliveira
6 |
7 | */
8 |
9 | .hljs {
10 | display: block;
11 | overflow-x: auto;
12 | padding: 0.5em;
13 | background: #fff;
14 | }
15 |
16 | .hljs,
17 | .hljs-subst {
18 | color: #000;
19 | }
20 |
21 | .hljs-string,
22 | .hljs-meta,
23 | .hljs-symbol,
24 | .hljs-template-tag,
25 | .hljs-template-variable,
26 | .hljs-addition {
27 | color: #756bb1;
28 | }
29 |
30 | .hljs-comment,
31 | .hljs-quote {
32 | color: #636363;
33 | }
34 |
35 | .hljs-number,
36 | .hljs-regexp,
37 | .hljs-literal,
38 | .hljs-bullet,
39 | .hljs-link {
40 | color: #31a354;
41 | }
42 |
43 | .hljs-deletion,
44 | .hljs-variable {
45 | color: #88f;
46 | }
47 |
48 |
49 |
50 | .hljs-keyword,
51 | .hljs-selector-tag,
52 | .hljs-title,
53 | .hljs-section,
54 | .hljs-built_in,
55 | .hljs-doctag,
56 | .hljs-type,
57 | .hljs-tag,
58 | .hljs-name,
59 | .hljs-selector-id,
60 | .hljs-selector-class,
61 | .hljs-strong {
62 | color: #3182bd;
63 | }
64 |
65 | .hljs-emphasis {
66 | font-style: italic;
67 | }
68 |
69 | .hljs-attribute {
70 | color: #e6550d;
71 | }
72 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/magula.css:
--------------------------------------------------------------------------------
1 | /*
2 | Description: Magula style for highligh.js
3 | Author: Ruslan Keba
4 | Website: http://rukeba.com/
5 | Version: 1.0
6 | Date: 2009-01-03
7 | Music: Aphex Twin / Xtal
8 | */
9 |
10 | .hljs {
11 | display: block;
12 | overflow-x: auto;
13 | padding: 0.5em;
14 | background-color: #f4f4f4;
15 | }
16 |
17 | .hljs,
18 | .hljs-subst {
19 | color: black;
20 | }
21 |
22 | .hljs-string,
23 | .hljs-title,
24 | .hljs-symbol,
25 | .hljs-bullet,
26 | .hljs-attribute,
27 | .hljs-addition,
28 | .hljs-variable,
29 | .hljs-template-tag,
30 | .hljs-template-variable {
31 | color: #050;
32 | }
33 |
34 | .hljs-comment,
35 | .hljs-quote {
36 | color: #777;
37 | }
38 |
39 | .hljs-number,
40 | .hljs-regexp,
41 | .hljs-literal,
42 | .hljs-type,
43 | .hljs-link {
44 | color: #800;
45 | }
46 |
47 | .hljs-deletion,
48 | .hljs-meta {
49 | color: #00e;
50 | }
51 |
52 | .hljs-keyword,
53 | .hljs-selector-tag,
54 | .hljs-doctag,
55 | .hljs-title,
56 | .hljs-section,
57 | .hljs-built_in,
58 | .hljs-tag,
59 | .hljs-name {
60 | font-weight: bold;
61 | color: navy;
62 | }
63 |
64 | .hljs-emphasis {
65 | font-style: italic;
66 | }
67 |
68 | .hljs-strong {
69 | font-weight: bold;
70 | }
71 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/github-gist.css:
--------------------------------------------------------------------------------
1 | /**
2 | * GitHub Gist Theme
3 | * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro
4 | */
5 |
6 | .hljs {
7 | display: block;
8 | background: white;
9 | padding: 0.5em;
10 | color: #333333;
11 | overflow-x: auto;
12 | }
13 |
14 | .hljs-comment,
15 | .hljs-meta {
16 | color: #969896;
17 | }
18 |
19 | .hljs-string,
20 | .hljs-variable,
21 | .hljs-template-variable,
22 | .hljs-strong,
23 | .hljs-emphasis,
24 | .hljs-quote {
25 | color: #df5000;
26 | }
27 |
28 | .hljs-keyword,
29 | .hljs-selector-tag,
30 | .hljs-type {
31 | color: #a71d5d;
32 | }
33 |
34 | .hljs-literal,
35 | .hljs-symbol,
36 | .hljs-bullet,
37 | .hljs-attribute {
38 | color: #0086b3;
39 | }
40 |
41 | .hljs-section,
42 | .hljs-name {
43 | color: #63a35c;
44 | }
45 |
46 | .hljs-tag {
47 | color: #333333;
48 | }
49 |
50 | .hljs-title,
51 | .hljs-attr,
52 | .hljs-selector-id,
53 | .hljs-selector-class,
54 | .hljs-selector-attr,
55 | .hljs-selector-pseudo {
56 | color: #795da3;
57 | }
58 |
59 | .hljs-addition {
60 | color: #55a532;
61 | background-color: #eaffea;
62 | }
63 |
64 | .hljs-deletion {
65 | color: #bd2c00;
66 | background-color: #ffecec;
67 | }
68 |
69 | .hljs-link {
70 | text-decoration: underline;
71 | }
72 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/monokai.css:
--------------------------------------------------------------------------------
1 | /*
2 | Monokai style - ported by Luigi Maselli - http://grigio.org
3 | */
4 |
5 | .hljs {
6 | display: block;
7 | overflow-x: auto;
8 | padding: 0.5em;
9 | background: #272822; color: #ddd;
10 | }
11 |
12 | .hljs-tag,
13 | .hljs-keyword,
14 | .hljs-selector-tag,
15 | .hljs-literal,
16 | .hljs-strong,
17 | .hljs-name {
18 | color: #f92672;
19 | }
20 |
21 | .hljs-code {
22 | color: #66d9ef;
23 | }
24 |
25 | .hljs-class .hljs-title {
26 | color: white;
27 | }
28 |
29 | .hljs-attribute,
30 | .hljs-symbol,
31 | .hljs-regexp,
32 | .hljs-link {
33 | color: #bf79db;
34 | }
35 |
36 | .hljs-string,
37 | .hljs-bullet,
38 | .hljs-subst,
39 | .hljs-title,
40 | .hljs-section,
41 | .hljs-emphasis,
42 | .hljs-type,
43 | .hljs-built_in,
44 | .hljs-builtin-name,
45 | .hljs-selector-attr,
46 | .hljs-selector-pseudo,
47 | .hljs-addition,
48 | .hljs-variable,
49 | .hljs-template-tag,
50 | .hljs-template-variable {
51 | color: #a6e22e;
52 | }
53 |
54 | .hljs-comment,
55 | .hljs-quote,
56 | .hljs-deletion,
57 | .hljs-meta {
58 | color: #75715e;
59 | }
60 |
61 | .hljs-keyword,
62 | .hljs-selector-tag,
63 | .hljs-literal,
64 | .hljs-doctag,
65 | .hljs-title,
66 | .hljs-section,
67 | .hljs-type,
68 | .hljs-selector-id {
69 | font-weight: bold;
70 | }
71 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/darcula.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Darcula color scheme from the JetBrains family of IDEs
4 |
5 | */
6 |
7 |
8 | .hljs {
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | background: #2b2b2b;
13 | }
14 |
15 | .hljs {
16 | color: #bababa;
17 | }
18 |
19 | .hljs-strong,
20 | .hljs-emphasis {
21 | color: #a8a8a2;
22 | }
23 |
24 | .hljs-bullet,
25 | .hljs-quote,
26 | .hljs-link,
27 | .hljs-number,
28 | .hljs-regexp,
29 | .hljs-literal {
30 | color: #6896ba;
31 | }
32 |
33 | .hljs-code,
34 | .hljs-selector-class {
35 | color: #a6e22e;
36 | }
37 |
38 | .hljs-emphasis {
39 | font-style: italic;
40 | }
41 |
42 | .hljs-keyword,
43 | .hljs-selector-tag,
44 | .hljs-section,
45 | .hljs-attribute,
46 | .hljs-name,
47 | .hljs-variable {
48 | color: #cb7832;
49 | }
50 |
51 | .hljs-params {
52 | color: #b9b9b9;
53 | }
54 |
55 | .hljs-string {
56 | color: #6a8759;
57 | }
58 |
59 | .hljs-subst,
60 | .hljs-type,
61 | .hljs-built_in,
62 | .hljs-builtin-name,
63 | .hljs-symbol,
64 | .hljs-selector-id,
65 | .hljs-selector-attr,
66 | .hljs-selector-pseudo,
67 | .hljs-template-tag,
68 | .hljs-template-variable,
69 | .hljs-addition {
70 | color: #e0c46c;
71 | }
72 |
73 | .hljs-comment,
74 | .hljs-deletion,
75 | .hljs-meta {
76 | color: #7f7f7f;
77 | }
78 |
--------------------------------------------------------------------------------
/demo/src/app/app.component.spec.ts:
--------------------------------------------------------------------------------
1 | /* tslint:disable:no-unused-variable */
2 | import { Router } from '@angular/router';
3 | import { Component } from '@angular/core';
4 | import { TestBed, waitForAsync } from '@angular/core/testing';
5 | import { AppComponent } from './app.component';
6 | import { FooterComponent } from './shared/footer/footer.component';
7 |
8 | import { RouterOutletStubComponent, RouterLinkStubDirective } from '../testing/router-stubs';
9 | import { Observable, of } from 'rxjs';
10 |
11 | @Component({ selector: 'app-header', template: '' })
12 | class HeaderStubComponent { }
13 |
14 | class RouterStub {
15 | events: Observable = of();
16 | }
17 |
18 | describe('AppComponent', () => {
19 | beforeEach(waitForAsync(() => {
20 | TestBed.configureTestingModule({
21 | declarations: [
22 | AppComponent,
23 | HeaderStubComponent,
24 | FooterComponent,
25 | RouterOutletStubComponent
26 | ],
27 | providers: [
28 | { provide: Router, useClass: RouterStub }
29 | ]
30 | });
31 | }));
32 |
33 | it('should create', waitForAsync(() => {
34 | let fixture = TestBed.createComponent(AppComponent);
35 | let app = fixture.debugElement.componentInstance;
36 | expect(app).toBeTruthy();
37 | }));
38 |
39 | });
40 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mat-progress-buttons",
3 | "description": "Material Design Progress Buttons",
4 | "version": "9.3.1",
5 | "homepage": "https://github.com/michaeldoye/mat-progress-buttons",
6 | "author": {
7 | "name": "Michael Doye",
8 | "url": "https://github.com/michaeldoye"
9 | },
10 | "repository": {
11 | "type": "git",
12 | "url": "git://github.com/michaeldoye/mat-progress-buttons.git"
13 | },
14 | "license": "MIT",
15 | "keywords": [
16 | "angular",
17 | "material design"
18 | ],
19 | "bugs": {
20 | "url": "https://github.com/michaeldoye/mat-progress-buttons/issues"
21 | },
22 | "private": false,
23 | "peerDependencies": {
24 | "@angular/common": "^12.1.2",
25 | "@angular/core": "^12.1.2",
26 | "@angular/cdk": "^12.1.1",
27 | "@angular/material": "^12.1.1"
28 | },
29 | "dependencies": {
30 | "tslib": "^2.3.0"
31 | },
32 | "engines": {
33 | "node": ">=12.0.0"
34 | },
35 | "commitplease": {
36 | "style": "angular",
37 | "types": [
38 | "feat",
39 | "fix",
40 | "docs",
41 | "style",
42 | "refactor",
43 | "perf",
44 | "test",
45 | "chore",
46 | "revert",
47 | "demo"
48 | ],
49 | "scope": "\\S+.*"
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/tomorrow.css:
--------------------------------------------------------------------------------
1 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
2 |
3 | /* Tomorrow Comment */
4 | .hljs-comment,
5 | .hljs-quote {
6 | color: #8e908c;
7 | }
8 |
9 | /* Tomorrow Red */
10 | .hljs-variable,
11 | .hljs-template-variable,
12 | .hljs-tag,
13 | .hljs-name,
14 | .hljs-selector-id,
15 | .hljs-selector-class,
16 | .hljs-regexp,
17 | .hljs-deletion {
18 | color: #c82829;
19 | }
20 |
21 | /* Tomorrow Orange */
22 | .hljs-number,
23 | .hljs-built_in,
24 | .hljs-builtin-name,
25 | .hljs-literal,
26 | .hljs-type,
27 | .hljs-params,
28 | .hljs-meta,
29 | .hljs-link {
30 | color: #f5871f;
31 | }
32 |
33 | /* Tomorrow Yellow */
34 | .hljs-attribute {
35 | color: #eab700;
36 | }
37 |
38 | /* Tomorrow Green */
39 | .hljs-string,
40 | .hljs-symbol,
41 | .hljs-bullet,
42 | .hljs-addition {
43 | color: #718c00;
44 | }
45 |
46 | /* Tomorrow Blue */
47 | .hljs-title,
48 | .hljs-section {
49 | color: #4271ae;
50 | }
51 |
52 | /* Tomorrow Purple */
53 | .hljs-keyword,
54 | .hljs-selector-tag {
55 | color: #8959a8;
56 | }
57 |
58 | .hljs {
59 | display: block;
60 | overflow-x: auto;
61 | background: white;
62 | color: #4d4d4c;
63 | padding: 0.5em;
64 | }
65 |
66 | .hljs-emphasis {
67 | font-style: italic;
68 | }
69 |
70 | .hljs-strong {
71 | font-weight: bold;
72 | }
73 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/src/lib/component/bar-button/bar-button.component.html:
--------------------------------------------------------------------------------
1 |
38 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/zenburn.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov
4 | based on dark.css by Ivan Sagalaev
5 |
6 | */
7 |
8 | .hljs {
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | background: #3f3f3f;
13 | color: #dcdcdc;
14 | }
15 |
16 | .hljs-keyword,
17 | .hljs-selector-tag,
18 | .hljs-tag {
19 | color: #e3ceab;
20 | }
21 |
22 | .hljs-template-tag {
23 | color: #dcdcdc;
24 | }
25 |
26 | .hljs-number {
27 | color: #8cd0d3;
28 | }
29 |
30 | .hljs-variable,
31 | .hljs-template-variable,
32 | .hljs-attribute {
33 | color: #efdcbc;
34 | }
35 |
36 | .hljs-literal {
37 | color: #efefaf;
38 | }
39 |
40 | .hljs-subst {
41 | color: #8f8f8f;
42 | }
43 |
44 | .hljs-title,
45 | .hljs-name,
46 | .hljs-selector-id,
47 | .hljs-selector-class,
48 | .hljs-section,
49 | .hljs-type {
50 | color: #efef8f;
51 | }
52 |
53 | .hljs-symbol,
54 | .hljs-bullet,
55 | .hljs-link {
56 | color: #dca3a3;
57 | }
58 |
59 | .hljs-deletion,
60 | .hljs-string,
61 | .hljs-built_in,
62 | .hljs-builtin-name {
63 | color: #cc9393;
64 | }
65 |
66 | .hljs-addition,
67 | .hljs-comment,
68 | .hljs-quote,
69 | .hljs-meta {
70 | color: #7f9f7f;
71 | }
72 |
73 |
74 | .hljs-emphasis {
75 | font-style: italic;
76 | }
77 |
78 | .hljs-strong {
79 | font-weight: bold;
80 | }
81 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/school-book.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | School Book style from goldblog.com.ua (c) Zaripov Yura
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 15px 0.5em 0.5em 30px;
11 | font-size: 11px;
12 | line-height:16px;
13 | }
14 |
15 | pre{
16 | background:#f6f6ae url(./school-book.png);
17 | border-top: solid 2px #d2e8b9;
18 | border-bottom: solid 1px #d2e8b9;
19 | }
20 |
21 | .hljs-keyword,
22 | .hljs-selector-tag,
23 | .hljs-literal {
24 | color:#005599;
25 | font-weight:bold;
26 | }
27 |
28 | .hljs,
29 | .hljs-subst {
30 | color: #3e5915;
31 | }
32 |
33 | .hljs-string,
34 | .hljs-title,
35 | .hljs-section,
36 | .hljs-type,
37 | .hljs-symbol,
38 | .hljs-bullet,
39 | .hljs-attribute,
40 | .hljs-built_in,
41 | .hljs-builtin-name,
42 | .hljs-addition,
43 | .hljs-variable,
44 | .hljs-template-tag,
45 | .hljs-template-variable,
46 | .hljs-link {
47 | color: #2c009f;
48 | }
49 |
50 | .hljs-comment,
51 | .hljs-quote,
52 | .hljs-deletion,
53 | .hljs-meta {
54 | color: #e60415;
55 | }
56 |
57 | .hljs-keyword,
58 | .hljs-selector-tag,
59 | .hljs-literal,
60 | .hljs-doctag,
61 | .hljs-title,
62 | .hljs-section,
63 | .hljs-type,
64 | .hljs-name,
65 | .hljs-selector-id,
66 | .hljs-strong {
67 | font-weight: bold;
68 | }
69 |
70 | .hljs-emphasis {
71 | font-style: italic;
72 | }
73 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/ocean.css:
--------------------------------------------------------------------------------
1 | /* Ocean Dark Theme */
2 | /* https://github.com/gavsiu */
3 | /* Original theme - https://github.com/chriskempson/base16 */
4 |
5 | /* Ocean Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #65737e;
9 | }
10 |
11 | /* Ocean Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-tag,
15 | .hljs-name,
16 | .hljs-selector-id,
17 | .hljs-selector-class,
18 | .hljs-regexp,
19 | .hljs-deletion {
20 | color: #bf616a;
21 | }
22 |
23 | /* Ocean Orange */
24 | .hljs-number,
25 | .hljs-built_in,
26 | .hljs-builtin-name,
27 | .hljs-literal,
28 | .hljs-type,
29 | .hljs-params,
30 | .hljs-meta,
31 | .hljs-link {
32 | color: #d08770;
33 | }
34 |
35 | /* Ocean Yellow */
36 | .hljs-attribute {
37 | color: #ebcb8b;
38 | }
39 |
40 | /* Ocean Green */
41 | .hljs-string,
42 | .hljs-symbol,
43 | .hljs-bullet,
44 | .hljs-addition {
45 | color: #a3be8c;
46 | }
47 |
48 | /* Ocean Blue */
49 | .hljs-title,
50 | .hljs-section {
51 | color: #8fa1b3;
52 | }
53 |
54 | /* Ocean Purple */
55 | .hljs-keyword,
56 | .hljs-selector-tag {
57 | color: #b48ead;
58 | }
59 |
60 | .hljs {
61 | display: block;
62 | overflow-x: auto;
63 | background: #2b303b;
64 | color: #c0c5ce;
65 | padding: 0.5em;
66 | }
67 |
68 | .hljs-emphasis {
69 | font-style: italic;
70 | }
71 |
72 | .hljs-strong {
73 | font-weight: bold;
74 | }
75 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/paraiso-dark.css:
--------------------------------------------------------------------------------
1 | /*
2 | Paraíso (dark)
3 | Created by Jan T. Sott (http://github.com/idleberg)
4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
5 | */
6 |
7 | /* Paraíso Comment */
8 | .hljs-comment,
9 | .hljs-quote {
10 | color: #8d8687;
11 | }
12 |
13 | /* Paraíso Red */
14 | .hljs-variable,
15 | .hljs-template-variable,
16 | .hljs-tag,
17 | .hljs-name,
18 | .hljs-selector-id,
19 | .hljs-selector-class,
20 | .hljs-regexp,
21 | .hljs-link,
22 | .hljs-meta {
23 | color: #ef6155;
24 | }
25 |
26 | /* Paraíso Orange */
27 | .hljs-number,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params,
33 | .hljs-deletion {
34 | color: #f99b15;
35 | }
36 |
37 | /* Paraíso Yellow */
38 | .hljs-title,
39 | .hljs-section,
40 | .hljs-attribute {
41 | color: #fec418;
42 | }
43 |
44 | /* Paraíso Green */
45 | .hljs-string,
46 | .hljs-symbol,
47 | .hljs-bullet,
48 | .hljs-addition {
49 | color: #48b685;
50 | }
51 |
52 | /* Paraíso Purple */
53 | .hljs-keyword,
54 | .hljs-selector-tag {
55 | color: #815ba4;
56 | }
57 |
58 | .hljs {
59 | display: block;
60 | overflow-x: auto;
61 | background: #2f1e2e;
62 | color: #a39e9b;
63 | padding: 0.5em;
64 | }
65 |
66 | .hljs-emphasis {
67 | font-style: italic;
68 | }
69 |
70 | .hljs-strong {
71 | font-weight: bold;
72 | }
73 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/paraiso-light.css:
--------------------------------------------------------------------------------
1 | /*
2 | Paraíso (light)
3 | Created by Jan T. Sott (http://github.com/idleberg)
4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
5 | */
6 |
7 | /* Paraíso Comment */
8 | .hljs-comment,
9 | .hljs-quote {
10 | color: #776e71;
11 | }
12 |
13 | /* Paraíso Red */
14 | .hljs-variable,
15 | .hljs-template-variable,
16 | .hljs-tag,
17 | .hljs-name,
18 | .hljs-selector-id,
19 | .hljs-selector-class,
20 | .hljs-regexp,
21 | .hljs-link,
22 | .hljs-meta {
23 | color: #ef6155;
24 | }
25 |
26 | /* Paraíso Orange */
27 | .hljs-number,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params,
33 | .hljs-deletion {
34 | color: #f99b15;
35 | }
36 |
37 | /* Paraíso Yellow */
38 | .hljs-title,
39 | .hljs-section,
40 | .hljs-attribute {
41 | color: #fec418;
42 | }
43 |
44 | /* Paraíso Green */
45 | .hljs-string,
46 | .hljs-symbol,
47 | .hljs-bullet,
48 | .hljs-addition {
49 | color: #48b685;
50 | }
51 |
52 | /* Paraíso Purple */
53 | .hljs-keyword,
54 | .hljs-selector-tag {
55 | color: #815ba4;
56 | }
57 |
58 | .hljs {
59 | display: block;
60 | overflow-x: auto;
61 | background: #e7e9db;
62 | color: #4f424c;
63 | padding: 0.5em;
64 | }
65 |
66 | .hljs-emphasis {
67 | font-style: italic;
68 | }
69 |
70 | .hljs-strong {
71 | font-weight: bold;
72 | }
73 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/karma.conf.js:
--------------------------------------------------------------------------------
1 | // Karma configuration file, see link for more information
2 | // https://karma-runner.github.io/1.0/config/configuration-file.html
3 |
4 | module.exports = function (config) {
5 | config.set({
6 | basePath: '',
7 | frameworks: ['jasmine', '@angular-devkit/build-angular'],
8 | plugins: [require('karma-jasmine'), require('karma-chrome-launcher'), require('karma-jasmine-html-reporter'), require('karma-coverage'), require('@angular-devkit/build-angular/plugins/karma')],
9 | customLaunchers: {
10 | // Chrome setup for CI (Travis, Docker, ...)
11 | ChromeHeadlessCI: {
12 | base: 'ChromeHeadless',
13 | flags: ['--no-sandbox'],
14 | },
15 | },
16 | client: {
17 | clearContext: false, // leave Jasmine Spec Runner output visible in browser
18 | },
19 | coverageReporter: {
20 | reporters: [
21 | { type: 'html', subdir: 'report-html', dir: '../../coverage/' },
22 | { type: 'lcov', subdir: 'report-lcov', dir: '../../coverage/' },
23 | { type: 'text-summary' },
24 | ],
25 | },
26 | reporters: ['progress', 'coverage'],
27 | port: 9876,
28 | colors: true,
29 | logLevel: config.LOG_INFO,
30 | autoWatch: true,
31 | browsers: ['Chrome', 'ChromeHeadless'],
32 | singleRun: false,
33 | restartOnFileChange: true,
34 | });
35 | };
36 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/dracula.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Dracula Theme v1.2.0
4 |
5 | https://github.com/zenorocha/dracula-theme
6 |
7 | Copyright 2015, All rights reserved
8 |
9 | Code licensed under the MIT license
10 | http://zenorocha.mit-license.org
11 |
12 | @author Éverton Ribeiro
13 | @author Zeno Rocha
14 |
15 | */
16 |
17 | .hljs {
18 | display: block;
19 | overflow-x: auto;
20 | padding: 0.5em;
21 | background: #282a36;
22 | }
23 |
24 | .hljs-keyword,
25 | .hljs-selector-tag,
26 | .hljs-literal,
27 | .hljs-section,
28 | .hljs-link {
29 | color: #8be9fd;
30 | }
31 |
32 | .hljs-function .hljs-keyword {
33 | color: #ff79c6;
34 | }
35 |
36 | .hljs,
37 | .hljs-subst {
38 | color: #f8f8f2;
39 | }
40 |
41 | .hljs-string,
42 | .hljs-title,
43 | .hljs-name,
44 | .hljs-type,
45 | .hljs-attribute,
46 | .hljs-symbol,
47 | .hljs-bullet,
48 | .hljs-addition,
49 | .hljs-variable,
50 | .hljs-template-tag,
51 | .hljs-template-variable {
52 | color: #f1fa8c;
53 | }
54 |
55 | .hljs-comment,
56 | .hljs-quote,
57 | .hljs-deletion,
58 | .hljs-meta {
59 | color: #6272a4;
60 | }
61 |
62 | .hljs-keyword,
63 | .hljs-selector-tag,
64 | .hljs-literal,
65 | .hljs-title,
66 | .hljs-section,
67 | .hljs-doctag,
68 | .hljs-type,
69 | .hljs-name,
70 | .hljs-strong {
71 | font-weight: bold;
72 | }
73 |
74 | .hljs-emphasis {
75 | font-style: italic;
76 | }
77 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/qtcreator_dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Qt Creator dark color scheme
4 |
5 | */
6 |
7 |
8 | .hljs {
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | background: #000000;
13 | }
14 |
15 | .hljs,
16 | .hljs-subst,
17 | .hljs-tag,
18 | .hljs-title {
19 | color: #aaaaaa;
20 | }
21 |
22 | .hljs-strong,
23 | .hljs-emphasis {
24 | color: #a8a8a2;
25 | }
26 |
27 | .hljs-bullet,
28 | .hljs-quote,
29 | .hljs-number,
30 | .hljs-regexp,
31 | .hljs-literal {
32 | color: #ff55ff;
33 | }
34 |
35 | .hljs-code
36 | .hljs-selector-class {
37 | color: #aaaaff;
38 | }
39 |
40 | .hljs-emphasis,
41 | .hljs-stronge,
42 | .hljs-type {
43 | font-style: italic;
44 | }
45 |
46 | .hljs-keyword,
47 | .hljs-selector-tag,
48 | .hljs-function,
49 | .hljs-section,
50 | .hljs-symbol,
51 | .hljs-name {
52 | color: #ffff55;
53 | }
54 |
55 | .hljs-attribute {
56 | color: #ff5555;
57 | }
58 |
59 | .hljs-variable,
60 | .hljs-params,
61 | .hljs-class .hljs-title {
62 | color: #8888ff;
63 | }
64 |
65 | .hljs-string,
66 | .hljs-selector-id,
67 | .hljs-selector-attr,
68 | .hljs-selector-pseudo,
69 | .hljs-type,
70 | .hljs-built_in,
71 | .hljs-builtin-name,
72 | .hljs-template-tag,
73 | .hljs-template-variable,
74 | .hljs-addition,
75 | .hljs-link {
76 | color: #ff55ff;
77 | }
78 |
79 | .hljs-comment,
80 | .hljs-meta,
81 | .hljs-deletion {
82 | color: #55ffff;
83 | }
84 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/qtcreator_light.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Qt Creator light color scheme
4 |
5 | */
6 |
7 |
8 | .hljs {
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | background: #ffffff;
13 | }
14 |
15 | .hljs,
16 | .hljs-subst,
17 | .hljs-tag,
18 | .hljs-title {
19 | color: #000000;
20 | }
21 |
22 | .hljs-strong,
23 | .hljs-emphasis {
24 | color: #000000;
25 | }
26 |
27 | .hljs-bullet,
28 | .hljs-quote,
29 | .hljs-number,
30 | .hljs-regexp,
31 | .hljs-literal {
32 | color: #000080;
33 | }
34 |
35 | .hljs-code
36 | .hljs-selector-class {
37 | color: #800080;
38 | }
39 |
40 | .hljs-emphasis,
41 | .hljs-stronge,
42 | .hljs-type {
43 | font-style: italic;
44 | }
45 |
46 | .hljs-keyword,
47 | .hljs-selector-tag,
48 | .hljs-function,
49 | .hljs-section,
50 | .hljs-symbol,
51 | .hljs-name {
52 | color: #808000;
53 | }
54 |
55 | .hljs-attribute {
56 | color: #800000;
57 | }
58 |
59 | .hljs-variable,
60 | .hljs-params,
61 | .hljs-class .hljs-title {
62 | color: #0055AF;
63 | }
64 |
65 | .hljs-string,
66 | .hljs-selector-id,
67 | .hljs-selector-attr,
68 | .hljs-selector-pseudo,
69 | .hljs-type,
70 | .hljs-built_in,
71 | .hljs-builtin-name,
72 | .hljs-template-tag,
73 | .hljs-template-variable,
74 | .hljs-addition,
75 | .hljs-link {
76 | color: #008000;
77 | }
78 |
79 | .hljs-comment,
80 | .hljs-meta,
81 | .hljs-deletion {
82 | color: #008000;
83 | }
84 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/rainbow.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Style with support for rainbow parens
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #474949;
12 | color: #d1d9e1;
13 | }
14 |
15 |
16 | .hljs-comment,
17 | .hljs-quote {
18 | color: #969896;
19 | font-style: italic;
20 | }
21 |
22 | .hljs-keyword,
23 | .hljs-selector-tag,
24 | .hljs-literal,
25 | .hljs-type,
26 | .hljs-addition {
27 | color: #cc99cc;
28 | }
29 |
30 | .hljs-number,
31 | .hljs-selector-attr,
32 | .hljs-selector-pseudo {
33 | color: #f99157;
34 | }
35 |
36 | .hljs-string,
37 | .hljs-doctag,
38 | .hljs-regexp {
39 | color: #8abeb7;
40 | }
41 |
42 | .hljs-title,
43 | .hljs-name,
44 | .hljs-section,
45 | .hljs-built_in {
46 | color: #b5bd68;
47 | }
48 |
49 | .hljs-variable,
50 | .hljs-template-variable,
51 | .hljs-selector-id,
52 | .hljs-class .hljs-title {
53 | color: #ffcc66;
54 | }
55 |
56 | .hljs-section,
57 | .hljs-name,
58 | .hljs-strong {
59 | font-weight: bold;
60 | }
61 |
62 | .hljs-symbol,
63 | .hljs-bullet,
64 | .hljs-subst,
65 | .hljs-meta,
66 | .hljs-link {
67 | color: #f99157;
68 | }
69 |
70 | .hljs-deletion {
71 | color: #dc322f;
72 | }
73 |
74 | .hljs-formula {
75 | background: #eee8d5;
76 | }
77 |
78 | .hljs-attr,
79 | .hljs-attribute {
80 | color: #81a2be;
81 | }
82 |
83 | .hljs-emphasis {
84 | font-style: italic;
85 | }
86 |
--------------------------------------------------------------------------------
/demo/webpack.server.config.js:
--------------------------------------------------------------------------------
1 | // Work around for https://github.com/angular/angular-cli/issues/7200
2 |
3 | const path = require('path');
4 | const webpack = require('webpack');
5 |
6 | module.exports = {
7 | mode: 'none',
8 | entry: {
9 | // This is our Express server for Dynamic universal
10 | server: './server.ts',
11 | // This is an example of Static prerendering (generative)
12 | prerender: './prerender.ts'
13 | },
14 | target: 'node',
15 | resolve: { extensions: ['.ts', '.js'] },
16 | // Make sure we include all node_modules etc
17 | externals: [/node_modules/],
18 | output: {
19 | // Puts the output at the root of the dist folder
20 | path: path.join(__dirname, 'dist'),
21 | filename: '[name].js'
22 | },
23 | module: {
24 | rules: [
25 | { test: /\.ts$/, loader: 'ts-loader' }
26 | ]
27 | },
28 | plugins: [
29 | new webpack.ContextReplacementPlugin(
30 | // fixes WARNING Critical dependency: the request of a dependency is an expression
31 | /(.+)?angular(\\|\/)core(.+)?/,
32 | path.join(__dirname, 'src'), // location of your src
33 | {} // a map of your routes
34 | ),
35 | new webpack.ContextReplacementPlugin(
36 | // fixes WARNING Critical dependency: the request of a dependency is an expression
37 | /(.+)?express(\\|\/)(.+)?/,
38 | path.join(__dirname, 'src'),
39 | {}
40 | )
41 | ]
42 | }
43 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/kimbie.dark.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: Kimbie (dark)
3 | Author: Jan T. Sott
4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License
5 | URL: https://github.com/idleberg/Kimbie-highlight.js
6 | */
7 |
8 | /* Kimbie Comment */
9 | .hljs-comment,
10 | .hljs-quote {
11 | color: #d6baad;
12 | }
13 |
14 | /* Kimbie Red */
15 | .hljs-variable,
16 | .hljs-template-variable,
17 | .hljs-tag,
18 | .hljs-name,
19 | .hljs-selector-id,
20 | .hljs-selector-class,
21 | .hljs-regexp,
22 | .hljs-meta {
23 | color: #dc3958;
24 | }
25 |
26 | /* Kimbie Orange */
27 | .hljs-number,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params,
33 | .hljs-deletion,
34 | .hljs-link {
35 | color: #f79a32;
36 | }
37 |
38 | /* Kimbie Yellow */
39 | .hljs-title,
40 | .hljs-section,
41 | .hljs-attribute {
42 | color: #f06431;
43 | }
44 |
45 | /* Kimbie Green */
46 | .hljs-string,
47 | .hljs-symbol,
48 | .hljs-bullet,
49 | .hljs-addition {
50 | color: #889b4a;
51 | }
52 |
53 | /* Kimbie Purple */
54 | .hljs-keyword,
55 | .hljs-selector-tag,
56 | .hljs-function {
57 | color: #98676a;
58 | }
59 |
60 | .hljs {
61 | display: block;
62 | overflow-x: auto;
63 | background: #221a0f;
64 | color: #d3af86;
65 | padding: 0.5em;
66 | }
67 |
68 | .hljs-emphasis {
69 | font-style: italic;
70 | }
71 |
72 | .hljs-strong {
73 | font-weight: bold;
74 | }
75 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/kimbie.light.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: Kimbie (light)
3 | Author: Jan T. Sott
4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License
5 | URL: https://github.com/idleberg/Kimbie-highlight.js
6 | */
7 |
8 | /* Kimbie Comment */
9 | .hljs-comment,
10 | .hljs-quote {
11 | color: #a57a4c;
12 | }
13 |
14 | /* Kimbie Red */
15 | .hljs-variable,
16 | .hljs-template-variable,
17 | .hljs-tag,
18 | .hljs-name,
19 | .hljs-selector-id,
20 | .hljs-selector-class,
21 | .hljs-regexp,
22 | .hljs-meta {
23 | color: #dc3958;
24 | }
25 |
26 | /* Kimbie Orange */
27 | .hljs-number,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params,
33 | .hljs-deletion,
34 | .hljs-link {
35 | color: #f79a32;
36 | }
37 |
38 | /* Kimbie Yellow */
39 | .hljs-title,
40 | .hljs-section,
41 | .hljs-attribute {
42 | color: #f06431;
43 | }
44 |
45 | /* Kimbie Green */
46 | .hljs-string,
47 | .hljs-symbol,
48 | .hljs-bullet,
49 | .hljs-addition {
50 | color: #889b4a;
51 | }
52 |
53 | /* Kimbie Purple */
54 | .hljs-keyword,
55 | .hljs-selector-tag,
56 | .hljs-function {
57 | color: #98676a;
58 | }
59 |
60 | .hljs {
61 | display: block;
62 | overflow-x: auto;
63 | background: #fbebd4;
64 | color: #84613d;
65 | padding: 0.5em;
66 | }
67 |
68 | .hljs-emphasis {
69 | font-style: italic;
70 | }
71 |
72 | .hljs-strong {
73 | font-weight: bold;
74 | }
75 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-dune-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Dune Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Dune Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #999580;
9 | }
10 |
11 | /* Atelier-Dune Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #d73737;
23 | }
24 |
25 | /* Atelier-Dune Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #b65611;
34 | }
35 |
36 | /* Atelier-Dune Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #60ac39;
41 | }
42 |
43 | /* Atelier-Dune Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #6684e1;
47 | }
48 |
49 | /* Atelier-Dune Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #b854d4;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #20201d;
59 | color: #a6a28c;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/monokai-sublime.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #23241f;
12 | }
13 |
14 | .hljs,
15 | .hljs-tag,
16 | .hljs-subst {
17 | color: #f8f8f2;
18 | }
19 |
20 | .hljs-strong,
21 | .hljs-emphasis {
22 | color: #a8a8a2;
23 | }
24 |
25 | .hljs-bullet,
26 | .hljs-quote,
27 | .hljs-number,
28 | .hljs-regexp,
29 | .hljs-literal,
30 | .hljs-link {
31 | color: #ae81ff;
32 | }
33 |
34 | .hljs-code,
35 | .hljs-title,
36 | .hljs-section,
37 | .hljs-selector-class {
38 | color: #a6e22e;
39 | }
40 |
41 | .hljs-strong {
42 | font-weight: bold;
43 | }
44 |
45 | .hljs-emphasis {
46 | font-style: italic;
47 | }
48 |
49 | .hljs-keyword,
50 | .hljs-selector-tag,
51 | .hljs-name,
52 | .hljs-attr {
53 | color: #f92672;
54 | }
55 |
56 | .hljs-symbol,
57 | .hljs-attribute {
58 | color: #66d9ef;
59 | }
60 |
61 | .hljs-params,
62 | .hljs-class .hljs-title {
63 | color: #f8f8f2;
64 | }
65 |
66 | .hljs-string,
67 | .hljs-type,
68 | .hljs-built_in,
69 | .hljs-builtin-name,
70 | .hljs-selector-id,
71 | .hljs-selector-attr,
72 | .hljs-selector-pseudo,
73 | .hljs-addition,
74 | .hljs-variable,
75 | .hljs-template-variable {
76 | color: #e6db74;
77 | }
78 |
79 | .hljs-comment,
80 | .hljs-deletion,
81 | .hljs-meta {
82 | color: #75715e;
83 | }
84 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-dune-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Dune Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Dune Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #7d7a68;
9 | }
10 |
11 | /* Atelier-Dune Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #d73737;
23 | }
24 |
25 | /* Atelier-Dune Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #b65611;
34 | }
35 |
36 | /* Atelier-Dune Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #60ac39;
41 | }
42 |
43 | /* Atelier-Dune Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #6684e1;
47 | }
48 |
49 | /* Atelier-Dune Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #b854d4;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #fefbec;
59 | color: #6e6b5e;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-heath-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Heath Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Heath Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #9e8f9e;
9 | }
10 |
11 | /* Atelier-Heath Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #ca402b;
23 | }
24 |
25 | /* Atelier-Heath Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #a65926;
34 | }
35 |
36 | /* Atelier-Heath Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #918b3b;
41 | }
42 |
43 | /* Atelier-Heath Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #516aec;
47 | }
48 |
49 | /* Atelier-Heath Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #7b59c0;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #1b181b;
59 | color: #ab9bab;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-heath-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Heath Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Heath Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #776977;
9 | }
10 |
11 | /* Atelier-Heath Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #ca402b;
23 | }
24 |
25 | /* Atelier-Heath Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #a65926;
34 | }
35 |
36 | /* Atelier-Heath Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #918b3b;
41 | }
42 |
43 | /* Atelier-Heath Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #516aec;
47 | }
48 |
49 | /* Atelier-Heath Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #7b59c0;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #f7f3f7;
59 | color: #695d69;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-forest-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Forest Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Forest Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #9c9491;
9 | }
10 |
11 | /* Atelier-Forest Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #f22c40;
23 | }
24 |
25 | /* Atelier-Forest Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #df5320;
34 | }
35 |
36 | /* Atelier-Forest Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #7b9726;
41 | }
42 |
43 | /* Atelier-Forest Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #407ee7;
47 | }
48 |
49 | /* Atelier-Forest Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #6666ea;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #1b1918;
59 | color: #a8a19f;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-forest-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Forest Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Forest Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #766e6b;
9 | }
10 |
11 | /* Atelier-Forest Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #f22c40;
23 | }
24 |
25 | /* Atelier-Forest Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #df5320;
34 | }
35 |
36 | /* Atelier-Forest Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #7b9726;
41 | }
42 |
43 | /* Atelier-Forest Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #407ee7;
47 | }
48 |
49 | /* Atelier-Forest Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #6666ea;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #f1efee;
59 | color: #68615e;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/tomorrow-night-bright.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Bright Theme */
2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
4 |
5 | /* Tomorrow Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #969896;
9 | }
10 |
11 | /* Tomorrow Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-tag,
15 | .hljs-name,
16 | .hljs-selector-id,
17 | .hljs-selector-class,
18 | .hljs-regexp,
19 | .hljs-deletion {
20 | color: #d54e53;
21 | }
22 |
23 | /* Tomorrow Orange */
24 | .hljs-number,
25 | .hljs-built_in,
26 | .hljs-builtin-name,
27 | .hljs-literal,
28 | .hljs-type,
29 | .hljs-params,
30 | .hljs-meta,
31 | .hljs-link {
32 | color: #e78c45;
33 | }
34 |
35 | /* Tomorrow Yellow */
36 | .hljs-attribute {
37 | color: #e7c547;
38 | }
39 |
40 | /* Tomorrow Green */
41 | .hljs-string,
42 | .hljs-symbol,
43 | .hljs-bullet,
44 | .hljs-addition {
45 | color: #b9ca4a;
46 | }
47 |
48 | /* Tomorrow Blue */
49 | .hljs-title,
50 | .hljs-section {
51 | color: #7aa6da;
52 | }
53 |
54 | /* Tomorrow Purple */
55 | .hljs-keyword,
56 | .hljs-selector-tag {
57 | color: #c397d8;
58 | }
59 |
60 | .hljs {
61 | display: block;
62 | overflow-x: auto;
63 | background: black;
64 | color: #eaeaea;
65 | padding: 0.5em;
66 | }
67 |
68 | .hljs-emphasis {
69 | font-style: italic;
70 | }
71 |
72 | .hljs-strong {
73 | font-weight: bold;
74 | }
75 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/tomorrow-night-eighties.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Eighties Theme */
2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
4 |
5 | /* Tomorrow Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #999999;
9 | }
10 |
11 | /* Tomorrow Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-tag,
15 | .hljs-name,
16 | .hljs-selector-id,
17 | .hljs-selector-class,
18 | .hljs-regexp,
19 | .hljs-deletion {
20 | color: #f2777a;
21 | }
22 |
23 | /* Tomorrow Orange */
24 | .hljs-number,
25 | .hljs-built_in,
26 | .hljs-builtin-name,
27 | .hljs-literal,
28 | .hljs-type,
29 | .hljs-params,
30 | .hljs-meta,
31 | .hljs-link {
32 | color: #f99157;
33 | }
34 |
35 | /* Tomorrow Yellow */
36 | .hljs-attribute {
37 | color: #ffcc66;
38 | }
39 |
40 | /* Tomorrow Green */
41 | .hljs-string,
42 | .hljs-symbol,
43 | .hljs-bullet,
44 | .hljs-addition {
45 | color: #99cc99;
46 | }
47 |
48 | /* Tomorrow Blue */
49 | .hljs-title,
50 | .hljs-section {
51 | color: #6699cc;
52 | }
53 |
54 | /* Tomorrow Purple */
55 | .hljs-keyword,
56 | .hljs-selector-tag {
57 | color: #cc99cc;
58 | }
59 |
60 | .hljs {
61 | display: block;
62 | overflow-x: auto;
63 | background: #2d2d2d;
64 | color: #cccccc;
65 | padding: 0.5em;
66 | }
67 |
68 | .hljs-emphasis {
69 | font-style: italic;
70 | }
71 |
72 | .hljs-strong {
73 | font-weight: bold;
74 | }
75 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-seaside-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Seaside Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Seaside Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #809980;
9 | }
10 |
11 | /* Atelier-Seaside Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #e6193c;
23 | }
24 |
25 | /* Atelier-Seaside Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #87711d;
34 | }
35 |
36 | /* Atelier-Seaside Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #29a329;
41 | }
42 |
43 | /* Atelier-Seaside Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #3d62f5;
47 | }
48 |
49 | /* Atelier-Seaside Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #ad2bee;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #131513;
59 | color: #8ca68c;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-seaside-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Seaside Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Seaside Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #687d68;
9 | }
10 |
11 | /* Atelier-Seaside Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #e6193c;
23 | }
24 |
25 | /* Atelier-Seaside Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #87711d;
34 | }
35 |
36 | /* Atelier-Seaside Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #29a329;
41 | }
42 |
43 | /* Atelier-Seaside Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #3d62f5;
47 | }
48 |
49 | /* Atelier-Seaside Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #ad2bee;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #f4fbf4;
59 | color: #5e6e5e;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/hopscotch.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Hopscotch
3 | * by Jan T. Sott
4 | * https://github.com/idleberg/Hopscotch
5 | *
6 | * This work is licensed under the Creative Commons CC0 1.0 Universal License
7 | */
8 |
9 | /* Comment */
10 | .hljs-comment,
11 | .hljs-quote {
12 | color: #989498;
13 | }
14 |
15 | /* Red */
16 | .hljs-variable,
17 | .hljs-template-variable,
18 | .hljs-attribute,
19 | .hljs-tag,
20 | .hljs-name,
21 | .hljs-selector-id,
22 | .hljs-selector-class,
23 | .hljs-regexp,
24 | .hljs-link,
25 | .hljs-deletion {
26 | color: #dd464c;
27 | }
28 |
29 | /* Orange */
30 | .hljs-number,
31 | .hljs-built_in,
32 | .hljs-builtin-name,
33 | .hljs-literal,
34 | .hljs-type,
35 | .hljs-params {
36 | color: #fd8b19;
37 | }
38 |
39 | /* Yellow */
40 | .hljs-class .hljs-title {
41 | color: #fdcc59;
42 | }
43 |
44 | /* Green */
45 | .hljs-string,
46 | .hljs-symbol,
47 | .hljs-bullet,
48 | .hljs-addition {
49 | color: #8fc13e;
50 | }
51 |
52 | /* Aqua */
53 | .hljs-meta {
54 | color: #149b93;
55 | }
56 |
57 | /* Blue */
58 | .hljs-function,
59 | .hljs-section,
60 | .hljs-title {
61 | color: #1290bf;
62 | }
63 |
64 | /* Purple */
65 | .hljs-keyword,
66 | .hljs-selector-tag {
67 | color: #c85e7c;
68 | }
69 |
70 | .hljs {
71 | display: block;
72 | background: #322931;
73 | color: #b9b5b8;
74 | padding: 0.5em;
75 | }
76 |
77 | .hljs-emphasis {
78 | font-style: italic;
79 | }
80 |
81 | .hljs-strong {
82 | font-weight: bold;
83 | }
84 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-lakeside-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Lakeside Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Lakeside Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #7195a8;
9 | }
10 |
11 | /* Atelier-Lakeside Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #d22d72;
23 | }
24 |
25 | /* Atelier-Lakeside Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #935c25;
34 | }
35 |
36 | /* Atelier-Lakeside Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #568c3b;
41 | }
42 |
43 | /* Atelier-Lakeside Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #257fad;
47 | }
48 |
49 | /* Atelier-Lakeside Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #6b6bb8;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #161b1d;
59 | color: #7ea2b4;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-lakeside-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Lakeside Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Lakeside Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #5a7b8c;
9 | }
10 |
11 | /* Atelier-Lakeside Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #d22d72;
23 | }
24 |
25 | /* Atelier-Lakeside Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #935c25;
34 | }
35 |
36 | /* Atelier-Lakeside Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #568c3b;
41 | }
42 |
43 | /* Atelier-Lakeside Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #257fad;
47 | }
48 |
49 | /* Atelier-Lakeside Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #6b6bb8;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #ebf8ff;
59 | color: #516d7b;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/arduino-light.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Arduino® Light Theme - Stefania Mellai
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #FFFFFF;
12 | }
13 |
14 | .hljs,
15 | .hljs-subst {
16 | color: #434f54;
17 | }
18 |
19 | .hljs-keyword,
20 | .hljs-attribute,
21 | .hljs-selector-tag,
22 | .hljs-doctag,
23 | .hljs-name {
24 | color: #00979D;
25 | }
26 |
27 | .hljs-built_in,
28 | .hljs-literal,
29 | .hljs-bullet,
30 | .hljs-code,
31 | .hljs-addition {
32 | color: #D35400;
33 | }
34 |
35 | .hljs-regexp,
36 | .hljs-symbol,
37 | .hljs-variable,
38 | .hljs-template-variable,
39 | .hljs-link,
40 | .hljs-selector-attr,
41 | .hljs-selector-pseudo {
42 | color: #00979D;
43 | }
44 |
45 | .hljs-type,
46 | .hljs-string,
47 | .hljs-selector-id,
48 | .hljs-selector-class,
49 | .hljs-quote,
50 | .hljs-template-tag,
51 | .hljs-deletion {
52 | color: #005C5F;
53 | }
54 |
55 | .hljs-title,
56 | .hljs-section {
57 | color: #880000;
58 | font-weight: bold;
59 | }
60 |
61 | .hljs-comment {
62 | color: rgba(149,165,166,.8);
63 | }
64 |
65 | .hljs-meta-keyword {
66 | color: #728E00;
67 | }
68 |
69 | .hljs-meta {
70 | color: #728E00;
71 | color: #434f54;
72 | }
73 |
74 | .hljs-emphasis {
75 | font-style: italic;
76 | }
77 |
78 | .hljs-strong {
79 | font-weight: bold;
80 | }
81 |
82 | .hljs-function {
83 | color: #728E00;
84 | }
85 |
86 | .hljs-number {
87 | color: #8A7B52;
88 | }
89 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/googlecode.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Google Code style (c) Aahan Krish
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: white;
12 | color: black;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #800;
18 | }
19 |
20 | .hljs-keyword,
21 | .hljs-selector-tag,
22 | .hljs-section,
23 | .hljs-title,
24 | .hljs-name {
25 | color: #008;
26 | }
27 |
28 | .hljs-variable,
29 | .hljs-template-variable {
30 | color: #660;
31 | }
32 |
33 | .hljs-string,
34 | .hljs-selector-attr,
35 | .hljs-selector-pseudo,
36 | .hljs-regexp {
37 | color: #080;
38 | }
39 |
40 | .hljs-literal,
41 | .hljs-symbol,
42 | .hljs-bullet,
43 | .hljs-meta,
44 | .hljs-number,
45 | .hljs-link {
46 | color: #066;
47 | }
48 |
49 | .hljs-title,
50 | .hljs-doctag,
51 | .hljs-type,
52 | .hljs-attr,
53 | .hljs-built_in,
54 | .hljs-builtin-name,
55 | .hljs-params {
56 | color: #606;
57 | }
58 |
59 | .hljs-attribute,
60 | .hljs-subst {
61 | color: #000;
62 | }
63 |
64 | .hljs-formula {
65 | background-color: #eee;
66 | font-style: italic;
67 | }
68 |
69 | .hljs-selector-id,
70 | .hljs-selector-class {
71 | color: #9B703F
72 | }
73 |
74 | .hljs-addition {
75 | background-color: #baeeba;
76 | }
77 |
78 | .hljs-deletion {
79 | background-color: #ffc8bd;
80 | }
81 |
82 | .hljs-doctag,
83 | .hljs-strong {
84 | font-weight: bold;
85 | }
86 |
87 | .hljs-emphasis {
88 | font-style: italic;
89 | }
90 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/xt256.css:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | xt256.css
4 |
5 | Contact: initbar [at] protonmail [dot] ch
6 | : github.com/initbar
7 | */
8 |
9 | .hljs {
10 | display: block;
11 | overflow-x: auto;
12 | color: #eaeaea;
13 | background: #000;
14 | padding: 0.5;
15 | }
16 |
17 | .hljs-subst {
18 | color: #eaeaea;
19 | }
20 |
21 | .hljs-emphasis {
22 | font-style: italic;
23 | }
24 |
25 | .hljs-strong {
26 | font-weight: bold;
27 | }
28 |
29 | .hljs-builtin-name,
30 | .hljs-type {
31 | color: #eaeaea;
32 | }
33 |
34 | .hljs-params {
35 | color: #da0000;
36 | }
37 |
38 | .hljs-literal,
39 | .hljs-number,
40 | .hljs-name {
41 | color: #ff0000;
42 | font-weight: bolder;
43 | }
44 |
45 | .hljs-comment {
46 | color: #969896;
47 | }
48 |
49 | .hljs-selector-id,
50 | .hljs-quote {
51 | color: #00ffff;
52 | }
53 |
54 | .hljs-template-variable,
55 | .hljs-variable,
56 | .hljs-title {
57 | color: #00ffff;
58 | font-weight: bold;
59 | }
60 |
61 | .hljs-selector-class,
62 | .hljs-keyword,
63 | .hljs-symbol {
64 | color: #fff000;
65 | }
66 |
67 | .hljs-string,
68 | .hljs-bullet {
69 | color: #00ff00;
70 | }
71 |
72 | .hljs-tag,
73 | .hljs-section {
74 | color: #000fff;
75 | }
76 |
77 | .hljs-selector-tag {
78 | color: #000fff;
79 | font-weight: bold;
80 | }
81 |
82 | .hljs-attribute,
83 | .hljs-built_in,
84 | .hljs-regexp,
85 | .hljs-link {
86 | color: #ff00ff;
87 | }
88 |
89 | .hljs-meta {
90 | color: #fff;
91 | font-weight: bolder;
92 | }
93 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-sulphurpool-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Sulphurpool Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Sulphurpool Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #898ea4;
9 | }
10 |
11 | /* Atelier-Sulphurpool Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #c94922;
23 | }
24 |
25 | /* Atelier-Sulphurpool Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #c76b29;
34 | }
35 |
36 | /* Atelier-Sulphurpool Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #ac9739;
41 | }
42 |
43 | /* Atelier-Sulphurpool Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #3d8fd1;
47 | }
48 |
49 | /* Atelier-Sulphurpool Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #6679cc;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #202746;
59 | color: #979db4;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-sulphurpool-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Sulphurpool Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Sulphurpool Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #6b7394;
9 | }
10 |
11 | /* Atelier-Sulphurpool Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #c94922;
23 | }
24 |
25 | /* Atelier-Sulphurpool Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #c76b29;
34 | }
35 |
36 | /* Atelier-Sulphurpool Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #ac9739;
41 | }
42 |
43 | /* Atelier-Sulphurpool Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #3d8fd1;
47 | }
48 |
49 | /* Atelier-Sulphurpool Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #6679cc;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #f5f7ff;
59 | color: #5e6687;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/obsidian.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Obsidian style
3 | * ported by Alexander Marenin (http://github.com/ioncreature)
4 | */
5 |
6 | .hljs {
7 | display: block;
8 | overflow-x: auto;
9 | padding: 0.5em;
10 | background: #282b2e;
11 | }
12 |
13 | .hljs-keyword,
14 | .hljs-selector-tag,
15 | .hljs-literal,
16 | .hljs-selector-id {
17 | color: #93c763;
18 | }
19 |
20 | .hljs-number {
21 | color: #ffcd22;
22 | }
23 |
24 | .hljs {
25 | color: #e0e2e4;
26 | }
27 |
28 | .hljs-attribute {
29 | color: #668bb0;
30 | }
31 |
32 | .hljs-code,
33 | .hljs-class .hljs-title,
34 | .hljs-section {
35 | color: white;
36 | }
37 |
38 | .hljs-regexp,
39 | .hljs-link {
40 | color: #d39745;
41 | }
42 |
43 | .hljs-meta {
44 | color: #557182;
45 | }
46 |
47 | .hljs-tag,
48 | .hljs-name,
49 | .hljs-bullet,
50 | .hljs-subst,
51 | .hljs-emphasis,
52 | .hljs-type,
53 | .hljs-built_in,
54 | .hljs-selector-attr,
55 | .hljs-selector-pseudo,
56 | .hljs-addition,
57 | .hljs-variable,
58 | .hljs-template-tag,
59 | .hljs-template-variable {
60 | color: #8cbbad;
61 | }
62 |
63 | .hljs-string,
64 | .hljs-symbol {
65 | color: #ec7600;
66 | }
67 |
68 | .hljs-comment,
69 | .hljs-quote,
70 | .hljs-deletion {
71 | color: #818e96;
72 | }
73 |
74 | .hljs-selector-class {
75 | color: #A082BD
76 | }
77 |
78 | .hljs-keyword,
79 | .hljs-selector-tag,
80 | .hljs-literal,
81 | .hljs-doctag,
82 | .hljs-title,
83 | .hljs-section,
84 | .hljs-type,
85 | .hljs-name,
86 | .hljs-strong {
87 | font-weight: bold;
88 | }
89 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/foundation.css:
--------------------------------------------------------------------------------
1 | /*
2 | Description: Foundation 4 docs style for highlight.js
3 | Author: Dan Allen
4 | Website: http://foundation.zurb.com/docs/
5 | Version: 1.0
6 | Date: 2013-04-02
7 | */
8 |
9 | .hljs {
10 | display: block;
11 | overflow-x: auto;
12 | padding: 0.5em;
13 | background: #eee; color: black;
14 | }
15 |
16 | .hljs-link,
17 | .hljs-emphasis,
18 | .hljs-attribute,
19 | .hljs-addition {
20 | color: #070;
21 | }
22 |
23 | .hljs-emphasis {
24 | font-style: italic;
25 | }
26 |
27 | .hljs-strong,
28 | .hljs-string,
29 | .hljs-deletion {
30 | color: #d14;
31 | }
32 |
33 | .hljs-strong {
34 | font-weight: bold;
35 | }
36 |
37 | .hljs-quote,
38 | .hljs-comment {
39 | color: #998;
40 | font-style: italic;
41 | }
42 |
43 | .hljs-section,
44 | .hljs-title {
45 | color: #900;
46 | }
47 |
48 | .hljs-class .hljs-title,
49 | .hljs-type {
50 | color: #458;
51 | }
52 |
53 | .hljs-variable,
54 | .hljs-template-variable {
55 | color: #336699;
56 | }
57 |
58 | .hljs-bullet {
59 | color: #997700;
60 | }
61 |
62 | .hljs-meta {
63 | color: #3344bb;
64 | }
65 |
66 | .hljs-code,
67 | .hljs-number,
68 | .hljs-literal,
69 | .hljs-keyword,
70 | .hljs-selector-tag {
71 | color: #099;
72 | }
73 |
74 | .hljs-regexp {
75 | background-color: #fff0ff;
76 | color: #880088;
77 | }
78 |
79 | .hljs-symbol {
80 | color: #990073;
81 | }
82 |
83 | .hljs-tag,
84 | .hljs-name,
85 | .hljs-selector-id,
86 | .hljs-selector-class {
87 | color: #007700;
88 | }
89 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/tomorrow-night.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Theme */
2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
5 |
6 | /* Tomorrow Comment */
7 | .hljs-comment,
8 | .hljs-quote {
9 | color: #969896;
10 | }
11 |
12 | /* Tomorrow Red */
13 | .hljs-variable,
14 | .hljs-template-variable,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-selector-id,
18 | .hljs-selector-class,
19 | .hljs-regexp,
20 | .hljs-deletion {
21 | color: #cc6666;
22 | }
23 |
24 | /* Tomorrow Orange */
25 | .hljs-number,
26 | .hljs-built_in,
27 | .hljs-builtin-name,
28 | .hljs-literal,
29 | .hljs-type,
30 | .hljs-params,
31 | .hljs-meta,
32 | .hljs-link {
33 | color: #de935f;
34 | }
35 |
36 | /* Tomorrow Yellow */
37 | .hljs-attribute {
38 | color: #f0c674;
39 | }
40 |
41 | /* Tomorrow Green */
42 | .hljs-string,
43 | .hljs-symbol,
44 | .hljs-bullet,
45 | .hljs-addition {
46 | color: #b5bd68;
47 | }
48 |
49 | /* Tomorrow Blue */
50 | .hljs-title,
51 | .hljs-section {
52 | color: #81a2be;
53 | }
54 |
55 | /* Tomorrow Purple */
56 | .hljs-keyword,
57 | .hljs-selector-tag {
58 | color: #b294bb;
59 | }
60 |
61 | .hljs {
62 | display: block;
63 | overflow-x: auto;
64 | background: #1d1f21;
65 | color: #c5c8c6;
66 | padding: 0.5em;
67 | }
68 |
69 | .hljs-emphasis {
70 | font-style: italic;
71 | }
72 |
73 | .hljs-strong {
74 | font-weight: bold;
75 | }
76 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/xcode.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | XCode style (c) Angel Garcia
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #fff;
12 | color: black;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #006a00;
18 | }
19 |
20 | .hljs-keyword,
21 | .hljs-selector-tag,
22 | .hljs-literal {
23 | color: #aa0d91;
24 | }
25 |
26 | .hljs-name {
27 | color: #008;
28 | }
29 |
30 | .hljs-variable,
31 | .hljs-template-variable {
32 | color: #660;
33 | }
34 |
35 | .hljs-string {
36 | color: #c41a16;
37 | }
38 |
39 | .hljs-regexp,
40 | .hljs-link {
41 | color: #080;
42 | }
43 |
44 | .hljs-title,
45 | .hljs-tag,
46 | .hljs-symbol,
47 | .hljs-bullet,
48 | .hljs-number,
49 | .hljs-meta {
50 | color: #1c00cf;
51 | }
52 |
53 | .hljs-section,
54 | .hljs-class .hljs-title,
55 | .hljs-type,
56 | .hljs-attr,
57 | .hljs-built_in,
58 | .hljs-builtin-name,
59 | .hljs-params {
60 | color: #5c2699;
61 | }
62 |
63 | .hljs-attribute,
64 | .hljs-subst {
65 | color: #000;
66 | }
67 |
68 | .hljs-formula {
69 | background-color: #eee;
70 | font-style: italic;
71 | }
72 |
73 | .hljs-addition {
74 | background-color: #baeeba;
75 | }
76 |
77 | .hljs-deletion {
78 | background-color: #ffc8bd;
79 | }
80 |
81 | .hljs-selector-id,
82 | .hljs-selector-class {
83 | color: #9b703f;
84 | }
85 |
86 | .hljs-doctag,
87 | .hljs-strong {
88 | font-weight: bold;
89 | }
90 |
91 | .hljs-emphasis {
92 | font-style: italic;
93 | }
94 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/tomorrow-night-blue.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Blue Theme */
2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
5 |
6 | /* Tomorrow Comment */
7 | .hljs-comment,
8 | .hljs-quote {
9 | color: #7285b7;
10 | }
11 |
12 | /* Tomorrow Red */
13 | .hljs-variable,
14 | .hljs-template-variable,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-selector-id,
18 | .hljs-selector-class,
19 | .hljs-regexp,
20 | .hljs-deletion {
21 | color: #ff9da4;
22 | }
23 |
24 | /* Tomorrow Orange */
25 | .hljs-number,
26 | .hljs-built_in,
27 | .hljs-builtin-name,
28 | .hljs-literal,
29 | .hljs-type,
30 | .hljs-params,
31 | .hljs-meta,
32 | .hljs-link {
33 | color: #ffc58f;
34 | }
35 |
36 | /* Tomorrow Yellow */
37 | .hljs-attribute {
38 | color: #ffeead;
39 | }
40 |
41 | /* Tomorrow Green */
42 | .hljs-string,
43 | .hljs-symbol,
44 | .hljs-bullet,
45 | .hljs-addition {
46 | color: #d1f1a9;
47 | }
48 |
49 | /* Tomorrow Blue */
50 | .hljs-title,
51 | .hljs-section {
52 | color: #bbdaff;
53 | }
54 |
55 | /* Tomorrow Purple */
56 | .hljs-keyword,
57 | .hljs-selector-tag {
58 | color: #ebbbff;
59 | }
60 |
61 | .hljs {
62 | display: block;
63 | overflow-x: auto;
64 | background: #002451;
65 | color: white;
66 | padding: 0.5em;
67 | }
68 |
69 | .hljs-emphasis {
70 | font-style: italic;
71 | }
72 |
73 | .hljs-strong {
74 | font-weight: bold;
75 | }
76 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/pojoaque.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Pojoaque Style by Jason Tate
4 | http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html
5 | Based on Solarized Style from http://ethanschoonover.com/solarized
6 |
7 | */
8 |
9 | .hljs {
10 | display: block;
11 | overflow-x: auto;
12 | padding: 0.5em;
13 | color: #dccf8f;
14 | background: url(./pojoaque.jpg) repeat scroll left top #181914;
15 | }
16 |
17 | .hljs-comment,
18 | .hljs-quote {
19 | color: #586e75;
20 | font-style: italic;
21 | }
22 |
23 | .hljs-keyword,
24 | .hljs-selector-tag,
25 | .hljs-literal,
26 | .hljs-addition {
27 | color: #b64926;
28 | }
29 |
30 | .hljs-number,
31 | .hljs-string,
32 | .hljs-doctag,
33 | .hljs-regexp {
34 | color: #468966;
35 | }
36 |
37 | .hljs-title,
38 | .hljs-section,
39 | .hljs-built_in,
40 | .hljs-name {
41 | color: #ffb03b;
42 | }
43 |
44 | .hljs-variable,
45 | .hljs-template-variable,
46 | .hljs-class .hljs-title,
47 | .hljs-type,
48 | .hljs-tag {
49 | color: #b58900;
50 | }
51 |
52 | .hljs-attribute {
53 | color: #b89859;
54 | }
55 |
56 | .hljs-symbol,
57 | .hljs-bullet,
58 | .hljs-link,
59 | .hljs-subst,
60 | .hljs-meta {
61 | color: #cb4b16;
62 | }
63 |
64 | .hljs-deletion {
65 | color: #dc322f;
66 | }
67 |
68 | .hljs-selector-id,
69 | .hljs-selector-class {
70 | color: #d3a60c;
71 | }
72 |
73 | .hljs-formula {
74 | background: #073642;
75 | }
76 |
77 | .hljs-emphasis {
78 | font-style: italic;
79 | }
80 |
81 | .hljs-strong {
82 | font-weight: bold;
83 | }
84 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/solarized-dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #002b36;
12 | color: #839496;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #586e75;
18 | }
19 |
20 | /* Solarized Green */
21 | .hljs-keyword,
22 | .hljs-selector-tag,
23 | .hljs-addition {
24 | color: #859900;
25 | }
26 |
27 | /* Solarized Cyan */
28 | .hljs-number,
29 | .hljs-string,
30 | .hljs-meta .hljs-meta-string,
31 | .hljs-literal,
32 | .hljs-doctag,
33 | .hljs-regexp {
34 | color: #2aa198;
35 | }
36 |
37 | /* Solarized Blue */
38 | .hljs-title,
39 | .hljs-section,
40 | .hljs-name,
41 | .hljs-selector-id,
42 | .hljs-selector-class {
43 | color: #268bd2;
44 | }
45 |
46 | /* Solarized Yellow */
47 | .hljs-attribute,
48 | .hljs-attr,
49 | .hljs-variable,
50 | .hljs-template-variable,
51 | .hljs-class .hljs-title,
52 | .hljs-type {
53 | color: #b58900;
54 | }
55 |
56 | /* Solarized Orange */
57 | .hljs-symbol,
58 | .hljs-bullet,
59 | .hljs-subst,
60 | .hljs-meta,
61 | .hljs-meta .hljs-keyword,
62 | .hljs-selector-attr,
63 | .hljs-selector-pseudo,
64 | .hljs-link {
65 | color: #cb4b16;
66 | }
67 |
68 | /* Solarized Red */
69 | .hljs-built_in,
70 | .hljs-deletion {
71 | color: #dc322f;
72 | }
73 |
74 | .hljs-formula {
75 | background: #073642;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/solarized-light.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #fdf6e3;
12 | color: #657b83;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #93a1a1;
18 | }
19 |
20 | /* Solarized Green */
21 | .hljs-keyword,
22 | .hljs-selector-tag,
23 | .hljs-addition {
24 | color: #859900;
25 | }
26 |
27 | /* Solarized Cyan */
28 | .hljs-number,
29 | .hljs-string,
30 | .hljs-meta .hljs-meta-string,
31 | .hljs-literal,
32 | .hljs-doctag,
33 | .hljs-regexp {
34 | color: #2aa198;
35 | }
36 |
37 | /* Solarized Blue */
38 | .hljs-title,
39 | .hljs-section,
40 | .hljs-name,
41 | .hljs-selector-id,
42 | .hljs-selector-class {
43 | color: #268bd2;
44 | }
45 |
46 | /* Solarized Yellow */
47 | .hljs-attribute,
48 | .hljs-attr,
49 | .hljs-variable,
50 | .hljs-template-variable,
51 | .hljs-class .hljs-title,
52 | .hljs-type {
53 | color: #b58900;
54 | }
55 |
56 | /* Solarized Orange */
57 | .hljs-symbol,
58 | .hljs-bullet,
59 | .hljs-subst,
60 | .hljs-meta,
61 | .hljs-meta .hljs-keyword,
62 | .hljs-selector-attr,
63 | .hljs-selector-pseudo,
64 | .hljs-link {
65 | color: #cb4b16;
66 | }
67 |
68 | /* Solarized Red */
69 | .hljs-built_in,
70 | .hljs-deletion {
71 | color: #dc322f;
72 | }
73 |
74 | .hljs-formula {
75 | background: #eee8d5;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2006, Ivan Sagalaev
2 | All rights reserved.
3 | Redistribution and use in source and binary forms, with or without
4 | modification, are permitted provided that the following conditions are met:
5 |
6 | * Redistributions of source code must retain the above copyright
7 | notice, this list of conditions and the following disclaimer.
8 | * Redistributions in binary form must reproduce the above copyright
9 | notice, this list of conditions and the following disclaimer in the
10 | documentation and/or other materials provided with the distribution.
11 | * Neither the name of highlight.js nor the names of its contributors
12 | may be used to endorse or promote products derived from this software
13 | without specific prior written permission.
14 |
15 | THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
16 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18 | DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/docco.css:
--------------------------------------------------------------------------------
1 | /*
2 | Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars)
3 | */
4 |
5 | .hljs {
6 | display: block;
7 | overflow-x: auto;
8 | padding: 0.5em;
9 | color: #000;
10 | background: #f8f8ff;
11 | }
12 |
13 | .hljs-comment,
14 | .hljs-quote {
15 | color: #408080;
16 | font-style: italic;
17 | }
18 |
19 | .hljs-keyword,
20 | .hljs-selector-tag,
21 | .hljs-literal,
22 | .hljs-subst {
23 | color: #954121;
24 | }
25 |
26 | .hljs-number {
27 | color: #40a070;
28 | }
29 |
30 | .hljs-string,
31 | .hljs-doctag {
32 | color: #219161;
33 | }
34 |
35 | .hljs-selector-id,
36 | .hljs-selector-class,
37 | .hljs-section,
38 | .hljs-type {
39 | color: #19469d;
40 | }
41 |
42 | .hljs-params {
43 | color: #00f;
44 | }
45 |
46 | .hljs-title {
47 | color: #458;
48 | font-weight: bold;
49 | }
50 |
51 | .hljs-tag,
52 | .hljs-name,
53 | .hljs-attribute {
54 | color: #000080;
55 | font-weight: normal;
56 | }
57 |
58 | .hljs-variable,
59 | .hljs-template-variable {
60 | color: #008080;
61 | }
62 |
63 | .hljs-regexp,
64 | .hljs-link {
65 | color: #b68;
66 | }
67 |
68 | .hljs-symbol,
69 | .hljs-bullet {
70 | color: #990073;
71 | }
72 |
73 | .hljs-built_in,
74 | .hljs-builtin-name {
75 | color: #0086b3;
76 | }
77 |
78 | .hljs-meta {
79 | color: #999;
80 | font-weight: bold;
81 | }
82 |
83 | .hljs-deletion {
84 | background: #fdd;
85 | }
86 |
87 | .hljs-addition {
88 | background: #dfd;
89 | }
90 |
91 | .hljs-emphasis {
92 | font-style: italic;
93 | }
94 |
95 | .hljs-strong {
96 | font-weight: bold;
97 | }
98 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/idea.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Intellij Idea-like styling (c) Vasily Polovnyov
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | color: #000;
12 | background: #fff;
13 | }
14 |
15 | .hljs-subst,
16 | .hljs-title {
17 | font-weight: normal;
18 | color: #000;
19 | }
20 |
21 | .hljs-comment,
22 | .hljs-quote {
23 | color: #808080;
24 | font-style: italic;
25 | }
26 |
27 | .hljs-meta {
28 | color: #808000;
29 | }
30 |
31 | .hljs-tag {
32 | background: #efefef;
33 | }
34 |
35 | .hljs-section,
36 | .hljs-name,
37 | .hljs-literal,
38 | .hljs-keyword,
39 | .hljs-selector-tag,
40 | .hljs-type,
41 | .hljs-selector-id,
42 | .hljs-selector-class {
43 | font-weight: bold;
44 | color: #000080;
45 | }
46 |
47 | .hljs-attribute,
48 | .hljs-number,
49 | .hljs-regexp,
50 | .hljs-link {
51 | font-weight: bold;
52 | color: #0000ff;
53 | }
54 |
55 | .hljs-number,
56 | .hljs-regexp,
57 | .hljs-link {
58 | font-weight: normal;
59 | }
60 |
61 | .hljs-string {
62 | color: #008000;
63 | font-weight: bold;
64 | }
65 |
66 | .hljs-symbol,
67 | .hljs-bullet,
68 | .hljs-formula {
69 | color: #000;
70 | background: #d0eded;
71 | font-style: italic;
72 | }
73 |
74 | .hljs-doctag {
75 | text-decoration: underline;
76 | }
77 |
78 | .hljs-variable,
79 | .hljs-template-variable {
80 | color: #660e7a;
81 | }
82 |
83 | .hljs-addition {
84 | background: #baeeba;
85 | }
86 |
87 | .hljs-deletion {
88 | background: #ffc8bd;
89 | }
90 |
91 | .hljs-emphasis {
92 | font-style: italic;
93 | }
94 |
95 | .hljs-strong {
96 | font-weight: bold;
97 | }
98 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-cave-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Cave Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Cave Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #7e7887;
9 | }
10 |
11 | /* Atelier-Cave Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-regexp,
16 | .hljs-link,
17 | .hljs-tag,
18 | .hljs-name,
19 | .hljs-selector-id,
20 | .hljs-selector-class {
21 | color: #be4678;
22 | }
23 |
24 | /* Atelier-Cave Orange */
25 | .hljs-number,
26 | .hljs-meta,
27 | .hljs-built_in,
28 | .hljs-builtin-name,
29 | .hljs-literal,
30 | .hljs-type,
31 | .hljs-params {
32 | color: #aa573c;
33 | }
34 |
35 | /* Atelier-Cave Green */
36 | .hljs-string,
37 | .hljs-symbol,
38 | .hljs-bullet {
39 | color: #2a9292;
40 | }
41 |
42 | /* Atelier-Cave Blue */
43 | .hljs-title,
44 | .hljs-section {
45 | color: #576ddb;
46 | }
47 |
48 | /* Atelier-Cave Purple */
49 | .hljs-keyword,
50 | .hljs-selector-tag {
51 | color: #955ae7;
52 | }
53 |
54 | .hljs-deletion,
55 | .hljs-addition {
56 | color: #19171c;
57 | display: inline-block;
58 | width: 100%;
59 | }
60 |
61 | .hljs-deletion {
62 | background-color: #be4678;
63 | }
64 |
65 | .hljs-addition {
66 | background-color: #2a9292;
67 | }
68 |
69 | .hljs {
70 | display: block;
71 | overflow-x: auto;
72 | background: #19171c;
73 | color: #8b8792;
74 | padding: 0.5em;
75 | }
76 |
77 | .hljs-emphasis {
78 | font-style: italic;
79 | }
80 |
81 | .hljs-strong {
82 | font-weight: bold;
83 | }
84 |
--------------------------------------------------------------------------------
/demo/src/testing/router-stubs.ts:
--------------------------------------------------------------------------------
1 |
2 | import { Component, Directive, Injectable, Input } from '@angular/core';
3 | import { NavigationExtras } from '@angular/router';
4 | // Only implements params and part of snapshot.params
5 | import { BehaviorSubject } from 'rxjs';
6 |
7 | // export for convenience.
8 | export { ActivatedRoute, Router, RouterLink, RouterOutlet } from '@angular/router';
9 |
10 |
11 | @Directive({
12 | selector: '[routerLink]',
13 | host: {
14 | '(click)': 'onClick()'
15 | }
16 | })
17 | export class RouterLinkStubDirective {
18 | @Input('routerLink') linkParams: any;
19 | navigatedTo: any = null;
20 |
21 | onClick() {
22 | this.navigatedTo = this.linkParams;
23 | }
24 | }
25 |
26 | @Directive({
27 | selector: '[routerLinkActive]'
28 | })
29 | export class RouterLinkActiveStubDirective {
30 | @Input('routerLinkActive') linkParams: any;
31 | }
32 |
33 | @Component({ selector: 'router-outlet', template: '' })
34 | export class RouterOutletStubComponent { }
35 |
36 | @Injectable()
37 | export class RouterStub {
38 | navigate(commands: any[], extras?: NavigationExtras) { }
39 | }
40 |
41 |
42 | @Injectable()
43 | export class ActivatedRouteStub {
44 |
45 | // ActivatedRoute.params is Observable
46 | private subject = new BehaviorSubject(this.testParams);
47 | params = this.subject.asObservable();
48 |
49 | // Test parameters
50 | private _testParams: {};
51 | get testParams() { return this._testParams; }
52 | set testParams(params: {}) {
53 | this._testParams = params;
54 | this.subject.next(params);
55 | }
56 |
57 | // ActivatedRoute.snapshot.params
58 | get snapshot() {
59 | return { params: this.testParams };
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/demo/prerender.ts:
--------------------------------------------------------------------------------
1 | // Load zone.js for the server.
2 | import 'zone.js/node';
3 | import 'reflect-metadata';
4 | import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
5 | import { join } from 'path';
6 |
7 | import { enableProdMode } from '@angular/core';
8 | // Faster server renders w/ Prod mode (dev mode never needed)
9 | enableProdMode();
10 |
11 | // Import module map for lazy loading
12 | import { provideModuleMap } from '@nguniversal/module-map-ngfactory-loader';
13 | import { renderModuleFactory } from '@angular/platform-server';
14 | import { ROUTES } from './static.paths';
15 |
16 | // * NOTE :: leave this as require() since this file is built Dynamically from webpack
17 | const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist/server/main');
18 |
19 | const BROWSER_FOLDER = join(process.cwd(), 'dist', 'browser');
20 |
21 | // Load the index.html file containing referances to your application bundle.
22 | const index = readFileSync(join(BROWSER_FOLDER, 'index.html'), 'utf8');
23 |
24 | let previousRender = Promise.resolve();
25 |
26 | // Iterate each route path
27 | ROUTES.forEach(route => {
28 | var fullPath = join(BROWSER_FOLDER, route);
29 |
30 | // Make sure the directory structure is there
31 | if (!existsSync(fullPath)) {
32 | mkdirSync(fullPath);
33 | }
34 |
35 | // Writes rendered HTML to index.html, replacing the file if it already exists.
36 | previousRender = previousRender.then(_ => renderModuleFactory(AppServerModuleNgFactory, {
37 | document: index,
38 | url: route,
39 | extraProviders: [
40 | provideModuleMap(LAZY_MODULE_MAP)
41 | ]
42 | })).then(html => writeFileSync(join(fullPath, 'index.html'), html));
43 | });
44 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-cave-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Cave Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Cave Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #655f6d;
9 | }
10 |
11 | /* Atelier-Cave Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-name,
21 | .hljs-selector-id,
22 | .hljs-selector-class {
23 | color: #be4678;
24 | }
25 |
26 | /* Atelier-Cave Orange */
27 | .hljs-number,
28 | .hljs-meta,
29 | .hljs-built_in,
30 | .hljs-builtin-name,
31 | .hljs-literal,
32 | .hljs-type,
33 | .hljs-params {
34 | color: #aa573c;
35 | }
36 |
37 | /* Atelier-Cave Green */
38 | .hljs-string,
39 | .hljs-symbol,
40 | .hljs-bullet {
41 | color: #2a9292;
42 | }
43 |
44 | /* Atelier-Cave Blue */
45 | .hljs-title,
46 | .hljs-section {
47 | color: #576ddb;
48 | }
49 |
50 | /* Atelier-Cave Purple */
51 | .hljs-keyword,
52 | .hljs-selector-tag {
53 | color: #955ae7;
54 | }
55 |
56 | .hljs-deletion,
57 | .hljs-addition {
58 | color: #19171c;
59 | display: inline-block;
60 | width: 100%;
61 | }
62 |
63 | .hljs-deletion {
64 | background-color: #be4678;
65 | }
66 |
67 | .hljs-addition {
68 | background-color: #2a9292;
69 | }
70 |
71 | .hljs {
72 | display: block;
73 | overflow-x: auto;
74 | background: #efecf4;
75 | color: #585260;
76 | padding: 0.5em;
77 | }
78 |
79 | .hljs-emphasis {
80 | font-style: italic;
81 | }
82 |
83 | .hljs-strong {
84 | font-weight: bold;
85 | }
86 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-estuary-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Estuary Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Estuary Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #878573;
9 | }
10 |
11 | /* Atelier-Estuary Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #ba6236;
23 | }
24 |
25 | /* Atelier-Estuary Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #ae7313;
34 | }
35 |
36 | /* Atelier-Estuary Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #7d9726;
41 | }
42 |
43 | /* Atelier-Estuary Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #36a166;
47 | }
48 |
49 | /* Atelier-Estuary Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #5f9182;
53 | }
54 |
55 | .hljs-deletion,
56 | .hljs-addition {
57 | color: #22221b;
58 | display: inline-block;
59 | width: 100%;
60 | }
61 |
62 | .hljs-deletion {
63 | background-color: #ba6236;
64 | }
65 |
66 | .hljs-addition {
67 | background-color: #7d9726;
68 | }
69 |
70 | .hljs {
71 | display: block;
72 | overflow-x: auto;
73 | background: #22221b;
74 | color: #929181;
75 | padding: 0.5em;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-plateau-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Plateau Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Plateau Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #7e7777;
9 | }
10 |
11 | /* Atelier-Plateau Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #ca4949;
23 | }
24 |
25 | /* Atelier-Plateau Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #b45a3c;
34 | }
35 |
36 | /* Atelier-Plateau Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #4b8b8b;
41 | }
42 |
43 | /* Atelier-Plateau Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #7272ca;
47 | }
48 |
49 | /* Atelier-Plateau Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #8464c4;
53 | }
54 |
55 | .hljs-deletion,
56 | .hljs-addition {
57 | color: #1b1818;
58 | display: inline-block;
59 | width: 100%;
60 | }
61 |
62 | .hljs-deletion {
63 | background-color: #ca4949;
64 | }
65 |
66 | .hljs-addition {
67 | background-color: #4b8b8b;
68 | }
69 |
70 | .hljs {
71 | display: block;
72 | overflow-x: auto;
73 | background: #1b1818;
74 | color: #8a8585;
75 | padding: 0.5em;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-savanna-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Savanna Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Savanna Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #78877d;
9 | }
10 |
11 | /* Atelier-Savanna Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #b16139;
23 | }
24 |
25 | /* Atelier-Savanna Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #9f713c;
34 | }
35 |
36 | /* Atelier-Savanna Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #489963;
41 | }
42 |
43 | /* Atelier-Savanna Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #478c90;
47 | }
48 |
49 | /* Atelier-Savanna Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #55859b;
53 | }
54 |
55 | .hljs-deletion,
56 | .hljs-addition {
57 | color: #171c19;
58 | display: inline-block;
59 | width: 100%;
60 | }
61 |
62 | .hljs-deletion {
63 | background-color: #b16139;
64 | }
65 |
66 | .hljs-addition {
67 | background-color: #489963;
68 | }
69 |
70 | .hljs {
71 | display: block;
72 | overflow-x: auto;
73 | background: #171c19;
74 | color: #87928a;
75 | padding: 0.5em;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/github.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | github.com style (c) Vasily Polovnyov
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | color: #333;
12 | background: #f8f8f8;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #998;
18 | font-style: italic;
19 | }
20 |
21 | .hljs-keyword,
22 | .hljs-selector-tag,
23 | .hljs-subst {
24 | color: #333;
25 | font-weight: bold;
26 | }
27 |
28 | .hljs-number,
29 | .hljs-literal,
30 | .hljs-variable,
31 | .hljs-template-variable,
32 | .hljs-tag .hljs-attr {
33 | color: #008080;
34 | }
35 |
36 | .hljs-string,
37 | .hljs-doctag {
38 | color: #d14;
39 | }
40 |
41 | .hljs-title,
42 | .hljs-section,
43 | .hljs-selector-id {
44 | color: #900;
45 | font-weight: bold;
46 | }
47 |
48 | .hljs-subst {
49 | font-weight: normal;
50 | }
51 |
52 | .hljs-type,
53 | .hljs-class .hljs-title {
54 | color: #458;
55 | font-weight: bold;
56 | }
57 |
58 | .hljs-tag,
59 | .hljs-name,
60 | .hljs-attribute {
61 | color: #000080;
62 | font-weight: normal;
63 | }
64 |
65 | .hljs-regexp,
66 | .hljs-link {
67 | color: #009926;
68 | }
69 |
70 | .hljs-symbol,
71 | .hljs-bullet {
72 | color: #990073;
73 | }
74 |
75 | .hljs-built_in,
76 | .hljs-builtin-name {
77 | color: #0086b3;
78 | }
79 |
80 | .hljs-meta {
81 | color: #999;
82 | font-weight: bold;
83 | }
84 |
85 | .hljs-deletion {
86 | background: #fdd;
87 | }
88 |
89 | .hljs-addition {
90 | background: #dfd;
91 | }
92 |
93 | .hljs-emphasis {
94 | font-style: italic;
95 | }
96 |
97 | .hljs-strong {
98 | font-weight: bold;
99 | }
100 |
--------------------------------------------------------------------------------
/demo/server.ts:
--------------------------------------------------------------------------------
1 | import 'zone.js/node';
2 | import 'reflect-metadata';
3 | import { enableProdMode } from '@angular/core';
4 | // Express Engine
5 | import { ngExpressEngine } from '@nguniversal/express-engine';
6 | // Import module map for lazy loading
7 | import { provideModuleMap } from '@nguniversal/module-map-ngfactory-loader';
8 |
9 | import * as express from 'express';
10 | import { join } from 'path';
11 |
12 | // Faster server renders w/ Prod mode (dev mode never needed)
13 | enableProdMode();
14 |
15 | // Express server
16 | const app = express();
17 |
18 | const PORT = process.env.PORT || 4000;
19 | const DIST_FOLDER = join(process.cwd(), 'dist');
20 |
21 | // * NOTE :: leave this as require() since this file is built Dynamically from webpack
22 | const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist/server/main');
23 |
24 | // Our Universal express-engine (found @ https://github.com/angular/universal/tree/master/modules/express-engine)
25 | app.engine('html', ngExpressEngine({
26 | bootstrap: AppServerModuleNgFactory,
27 | providers: [
28 | provideModuleMap(LAZY_MODULE_MAP)
29 | ]
30 | }));
31 |
32 | app.set('view engine', 'html');
33 | app.set('views', join(DIST_FOLDER, 'browser'));
34 |
35 | // Example Express Rest API endpoints
36 | // app.get('/api/**', (req, res) => { });
37 | // Server static files from /browser
38 | app.get('*.*', express.static(join(DIST_FOLDER, 'browser'), {
39 | maxAge: '1y'
40 | }));
41 |
42 | // All regular routes use the Universal engine
43 | app.get('*', (req, res) => {
44 | res.render('index', { req });
45 | });
46 |
47 | // Start up the Node server
48 | app.listen(PORT, () => {
49 | console.log(`Node Express server listening on http://localhost:${PORT}`);
50 | });
51 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-estuary-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Estuary Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Estuary Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #6c6b5a;
9 | }
10 |
11 | /* Atelier-Estuary Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #ba6236;
23 | }
24 |
25 | /* Atelier-Estuary Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #ae7313;
34 | }
35 |
36 | /* Atelier-Estuary Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #7d9726;
41 | }
42 |
43 | /* Atelier-Estuary Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #36a166;
47 | }
48 |
49 | /* Atelier-Estuary Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #5f9182;
53 | }
54 |
55 | .hljs-deletion,
56 | .hljs-addition {
57 | color: #22221b;
58 | display: inline-block;
59 | width: 100%;
60 | }
61 |
62 | .hljs-deletion {
63 | background-color: #ba6236;
64 | }
65 |
66 | .hljs-addition {
67 | background-color: #7d9726;
68 | }
69 |
70 | .hljs {
71 | display: block;
72 | overflow-x: auto;
73 | background: #f4f3ec;
74 | color: #5f5e4e;
75 | padding: 0.5em;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-plateau-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Plateau Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Plateau Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #655d5d;
9 | }
10 |
11 | /* Atelier-Plateau Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #ca4949;
23 | }
24 |
25 | /* Atelier-Plateau Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #b45a3c;
34 | }
35 |
36 | /* Atelier-Plateau Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #4b8b8b;
41 | }
42 |
43 | /* Atelier-Plateau Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #7272ca;
47 | }
48 |
49 | /* Atelier-Plateau Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #8464c4;
53 | }
54 |
55 | .hljs-deletion,
56 | .hljs-addition {
57 | color: #1b1818;
58 | display: inline-block;
59 | width: 100%;
60 | }
61 |
62 | .hljs-deletion {
63 | background-color: #ca4949;
64 | }
65 |
66 | .hljs-addition {
67 | background-color: #4b8b8b;
68 | }
69 |
70 | .hljs {
71 | display: block;
72 | overflow-x: auto;
73 | background: #f4ecec;
74 | color: #585050;
75 | padding: 0.5em;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atelier-savanna-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Savanna Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Savanna Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #5f6d64;
9 | }
10 |
11 | /* Atelier-Savanna Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #b16139;
23 | }
24 |
25 | /* Atelier-Savanna Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #9f713c;
34 | }
35 |
36 | /* Atelier-Savanna Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #489963;
41 | }
42 |
43 | /* Atelier-Savanna Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #478c90;
47 | }
48 |
49 | /* Atelier-Savanna Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #55859b;
53 | }
54 |
55 | .hljs-deletion,
56 | .hljs-addition {
57 | color: #171c19;
58 | display: inline-block;
59 | width: 100%;
60 | }
61 |
62 | .hljs-deletion {
63 | background-color: #b16139;
64 | }
65 |
66 | .hljs-addition {
67 | background-color: #489963;
68 | }
69 |
70 | .hljs {
71 | display: block;
72 | overflow-x: auto;
73 | background: #ecf4ee;
74 | color: #526057;
75 | padding: 0.5em;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atom-one-dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Atom One Dark by Daniel Gamage
4 | Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax
5 |
6 | base: #282c34
7 | mono-1: #abb2bf
8 | mono-2: #818896
9 | mono-3: #5c6370
10 | hue-1: #56b6c2
11 | hue-2: #61aeee
12 | hue-3: #c678dd
13 | hue-4: #98c379
14 | hue-5: #e06c75
15 | hue-5-2: #be5046
16 | hue-6: #d19a66
17 | hue-6-2: #e6c07b
18 |
19 | */
20 |
21 | .hljs {
22 | display: block;
23 | overflow-x: auto;
24 | padding: 0.5em;
25 | color: #abb2bf;
26 | background: #282c34;
27 | }
28 |
29 | .hljs-comment,
30 | .hljs-quote {
31 | color: #5c6370;
32 | font-style: italic;
33 | }
34 |
35 | .hljs-doctag,
36 | .hljs-keyword,
37 | .hljs-formula {
38 | color: #c678dd;
39 | }
40 |
41 | .hljs-section,
42 | .hljs-name,
43 | .hljs-selector-tag,
44 | .hljs-deletion,
45 | .hljs-subst {
46 | color: #e06c75;
47 | }
48 |
49 | .hljs-literal {
50 | color: #56b6c2;
51 | }
52 |
53 | .hljs-string,
54 | .hljs-regexp,
55 | .hljs-addition,
56 | .hljs-attribute,
57 | .hljs-meta-string {
58 | color: #98c379;
59 | }
60 |
61 | .hljs-built_in,
62 | .hljs-class .hljs-title {
63 | color: #e6c07b;
64 | }
65 |
66 | .hljs-attr,
67 | .hljs-variable,
68 | .hljs-template-variable,
69 | .hljs-type,
70 | .hljs-selector-class,
71 | .hljs-selector-attr,
72 | .hljs-selector-pseudo,
73 | .hljs-number {
74 | color: #d19a66;
75 | }
76 |
77 | .hljs-symbol,
78 | .hljs-bullet,
79 | .hljs-link,
80 | .hljs-meta,
81 | .hljs-selector-id,
82 | .hljs-title {
83 | color: #61aeee;
84 | }
85 |
86 | .hljs-emphasis {
87 | font-style: italic;
88 | }
89 |
90 | .hljs-strong {
91 | font-weight: bold;
92 | }
93 |
94 | .hljs-link {
95 | text-decoration: underline;
96 | }
97 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/default.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Original highlight.js style (c) Ivan Sagalaev
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #F0F0F0;
12 | }
13 |
14 |
15 | /* Base color: saturation 0; */
16 |
17 | .hljs,
18 | .hljs-subst {
19 | color: #444;
20 | }
21 |
22 | .hljs-comment {
23 | color: #888888;
24 | }
25 |
26 | .hljs-keyword,
27 | .hljs-attribute,
28 | .hljs-selector-tag,
29 | .hljs-meta-keyword,
30 | .hljs-doctag,
31 | .hljs-name {
32 | font-weight: bold;
33 | }
34 |
35 |
36 | /* User color: hue: 0 */
37 |
38 | .hljs-type,
39 | .hljs-string,
40 | .hljs-number,
41 | .hljs-selector-id,
42 | .hljs-selector-class,
43 | .hljs-quote,
44 | .hljs-template-tag,
45 | .hljs-deletion {
46 | color: #880000;
47 | }
48 |
49 | .hljs-title,
50 | .hljs-section {
51 | color: #880000;
52 | font-weight: bold;
53 | }
54 |
55 | .hljs-regexp,
56 | .hljs-symbol,
57 | .hljs-variable,
58 | .hljs-template-variable,
59 | .hljs-link,
60 | .hljs-selector-attr,
61 | .hljs-selector-pseudo {
62 | color: #BC6060;
63 | }
64 |
65 |
66 | /* Language color: hue: 90; */
67 |
68 | .hljs-literal {
69 | color: #78A960;
70 | }
71 |
72 | .hljs-built_in,
73 | .hljs-bullet,
74 | .hljs-code,
75 | .hljs-addition {
76 | color: #397300;
77 | }
78 |
79 |
80 | /* Meta color: hue: 200 */
81 |
82 | .hljs-meta {
83 | color: #1f7199;
84 | }
85 |
86 | .hljs-meta-string {
87 | color: #4d99bf;
88 | }
89 |
90 |
91 | /* Misc effects */
92 |
93 | .hljs-emphasis {
94 | font-style: italic;
95 | }
96 |
97 | .hljs-strong {
98 | font-weight: bold;
99 | }
100 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/atom-one-light.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Atom One Light by Daniel Gamage
4 | Original One Light Syntax theme from https://github.com/atom/one-light-syntax
5 |
6 | base: #fafafa
7 | mono-1: #383a42
8 | mono-2: #686b77
9 | mono-3: #a0a1a7
10 | hue-1: #0184bb
11 | hue-2: #4078f2
12 | hue-3: #a626a4
13 | hue-4: #50a14f
14 | hue-5: #e45649
15 | hue-5-2: #c91243
16 | hue-6: #986801
17 | hue-6-2: #c18401
18 |
19 | */
20 |
21 | .hljs {
22 | display: block;
23 | overflow-x: auto;
24 | padding: 0.5em;
25 | color: #383a42;
26 | background: #fafafa;
27 | }
28 |
29 | .hljs-comment,
30 | .hljs-quote {
31 | color: #a0a1a7;
32 | font-style: italic;
33 | }
34 |
35 | .hljs-doctag,
36 | .hljs-keyword,
37 | .hljs-formula {
38 | color: #a626a4;
39 | }
40 |
41 | .hljs-section,
42 | .hljs-name,
43 | .hljs-selector-tag,
44 | .hljs-deletion,
45 | .hljs-subst {
46 | color: #e45649;
47 | }
48 |
49 | .hljs-literal {
50 | color: #0184bb;
51 | }
52 |
53 | .hljs-string,
54 | .hljs-regexp,
55 | .hljs-addition,
56 | .hljs-attribute,
57 | .hljs-meta-string {
58 | color: #50a14f;
59 | }
60 |
61 | .hljs-built_in,
62 | .hljs-class .hljs-title {
63 | color: #c18401;
64 | }
65 |
66 | .hljs-attr,
67 | .hljs-variable,
68 | .hljs-template-variable,
69 | .hljs-type,
70 | .hljs-selector-class,
71 | .hljs-selector-attr,
72 | .hljs-selector-pseudo,
73 | .hljs-number {
74 | color: #986801;
75 | }
76 |
77 | .hljs-symbol,
78 | .hljs-bullet,
79 | .hljs-link,
80 | .hljs-meta,
81 | .hljs-selector-id,
82 | .hljs-title {
83 | color: #4078f2;
84 | }
85 |
86 | .hljs-emphasis {
87 | font-style: italic;
88 | }
89 |
90 | .hljs-strong {
91 | font-weight: bold;
92 | }
93 |
94 | .hljs-link {
95 | text-decoration: underline;
96 | }
97 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mat-progress-buttons",
3 | "version": "0.0.0",
4 | "scripts": {
5 | "ng": "ng",
6 | "start": "ng serve",
7 | "build": "ng build",
8 | "build:prod": "ng build --configuration production && ng test --no-watch --no-progress --browsers=ChromeHeadlessCI --code-coverage=true",
9 | "test": "ng test",
10 | "test:ci": "ng test --browsers=ChromeHeadless --watch=false --code-coverage",
11 | "lint": "ng lint"
12 | },
13 | "dependencies": {
14 | "@angular/animations": "~12.1.2",
15 | "@angular/common": "~12.1.2",
16 | "@angular/compiler": "~12.1.2",
17 | "@angular/core": "~12.1.2",
18 | "@angular/forms": "~12.1.2",
19 | "@angular/platform-browser": "~12.1.2",
20 | "@angular/platform-browser-dynamic": "~12.1.2",
21 | "@angular/router": "~12.1.2",
22 | "rxjs": "~6.6.0",
23 | "tslib": "^2.3.0",
24 | "zone.js": "~0.11.4"
25 | },
26 | "devDependencies": {
27 | "@angular-devkit/build-angular": "~12.1.1",
28 | "@angular/cdk": "^12.1.1",
29 | "@angular/cli": "~12.1.1",
30 | "@angular/compiler-cli": "~12.1.2",
31 | "@angular/material": "^12.1.1",
32 | "@types/jasmine": "~3.6.0",
33 | "@types/jasminewd2": "~2.0.3",
34 | "@types/node": "^12.11.1",
35 | "codelyzer": "^6.0.0",
36 | "jasmine-core": "~3.6.0",
37 | "jasmine-spec-reporter": "~5.0.0",
38 | "karma": "^6.3.4",
39 | "karma-chrome-launcher": "~3.1.0",
40 | "karma-coverage": "^2.0.3",
41 | "karma-jasmine": "~4.0.0",
42 | "karma-jasmine-html-reporter": "^1.5.0",
43 | "ng-packagr": "^12.1.2",
44 | "prettier": "^2.3.2",
45 | "protractor": "~7.0.0",
46 | "ts-node": "~8.3.0",
47 | "tslint": "~6.1.0",
48 | "typescript": "~4.3.5"
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/src/lib/mat-progress-buttons.module.ts:
--------------------------------------------------------------------------------
1 | import { CommonModule } from '@angular/common';
2 | import { NgModule, ModuleWithProviders } from '@angular/core';
3 |
4 | import { MatSpinnerButtonComponent } from './component/spinner-button/spinner-button.component';
5 | import { MatBarButtonComponent } from './component/bar-button/bar-button.component';
6 | import { MatButtonModule } from '@angular/material/button';
7 | import { MatProgressBarModule } from '@angular/material/progress-bar';
8 | import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
9 | import { MatRippleModule } from '@angular/material/core';
10 | import { MatIconModule } from '@angular/material/icon';
11 | import { GLOBAL_CONFIG, GlobalConfig } from './mat-progress-buttons.injection-token';
12 |
13 | // Export module's public API
14 | export { MatSpinnerButtonComponent } from './component/spinner-button/spinner-button.component';
15 | export { MatBarButtonComponent } from './component/bar-button/bar-button.component';
16 | export { MatProgressButtonOptions } from './mat-progress-buttons.interface';
17 |
18 | @NgModule({
19 | imports: [
20 | CommonModule,
21 | MatButtonModule,
22 | MatProgressBarModule,
23 | MatProgressSpinnerModule,
24 | MatRippleModule,
25 | MatIconModule,
26 | ],
27 | exports: [MatSpinnerButtonComponent, MatBarButtonComponent],
28 | declarations: [MatSpinnerButtonComponent, MatBarButtonComponent],
29 | })
30 | export class MatProgressButtonsModule {
31 | static forRoot(
32 | config?: GlobalConfig
33 | ): ModuleWithProviders {
34 | return {
35 | ngModule: MatProgressButtonsModule,
36 | providers: [{ provide: GLOBAL_CONFIG, useValue: config }],
37 | };
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/sunburst.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Sunburst-like style (c) Vasily Polovnyov
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #000;
12 | color: #f8f8f8;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #aeaeae;
18 | font-style: italic;
19 | }
20 |
21 | .hljs-keyword,
22 | .hljs-selector-tag,
23 | .hljs-type {
24 | color: #e28964;
25 | }
26 |
27 | .hljs-string {
28 | color: #65b042;
29 | }
30 |
31 | .hljs-subst {
32 | color: #daefa3;
33 | }
34 |
35 | .hljs-regexp,
36 | .hljs-link {
37 | color: #e9c062;
38 | }
39 |
40 | .hljs-title,
41 | .hljs-section,
42 | .hljs-tag,
43 | .hljs-name {
44 | color: #89bdff;
45 | }
46 |
47 | .hljs-class .hljs-title,
48 | .hljs-doctag {
49 | text-decoration: underline;
50 | }
51 |
52 | .hljs-symbol,
53 | .hljs-bullet,
54 | .hljs-number {
55 | color: #3387cc;
56 | }
57 |
58 | .hljs-params,
59 | .hljs-variable,
60 | .hljs-template-variable {
61 | color: #3e87e3;
62 | }
63 |
64 | .hljs-attribute {
65 | color: #cda869;
66 | }
67 |
68 | .hljs-meta {
69 | color: #8996a8;
70 | }
71 |
72 | .hljs-formula {
73 | background-color: #0e2231;
74 | color: #f8f8f8;
75 | font-style: italic;
76 | }
77 |
78 | .hljs-addition {
79 | background-color: #253b22;
80 | color: #f8f8f8;
81 | }
82 |
83 | .hljs-deletion {
84 | background-color: #420e09;
85 | color: #f8f8f8;
86 | }
87 |
88 | .hljs-selector-class {
89 | color: #9b703f;
90 | }
91 |
92 | .hljs-selector-id {
93 | color: #8b98ab;
94 | }
95 |
96 | .hljs-emphasis {
97 | font-style: italic;
98 | }
99 |
100 | .hljs-strong {
101 | font-weight: bold;
102 | }
103 |
--------------------------------------------------------------------------------
/demo/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | mat-progress-buttons
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 | Loading...
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/angular.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3 | "version": 1,
4 | "newProjectRoot": "projects",
5 | "projects": {
6 | "mat-progress-buttons": {
7 | "projectType": "library",
8 | "root": "projects/mat-progress-buttons",
9 | "sourceRoot": "projects/mat-progress-buttons/src",
10 | "prefix": "lib",
11 | "architect": {
12 | "build": {
13 | "builder": "@angular-devkit/build-angular:ng-packagr",
14 | "options": {
15 | "tsConfig": "projects/mat-progress-buttons/tsconfig.lib.json",
16 | "project": "projects/mat-progress-buttons/ng-package.json"
17 | },
18 | "configurations": {
19 | "production": {
20 | "tsConfig": "projects/mat-progress-buttons/tsconfig.lib.prod.json"
21 | }
22 | }
23 | },
24 | "test": {
25 | "builder": "@angular-devkit/build-angular:karma",
26 | "options": {
27 | "main": "projects/mat-progress-buttons/src/test.ts",
28 | "tsConfig": "projects/mat-progress-buttons/tsconfig.spec.json",
29 | "karmaConfig": "projects/mat-progress-buttons/karma.conf.js"
30 | }
31 | },
32 | "lint": {
33 | "builder": "@angular-devkit/build-angular:tslint",
34 | "options": {
35 | "tsConfig": [
36 | "projects/mat-progress-buttons/tsconfig.lib.json",
37 | "projects/mat-progress-buttons/tsconfig.spec.json"
38 | ],
39 | "exclude": [
40 | "**/node_modules/**"
41 | ]
42 | }
43 | }
44 | }
45 | }},
46 | "cli": {
47 | "analytics": false
48 | },
49 | "defaultProject": "mat-progress-buttons"
50 | }
51 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/railscasts.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Railscasts-like style (c) Visoft, Inc. (Damien White)
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #232323;
12 | color: #e6e1dc;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #bc9458;
18 | font-style: italic;
19 | }
20 |
21 | .hljs-keyword,
22 | .hljs-selector-tag {
23 | color: #c26230;
24 | }
25 |
26 | .hljs-string,
27 | .hljs-number,
28 | .hljs-regexp,
29 | .hljs-variable,
30 | .hljs-template-variable {
31 | color: #a5c261;
32 | }
33 |
34 | .hljs-subst {
35 | color: #519f50;
36 | }
37 |
38 | .hljs-tag,
39 | .hljs-name {
40 | color: #e8bf6a;
41 | }
42 |
43 | .hljs-type {
44 | color: #da4939;
45 | }
46 |
47 |
48 | .hljs-symbol,
49 | .hljs-bullet,
50 | .hljs-built_in,
51 | .hljs-builtin-name,
52 | .hljs-attr,
53 | .hljs-link {
54 | color: #6d9cbe;
55 | }
56 |
57 | .hljs-params {
58 | color: #d0d0ff;
59 | }
60 |
61 | .hljs-attribute {
62 | color: #cda869;
63 | }
64 |
65 | .hljs-meta {
66 | color: #9b859d;
67 | }
68 |
69 | .hljs-title,
70 | .hljs-section {
71 | color: #ffc66d;
72 | }
73 |
74 | .hljs-addition {
75 | background-color: #144212;
76 | color: #e6e1dc;
77 | display: inline-block;
78 | width: 100%;
79 | }
80 |
81 | .hljs-deletion {
82 | background-color: #600;
83 | color: #e6e1dc;
84 | display: inline-block;
85 | width: 100%;
86 | }
87 |
88 | .hljs-selector-class {
89 | color: #9b703f;
90 | }
91 |
92 | .hljs-selector-id {
93 | color: #8b98ab;
94 | }
95 |
96 | .hljs-emphasis {
97 | font-style: italic;
98 | }
99 |
100 | .hljs-strong {
101 | font-weight: bold;
102 | }
103 |
104 | .hljs-link {
105 | text-decoration: underline;
106 | }
107 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/routeros.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | highlight.js style for Microtik RouterOS script
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #F0F0F0;
12 | }
13 |
14 | /* Base color: saturation 0; */
15 |
16 | .hljs,
17 | .hljs-subst {
18 | color: #444;
19 | }
20 |
21 | .hljs-comment {
22 | color: #888888;
23 | }
24 |
25 | .hljs-keyword,
26 | .hljs-selector-tag,
27 | .hljs-meta-keyword,
28 | .hljs-doctag,
29 | .hljs-name {
30 | font-weight: bold;
31 | }
32 |
33 | .hljs-attribute {
34 | color: #0E9A00;
35 | }
36 |
37 | .hljs-function {
38 | color: #99069A;
39 | }
40 |
41 | .hljs-builtin-name {
42 | color: #99069A;
43 | }
44 |
45 | /* User color: hue: 0 */
46 |
47 | .hljs-type,
48 | .hljs-string,
49 | .hljs-number,
50 | .hljs-selector-id,
51 | .hljs-selector-class,
52 | .hljs-quote,
53 | .hljs-template-tag,
54 | .hljs-deletion {
55 | color: #880000;
56 | }
57 |
58 | .hljs-title,
59 | .hljs-section {
60 | color: #880000;
61 | font-weight: bold;
62 | }
63 |
64 | .hljs-regexp,
65 | .hljs-symbol,
66 | .hljs-variable,
67 | .hljs-template-variable,
68 | .hljs-link,
69 | .hljs-selector-attr,
70 | .hljs-selector-pseudo {
71 | color: #BC6060;
72 | }
73 |
74 |
75 | /* Language color: hue: 90; */
76 |
77 | .hljs-literal {
78 | color: #78A960;
79 | }
80 |
81 | .hljs-built_in,
82 | .hljs-bullet,
83 | .hljs-code,
84 | .hljs-addition {
85 | color: #0C9A9A;
86 | }
87 |
88 |
89 | /* Meta color: hue: 200 */
90 |
91 | .hljs-meta {
92 | color: #1f7199;
93 | }
94 |
95 | .hljs-meta-string {
96 | color: #4d99bf;
97 | }
98 |
99 |
100 | /* Misc effects */
101 |
102 | .hljs-emphasis {
103 | font-style: italic;
104 | }
105 |
106 | .hljs-strong {
107 | font-weight: bold;
108 | }
109 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/src/lib/component/bar-button/bar-button.component.ts:
--------------------------------------------------------------------------------
1 | import {
2 | Component,
3 | Input,
4 | Output,
5 | EventEmitter,
6 | HostListener,
7 | OnChanges,
8 | SimpleChanges,
9 | Inject,
10 | } from '@angular/core';
11 | import { MatProgressButtonOptions } from '../../mat-progress-buttons.interface';
12 | import { GLOBAL_CONFIG, GlobalConfig } from '../../mat-progress-buttons.injection-token';
13 |
14 | @Component({
15 | // tslint:disable-next-line:component-selector
16 | selector: 'mat-bar-button',
17 | templateUrl: './bar-button.component.html',
18 | styleUrls: ['./bar-button.component.scss'],
19 | })
20 | export class MatBarButtonComponent implements OnChanges {
21 | @Input() options: MatProgressButtonOptions;
22 | @Input() buttonId: string;
23 | @Input() active: boolean;
24 | @Input() disabled: boolean;
25 |
26 | @Output() btnClick: EventEmitter = new EventEmitter();
27 |
28 | @HostListener('click', ['$event'])
29 | handleClick(event: MouseEvent): void {
30 | if (!this.options.disabled && !this.options.active) {
31 | this.btnClick.emit(event);
32 | }
33 | }
34 |
35 | constructor(@Inject(GLOBAL_CONFIG) private config: GlobalConfig) {}
36 |
37 | get configExists(): boolean {
38 | return !!this.buttonId && !!this.config;
39 | }
40 |
41 | get globalConfig(): MatProgressButtonOptions {
42 | return this.configExists
43 | ? this.config.find((item) => item.id === this.buttonId)
44 | : this.options;
45 | }
46 |
47 | ngOnChanges(changes: SimpleChanges): void {
48 | this.options = { ...this.globalConfig, ...this.options };
49 | if (changes.active) {
50 | this.options.active = changes.active.currentValue;
51 | }
52 | if (changes.disabled) {
53 | this.options.disabled = changes.disabled.currentValue;
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/agate.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Agate by Taufik Nurrohman
3 | * ----------------------------------------------------
4 | *
5 | * #ade5fc
6 | * #a2fca2
7 | * #c6b4f0
8 | * #d36363
9 | * #fcc28c
10 | * #fc9b9b
11 | * #ffa
12 | * #fff
13 | * #333
14 | * #62c8f3
15 | * #888
16 | *
17 | */
18 |
19 | .hljs {
20 | display: block;
21 | overflow-x: auto;
22 | padding: 0.5em;
23 | background: #333;
24 | color: white;
25 | }
26 |
27 | .hljs-name,
28 | .hljs-strong {
29 | font-weight: bold;
30 | }
31 |
32 | .hljs-code,
33 | .hljs-emphasis {
34 | font-style: italic;
35 | }
36 |
37 | .hljs-tag {
38 | color: #62c8f3;
39 | }
40 |
41 | .hljs-variable,
42 | .hljs-template-variable,
43 | .hljs-selector-id,
44 | .hljs-selector-class {
45 | color: #ade5fc;
46 | }
47 |
48 | .hljs-string,
49 | .hljs-bullet {
50 | color: #a2fca2;
51 | }
52 |
53 | .hljs-type,
54 | .hljs-title,
55 | .hljs-section,
56 | .hljs-attribute,
57 | .hljs-quote,
58 | .hljs-built_in,
59 | .hljs-builtin-name {
60 | color: #ffa;
61 | }
62 |
63 | .hljs-number,
64 | .hljs-symbol,
65 | .hljs-bullet {
66 | color: #d36363;
67 | }
68 |
69 | .hljs-keyword,
70 | .hljs-selector-tag,
71 | .hljs-literal {
72 | color: #fcc28c;
73 | }
74 |
75 | .hljs-comment,
76 | .hljs-deletion,
77 | .hljs-code {
78 | color: #888;
79 | }
80 |
81 | .hljs-regexp,
82 | .hljs-link {
83 | color: #c6b4f0;
84 | }
85 |
86 | .hljs-meta {
87 | color: #fc9b9b;
88 | }
89 |
90 | .hljs-deletion {
91 | background-color: #fc9b9b;
92 | color: #333;
93 | }
94 |
95 | .hljs-addition {
96 | background-color: #a2fca2;
97 | color: #333;
98 | }
99 |
100 | .hljs a {
101 | color: inherit;
102 | }
103 |
104 | .hljs a:focus,
105 | .hljs a:hover {
106 | color: inherit;
107 | text-decoration: underline;
108 | }
109 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/hybrid.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | vim-hybrid theme by w0ng (https://github.com/w0ng/vim-hybrid)
4 |
5 | */
6 |
7 | /*background color*/
8 | .hljs {
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | background: #1d1f21;
13 | }
14 |
15 | /*selection color*/
16 | .hljs::selection,
17 | .hljs span::selection {
18 | background: #373b41;
19 | }
20 |
21 | .hljs::-moz-selection,
22 | .hljs span::-moz-selection {
23 | background: #373b41;
24 | }
25 |
26 | /*foreground color*/
27 | .hljs {
28 | color: #c5c8c6;
29 | }
30 |
31 | /*color: fg_yellow*/
32 | .hljs-title,
33 | .hljs-name {
34 | color: #f0c674;
35 | }
36 |
37 | /*color: fg_comment*/
38 | .hljs-comment,
39 | .hljs-meta,
40 | .hljs-meta .hljs-keyword {
41 | color: #707880;
42 | }
43 |
44 | /*color: fg_red*/
45 | .hljs-number,
46 | .hljs-symbol,
47 | .hljs-literal,
48 | .hljs-deletion,
49 | .hljs-link {
50 | color: #cc6666
51 | }
52 |
53 | /*color: fg_green*/
54 | .hljs-string,
55 | .hljs-doctag,
56 | .hljs-addition,
57 | .hljs-regexp,
58 | .hljs-selector-attr,
59 | .hljs-selector-pseudo {
60 | color: #b5bd68;
61 | }
62 |
63 | /*color: fg_purple*/
64 | .hljs-attribute,
65 | .hljs-code,
66 | .hljs-selector-id {
67 | color: #b294bb;
68 | }
69 |
70 | /*color: fg_blue*/
71 | .hljs-keyword,
72 | .hljs-selector-tag,
73 | .hljs-bullet,
74 | .hljs-tag {
75 | color: #81a2be;
76 | }
77 |
78 | /*color: fg_aqua*/
79 | .hljs-subst,
80 | .hljs-variable,
81 | .hljs-template-tag,
82 | .hljs-template-variable {
83 | color: #8abeb7;
84 | }
85 |
86 | /*color: fg_orange*/
87 | .hljs-type,
88 | .hljs-built_in,
89 | .hljs-builtin-name,
90 | .hljs-quote,
91 | .hljs-section,
92 | .hljs-selector-class {
93 | color: #de935f;
94 | }
95 |
96 | .hljs-emphasis {
97 | font-style: italic;
98 | }
99 |
100 | .hljs-strong {
101 | font-weight: bold;
102 | }
103 |
--------------------------------------------------------------------------------
/demo/src/app/home/home.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { CommonModule } from '@angular/common';
3 | import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
4 | import {
5 | MatProgressButtonOptions,
6 | MatProgressButtonsModule,
7 | } from 'mat-progress-buttons';
8 | import { HighlightModule } from 'ngx-highlightjs';
9 | import typescript from 'highlight.js/lib/languages/typescript';
10 |
11 | import { HomeRoutingModule } from './home-routing.module';
12 | import { HomeComponent } from './home.component';
13 | import { MatButtonModule } from '@angular/material/button';
14 | import { MatTabsModule } from '@angular/material/tabs';
15 | import { MatToolbarModule } from '@angular/material/toolbar';
16 | import { MatTooltipModule } from '@angular/material/tooltip';
17 |
18 | export function hljsLanguages() {
19 | return [{ name: 'typescript', func: typescript }];
20 | }
21 |
22 | const button1: MatProgressButtonOptions = {
23 | id: 'button1',
24 | text: 'Stroked Button',
25 | buttonColor: 'accent',
26 | barColor: 'accent',
27 | raised: false,
28 | stroked: true,
29 | mode: 'indeterminate',
30 | value: 0,
31 | disabled: false,
32 | customClass: 'some-other-class',
33 | buttonIcon: {
34 | fontIcon: 'favorite',
35 | },
36 | };
37 |
38 | const button2: MatProgressButtonOptions = {
39 | id: 'button2',
40 | text: 'Raised Button',
41 | buttonColor: 'primary',
42 | barColor: 'primary',
43 | raised: true,
44 | stroked: false,
45 | mode: 'indeterminate',
46 | value: 0,
47 | disabled: false,
48 | };
49 |
50 | @NgModule({
51 | imports: [
52 | CommonModule,
53 | BrowserAnimationsModule,
54 | MatProgressButtonsModule.forRoot([button1, button2]),
55 | HighlightModule.forRoot({languages: hljsLanguages}),
56 | HomeRoutingModule,
57 | MatButtonModule,
58 | MatTabsModule,
59 | MatToolbarModule,
60 | MatTooltipModule,
61 | MatProgressButtonsModule,
62 | ],
63 | declarations: [HomeComponent],
64 | })
65 | export class HomeModule {}
66 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/gruvbox-dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Gruvbox style (dark) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox)
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #282828;
12 | }
13 |
14 | .hljs,
15 | .hljs-subst {
16 | color: #ebdbb2;
17 | }
18 |
19 | /* Gruvbox Red */
20 | .hljs-deletion,
21 | .hljs-formula,
22 | .hljs-keyword,
23 | .hljs-link,
24 | .hljs-selector-tag {
25 | color: #fb4934;
26 | }
27 |
28 | /* Gruvbox Blue */
29 | .hljs-built_in,
30 | .hljs-emphasis,
31 | .hljs-name,
32 | .hljs-quote,
33 | .hljs-strong,
34 | .hljs-title,
35 | .hljs-variable {
36 | color: #83a598;
37 | }
38 |
39 | /* Gruvbox Yellow */
40 | .hljs-attr,
41 | .hljs-params,
42 | .hljs-template-tag,
43 | .hljs-type {
44 | color: #fabd2f;
45 | }
46 |
47 | /* Gruvbox Purple */
48 | .hljs-builtin-name,
49 | .hljs-doctag,
50 | .hljs-literal,
51 | .hljs-number {
52 | color: #8f3f71;
53 | }
54 |
55 | /* Gruvbox Orange */
56 | .hljs-code,
57 | .hljs-meta,
58 | .hljs-regexp,
59 | .hljs-selector-id,
60 | .hljs-template-variable {
61 | color: #fe8019;
62 | }
63 |
64 | /* Gruvbox Green */
65 | .hljs-addition,
66 | .hljs-meta-string,
67 | .hljs-section,
68 | .hljs-selector-attr,
69 | .hljs-selector-class,
70 | .hljs-string,
71 | .hljs-symbol {
72 | color: #b8bb26;
73 | }
74 |
75 | /* Gruvbox Aqua */
76 | .hljs-attribute,
77 | .hljs-bullet,
78 | .hljs-class,
79 | .hljs-function,
80 | .hljs-function .hljs-keyword,
81 | .hljs-meta-keyword,
82 | .hljs-selector-pseudo,
83 | .hljs-tag {
84 | color: #8ec07c;
85 | }
86 |
87 | /* Gruvbox Gray */
88 | .hljs-comment {
89 | color: #928374;
90 | }
91 |
92 | /* Gruvbox Purple */
93 | .hljs-link_label,
94 | .hljs-literal,
95 | .hljs-number {
96 | color: #d3869b;
97 | }
98 |
99 | .hljs-comment,
100 | .hljs-emphasis {
101 | font-style: italic;
102 | }
103 |
104 | .hljs-section,
105 | .hljs-strong,
106 | .hljs-tag {
107 | font-weight: bold;
108 | }
109 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/gruvbox-light.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Gruvbox style (light) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox)
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #fbf1c7;
12 | }
13 |
14 | .hljs,
15 | .hljs-subst {
16 | color: #3c3836;
17 | }
18 |
19 | /* Gruvbox Red */
20 | .hljs-deletion,
21 | .hljs-formula,
22 | .hljs-keyword,
23 | .hljs-link,
24 | .hljs-selector-tag {
25 | color: #9d0006;
26 | }
27 |
28 | /* Gruvbox Blue */
29 | .hljs-built_in,
30 | .hljs-emphasis,
31 | .hljs-name,
32 | .hljs-quote,
33 | .hljs-strong,
34 | .hljs-title,
35 | .hljs-variable {
36 | color: #076678;
37 | }
38 |
39 | /* Gruvbox Yellow */
40 | .hljs-attr,
41 | .hljs-params,
42 | .hljs-template-tag,
43 | .hljs-type {
44 | color: #b57614;
45 | }
46 |
47 | /* Gruvbox Purple */
48 | .hljs-builtin-name,
49 | .hljs-doctag,
50 | .hljs-literal,
51 | .hljs-number {
52 | color: #8f3f71;
53 | }
54 |
55 | /* Gruvbox Orange */
56 | .hljs-code,
57 | .hljs-meta,
58 | .hljs-regexp,
59 | .hljs-selector-id,
60 | .hljs-template-variable {
61 | color: #af3a03;
62 | }
63 |
64 | /* Gruvbox Green */
65 | .hljs-addition,
66 | .hljs-meta-string,
67 | .hljs-section,
68 | .hljs-selector-attr,
69 | .hljs-selector-class,
70 | .hljs-string,
71 | .hljs-symbol {
72 | color: #79740e;
73 | }
74 |
75 | /* Gruvbox Aqua */
76 | .hljs-attribute,
77 | .hljs-bullet,
78 | .hljs-class,
79 | .hljs-function,
80 | .hljs-function .hljs-keyword,
81 | .hljs-meta-keyword,
82 | .hljs-selector-pseudo,
83 | .hljs-tag {
84 | color: #427b58;
85 | }
86 |
87 | /* Gruvbox Gray */
88 | .hljs-comment {
89 | color: #928374;
90 | }
91 |
92 | /* Gruvbox Purple */
93 | .hljs-link_label,
94 | .hljs-literal,
95 | .hljs-number {
96 | color: #8f3f71;
97 | }
98 |
99 | .hljs-comment,
100 | .hljs-emphasis {
101 | font-style: italic;
102 | }
103 |
104 | .hljs-section,
105 | .hljs-strong,
106 | .hljs-tag {
107 | font-weight: bold;
108 | }
109 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/vs2015.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Visual Studio 2015 dark style
3 | * Author: Nicolas LLOBERA
4 | */
5 |
6 | .hljs {
7 | display: block;
8 | overflow-x: auto;
9 | padding: 0.5em;
10 | background: #1E1E1E;
11 | color: #DCDCDC;
12 | }
13 |
14 | .hljs-keyword,
15 | .hljs-literal,
16 | .hljs-symbol,
17 | .hljs-name {
18 | color: #569CD6;
19 | }
20 | .hljs-link {
21 | color: #569CD6;
22 | text-decoration: underline;
23 | }
24 |
25 | .hljs-built_in,
26 | .hljs-type {
27 | color: #4EC9B0;
28 | }
29 |
30 | .hljs-number,
31 | .hljs-class {
32 | color: #B8D7A3;
33 | }
34 |
35 | .hljs-string,
36 | .hljs-meta-string {
37 | color: #D69D85;
38 | }
39 |
40 | .hljs-regexp,
41 | .hljs-template-tag {
42 | color: #9A5334;
43 | }
44 |
45 | .hljs-subst,
46 | .hljs-function,
47 | .hljs-title,
48 | .hljs-params,
49 | .hljs-formula {
50 | color: #DCDCDC;
51 | }
52 |
53 | .hljs-comment,
54 | .hljs-quote {
55 | color: #57A64A;
56 | font-style: italic;
57 | }
58 |
59 | .hljs-doctag {
60 | color: #608B4E;
61 | }
62 |
63 | .hljs-meta,
64 | .hljs-meta-keyword,
65 | .hljs-tag {
66 | color: #9B9B9B;
67 | }
68 |
69 | .hljs-variable,
70 | .hljs-template-variable {
71 | color: #BD63C5;
72 | }
73 |
74 | .hljs-attr,
75 | .hljs-attribute,
76 | .hljs-builtin-name {
77 | color: #9CDCFE;
78 | }
79 |
80 | .hljs-section {
81 | color: gold;
82 | }
83 |
84 | .hljs-emphasis {
85 | font-style: italic;
86 | }
87 |
88 | .hljs-strong {
89 | font-weight: bold;
90 | }
91 |
92 | /*.hljs-code {
93 | font-family:'Monospace';
94 | }*/
95 |
96 | .hljs-bullet,
97 | .hljs-selector-tag,
98 | .hljs-selector-id,
99 | .hljs-selector-class,
100 | .hljs-selector-attr,
101 | .hljs-selector-pseudo {
102 | color: #D7BA7D;
103 | }
104 |
105 | .hljs-addition {
106 | background-color: #144212;
107 | display: inline-block;
108 | width: 100%;
109 | }
110 |
111 | .hljs-deletion {
112 | background-color: #600;
113 | display: inline-block;
114 | width: 100%;
115 | }
116 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/src/lib/component/spinner-button/spinner-button.component.html:
--------------------------------------------------------------------------------
1 |
57 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/src/lib/component/spinner-button/spinner-button.component.ts:
--------------------------------------------------------------------------------
1 | import {
2 | Component,
3 | Input,
4 | Output,
5 | HostListener,
6 | EventEmitter,
7 | OnChanges,
8 | SimpleChanges,
9 | Inject,
10 | } from '@angular/core';
11 | import { MatProgressButtonOptions } from '../../mat-progress-buttons.interface';
12 | import {
13 | GLOBAL_CONFIG,
14 | GlobalConfig,
15 | } from '../../mat-progress-buttons.injection-token';
16 |
17 | @Component({
18 | // tslint:disable-next-line:component-selector
19 | selector: 'mat-spinner-button',
20 | templateUrl: './spinner-button.component.html',
21 | styleUrls: ['./spinner-button.component.scss'],
22 | })
23 | export class MatSpinnerButtonComponent implements OnChanges {
24 | @Input() options: MatProgressButtonOptions;
25 | @Input() buttonId: string;
26 | @Input() active: boolean;
27 | @Input() disabled: boolean;
28 |
29 | @Output() btnClick: EventEmitter = new EventEmitter();
30 |
31 | @HostListener('click', ['$event'])
32 | public handleClick(event: MouseEvent): void {
33 | if (!this.options.disabled && !this.options.active) {
34 | this.btnClick.emit(event);
35 | }
36 | }
37 |
38 | constructor(@Inject(GLOBAL_CONFIG) private config: GlobalConfig) {}
39 |
40 | get configExists(): boolean {
41 | return !!this.buttonId && !!this.config;
42 | }
43 |
44 | get globalConfig(): MatProgressButtonOptions {
45 | return this.configExists
46 | ? this.config.find((item) => item.id === this.buttonId)
47 | : this.options;
48 | }
49 |
50 | private mergeObjects(globalOptions: MatProgressButtonOptions, options: MatProgressButtonOptions): void {
51 | for (const key in globalOptions) {
52 | if (options[key] === undefined) {
53 | options[key] = globalOptions[key];
54 | }
55 | }
56 | }
57 |
58 | ngOnChanges(changes: SimpleChanges): void {
59 | if (changes.active) {
60 | this.options.active = changes.active.currentValue;
61 | }
62 | if (changes.disabled) {
63 | this.options.disabled = changes.disabled.currentValue;
64 | }
65 | this.mergeObjects(this.globalConfig, this.options);
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/.github/workflows/node.js.yml:
--------------------------------------------------------------------------------
1 | # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3 |
4 | name: Node.js CI
5 |
6 | on:
7 | push:
8 | branches:
9 | - 'master'
10 |
11 | jobs:
12 | build:
13 | runs-on: ubuntu-latest
14 |
15 | steps:
16 | - uses: actions/checkout@v2
17 |
18 | - name: setup-chromedriver
19 | uses: nanasess/setup-chromedriver@v1.0.1
20 |
21 | - name: Cache node modules
22 | uses: actions/cache@v2.1.3
23 | with:
24 | path: ~/.npm
25 | key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
26 | restore-keys: |
27 | ${{ runner.os }}-node-
28 |
29 | - name: Use Node.js ${{ matrix.node-version }}
30 | uses: actions/setup-node@v1
31 | with:
32 | node-version: ${{ matrix.node-version }}
33 |
34 | - run: npm ci
35 | - run: npm run build:prod
36 |
37 | - name: Archive build
38 | if: success()
39 | uses: actions/upload-artifact@v2
40 | with:
41 | name: build-artifact
42 | path: dist
43 |
44 | - name: get-npm-version
45 | id: package-version
46 | uses: martinbeentjes/npm-get-version-action@master
47 | with:
48 | path: projects/mat-progress-buttons/
49 |
50 | - name: Create Release
51 | id: create_release
52 | uses: actions/create-release@v1
53 | continue-on-error: true
54 | env:
55 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56 | with:
57 | tag_name: V${{ steps.package-version.outputs.current-version}}
58 | release_name: Release ${{ steps.package-version.outputs.current-version}}
59 | body: |
60 | Changes in this Release
61 | - ${{ github.event.commits[0].message }}
62 | draft: false
63 | prerelease: false
64 |
65 | - name: NPM Publish
66 | uses: JS-DevTools/npm-publish@v1
67 | with:
68 | package: dist/mat-progress-buttons/package.json
69 | access: public
70 | dry-run: false
71 | token: ${{ secrets.NPM_TOKEN }}
72 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/src/lib/component/bar-button/bar-button.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2 | import { MatBarButtonComponent } from './bar-button.component';
3 | import { MatProgressButtonsModule } from '../../mat-progress-buttons.module';
4 |
5 | describe('MatBarButtonComponent', () => {
6 | let component: MatBarButtonComponent;
7 | let fixture: ComponentFixture;
8 |
9 | beforeEach(
10 | waitForAsync(() => {
11 | TestBed.configureTestingModule({
12 | imports: [
13 | MatProgressButtonsModule.forRoot([{ active: true, text: 'test' }]),
14 | ],
15 | providers: [
16 | { provide: 'Global Config', useValue: { active: true, text: 'test' } },
17 | ],
18 | }).compileComponents();
19 | })
20 | );
21 |
22 | beforeEach(() => {
23 | fixture = TestBed.createComponent(MatBarButtonComponent);
24 | component = fixture.componentInstance;
25 | component.options = {
26 | barColor: 'primary',
27 | active: false,
28 | buttonColor: 'primary',
29 | text: 'test button',
30 | disabled: false,
31 | };
32 | fixture.detectChanges();
33 | });
34 |
35 | it('should create', () => {
36 | expect(component).toBeTruthy();
37 | });
38 |
39 | it('should emit on click if not active or disabled', () => {
40 | const spy = jasmine.createSpy('btnClick');
41 | component.btnClick.subscribe(spy);
42 |
43 | const event = new MouseEvent('click', { bubbles: true });
44 | component.handleClick(event);
45 |
46 | expect(spy).toHaveBeenCalled();
47 | expect(spy).toHaveBeenCalledWith(event);
48 | });
49 |
50 | it('should NOT emit on click if active', () => {
51 | const spy = jasmine.createSpy('btnClick');
52 | component.btnClick.subscribe(spy);
53 |
54 | component.options = { active: true, text: 'test button' };
55 | const event = new MouseEvent('click', { bubbles: true });
56 | component.handleClick(event);
57 |
58 | expect(spy).not.toHaveBeenCalled();
59 | });
60 |
61 | it('should NOT emit on click if disabled', () => {
62 | const spy = jasmine.createSpy('btnClick');
63 | component.btnClick.subscribe(spy);
64 |
65 | component.options = { active: false, disabled: true, text: 'test button' };
66 | const event = new MouseEvent('click', { bubbles: true });
67 | component.handleClick(event);
68 |
69 | expect(spy).not.toHaveBeenCalled();
70 | });
71 | });
72 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/grayscale.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | grayscale style (c) MY Sun
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | color: #333;
12 | background: #fff;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #777;
18 | font-style: italic;
19 | }
20 |
21 | .hljs-keyword,
22 | .hljs-selector-tag,
23 | .hljs-subst {
24 | color: #333;
25 | font-weight: bold;
26 | }
27 |
28 | .hljs-number,
29 | .hljs-literal {
30 | color: #777;
31 | }
32 |
33 | .hljs-string,
34 | .hljs-doctag,
35 | .hljs-formula {
36 | color: #333;
37 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat;
38 | }
39 |
40 | .hljs-title,
41 | .hljs-section,
42 | .hljs-selector-id {
43 | color: #000;
44 | font-weight: bold;
45 | }
46 |
47 | .hljs-subst {
48 | font-weight: normal;
49 | }
50 |
51 | .hljs-class .hljs-title,
52 | .hljs-type,
53 | .hljs-name {
54 | color: #333;
55 | font-weight: bold;
56 | }
57 |
58 | .hljs-tag {
59 | color: #333;
60 | }
61 |
62 | .hljs-regexp {
63 | color: #333;
64 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat;
65 | }
66 |
67 | .hljs-symbol,
68 | .hljs-bullet,
69 | .hljs-link {
70 | color: #000;
71 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat;
72 | }
73 |
74 | .hljs-built_in,
75 | .hljs-builtin-name {
76 | color: #000;
77 | text-decoration: underline;
78 | }
79 |
80 | .hljs-meta {
81 | color: #999;
82 | font-weight: bold;
83 | }
84 |
85 | .hljs-deletion {
86 | color: #fff;
87 | background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat;
88 | }
89 |
90 | .hljs-addition {
91 | color: #000;
92 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat;
93 | }
94 |
95 | .hljs-emphasis {
96 | font-style: italic;
97 | }
98 |
99 | .hljs-strong {
100 | font-weight: bold;
101 | }
102 |
--------------------------------------------------------------------------------
/projects/mat-progress-buttons/src/lib/component/spinner-button/spinner-button.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2 | import { MatSpinnerButtonComponent } from './spinner-button.component';
3 | import { MatProgressButtonsModule } from '../../mat-progress-buttons.module';
4 |
5 | describe('MatBarButtonComponent', () => {
6 | let component: MatSpinnerButtonComponent;
7 | let fixture: ComponentFixture;
8 |
9 | beforeEach(
10 | waitForAsync(() => {
11 | TestBed.configureTestingModule({
12 | imports: [
13 | MatProgressButtonsModule.forRoot([{ active: true, text: 'test' }]),
14 | ],
15 | providers: [
16 | { provide: 'Global Config', useValue: { active: true, text: 'test' } },
17 | ],
18 | }).compileComponents();
19 | })
20 | );
21 |
22 | beforeEach(() => {
23 | fixture = TestBed.createComponent(MatSpinnerButtonComponent);
24 | component = fixture.componentInstance;
25 | component.options = {
26 | spinnerColor: 'primary',
27 | active: false,
28 | buttonColor: 'primary',
29 | text: 'test button',
30 | disabled: false,
31 | };
32 | fixture.detectChanges();
33 | });
34 |
35 | it('should create MatSpinnerButtonComponent', () => {
36 | expect(component).toBeTruthy();
37 | });
38 |
39 | it('should emit on click if not active or disabled', () => {
40 | const spy = jasmine.createSpy('MatSpinnerButtonComponentBtnClick');
41 | component.btnClick.subscribe(spy);
42 |
43 | const event = new MouseEvent('click', { bubbles: true });
44 | component.handleClick(event);
45 |
46 | expect(spy).toHaveBeenCalled();
47 | expect(spy).toHaveBeenCalledWith(event);
48 | });
49 |
50 | it('should NOT emit on click if active', () => {
51 | const spy = jasmine.createSpy('MatSpinnerButtonComponentBtnClick');
52 | component.btnClick.subscribe(spy);
53 |
54 | component.options = { active: true, text: 'test button' };
55 | const event = new MouseEvent('click', { bubbles: true });
56 | component.handleClick(event);
57 |
58 | expect(spy).not.toHaveBeenCalled();
59 | });
60 |
61 | it('should NOT emit on click if disabled', () => {
62 | const spy = jasmine.createSpy('MatSpinnerButtonComponentBtnClick');
63 | component.btnClick.subscribe(spy);
64 |
65 | component.options = { active: false, disabled: true, text: 'test button' };
66 | const event = new MouseEvent('click', { bubbles: true });
67 | component.handleClick(event);
68 |
69 | expect(spy).not.toHaveBeenCalled();
70 | });
71 | });
72 |
--------------------------------------------------------------------------------
/demo/src/assets/lib/hljs/styles/purebasic.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | PureBASIC native IDE style ( version 1.0 - April 2016 )
4 |
5 | by Tristano Ajmone
6 |
7 | Public Domain
8 |
9 | NOTE_1: PureBASIC code syntax highlighting only applies the following classes:
10 | .hljs-comment
11 | .hljs-function
12 | .hljs-keywords
13 | .hljs-string
14 | .hljs-symbol
15 |
16 | Other classes are added here for the benefit of styling other languages with the look and feel of PureBASIC native IDE style.
17 | If you need to customize a stylesheet for PureBASIC only, remove all non-relevant classes -- PureBASIC-related classes are followed by
18 | a "--- used for PureBASIC ... ---" comment on same line.
19 |
20 | NOTE_2: Color names provided in comments were derived using "Name that Color" online tool:
21 | http://chir.ag/projects/name-that-color
22 | */
23 |
24 | .hljs { /* Common set of rules required by highlight.js (don'r remove!) */
25 | display: block;
26 | overflow-x: auto;
27 | padding: 0.5em;
28 | background: #FFFFDF; /* Half and Half (approx.) */
29 | /* --- Uncomment to add PureBASIC native IDE styled font!
30 | font-family: Consolas;
31 | */
32 | }
33 |
34 | .hljs, /* --- used for PureBASIC base color --- */
35 | .hljs-type, /* --- used for PureBASIC Procedures return type --- */
36 | .hljs-function, /* --- used for wrapping PureBASIC Procedures definitions --- */
37 | .hljs-name,
38 | .hljs-number,
39 | .hljs-attr,
40 | .hljs-params,
41 | .hljs-subst {
42 | color: #000000; /* Black */
43 | }
44 |
45 | .hljs-comment, /* --- used for PureBASIC Comments --- */
46 | .hljs-regexp,
47 | .hljs-section,
48 | .hljs-selector-pseudo,
49 | .hljs-addition {
50 | color: #00AAAA; /* Persian Green (approx.) */
51 | }
52 |
53 | .hljs-title, /* --- used for PureBASIC Procedures Names --- */
54 | .hljs-tag,
55 | .hljs-variable,
56 | .hljs-code {
57 | color: #006666; /* Blue Stone (approx.) */
58 | }
59 |
60 | .hljs-keyword, /* --- used for PureBASIC Keywords --- */
61 | .hljs-class,
62 | .hljs-meta-keyword,
63 | .hljs-selector-class,
64 | .hljs-built_in,
65 | .hljs-builtin-name {
66 | color: #006666; /* Blue Stone (approx.) */
67 | font-weight: bold;
68 | }
69 |
70 | .hljs-string, /* --- used for PureBASIC Strings --- */
71 | .hljs-selector-attr {
72 | color: #0080FF; /* Azure Radiance (approx.) */
73 | }
74 |
75 | .hljs-symbol, /* --- used for PureBASIC Constants --- */
76 | .hljs-link,
77 | .hljs-deletion,
78 | .hljs-attribute {
79 | color: #924B72; /* Cannon Pink (approx.) */
80 | }
81 |
82 | .hljs-meta,
83 | .hljs-literal,
84 | .hljs-selector-id {
85 | color: #924B72; /* Cannon Pink (approx.) */
86 | font-weight: bold;
87 | }
88 |
89 | .hljs-strong,
90 | .hljs-name {
91 | font-weight: bold;
92 | }
93 |
94 | .hljs-emphasis {
95 | font-style: italic;
96 | }
97 |
--------------------------------------------------------------------------------
/demo/src/app/shared/header/header.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2 | import { By } from '@angular/platform-browser';
3 | import { DebugElement } from '@angular/core';
4 |
5 | import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap';
6 |
7 | import { HeaderComponent } from './header.component';
8 | import { RouterLinkStubDirective, RouterLinkActiveStubDirective } from './../../../testing/router-stubs';
9 |
10 | describe('HeaderComponent', () => {
11 | let component: HeaderComponent;
12 | let fixture: ComponentFixture;
13 |
14 | let linkDes: DebugElement[];
15 | let links: RouterLinkStubDirective[];
16 |
17 | beforeEach(waitForAsync(() => {
18 | TestBed.configureTestingModule({
19 | imports: [
20 | NgbCollapseModule.forRoot()
21 | ],
22 | declarations: [
23 | HeaderComponent,
24 | RouterLinkStubDirective,
25 | RouterLinkActiveStubDirective
26 | ]
27 | })
28 | .compileComponents()
29 | .then(() => {
30 | fixture = TestBed.createComponent(HeaderComponent);
31 | component = fixture.componentInstance;
32 | });
33 | }));
34 |
35 | beforeEach(() => {
36 | // trigger initial data binding
37 | fixture.detectChanges();
38 |
39 | // find DebugElements with an attached RouterLinkStubDirective
40 | linkDes = fixture.debugElement.queryAll(By.directive(RouterLinkStubDirective));
41 |
42 | // get the attached link directive instances using the DebugElement injectors
43 | links = linkDes.map(de => de.injector.get(RouterLinkStubDirective) as RouterLinkStubDirective);
44 | });
45 |
46 | it('should create', () => {
47 | expect(component).toBeTruthy();
48 | });
49 |
50 | it('can get RouterLinks from template', () => {
51 | expect(links.length).toBe(2, "should have 2 links");
52 | expect(links[0].linkParams).toBe('/home', "1st link should go to Home");
53 | expect(links[1].linkParams).toBe('/getting-started', "2nd link should go to GettingStarted");
54 | });
55 |
56 | it('can click Home link in template', () => {
57 | const homeLinkDe = linkDes[0];
58 | const homeLink = links[0];
59 |
60 | expect(homeLink.navigatedTo).toBeNull("link should not have navigated yet");
61 |
62 | homeLinkDe.triggerEventHandler('click', null);
63 | fixture.detectChanges();
64 |
65 | expect(homeLink.navigatedTo).toBe('/home');
66 | });
67 |
68 | it('can click GettingStarted link in template', () => {
69 | const gettingStartedLinkDe = linkDes[1];
70 | const gettingStartedLink = links[1];
71 |
72 | expect(gettingStartedLink.navigatedTo).toBeNull("link should not have navigated yet");
73 |
74 | gettingStartedLinkDe.triggerEventHandler('click', null);
75 | fixture.detectChanges();
76 |
77 | expect(gettingStartedLink.navigatedTo).toBe('/getting-started');
78 | });
79 | });
80 |
--------------------------------------------------------------------------------
/demo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mat-progress-buttons-demo",
3 | "version": "0.0.0",
4 | "license": "MIT",
5 | "description": "Demo app for mat-progress-buttons",
6 | "scripts": {
7 | "ng": "ng",
8 | "start": "ng serve",
9 | "build": "ng build",
10 | "build:prod": "ng build --configuration production",
11 | "test": "ng test",
12 | "lint": "ng lint",
13 | "e2e": "ng e2e"
14 | },
15 | "private": true,
16 | "dependencies": {
17 | "@angular/animations": "^12.1.2",
18 | "@angular/cdk": "^12.1.1",
19 | "@angular/common": "~12.1.2",
20 | "@angular/compiler": "~12.1.2",
21 | "@angular/core": "~12.1.2",
22 | "@angular/forms": "~12.1.2",
23 | "@angular/localize": "^12.1.2",
24 | "@angular/material": "^12.1.1",
25 | "@angular/platform-browser": "~12.1.2",
26 | "@angular/platform-browser-dynamic": "~12.1.2",
27 | "@angular/router": "~12.1.2",
28 | "@ng-bootstrap/ng-bootstrap": "^6.0.0",
29 | "@stackblitz/sdk": "^1.2.0",
30 | "bootstrap": "4.1.3",
31 | "core-js": "^2.6.1",
32 | "font-awesome": "^4.7.0",
33 | "highlight.js": "^9.13.1",
34 | "ngx-highlightjs": "^3.0.0",
35 | "rxjs": "^6.5.4",
36 | "tslib": "^2.0.0",
37 | "zone.js": "~0.11.4"
38 | },
39 | "devDependencies": {
40 | "@angular-devkit/build-angular": "~12.1.1",
41 | "@angular/cli": "~12.1.1",
42 | "@angular/compiler-cli": "~12.1.2",
43 | "@angular/language-service": "~12.1.2",
44 | "@angularclass/hmr": "~2.1.3",
45 | "@compodoc/gulp-compodoc": "0.0.10",
46 | "@nguniversal/common": "^7.0.2",
47 | "@nguniversal/express-engine": "^7.0.2",
48 | "@nguniversal/module-map-ngfactory-loader": "^7.0.2",
49 | "@types/highlight.js": "^9.12.3",
50 | "@types/jasmine": "~3.6.0",
51 | "@types/jasminewd2": "~2.0.6",
52 | "@types/node": "^12.12.29",
53 | "angular-cli-ghpages": "0.5.3",
54 | "ansi-colors": "3.2.3",
55 | "codelyzer": "^6.0.0",
56 | "commitplease": "3.2.0",
57 | "conventional-github-releaser": "3.1.2",
58 | "del": "3.0.0",
59 | "express": "^4.16.4",
60 | "fancy-log": "1.3.3",
61 | "gulp": "4.0.0",
62 | "gulp-bump": "3.1.1",
63 | "gulp-conventional-changelog": "2.0.9",
64 | "gulp-coveralls": "0.1.4",
65 | "gulp-file": "0.4.0",
66 | "gulp-git": "2.8.0",
67 | "gulp-hub": "0.8.0",
68 | "jasmine-core": "~3.6.0",
69 | "jasmine-spec-reporter": "~5.0.0",
70 | "karma": "~6.3.4",
71 | "karma-chrome-launcher": "~3.1.0",
72 | "karma-cli": "~2.0.0",
73 | "karma-coverage-istanbul-reporter": "~3.0.2",
74 | "karma-jasmine": "~4.0.0",
75 | "karma-jasmine-html-reporter": "^1.5.0",
76 | "lodash": "4.17.11",
77 | "protractor": "~7.0.0",
78 | "reflect-metadata": "~0.1.10",
79 | "run-sequence": "2.2.1",
80 | "travis-status": "3.0.1",
81 | "ts-loader": "~5.3.2",
82 | "ts-node": "~7.0.1",
83 | "tslint": "~6.1.0",
84 | "typescript": "~4.3.5",
85 | "webpack-cli": "^3.1.2",
86 | "yargs": "12.0.5"
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/demo/tslint.json:
--------------------------------------------------------------------------------
1 | {
2 | "rulesDirectory": [
3 | "node_modules/codelyzer"
4 | ],
5 | "rules": {
6 | "arrow-return-shorthand": true,
7 | "callable-types": true,
8 | "class-name": true,
9 | "comment-format": [
10 | true,
11 | "check-space"
12 | ],
13 | "curly": true,
14 | "deprecation": {
15 | "severity": "warn"
16 | },
17 | "eofline": true,
18 | "forin": true,
19 | "import-blacklist": [
20 | true,
21 | "rxjs/Rx"
22 | ],
23 | "import-spacing": true,
24 | "indent": [
25 | true,
26 | "spaces"
27 | ],
28 | "interface-over-type-literal": true,
29 | "label-position": true,
30 | "max-line-length": [
31 | true,
32 | 140
33 | ],
34 | "member-access": false,
35 | "member-ordering": [
36 | true,
37 | {
38 | "order": [
39 | "static-field",
40 | "instance-field",
41 | "static-method",
42 | "instance-method"
43 | ]
44 | }
45 | ],
46 | "no-arg": true,
47 | "no-bitwise": true,
48 | "no-console": [
49 | true,
50 | "debug",
51 | "info",
52 | "time",
53 | "timeEnd",
54 | "trace"
55 | ],
56 | "no-construct": true,
57 | "no-debugger": true,
58 | "no-duplicate-super": true,
59 | "no-empty": false,
60 | "no-empty-interface": true,
61 | "no-eval": true,
62 | "no-inferrable-types": [
63 | true,
64 | "ignore-params"
65 | ],
66 | "no-misused-new": true,
67 | "no-non-null-assertion": true,
68 | "no-shadowed-variable": true,
69 | "no-string-literal": false,
70 | "no-string-throw": true,
71 | "no-switch-case-fall-through": true,
72 | "no-trailing-whitespace": true,
73 | "no-unnecessary-initializer": true,
74 | "no-unused-expression": true,
75 | "no-var-keyword": true,
76 | "object-literal-sort-keys": false,
77 | "one-line": [
78 | true,
79 | "check-open-brace",
80 | "check-catch",
81 | "check-else",
82 | "check-whitespace"
83 | ],
84 | "prefer-const": true,
85 | "quotemark": [
86 | true,
87 | "single"
88 | ],
89 | "radix": true,
90 | "semicolon": [
91 | true,
92 | "always"
93 | ],
94 | "triple-equals": [
95 | true,
96 | "allow-null-check"
97 | ],
98 | "typedef-whitespace": [
99 | true,
100 | {
101 | "call-signature": "nospace",
102 | "index-signature": "nospace",
103 | "parameter": "nospace",
104 | "property-declaration": "nospace",
105 | "variable-declaration": "nospace"
106 | }
107 | ],
108 | "unified-signatures": true,
109 | "variable-name": false,
110 | "whitespace": [
111 | true,
112 | "check-branch",
113 | "check-decl",
114 | "check-operator",
115 | "check-separator",
116 | "check-type"
117 | ],
118 | "no-output-on-prefix": true,
119 | "use-input-property-decorator": true,
120 | "use-output-property-decorator": true,
121 | "use-host-property-decorator": true,
122 | "no-input-rename": true,
123 | "no-output-rename": true,
124 | "use-life-cycle-interface": true,
125 | "use-pipe-transform-interface": true,
126 | "component-class-suffix": true,
127 | "directive-class-suffix": true
128 | }
129 | }
130 |
--------------------------------------------------------------------------------