diff --git a/angular.json b/angular.json index 163f6f67..18f57b47 100644 --- a/angular.json +++ b/angular.json @@ -905,6 +905,105 @@ } } } + }, + "events": { + "root": "steps/events/", + "sourceRoot": "steps/events/src", + "projectType": "application", + "prefix": "app", + "schematics": {}, + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/events", + "index": "steps/events/src/index.html", + "main": "steps/events/src/main.ts", + "polyfills": "steps/events/src/polyfills.ts", + "tsConfig": "steps/events/tsconfig.app.json", + "assets": [ + "steps/events/src/favicon.ico", + "steps/events/src/assets" + ], + "styles": [ + "steps/events/src/styles.css" + ], + "scripts": [] + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "steps/events/src/environments/environment.ts", + "with": "steps/events/src/environments/environment.prod.ts" + } + ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "aot": true, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "5mb" + } + ] + } + } + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "events:build" + }, + "configurations": { + "production": { + "browserTarget": "events:build:production" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "events:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "steps/events/src/test.ts", + "polyfills": "steps/events/src/polyfills.ts", + "tsConfig": "steps/events/tsconfig.spec.json", + "karmaConfig": "steps/events/karma.conf.js", + "styles": [ + "steps/events/src/styles.css" + ], + "scripts": [], + "assets": [ + "steps/events/src/favicon.ico", + "steps/events/src/assets" + ] + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "steps/events/tsconfig.app.json", + "steps/events/tsconfig.spec.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + } + } } }, "defaultProject": "angular-200", diff --git a/steps/events/browserslist b/steps/events/browserslist new file mode 100644 index 00000000..37371cb0 --- /dev/null +++ b/steps/events/browserslist @@ -0,0 +1,11 @@ +# This file is currently used by autoprefixer to adjust CSS to support the below specified browsers +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries +# +# For IE 9-11 support, please remove 'not' from the last line of the file and adjust as needed + +> 0.5% +last 2 versions +Firefox ESR +not dead +not IE 9-11 \ No newline at end of file diff --git a/steps/events/src/app/_static/people.ts b/steps/events/src/app/_static/people.ts new file mode 100644 index 00000000..f99fbe6a --- /dev/null +++ b/steps/events/src/app/_static/people.ts @@ -0,0 +1,312 @@ +export const PEOPLE = [ + { + id: '5763cd4d9d2a4f259b53c901', + photo: 'https://randomuser.me/portraits/women/59.jpg', + firstname: 'Leanne', + lastname: 'Woodard', + entity: 'BIOSPAN', + entryDate: '27/10/2015', + birthDate: '02/01/1974', + gender: '', + email: 'Leanne.Woodard@BIOSPAN.com', + skills: ['pariatur', 'ipsum', 'laboris', 'nostrud', 'elit'], + geo: { + lat: 48.854107964410616, + lng: 2.2486534555789013 + }, + phone: '0784112248', + address: { + street: 'Narrows Avenue', + postalCode: 70534, + city: 'Boling' + }, + links: { + twitter: 'https://twitter.com/laboris', + slack: 'https://slack.com/fugiat', + github: 'https://github.com/velit', + linkedin: 'https://www.linkedin.com/in/voluptate' + }, + isManager: false, + manager: 'Erika', + managerId: '5763cd4d3b57c672861bfa1f' + }, + { + id: '5763cd4d51fdb6588742f99e', + photo: 'https://randomuser.me/portraits/men/65.jpg', + firstname: 'Castaneda', + lastname: 'Salinas', + entity: 'METROZ', + entryDate: '04/10/2015', + birthDate: '22/01/1963', + gender: '', + email: 'Castaneda.Salinas@METROZ.com', + skills: ['exercitation', 'consectetur', 'aute', 'ad', 'adipisicing'], + geo: { + lat: 48.85988099923647, + lng: 2.283677529858706 + }, + phone: '0145652522', + address: { + street: 'Metrotech Courtr', + postalCode: 53292, + city: 'Franklin' + }, + links: { + twitter: 'https://twitter.com/velit', + slack: 'https://slack.com/sunt', + github: 'https://github.com/sint', + linkedin: 'https://www.linkedin.com/in/voluptate' + }, + isManager: false, + manager: 'Erika', + managerId: '5763cd4d3b57c672861bfa1f' + }, + { + id: '5763cd4dba6362a3f92c954e', + photo: 'https://randomuser.me/portraits/women/74.jpg', + firstname: 'Phyllis', + lastname: 'Donovan', + entity: 'PEARLESSA', + entryDate: '30/03/2015', + birthDate: '30/11/1951', + gender: '', + email: 'Phyllis.Donovan@PEARLESSA.com', + skills: ['fugiat', 'deserunt', 'culpa', 'adipisicing', 'Lorem'], + geo: { + lat: 48.845544343608054, + lng: 2.399797357715456 + }, + phone: '0685230125', + address: { + street: 'Oakland Place', + postalCode: 40863, + city: 'Onton' + }, + links: { + twitter: 'https://twitter.com/non', + slack: 'https://slack.com/enim', + github: 'https://github.com/laborum', + linkedin: 'https://www.linkedin.com/in/et' + }, + isManager: false, + manager: 'Erika', + managerId: '5763cd4d3b57c672861bfa1f' + }, + { + id: '5763cd4d3b57c672861bfa1f', + photo: 'https://randomuser.me/portraits/women/9.jpg', + firstname: 'Erika', + lastname: 'Guzman', + entity: 'CIRCUM', + entryDate: '13/05/2016', + birthDate: '19/03/1962', + gender: '', + email: 'Erika.Guzman@CIRCUM.com', + skills: ['aliquip', 'do', 'amet', 'aute', 'et'], + geo: { + lat: 48.843615611100034, + lng: 2.3131976417042717 + }, + phone: '0678412587', + address: { + street: 'Havemeyer Street', + postalCode: 76154, + city: 'Yardville' + }, + links: { + twitter: 'https://twitter.com/nisi', + slack: 'https://slack.com/laborum', + github: 'https://github.com/ea', + linkedin: 'https://www.linkedin.com/in/sint' + }, + isManager: true, + manager: 'Mercedes', + managerId: '5763cd4d979b62a209809160' + }, + { + id: '5763cd4d5fc36e4f842ca5a9', + photo: 'https://randomuser.me/portraits/men/98.jpg', + firstname: 'Moody', + lastname: 'Prince', + entity: 'TRIPSCH', + entryDate: '28/09/2015', + birthDate: '15/04/1971', + gender: '', + email: 'Moody.Prince@TRIPSCH.com', + skills: ['tempor', 'deserunt', 'consequat', 'eiusmod', 'labore'], + geo: { + lat: 48.852765798186375, + lng: 2.3216256189826345 + }, + phone: '0662589632', + address: { + street: 'Russell Street', + postalCode: 51004, + city: 'Coloma' + }, + links: { + twitter: 'https://twitter.com/qui', + slack: 'https://slack.com/sint', + github: 'https://github.com/esse', + linkedin: 'https://www.linkedin.com/in/fugiat' + }, + isManager: false, + manager: 'Mercedes', + managerId: '5763cd4d979b62a209809160' + }, + { + id: '5763cd4d979b62a209809160', + photo: 'https://randomuser.me/portraits/women/81.jpg', + firstname: 'Mercedes', + lastname: 'Hebert', + entity: 'QUINTITY', + entryDate: '02/01/2016', + birthDate: '20/07/1947', + gender: '', + email: 'Mercedes.Hebert@QUINTITY.com', + skills: ['ex', 'commodo', 'pariatur', 'sit', 'aute'], + geo: { + lat: 48.846017690212236, + lng: 2.381289161182463 + }, + phone: '0125878522', + address: { + street: 'Laurel Avenue', + postalCode: 85752, + city: 'Northchase' + }, + links: { + twitter: 'https://twitter.com/eiusmod', + slack: 'https://slack.com/sit', + github: 'https://github.com/reprehenderit', + linkedin: 'https://www.linkedin.com/in/do' + }, + isManager: true, + manager: 'Mclaughlin', + managerId: '5763cd4d3c307cf87ed4f944' + }, + { + id: '5763cd4d15e6c2c28b70f2e8', + photo: 'https://randomuser.me/portraits/men/39.jpg', + firstname: 'Howell', + lastname: 'Mcknight', + entity: 'KRAG', + entryDate: '26/09/2015', + birthDate: '18/07/1979', + gender: '', + email: 'Howell.Mcknight@KRAG.com', + skills: ['commodo', 'cillum', 'ea', 'ex', 'in'], + geo: { + lat: 48.85466031451406, + lng: 2.28371412891228 + }, + phone: '0456987425', + address: { + street: 'Ford Street', + postalCode: 58545, + city: 'Shindler' + }, + links: { + twitter: 'https://twitter.com/eu', + slack: 'https://slack.com/reprehenderit', + github: 'https://github.com/magna', + linkedin: 'https://www.linkedin.com/in/irure' + }, + isManager: false, + manager: 'Mclaughlin', + managerId: '5763cd4dfa6f96cd26c65787' + }, + { + id: '5763cd4d5d6ad8dfc6c34883', + photo: 'https://randomuser.me/portraits/women/86.jpg', + firstname: 'Lizzie', + lastname: 'Morris', + entity: 'NSPIRE', + entryDate: '03/05/2016', + birthDate: '15/11/1981', + gender: '', + email: 'Lizzie.Morris@NSPIRE.com', + skills: ['laborum', 'cupidatat', 'nostrud', 'consequat', 'officia'], + geo: { + lat: 48.86595755527611, + lng: 2.294342855755885 + }, + phone: '0662259988', + address: { + street: 'Hall Street', + postalCode: 27946, + city: 'Waverly' + }, + links: { + twitter: 'https://twitter.com/velit', + slack: 'https://slack.com/et', + github: 'https://github.com/cillum', + linkedin: 'https://www.linkedin.com/in/do' + }, + isManager: false, + manager: 'Mclaughlin', + managerId: '5763cd4dfa6f96cd26c65787' + }, + { + id: '5763cd4dc378a38ecd387737', + photo: 'https://randomuser.me/portraits/men/55.jpg', + firstname: 'Roy', + lastname: 'Nielsen', + entity: 'QNEKT', + entryDate: '17/05/2016', + birthDate: '21/10/1951', + gender: '', + email: 'Roy.Nielsen@QNEKT.com', + skills: ['pariatur', 'deserunt', 'sit', 'consectetur', 'occaecat'], + geo: { + lat: 48.855495309829195, + lng: 2.4590747454636652 + }, + phone: '0755669551', + address: { + street: 'Sumner Place', + postalCode: 36335, + city: 'Glidden' + }, + links: { + twitter: 'https://twitter.com/non', + slack: 'https://slack.com/eu', + github: 'https://github.com/deserunt', + linkedin: 'https://www.linkedin.com/in/culpa' + }, + isManager: false, + manager: 'Mclaughlin', + managerId: '5763cd4dfa6f96cd26c65787' + }, + { + id: '5763cd4dfa6f96cd26c65787', + photo: 'https://randomuser.me/portraits/men/70.jpg', + firstname: 'Mclaughlin', + lastname: 'Cochran', + entity: 'UTARA', + entryDate: '11/04/2016', + birthDate: '19/03/1973', + gender: '', + email: 'Mclaughlin.Cochran@undefined.com', + skills: ['commodo', 'cillum', 'ea', 'ex', 'in'], + geo: { + lat: 48.848942410578736, + lng: 2.4026880720467796 + }, + phone: '0266334856', + address: { + street: 'Jewel Street', + postalCode: 61400, + city: 'Snelling' + }, + links: { + twitter: 'https://twitter.com/mollit', + slack: 'https://slack.com/cupidatat', + github: 'https://github.com/qui', + linkedin: 'https://www.linkedin.com/in/sunt' + }, + isManager: true, + manager: '', + managerId: '' + } +]; diff --git a/steps/events/src/app/app.component.css b/steps/events/src/app/app.component.css new file mode 100644 index 00000000..df3c0b92 --- /dev/null +++ b/steps/events/src/app/app.component.css @@ -0,0 +1,46 @@ +mat-toolbar.extend-toolbar { + background-color: #0168AB; + background-image: url('/assets/images/bg_right.png'); + background-repeat: no-repeat; + background-position: right; + top: 0px; + box-shadow: 0 2px 5px 0 rgba(0,0,0,.26); + width: 100%; + z-index: 1; + color: white; + margin-bottom: 10px; +} + +mat-toolbar .flex { + flex: 1 1 auto; +} + +mat-toolbar a { + color: inherit; + text-decoration: none; + height: 100%; + margin: 0px 10px 0px 10px; + border-bottom: 2px solid transparent; + font-size: 1.1em; + font-weight: normal; + font-family: 'Open Sans', sans-serif; +} + +mat-toolbar a:not(.active):hover { + border-bottom: 2px solid white; +} + +mat-toolbar a img { + height: 100%; + margin-left: -60px; +} + +mat-toolbar-row:nth-child(1) { + margin-bottom: 66px; +} +mat-toolbar-row:nth-child(2) { + padding-left: 30px; + text-align: center; + height: 56px; + margin-top: 56px; +} diff --git a/steps/events/src/app/app.component.html b/steps/events/src/app/app.component.html new file mode 100644 index 00000000..94617756 --- /dev/null +++ b/steps/events/src/app/app.component.html @@ -0,0 +1,16 @@ + + + + Sfeir + + + + + + + Maps + List + + + + \ No newline at end of file diff --git a/steps/events/src/app/app.component.ts b/steps/events/src/app/app.component.ts new file mode 100644 index 00000000..d9965162 --- /dev/null +++ b/steps/events/src/app/app.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'sfeir-app', + templateUrl: 'app.component.html', + styleUrls: ['app.component.css'] +}) +export class PeopleAppComponent { + constructor() {} +} diff --git a/steps/events/src/app/app.module.ts b/steps/events/src/app/app.module.ts new file mode 100644 index 00000000..76f23c9c --- /dev/null +++ b/steps/events/src/app/app.module.ts @@ -0,0 +1,44 @@ +// CORE DEPS +import { NgModule } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; +// MATERIAL DESIGN MODULES +import { + MatToolbarModule, + MatCardModule, + MatTabsModule, + MatButtonModule, + MatInputModule, + MatCheckboxModule, + MatRadioModule, + MatIconModule, + MatListModule +} from '@angular/material'; +import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; + +import { PeopleAppComponent } from './app.component'; +import { HomeComponent } from './home'; + +@NgModule({ + imports: [ + BrowserModule, + BrowserAnimationsModule, + MatToolbarModule, + MatCardModule, + MatTabsModule, + MatButtonModule, + MatInputModule, + MatCheckboxModule, + MatRadioModule, + MatIconModule, + MatListModule + ], + declarations: [ + PeopleAppComponent, + HomeComponent + ], + providers: [ ], + bootstrap: [ + PeopleAppComponent + ] +}) +export class AppModule { } diff --git a/steps/events/src/app/home/home.component.css b/steps/events/src/app/home/home.component.css new file mode 100644 index 00000000..6ea44e54 --- /dev/null +++ b/steps/events/src/app/home/home.component.css @@ -0,0 +1,151 @@ +h1 { + text-align: center; +} + +section { + display: flex; + flex-flow: row wrap; + align-items: center; + justify-content: center; +} + +@media (min-width: 768px) { + :host(.wide) mat-card, + :host(.wide) mat-list-item{ + width: 600px; + } +} + +mat-card, +mat-list-item { + color: rgba(0,0,0,0.87); + background-color: white; + margin: 10px; + width: 360px; +} + +mat-card:hover { + box-shadow: 0 11px 15px -7px rgba(0,0,0,.2), + 0 24px 38px 3px rgba(0,0,0,.14), + 0 9px 46px 8px rgba(0,0,0,.12); +} + +mat-list-item { + height: 22px; + padding: 0; + margin-left: -12px; + font-size: 14px; +} + +mat-card-title { + margin-bottom: 0; +} + +mat-card-title span { + font-size: 24px; + font-weight: 400; + line-height: 32px; +} + +mat-card-subtitle.contact-info { + margin-top: -7px; + height: 20px; +} + +mat-card-title-group { + margin-bottom: 20px; +} + +.contact-info mat-icon + a { + top: -8px; + position: relative; + height: 18px; +} + +.contact-info a:hover { + text-decoration: underline; +} + +.buttons-info { + float: right; + margin-top: -50px; +} + +@media (max-width: 412px) { + .buttons-info { + margin-top: -34px; + } +} + +.buttons-info [mat-button] { + min-width: 0px; + padding: 2px; + height: 40px; +} + +mat-icon { + color: rgba(0,0,0,0.54); + margin: 4px; +} + +a { + color: #337ab7; + text-decoration: none; +} + +mat-card-actions button[mat-raised-button] { + margin: 5px; +} + +.hl { + background-color: orange; + color: white; +} + +.skills { + padding: 10px; + background-color: #FAFAFA; +} + +a.truncate { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + display: inline-block; + width: 188px; +} + +@media (max-width: 600px) { + a.truncate { + width: 170px; + } +} + +@media (max-width: 768px) { + a.truncate { + width: 190px; + } +} + +.mat-whiteframe-2dp { + box-shadow: 0 1px 5px 0 rgba(0,0,0,.2), + 0 2px 2px 0 rgba(0,0,0,.14), + 0 3px 1px -2px rgba(0,0,0,.12); +} + +img { + border-radius: 50%; + margin-right: 18px; +} + +@media (max-width: 412px) { + img { + margin-right: 3px; + } +} + +@media (max-width: 600px) { + img { + margin-right: 5px; + } +} diff --git a/steps/events/src/app/home/home.component.html b/steps/events/src/app/home/home.component.html new file mode 100644 index 00000000..ed376860 --- /dev/null +++ b/steps/events/src/app/home/home.component.html @@ -0,0 +1,46 @@ +
+ + + + + + {{ person.firstname }} {{ person.lastname }} + + + Sfeir-Paris + + + luannpowers@sfeir.com + + + + +33688258827 + + + + +
+ Manager :  + {{ person.manager }} +
+
+ Location : SFEIR +
+ +
+
+
+ + diff --git a/steps/events/src/app/home/home.component.ts b/steps/events/src/app/home/home.component.ts new file mode 100644 index 00000000..13a9f21e --- /dev/null +++ b/steps/events/src/app/home/home.component.ts @@ -0,0 +1,21 @@ +import { Component, OnInit } from '@angular/core'; +import { PEOPLE } from '../_static/people'; + +@Component({ + selector: 'sfeir-home', + templateUrl: 'home.component.html', + styleUrls: ['home.component.css'] +}) +export class HomeComponent implements OnInit { + public person: any; + + constructor() { + this.person = PEOPLE[0]; + } + + /** + * OnInit implementation + */ + ngOnInit() { + } +} diff --git a/steps/events/src/app/home/index.ts b/steps/events/src/app/home/index.ts new file mode 100644 index 00000000..ab5a522c --- /dev/null +++ b/steps/events/src/app/home/index.ts @@ -0,0 +1 @@ +export * from './home.component'; diff --git a/steps/events/src/app/index.ts b/steps/events/src/app/index.ts new file mode 100644 index 00000000..875bdb2f --- /dev/null +++ b/steps/events/src/app/index.ts @@ -0,0 +1,2 @@ +export * from './app.component'; +export * from './app.module'; diff --git a/steps/events/src/assets/.gitkeep b/steps/events/src/assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/steps/events/src/assets/.npmignore b/steps/events/src/assets/.npmignore new file mode 100644 index 00000000..e69de29b diff --git a/steps/events/src/assets/images/bg_right.png b/steps/events/src/assets/images/bg_right.png new file mode 100644 index 00000000..449e4bc8 Binary files /dev/null and b/steps/events/src/assets/images/bg_right.png differ diff --git a/steps/events/src/assets/images/icon-delete.svg b/steps/events/src/assets/images/icon-delete.svg new file mode 100644 index 00000000..c665bde5 --- /dev/null +++ b/steps/events/src/assets/images/icon-delete.svg @@ -0,0 +1 @@ + diff --git a/steps/events/src/assets/images/icon-edit.svg b/steps/events/src/assets/images/icon-edit.svg new file mode 100644 index 00000000..bb07333e --- /dev/null +++ b/steps/events/src/assets/images/icon-edit.svg @@ -0,0 +1 @@ + diff --git a/steps/events/src/assets/images/icon-mail.svg b/steps/events/src/assets/images/icon-mail.svg new file mode 100644 index 00000000..040a7e7f --- /dev/null +++ b/steps/events/src/assets/images/icon-mail.svg @@ -0,0 +1 @@ + diff --git a/steps/events/src/assets/images/icon-maps.svg b/steps/events/src/assets/images/icon-maps.svg new file mode 100644 index 00000000..989697e2 --- /dev/null +++ b/steps/events/src/assets/images/icon-maps.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + diff --git a/steps/events/src/assets/images/icon-phone.svg b/steps/events/src/assets/images/icon-phone.svg new file mode 100644 index 00000000..15ac4a3e --- /dev/null +++ b/steps/events/src/assets/images/icon-phone.svg @@ -0,0 +1 @@ + diff --git a/steps/events/src/assets/images/logo-sfeir.svg b/steps/events/src/assets/images/logo-sfeir.svg new file mode 100644 index 00000000..9d6e4c3e --- /dev/null +++ b/steps/events/src/assets/images/logo-sfeir.svg @@ -0,0 +1,18 @@ + + + + + + + + + diff --git a/steps/events/src/assets/images/search-icon.svg b/steps/events/src/assets/images/search-icon.svg new file mode 100644 index 00000000..92e95a18 --- /dev/null +++ b/steps/events/src/assets/images/search-icon.svg @@ -0,0 +1,16 @@ + + + + + + + diff --git a/steps/events/src/environments/environment.prod.ts b/steps/events/src/environments/environment.prod.ts new file mode 100644 index 00000000..3612073b --- /dev/null +++ b/steps/events/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/steps/events/src/environments/environment.ts b/steps/events/src/environments/environment.ts new file mode 100644 index 00000000..00313f16 --- /dev/null +++ b/steps/events/src/environments/environment.ts @@ -0,0 +1,8 @@ +// The file contents for the current environment will overwrite these during build. +// The build system defaults to the dev environment which uses `environment.ts`, but if you do +// `ng build --env=prod` then `environment.prod.ts` will be used instead. +// The list of which env maps to which file can be found in `angular-cli.json`. + +export const environment = { + production: false +}; diff --git a/steps/events/src/favicon.ico b/steps/events/src/favicon.ico new file mode 100644 index 00000000..8081c7ce Binary files /dev/null and b/steps/events/src/favicon.ico differ diff --git a/steps/events/src/index.html b/steps/events/src/index.html new file mode 100644 index 00000000..8ddebe30 --- /dev/null +++ b/steps/events/src/index.html @@ -0,0 +1,21 @@ + + + + + Angular2200 + + + + + + + + +
+ + + +
+
+ + diff --git a/steps/events/src/main.ts b/steps/events/src/main.ts new file mode 100644 index 00000000..c7b673cf --- /dev/null +++ b/steps/events/src/main.ts @@ -0,0 +1,12 @@ +import { enableProdMode } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.error(err)); diff --git a/steps/events/src/polyfills.ts b/steps/events/src/polyfills.ts new file mode 100644 index 00000000..ee8b84da --- /dev/null +++ b/steps/events/src/polyfills.ts @@ -0,0 +1,80 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** IE9, IE10 and IE11 requires all of the following polyfills. **/ +// import 'core-js/es6/symbol'; +// import 'core-js/es6/object'; +// import 'core-js/es6/function'; +// import 'core-js/es6/parse-int'; +// import 'core-js/es6/parse-float'; +// import 'core-js/es6/number'; +// import 'core-js/es6/math'; +// import 'core-js/es6/string'; +// import 'core-js/es6/date'; +// import 'core-js/es6/array'; +// import 'core-js/es6/regexp'; +// import 'core-js/es6/map'; +// import 'core-js/es6/weak-map'; +// import 'core-js/es6/set'; + +/** + * If the application will be indexed by Google Search, the following is required. + * Googlebot uses a renderer based on Chrome 41. + * https://developers.google.com/search/docs/guides/rendering + **/ +// import 'core-js/es6/array'; + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +// import 'classlist.js'; // Run `npm install --save classlist.js`. + +/** IE10 and IE11 requires the following for the Reflect API. */ +// import 'core-js/es6/reflect'; + +/** + * Web Animations `@angular/platform-browser/animations` + * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. + * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). + **/ +// import 'web-animations-js'; // Run `npm install --save web-animations-js`. + +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + */ + + // (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame + // (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick + // (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames + + /* + * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js + * with the following flag, it will bypass `zone.js` patch for IE/Edge + */ +// (window as any).__Zone_enable_cross_context_check = true; + +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ +import 'zone.js/dist/zone'; // Included with Angular CLI. + + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ diff --git a/steps/events/src/styles.css b/steps/events/src/styles.css new file mode 100644 index 00000000..15465c56 --- /dev/null +++ b/steps/events/src/styles.css @@ -0,0 +1,101 @@ +@import "~@angular/material/prebuilt-themes/indigo-pink.css"; + +body { + background: red; + padding: 0; + margin: 0; + font-family: 'Open Sans', sans-serif; + background-color: #FAFAFA; + -webkit-font-smoothing: antialiased; +} +* /deep/ * { + font-family: inherit; + font-size: 14px; + line-height: 1.42857143; + color: inherit; +} +h1, * /deep/ h1 { + font-size: 36px; + margin-top: 20px; + margin-bottom: 10px; +} + +button[mat-fab], a[mat-fab] { + position: fixed; + bottom: 20px; + right: 20px; +} + +[mat-fab] mat-icon { + font-size: 2em; + line-height: 18.6px; +} + +.loader { + position: relative; + margin: 0 auto; + width: 100px; + transform: scale(1.5); +} +.loader:before { + content: ''; + display: block; + padding-top: 100%; +} + +.circular { + animation: rotate 2s linear infinite; + height: 100%; + transform-origin: center center; + width: 100%; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + margin: auto; +} + +.path { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0; + animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite; + stroke-linecap: round; +} + +@keyframes rotate { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes dash { + 0% { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0; + } + 50% { + stroke-dasharray: 89, 200; + stroke-dashoffset: -35px; + } + 100% { + stroke-dasharray: 89, 200; + stroke-dashoffset: -124px; + } +} +@keyframes color { + 100%, + 0% { + stroke: #d62d20; + } + 40% { + stroke: #0057e7; + } + 66% { + stroke: #008744; + } + 80%, + 90% { + stroke: #ffa700; + } +} diff --git a/steps/events/tsconfig.app.json b/steps/events/tsconfig.app.json new file mode 100644 index 00000000..bb16c46a --- /dev/null +++ b/steps/events/tsconfig.app.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/app", + "types": [] + }, + "exclude": [ + "test.ts", + "**/*.spec.ts" + ] +}