-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js.map
1 lines (1 loc) · 91.4 KB
/
main.js.map
1
{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/components/about/about.component.ts","webpack:///./src/app/components/architecture/architecture.component.ts","webpack:///./src/app/components/contact/contact.component.ts","webpack:///./src/app/components/design-work/design-work.component.ts","webpack:///./src/app/components/footer/footer.component.css","webpack:///./src/app/components/footer/footer.component.html","webpack:///./src/app/components/footer/footer.component.ts","webpack:///./src/app/components/homepage/homepage.component.css","webpack:///./src/app/components/homepage/homepage.component.html","webpack:///./src/app/components/homepage/homepage.component.ts","webpack:///./src/app/components/interior/interior.component.ts","webpack:///./src/app/components/main-page/main-page.component.css","webpack:///./src/app/components/main-page/main-page.component.html","webpack:///./src/app/components/main-page/main-page.component.ts","webpack:///./src/app/components/navigator/navigator.component.css","webpack:///./src/app/components/navigator/navigator.component.html","webpack:///./src/app/components/navigator/navigator.component.ts","webpack:///./src/app/components/page/page.component.css","webpack:///./src/app/components/page/page.component.html","webpack:///./src/app/components/page/page.component.ts","webpack:///./src/app/components/project/project.component.ts","webpack:///./src/app/components/sub-page/sub-page.component.css","webpack:///./src/app/components/sub-page/sub-page.component.html","webpack:///./src/app/components/sub-page/sub-page.component.ts","webpack:///./src/app/directives/defer-load.directive.ts","webpack:///./src/app/services/api-services.service.ts","webpack:///./src/app/services/project-service.service.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { HomepageComponent } from './components/homepage/homepage.component';\nimport { PageComponent } from './components/page/page.component';\nimport { AboutComponent } from './components/about/about.component';\nimport { DesignWorkComponent } from './components/design-work/design-work.component';\nimport { ContactComponent } from './components/contact/contact.component';\nimport { ArchitectureComponent } from './components/architecture/architecture.component';\nimport { InteriorComponent } from './components/interior/interior.component';\n\n\nconst routes: Routes = [\n {\n path: '',\n component: HomepageComponent\n },\n {\n path: '',\n component: PageComponent,\n children: [\n {\n path: 'design-works',\n component: DesignWorkComponent\n },\n {\n path: 'about',\n component: AboutComponent\n },\n {\n path: 'contact',\n component: ContactComponent\n },\n {\n path: 'architecture',\n component: ArchitectureComponent\n },\n {\n path: 'interior',\n component: InteriorComponent\n }\n ]\n }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"<router-outlet></router-outlet>\"","import { Component, ViewEncapsulation, OnInit } from '@angular/core';\nimport { ProjectServiceService } from './services/project-service.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css'],\n})\n\nexport class AppComponent implements OnInit {\n title = 'an';\n\n constructor(\n private projectService : ProjectServiceService\n ) {}\n\n\n ngOnInit(){\n\n }\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { HttpClientModule } from '@angular/common/http';\n\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { HomepageComponent } from './components/homepage/homepage.component';\nimport { PageComponent } from './components/page/page.component';\nimport { NavigatorComponent } from './components/navigator/navigator.component';\nimport { DesignWorkComponent } from './components/design-work/design-work.component';\nimport { AboutComponent } from './components/about/about.component';\nimport { FooterComponent } from './components/footer/footer.component';\nimport { ContactComponent } from './components/contact/contact.component';\nimport { MainPageComponent } from './components/main-page/main-page.component';\nimport { SubPageComponent } from './components/sub-page/sub-page.component';\nimport { ProjectComponent } from './components/project/project.component';\nimport { ArchitectureComponent } from './components/architecture/architecture.component';\nimport { InteriorComponent } from './components/interior/interior.component';\nimport { DeferLoadDirective } from './directives/defer-load.directive';\n\n@NgModule({\n declarations: [\n AppComponent,\n HomepageComponent,\n PageComponent,\n NavigatorComponent,\n DesignWorkComponent,\n AboutComponent,\n FooterComponent,\n ContactComponent,\n MainPageComponent,\n SubPageComponent,\n ProjectComponent,\n ArchitectureComponent,\n InteriorComponent,\n DeferLoadDirective\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n HttpClientModule\n ],\n providers: [],\n bootstrap: [AppComponent]\n})\n\nexport class AppModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { MainPageComponent } from '../main-page/main-page.component';\n\n@Component({\n selector: 'app-about',\n templateUrl: './../main-page/main-page.component.html',\n styleUrls: ['./../main-page/main-page.component.css']\n})\nexport class AboutComponent extends MainPageComponent {\n title = 'an <b>anatelier</b> for <b>architectural design</b>';\n\n description = 'an atelier for architectural design is a boutique design studio \\\n based in jakarta. our team comes from multiple design discipline and \\\n experience, to specialize in tailoring your project with style and \\\n substance.';\n}\n","import { Component, OnInit, Sanitizer, SecurityContext } from '@angular/core';\nimport { SubPageComponent } from '../sub-page/sub-page.component';\nimport { ApiServicesService } from '../../services/api-services.service';\nimport { Project } from '../../interfaces/project';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ProjectServiceService } from 'src/app/services/project-service.service';\nimport { Observable, Subscription, BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'app-architecture',\n templateUrl: './../sub-page/sub-page.component.html',\n styleUrls: ['./../sub-page/sub-page.component.css']\n})\n\nexport class ArchitectureComponent extends SubPageComponent {\n title = 'ARCHITECTURE';\n description = 'BRINGING EVERY RELEVANT DESIGN DISCIPLINE WITH OUR \\\n EXPERIENCE TO CREATE THE MOST CONTEXTUAL DESIGN THAT FIT THE PROJECT.';\n\n projects;\n showcases;\n contents;\n\n projectSub : Subscription;\n showcaseSub : Subscription;\n\n constructor(\n private projectService: ProjectServiceService\n ){\n super();\n }\n\n ngOnInit(){\n\n this.projectSub = this.projectService.getContent('architecture', 'project')\n .subscribe((val) => {\n this.projects = val;\n this.contents = this.projectService.generatePageArray('architecture', this.projects, this.showcases);\n });\n\n this.showcaseSub = this.projectService.getContent('architecture', 'showcase')\n .subscribe((val) => {\n this.showcases = val;\n this.contents = this.projectService.generatePageArray('architecture', this.projects, this.showcases);\n });\n\n this.projectService.refreshData();\n }\n\n ngOnDestroy(){\n this.projectSub.unsubscribe();\n this.showcaseSub.unsubscribe();\n }\n\n isLastOddMainContent(index){\n if(this.projects === undefined) return false;\n return (this.isMainContent(index) && index == this.projects.length)\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MainPageComponent } from '../main-page/main-page.component';\n\n@Component({\n selector: 'app-contact',\n templateUrl: './../main-page/main-page.component.html',\n styleUrls: ['./../main-page/main-page.component.css']\n})\nexport class ContactComponent extends MainPageComponent {\n title = 'contact';\n\n description = 'if you would like to commission an atelier for architectural\\\n design to help with your project or if you have any questions, \\\n comments, or just feel like reaching out, contact us now!';\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MainPageComponent } from '../main-page/main-page.component';\n\n@Component({\n selector: 'app-design-work',\n templateUrl: './../main-page/main-page.component.html',\n styleUrls: ['./../main-page/main-page.component.css']\n})\n\nexport class DesignWorkComponent extends MainPageComponent{\n title = 'design works.';\n\n description = 'designing starts when we think of a solution for the problem\\\n - our design aim to create a better lifestyle for the user, \\\n a series of dialogue, consist of the user and the collaborator.';\n}\n","module.exports = \"@font-face {\\n font-family: 'fontello';\\n src: url('fontello.eot?80731445');\\n src: url('fontello.eot?80731445#iefix') format('embedded-opentype'),\\n url('fontello.woff2?80731445') format('woff2'),\\n url('fontello.woff?80731445') format('woff'),\\n url('fontello.ttf?80731445') format('truetype'),\\n url('fontello.svg?80731445#fontello') format('svg');\\n font-weight: normal;\\n font-style: normal;\\n}\\n/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */\\n/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */\\n/*\\n@media screen and (-webkit-min-device-pixel-ratio:0) {\\n @font-face {\\n font-family: 'fontello';\\n src: url('../font/fontello.svg?80731445#fontello') format('svg');\\n }\\n}\\n*/\\n[class^=\\\"icon-\\\"]:before, [class*=\\\" icon-\\\"]:before {\\n font-family: \\\"fontello\\\";\\n font-style: normal;\\n font-weight: normal;\\n speak: none;\\n \\n display: inline-block;\\n text-decoration: inherit;\\n width: 1em;\\n margin-right: .2em;\\n text-align: center;\\n /* opacity: .8; */\\n \\n /* For safety - reset parent styles, that can break glyph codes*/\\n font-variant: normal;\\n text-transform: none;\\n \\n /* fix buttons height, for twitter bootstrap */\\n line-height: 1em;\\n \\n /* Animation center compensation - margins should be symmetric */\\n /* remove if not needed */\\n margin-left: .2em;\\n \\n /* you can be more comfortable with increased icons size */\\n /* font-size: 120%; */\\n \\n /* Font smoothing. That was taken from TWBS */\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n \\n /* Uncomment for 3D effect */\\n /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */\\n}\\n.icon-twitter:before { content: '\\\\f099'; }\\n/* '' */\\n.icon-copyright:before { content: '\\\\f1f9'; }\\n/* '' */\\n.icon-facebook-official:before { content: '\\\\f230'; }\\n/* '' */\\n.icon-vimeo:before { content: '\\\\f27d'; }\\n/* '' */\\n.icon-instagram:before { content: '\\\\f31e'; }\\n/* '' */\\n.footer {\\n background-color: #3D3D3D;\\n min-height: 120px;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n justify-content: space-evenly;\\n align-items: center;\\n}\\n.footer-links {\\n width: 12%;\\n display: flex;\\n justify-content: space-evenly;\\n}\\n.icon {\\n font-size: 1.2em;\\n opacity: 0.35;\\n transition: opacity 0.1s;\\n}\\n.icon:hover {\\n opacity: 1;\\n}\\n.footer-copyright{\\n color: #E5DACE;\\n font-size: 0.7em;\\n font-family: 'PT Serif', serif;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hc3NldHMvY3NzL2ZvbnRlbGxvLmNzcyIsInNyYy9hcHAvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx1QkFBdUI7RUFDdkIsaUNBQXlDO0VBQ3pDOzs7OzBEQUlnRTtFQUNoRSxtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCO0FBQ0EsZ0dBQWdHO0FBQ2hHLDJGQUEyRjtBQUMzRjs7Ozs7OztDQU9DO0FBRUE7RUFDQyx1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixXQUFXOztFQUVYLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsaUJBQWlCOztFQUVqQixnRUFBZ0U7RUFDaEUsb0JBQW9CO0VBQ3BCLG9CQUFvQjs7RUFFcEIsOENBQThDO0VBQzlDLGdCQUFnQjs7RUFFaEIsZ0VBQWdFO0VBQ2hFLHlCQUF5QjtFQUN6QixpQkFBaUI7O0VBRWpCLDBEQUEwRDtFQUMxRCxxQkFBcUI7O0VBRXJCLDZDQUE2QztFQUM3QyxtQ0FBbUM7RUFDbkMsa0NBQWtDOztFQUVsQyw0QkFBNEI7RUFDNUIsdURBQXVEO0FBQ3pEO0FBRUEsdUJBQXVCLGdCQUFnQixFQUFFO0FBQUUsUUFBUTtBQUNuRCx5QkFBeUIsZ0JBQWdCLEVBQUU7QUFBRSxRQUFRO0FBQ3JELGlDQUFpQyxnQkFBZ0IsRUFBRTtBQUFFLFFBQVE7QUFDN0QscUJBQXFCLGdCQUFnQixFQUFFO0FBQUUsUUFBUTtBQUNqRCx5QkFBeUIsZ0JBQWdCLEVBQUU7QUFBRSxRQUFRO0FDMURyRDtJQUNJLHlCQUF5QjtJQUN6QixpQkFBaUI7SUFDakIsV0FBVztJQUNYLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsNkJBQTZCO0lBQzdCLG1CQUFtQjtBQUN2QjtBQUVBO0lBQ0ksVUFBVTtJQUNWLGFBQWE7SUFDYiw2QkFBNkI7QUFDakM7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2Isd0JBQXdCO0FBQzVCO0FBRUE7SUFDSSxVQUFVO0FBQ2Q7QUFFQTtJQUNJLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsOEJBQThCO0FBQ2xDIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XG4gIHNyYzogdXJsKCcuLi9mb250L2ZvbnRlbGxvLmVvdD84MDczMTQ0NScpO1xuICBzcmM6IHVybCgnLi4vZm9udC9mb250ZWxsby5lb3Q/ODA3MzE0NDUjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgdXJsKCcuLi9mb250L2ZvbnRlbGxvLndvZmYyPzgwNzMxNDQ1JykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnLi4vZm9udC9mb250ZWxsby53b2ZmPzgwNzMxNDQ1JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCcuLi9mb250L2ZvbnRlbGxvLnR0Zj84MDczMTQ0NScpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnQvZm9udGVsbG8uc3ZnPzgwNzMxNDQ1I2ZvbnRlbGxvJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLyogQ2hyb21lIGhhY2s6IFNWRyBpcyByZW5kZXJlZCBtb3JlIHNtb290aCBpbiBXaW5kb3p6ZS4gMTAwJSBtYWdpYywgdW5jb21tZW50IGlmIHlvdSBuZWVkIGl0LiAqL1xuLyogTm90ZSwgdGhhdCB3aWxsIGJyZWFrIGhpbnRpbmchIEluIG90aGVyIE9TLWVzIGZvbnQgd2lsbCBiZSBub3QgYXMgc2hhcnAgYXMgaXQgY291bGQgYmUgKi9cbi8qXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnQvZm9udGVsbG8uc3ZnPzgwNzMxNDQ1I2ZvbnRlbGxvJykgZm9ybWF0KCdzdmcnKTtcbiAgfVxufVxuKi9cbiBcbiBbY2xhc3NePVwiaWNvbi1cIl06YmVmb3JlLCBbY2xhc3MqPVwiIGljb24tXCJdOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3BlYWs6IG5vbmU7XG4gXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB3aWR0aDogMWVtO1xuICBtYXJnaW4tcmlnaHQ6IC4yZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogb3BhY2l0eTogLjg7ICovXG4gXG4gIC8qIEZvciBzYWZldHkgLSByZXNldCBwYXJlbnQgc3R5bGVzLCB0aGF0IGNhbiBicmVhayBnbHlwaCBjb2RlcyovXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiBcbiAgLyogZml4IGJ1dHRvbnMgaGVpZ2h0LCBmb3IgdHdpdHRlciBib290c3RyYXAgKi9cbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiBcbiAgLyogQW5pbWF0aW9uIGNlbnRlciBjb21wZW5zYXRpb24gLSBtYXJnaW5zIHNob3VsZCBiZSBzeW1tZXRyaWMgKi9cbiAgLyogcmVtb3ZlIGlmIG5vdCBuZWVkZWQgKi9cbiAgbWFyZ2luLWxlZnQ6IC4yZW07XG4gXG4gIC8qIHlvdSBjYW4gYmUgbW9yZSBjb21mb3J0YWJsZSB3aXRoIGluY3JlYXNlZCBpY29ucyBzaXplICovXG4gIC8qIGZvbnQtc2l6ZTogMTIwJTsgKi9cbiBcbiAgLyogRm9udCBzbW9vdGhpbmcuIFRoYXQgd2FzIHRha2VuIGZyb20gVFdCUyAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiBcbiAgLyogVW5jb21tZW50IGZvciAzRCBlZmZlY3QgKi9cbiAgLyogdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMTI3LCAxMjcsIDEyNywgMC4zKTsgKi9cbn1cbiBcbi5pY29uLXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogJ1xcZjA5OSc7IH0gLyogJ++CmScgKi9cbi5pY29uLWNvcHlyaWdodDpiZWZvcmUgeyBjb250ZW50OiAnXFxmMWY5JzsgfSAvKiAn74e5JyAqL1xuLmljb24tZmFjZWJvb2stb2ZmaWNpYWw6YmVmb3JlIHsgY29udGVudDogJ1xcZjIzMCc7IH0gLyogJ++IsCcgKi9cbi5pY29uLXZpbWVvOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYyN2QnOyB9IC8qICfvib0nICovXG4uaWNvbi1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogJ1xcZjMxZSc7IH0gLyogJ++MnicgKi8iLCJAaW1wb3J0IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9jc3MvZm9udGVsbG8uY3NzXCIpO1xuXG5cbi5mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzRDNEM0Q7XG4gICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mb290ZXItbGlua3Mge1xuICAgIHdpZHRoOiAxMiU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbn1cblxuLmljb24ge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgb3BhY2l0eTogMC4zNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXM7XG59XG5cbi5pY29uOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uZm9vdGVyLWNvcHlyaWdodHtcbiAgICBjb2xvcjogI0U1REFDRTtcbiAgICBmb250LXNpemU6IDAuN2VtO1xuICAgIGZvbnQtZmFtaWx5OiAnUFQgU2VyaWYnLCBzZXJpZjtcbn0iXX0= */\"","module.exports = \"<div class='footer'>\\n <div class=\\\"footer-links\\\">\\n <i class=\\\"icon icon-facebook-official\\\"></i>\\n <i class=\\\"icon icon-twitter\\\"></i>\\n <i class=\\\"icon icon-instagram\\\"></i>\\n <i class=\\\"icon icon-vimeo\\\"></i>\\n </div>\\n <div class='footer-copyright'>\\n <i class=\\\"icon-copyright\\\"></i>\\n an atelier for architectural design 2019\\n </div>\\n</div>\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.css']\n})\nexport class FooterComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"@font-face {\\n font-family: 'fontello';\\n src: url('fontello.eot?80731445');\\n src: url('fontello.eot?80731445#iefix') format('embedded-opentype'),\\n url('fontello.woff2?80731445') format('woff2'),\\n url('fontello.woff?80731445') format('woff'),\\n url('fontello.ttf?80731445') format('truetype'),\\n url('fontello.svg?80731445#fontello') format('svg');\\n font-weight: normal;\\n font-style: normal;\\n}\\n/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */\\n/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */\\n/*\\n@media screen and (-webkit-min-device-pixel-ratio:0) {\\n @font-face {\\n font-family: 'fontello';\\n src: url('../font/fontello.svg?80731445#fontello') format('svg');\\n }\\n}\\n*/\\n[class^=\\\"icon-\\\"]:before, [class*=\\\" icon-\\\"]:before {\\n font-family: \\\"fontello\\\";\\n font-style: normal;\\n font-weight: normal;\\n speak: none;\\n \\n display: inline-block;\\n text-decoration: inherit;\\n width: 1em;\\n margin-right: .2em;\\n text-align: center;\\n /* opacity: .8; */\\n \\n /* For safety - reset parent styles, that can break glyph codes*/\\n font-variant: normal;\\n text-transform: none;\\n \\n /* fix buttons height, for twitter bootstrap */\\n line-height: 1em;\\n \\n /* Animation center compensation - margins should be symmetric */\\n /* remove if not needed */\\n margin-left: .2em;\\n \\n /* you can be more comfortable with increased icons size */\\n /* font-size: 120%; */\\n \\n /* Font smoothing. That was taken from TWBS */\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n \\n /* Uncomment for 3D effect */\\n /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */\\n}\\n.icon-twitter:before { content: '\\\\f099'; }\\n/* '' */\\n.icon-copyright:before { content: '\\\\f1f9'; }\\n/* '' */\\n.icon-facebook-official:before { content: '\\\\f230'; }\\n/* '' */\\n.icon-vimeo:before { content: '\\\\f27d'; }\\n/* '' */\\n.icon-instagram:before { content: '\\\\f31e'; }\\n/* '' */\\n.homepage{\\n width: 100vw;\\n height: 100vh;\\n display: flex;\\n flex-direction: column;\\n background-color: #E5DACD;\\n margin: 0;\\n}\\n.homepage-middle{\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n flex-basis: 90%;\\n padding-bottom: 5%;\\n box-sizing: border-box;\\n}\\n.homepage-footer {\\n display: flex;\\n flex-basis: 10%;\\n justify-content: center;\\n}\\n.footer-links {\\n width: 12%;\\n display: flex;\\n justify-content: space-evenly;\\n}\\n.icon {\\n font-size: 1.2em;\\n opacity: 0.35;\\n transition: opacity 0.1s;\\n}\\n.icon:hover {\\n opacity: 1;\\n}\\n\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hc3NldHMvY3NzL2ZvbnRlbGxvLmNzcyIsInNyYy9hcHAvY29tcG9uZW50cy9ob21lcGFnZS9ob21lcGFnZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsdUJBQXVCO0VBQ3ZCLGlDQUF5QztFQUN6Qzs7OzswREFJZ0U7RUFDaEUsbUJBQW1CO0VBQ25CLGtCQUFrQjtBQUNwQjtBQUNBLGdHQUFnRztBQUNoRywyRkFBMkY7QUFDM0Y7Ozs7Ozs7Q0FPQztBQUVBO0VBQ0MsdUJBQXVCO0VBQ3ZCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsV0FBVzs7RUFFWCxxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLGlCQUFpQjs7RUFFakIsZ0VBQWdFO0VBQ2hFLG9CQUFvQjtFQUNwQixvQkFBb0I7O0VBRXBCLDhDQUE4QztFQUM5QyxnQkFBZ0I7O0VBRWhCLGdFQUFnRTtFQUNoRSx5QkFBeUI7RUFDekIsaUJBQWlCOztFQUVqQiwwREFBMEQ7RUFDMUQscUJBQXFCOztFQUVyQiw2Q0FBNkM7RUFDN0MsbUNBQW1DO0VBQ25DLGtDQUFrQzs7RUFFbEMsNEJBQTRCO0VBQzVCLHVEQUF1RDtBQUN6RDtBQUVBLHVCQUF1QixnQkFBZ0IsRUFBRTtBQUFFLFFBQVE7QUFDbkQseUJBQXlCLGdCQUFnQixFQUFFO0FBQUUsUUFBUTtBQUNyRCxpQ0FBaUMsZ0JBQWdCLEVBQUU7QUFBRSxRQUFRO0FBQzdELHFCQUFxQixnQkFBZ0IsRUFBRTtBQUFFLFFBQVE7QUFDakQseUJBQXlCLGdCQUFnQixFQUFFO0FBQUUsUUFBUTtBQzNEckQ7SUFDSSxZQUFZO0lBQ1osYUFBYTtJQUNiLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIseUJBQXlCO0lBQ3pCLFNBQVM7QUFDYjtBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsc0JBQXNCO0FBQzFCO0FBRUE7SUFDSSxhQUFhO0lBQ2IsZUFBZTtJQUNmLHVCQUF1QjtBQUMzQjtBQUVBO0lBQ0ksVUFBVTtJQUNWLGFBQWE7SUFDYiw2QkFBNkI7QUFDakM7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2Isd0JBQXdCO0FBQzVCO0FBRUE7SUFDSSxVQUFVO0FBQ2QiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2hvbWVwYWdlL2hvbWVwYWdlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XG4gIHNyYzogdXJsKCcuLi9mb250L2ZvbnRlbGxvLmVvdD84MDczMTQ0NScpO1xuICBzcmM6IHVybCgnLi4vZm9udC9mb250ZWxsby5lb3Q/ODA3MzE0NDUjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgdXJsKCcuLi9mb250L2ZvbnRlbGxvLndvZmYyPzgwNzMxNDQ1JykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnLi4vZm9udC9mb250ZWxsby53b2ZmPzgwNzMxNDQ1JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCcuLi9mb250L2ZvbnRlbGxvLnR0Zj84MDczMTQ0NScpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnQvZm9udGVsbG8uc3ZnPzgwNzMxNDQ1I2ZvbnRlbGxvJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLyogQ2hyb21lIGhhY2s6IFNWRyBpcyByZW5kZXJlZCBtb3JlIHNtb290aCBpbiBXaW5kb3p6ZS4gMTAwJSBtYWdpYywgdW5jb21tZW50IGlmIHlvdSBuZWVkIGl0LiAqL1xuLyogTm90ZSwgdGhhdCB3aWxsIGJyZWFrIGhpbnRpbmchIEluIG90aGVyIE9TLWVzIGZvbnQgd2lsbCBiZSBub3QgYXMgc2hhcnAgYXMgaXQgY291bGQgYmUgKi9cbi8qXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnQvZm9udGVsbG8uc3ZnPzgwNzMxNDQ1I2ZvbnRlbGxvJykgZm9ybWF0KCdzdmcnKTtcbiAgfVxufVxuKi9cbiBcbiBbY2xhc3NePVwiaWNvbi1cIl06YmVmb3JlLCBbY2xhc3MqPVwiIGljb24tXCJdOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3BlYWs6IG5vbmU7XG4gXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB3aWR0aDogMWVtO1xuICBtYXJnaW4tcmlnaHQ6IC4yZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogb3BhY2l0eTogLjg7ICovXG4gXG4gIC8qIEZvciBzYWZldHkgLSByZXNldCBwYXJlbnQgc3R5bGVzLCB0aGF0IGNhbiBicmVhayBnbHlwaCBjb2RlcyovXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiBcbiAgLyogZml4IGJ1dHRvbnMgaGVpZ2h0LCBmb3IgdHdpdHRlciBib290c3RyYXAgKi9cbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiBcbiAgLyogQW5pbWF0aW9uIGNlbnRlciBjb21wZW5zYXRpb24gLSBtYXJnaW5zIHNob3VsZCBiZSBzeW1tZXRyaWMgKi9cbiAgLyogcmVtb3ZlIGlmIG5vdCBuZWVkZWQgKi9cbiAgbWFyZ2luLWxlZnQ6IC4yZW07XG4gXG4gIC8qIHlvdSBjYW4gYmUgbW9yZSBjb21mb3J0YWJsZSB3aXRoIGluY3JlYXNlZCBpY29ucyBzaXplICovXG4gIC8qIGZvbnQtc2l6ZTogMTIwJTsgKi9cbiBcbiAgLyogRm9udCBzbW9vdGhpbmcuIFRoYXQgd2FzIHRha2VuIGZyb20gVFdCUyAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiBcbiAgLyogVW5jb21tZW50IGZvciAzRCBlZmZlY3QgKi9cbiAgLyogdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMTI3LCAxMjcsIDEyNywgMC4zKTsgKi9cbn1cbiBcbi5pY29uLXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogJ1xcZjA5OSc7IH0gLyogJ++CmScgKi9cbi5pY29uLWNvcHlyaWdodDpiZWZvcmUgeyBjb250ZW50OiAnXFxmMWY5JzsgfSAvKiAn74e5JyAqL1xuLmljb24tZmFjZWJvb2stb2ZmaWNpYWw6YmVmb3JlIHsgY29udGVudDogJ1xcZjIzMCc7IH0gLyogJ++IsCcgKi9cbi5pY29uLXZpbWVvOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYyN2QnOyB9IC8qICfvib0nICovXG4uaWNvbi1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogJ1xcZjMxZSc7IH0gLyogJ++MnicgKi8iLCJAaW1wb3J0IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9jc3MvZm9udGVsbG8uY3NzXCIpO1xuXG4uaG9tZXBhZ2V7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNURBQ0Q7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uaG9tZXBhZ2UtbWlkZGxle1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtYmFzaXM6IDkwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNSU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmhvbWVwYWdlLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWJhc2lzOiAxMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5mb290ZXItbGlua3Mge1xuICAgIHdpZHRoOiAxMiU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbn1cblxuLmljb24ge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgb3BhY2l0eTogMC4zNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXM7XG59XG5cbi5pY29uOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4iXX0= */\"","module.exports = \"<div class=\\\"homepage\\\">\\n <div class=\\\"homepage-middle\\\">\\n <p>\\n an <b>atelier</b> for <b>architectural design</b>\\n </p>\\n <app-navigator></app-navigator>\\n </div>\\n <div class=\\\"homepage-footer\\\">\\n <div class=\\\"footer-links\\\">\\n <i class=\\\"icon icon-facebook-official\\\"></i>\\n <i class=\\\"icon icon-twitter\\\"></i>\\n <i class=\\\"icon icon-instagram\\\"></i>\\n <i class=\\\"icon icon-vimeo\\\"></i>\\n </div>\\n </div>\\n</div>\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-homepage',\n templateUrl: './homepage.component.html',\n styleUrls: ['./homepage.component.css']\n})\n\n@Component({\n selector: 'app-navigator',\n templateUrl: './../navigator/navigator.component.html',\n styleUrls: ['./../navigator/navigator.component.css']\n})\n\n\nexport class HomepageComponent implements OnInit {\n constructor(\n ) {}\n\n ngOnInit() {\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { SubPageComponent } from '../sub-page/sub-page.component';\nimport { Subscription } from 'rxjs';\nimport { ProjectServiceService } from 'src/app/services/project-service.service';\n\n@Component({\n selector: 'app-interior',\n templateUrl: './../sub-page/sub-page.component.html',\n styleUrls: ['./../sub-page/sub-page.component.css']\n})\n\nexport class InteriorComponent extends SubPageComponent {\n title = 'INTERIOR DESIGN';\n description = 'TAILOR THE SPACE HUMBLY TO CREATE A DESIGNATED MOOD AND \\\n AMBIENT. CREATING A ONE OF A KIND SPACE WITH HONEST MATERIAL.';\n\n projects;\n showcases;\n contents;\n\n projectSub : Subscription;\n showcaseSub : Subscription;\n\n constructor(\n private projectService: ProjectServiceService\n ){\n super();\n }\n\n ngOnInit(){\n this.projectSub = this.projectService.getContent('interior', 'project')\n .subscribe((val) => {\n this.projects = val;\n this.contents = this.projectService.generatePageArray('interior', this.projects, this.showcases);\n });\n\n this.showcaseSub = this.projectService.getContent('interior', 'showcase')\n .subscribe((val) => {\n this.showcases = val;\n this.contents = this.projectService.generatePageArray('interior', this.projects, this.showcases);\n });\n\n this.projectService.refreshData();\n }\n\n ngOnDestroy(){\n this.projectSub.unsubscribe();\n this.showcaseSub.unsubscribe();\n }\n\n isLastOddMainContent(index){\n if(this.projects === undefined) return false;\n return (this.isMainContent(index) && index == this.projects.length)\n }\n}\n","module.exports = \".main-page{\\n background-color: #ECE8E0;\\n display: flex;\\n flex-direction: column;\\n min-height: calc(100vh - 60px);\\n}\\n\\n.content{\\n display: flex;\\n}\\n\\n.content-main-design, .content-main-about{\\n align-self: flex-end;\\n width: 50%;\\n min-height: 400px;\\n padding-right: 80px;\\n box-sizing: border-box;\\n}\\n\\n.content-main-contact{\\n width: 50%;\\n min-height: 400px;\\n padding-left: 80px;\\n box-sizing: border-box;\\n}\\n\\n.content-navigator,\\n.content-about,\\n.content-contact {\\n min-height: 200px;\\n flex-grow: 1;\\n}\\n\\n.contact {\\n display: flex;\\n flex-direction: column;\\n align-items: flex-end;\\n width: 40%;\\n text-align: right;\\n}\\n\\n.content:nth-of-type(2n){\\n background-color: #E5DACD;\\n}\\n\\n.content-main-contact > .main{\\n align-items: flex-end;\\n}\\n\\n.content-main-contact > .main > .title{\\n text-align: right;\\n padding-right: 100px;\\n}\\n\\n.content-main-contact > .main > .description{\\n text-align: right;\\n padding-left: 0;\\n}\\n\\n.content-main-about > .main > .title {\\n font-weight: 300;\\n}\\n\\n.main{\\n display: flex;\\n flex-direction: column;\\n justify-content: space-evenly;\\n}\\n\\n.title{\\n font-size: 2em;\\n font-weight: 700;\\n text-shadow: -14px 14px 4px rgba(0, 0, 0, 0.2);\\n}\\n\\n.description{\\n padding-left: 6%;\\n width: 70%;\\n}\\n\\n.navigator{\\n display: flex;\\n flex-direction: row;\\n padding: 0 100px;\\n}\\n\\n.nav-section{\\n display: flex;\\n flex-direction: column;\\n flex-basis: 33%;\\n align-items: center;\\n justify-content: center;\\n text-align: center;\\n cursor: pointer;\\n margin: 50px;\\n text-decoration: none;\\n color: black;\\n}\\n\\n.nav-title{\\n font-weight: bold;\\n letter-spacing: 6px;\\n font-size: 1.2em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9tYWluLXBhZ2UvbWFpbi1wYWdlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSx5QkFBeUI7SUFDekIsYUFBYTtJQUNiLHNCQUFzQjtJQUN0Qiw4QkFBOEI7QUFDbEM7O0FBRUE7SUFDSSxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLFVBQVU7SUFDVixpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFVBQVU7SUFDVixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLHNCQUFzQjtBQUMxQjs7QUFFQTs7O0lBR0ksaUJBQWlCO0lBQ2pCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLHFCQUFxQjtJQUNyQixVQUFVO0lBQ1YsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0kseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0kscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0Qiw2QkFBNkI7QUFDakM7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLDhDQUE4QztBQUNsRDs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLGdCQUFnQjtBQUNwQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbWFpbi1wYWdlL21haW4tcGFnZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1haW4tcGFnZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNFOEUwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjBweCk7XG59XG5cbi5jb250ZW50e1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5jb250ZW50LW1haW4tZGVzaWduLCAuY29udGVudC1tYWluLWFib3V0e1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uY29udGVudC1tYWluLWNvbnRhY3R7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmNvbnRlbnQtbmF2aWdhdG9yLFxuLmNvbnRlbnQtYWJvdXQsXG4uY29udGVudC1jb250YWN0IHtcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbi5jb250YWN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jb250ZW50Om50aC1vZi10eXBlKDJuKXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTVEQUNEO1xufVxuXG4uY29udGVudC1tYWluLWNvbnRhY3QgPiAubWFpbntcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5jb250ZW50LW1haW4tY29udGFjdCA+IC5tYWluID4gLnRpdGxle1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xufVxuXG4uY29udGVudC1tYWluLWNvbnRhY3QgPiAubWFpbiA+IC5kZXNjcmlwdGlvbntcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jb250ZW50LW1haW4tYWJvdXQgPiAubWFpbiA+IC50aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLm1haW57XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xufVxuXG4udGl0bGV7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXNoYWRvdzogLTE0cHggMTRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uZGVzY3JpcHRpb257XG4gICAgcGFkZGluZy1sZWZ0OiA2JTtcbiAgICB3aWR0aDogNzAlO1xufVxuXG4ubmF2aWdhdG9ye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBwYWRkaW5nOiAwIDEwMHB4O1xufVxuXG4ubmF2LXNlY3Rpb257XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtYmFzaXM6IDMzJTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luOiA1MHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogYmxhY2s7XG59XG5cbi5uYXYtdGl0bGV7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDZweDtcbiAgICBmb250LXNpemU6IDEuMmVtO1xufSJdfQ== */\"","module.exports = \"<div class='main-page'>\\n\\n <div\\n class='content'\\n [ngClass]=\\\"[isDesignPage() ? 'content-main-design' : '',\\n isAboutPage() ? 'content-main-about' : '',\\n isContactPage() ? 'content-main-contact' : ''\\n ]\\\"\\n >\\n <div class='main'>\\n <div class='title' [innerHtml]=\\\"title\\\">\\n\\n </div>\\n <div class='description'>\\n {{description}}\\n </div>\\n </div>\\n </div>\\n\\n <div\\n class='content'\\n [ngClass]=\\\"[isDesignPage() ? 'content-navigator' : '',\\n isAboutPage() ? 'content-about' : '',\\n isContactPage() ? 'content-contact' : ''\\n ]\\\"\\n >\\n <div\\n *ngIf='isContactPage()'\\n class='contact'\\n >\\n <p>\\n an <b>atelier</b> for <b>architectural design</b>\\n </p>\\n <p>\\n A. Jakarta 11610\\n <br>\\n Indonesia\\n <br>\\n E. [email protected]\\n </p>\\n </div>\\n\\n\\n <div\\n *ngIf='isDesignPage()'\\n class='navigator'\\n >\\n <a\\n class='nav-section'\\n routerLink=\\\"/architecture\\\"\\n >\\n <span class='nav-title'>architecture</span>\\n <span class='nav-desc'>our design range from the small to big scale. creating a new building typology</span>\\n </a>\\n <a\\n class='nav-section'\\n routerLink=\\\"/interior\\\"\\n >\\n <span class='nav-title'>interior design</span>\\n <span class='nav-desc'>interior design for every space, creating mood and ambiance to every corner of your space.</span>\\n </a>\\n <a class='nav-section'>\\n <span class='nav-title'>other design works</span>\\n <span class='nav-desc'>in order to complete the design, often custom design is required. we created our own special furniture, storage unit and prints to compliment your space perfectly</span>\\n </a>\\n\\n </div>\\n\\n </div>\\n <app-footer></app-footer>\\n\\n</div>\"","import { Component, OnInit } from '@angular/core';\nimport {Router, NavigationEnd, NavigationStart} from '@angular/router';\n\n@Component({\n selector: 'app-main-page',\n templateUrl: './main-page.component.html',\n styleUrls: ['./main-page.component.css']\n})\nexport class MainPageComponent implements OnInit {\n\n url = '';\n title = 'Woa';\n\n constructor(\n private router: Router\n ) {\n this.router.events.subscribe(e => {\n if(e instanceof NavigationEnd){\n this.url = e.url;\n }\n });\n }\n\n ngOnInit() {\n }\n\n isDesignPage(){\n return (this.url === '/design-works') ? true : false;\n }\n\n isAboutPage(){\n return (this.url === '/about') ? true : false;\n }\n\n isContactPage(){\n return (this.url === '/contact') ? true : false;\n }\n\n}\n","module.exports = \".main-nav{\\n display: flex;\\n flex-direction: row;\\n border: solid 1px black;\\n}\\n\\n.sub-nav{\\n display: flex;\\n flex-direction: row;\\n position: absolute;\\n}\\n\\n.sub-main-nav{\\n max-height: 0;\\n margin-top: -1px;\\n overflow: hidden;\\n transition: none;\\n}\\n\\n.sub-arch-nav,\\n.sub-interior-nav {\\n max-width: 0;\\n overflow: hidden;\\n transition: none;\\n margin-left: -1px;\\n max-height: 35vh;\\n height: 0;\\n}\\n\\n.sub-interior-nav{\\n margin-left: 0;\\n}\\n\\n.nav-btn{\\n width: 172px;\\n min-height: 34px;\\n padding-left: 0px;\\n box-sizing: border-box;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n text-decoration: none;\\n color: black;\\n}\\n\\n.nav-btn.active,\\n.nav-btn:hover {\\n cursor: pointer;\\n border: solid;\\n border-color: black;\\n\\n}\\n\\n.nav-btn.active:nth-of-type(1),\\n.nav-btn:nth-of-type(1):hover{\\n padding-left: 1px;\\n border-width: 1px 2px 1px 1px;\\n}\\n\\n.nav-btn.active:nth-of-type(2),\\n.nav-btn:nth-of-type(2):hover{\\n border-width: 1px 2px;\\n}\\n\\n.nav-btn.active:nth-of-type(3),\\n.nav-btn:nth-of-type(3):hover{\\n padding-right: 1px;\\n border-width: 1px 1px 1px 2px;\\n}\\n\\n.nav-sub-btn{\\n padding: 1px 10px;\\n width: 200px;\\n min-height: 30px;\\n display: flex;\\n box-sizing: border-box;\\n justify-content: center;\\n align-items: center;\\n background-color: #E5DACD;\\n text-decoration: none;\\n color: black;\\n}\\n\\n.sub-main-nav > .nav-sub-btn{\\n border-left: solid 1px black;\\n border-right: solid 1px black;\\n}\\n\\n.sub-main-nav > .nav-sub-btn:nth-child(1){\\n border-top: solid 1px black;\\n}\\n\\n.sub-arch-nav > .nav-sub-btn,\\n.sub-interior-nav > .nav-sub-btn {\\n width: 300px;\\n border-left: solid 1px black;\\n border-right: solid 1px black;\\n}\\n\\n.sub-arch-nav > .nav-sub-btn:nth-last-child(1),\\n.sub-interior-nav > .nav-sub-btn:nth-last-child(1) {\\n border-bottom: solid 1px black;\\n}\\n\\n.nav-sub-btn:hover{\\n border-left: solid 1px black !important;\\n background-color: #aaaaaa;\\n cursor: pointer;\\n}\\n\\n.sub-main-nav > .nav-sub-btn{\\n border-right: solid 1px black;\\n border-left: solid 1px black;\\n}\\n\\n.sub-main-nav > .nav-sub-btn:nth-last-child(1){\\n border-bottom: solid 1px black;\\n}\\n\\n.sub-main-nav.show{\\n max-height: 120px;\\n height: auto;\\n transition: max-height 0.3s ease-in-out;\\n}\\n\\n.sub-arch-nav.show::-webkit-scrollbar,\\n.sub-interior-nav.show::-webkit-scrollbar {\\n width: 0;\\n}\\n\\n.sub-arch-nav.show,\\n.sub-interior-nav.show {\\n height: auto;\\n max-width: 300px;\\n overflow-y: scroll;\\n\\n scrollbar-width: none; /* Firefox */\\n -ms-overflow-style: none; /* IE 10+ */\\n\\n transition: max-width 0.3s ease-in-out;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9uYXZpZ2F0b3IvbmF2aWdhdG9yLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0FBQ3BCOztBQUVBOztJQUVJLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsU0FBUztBQUNiOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTtJQUNJLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLHNCQUFzQjtJQUN0QixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsWUFBWTtBQUNoQjs7QUFFQTs7SUFFSSxlQUFlO0lBQ2YsYUFBYTtJQUNiLG1CQUFtQjs7QUFFdkI7O0FBRUE7O0lBRUksaUJBQWlCO0lBQ2pCLDZCQUE2QjtBQUNqQzs7QUFFQTs7SUFFSSxxQkFBcUI7QUFDekI7O0FBRUE7O0lBRUksa0JBQWtCO0lBQ2xCLDZCQUE2QjtBQUNqQzs7QUFHQTtJQUNJLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIscUJBQXFCO0lBQ3JCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSw0QkFBNEI7SUFDNUIsNkJBQTZCO0FBQ2pDOztBQUVBO0lBQ0ksMkJBQTJCO0FBQy9COztBQUlBOztJQUVJLFlBQVk7SUFDWiw0QkFBNEI7SUFDNUIsNkJBQTZCO0FBQ2pDOztBQUdBOztJQUVJLDhCQUE4QjtBQUNsQzs7QUFFQTtJQUNJLHVDQUF1QztJQUN2Qyx5QkFBeUI7SUFDekIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLDZCQUE2QjtJQUM3Qiw0QkFBNEI7QUFDaEM7O0FBRUE7SUFDSSw4QkFBOEI7QUFDbEM7O0FBSUE7SUFDSSxpQkFBaUI7SUFDakIsWUFBWTtJQUNaLHVDQUF1QztBQUMzQzs7QUFFQTs7SUFFSSxRQUFRO0FBQ1o7O0FBRUE7O0lBRUksWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixrQkFBa0I7O0lBRWxCLHFCQUFxQixFQUFFLFlBQVk7SUFDbkMsd0JBQXdCLEdBQUcsV0FBVzs7SUFFdEMsc0NBQXNDO0FBQzFDIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9uYXZpZ2F0b3IvbmF2aWdhdG9yLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWFpbi1uYXZ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGJvcmRlcjogc29saWQgMXB4IGJsYWNrO1xufVxuXG4uc3ViLW5hdntcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uc3ViLW1haW4tbmF2e1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5zdWItYXJjaC1uYXYsXG4uc3ViLWludGVyaW9yLW5hdiB7XG4gICAgbWF4LXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBtYXgtaGVpZ2h0OiAzNXZoO1xuICAgIGhlaWdodDogMDtcbn1cblxuLnN1Yi1pbnRlcmlvci1uYXZ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5uYXYtYnRue1xuICAgIHdpZHRoOiAxNzJweDtcbiAgICBtaW4taGVpZ2h0OiAzNHB4O1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogYmxhY2s7XG59XG5cbi5uYXYtYnRuLmFjdGl2ZSxcbi5uYXYtYnRuOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IGJsYWNrO1xuXG59XG5cbi5uYXYtYnRuLmFjdGl2ZTpudGgtb2YtdHlwZSgxKSxcbi5uYXYtYnRuOm50aC1vZi10eXBlKDEpOmhvdmVye1xuICAgIHBhZGRpbmctbGVmdDogMXB4O1xuICAgIGJvcmRlci13aWR0aDogMXB4IDJweCAxcHggMXB4O1xufVxuXG4ubmF2LWJ0bi5hY3RpdmU6bnRoLW9mLXR5cGUoMiksXG4ubmF2LWJ0bjpudGgtb2YtdHlwZSgyKTpob3ZlcntcbiAgICBib3JkZXItd2lkdGg6IDFweCAycHg7XG59XG5cbi5uYXYtYnRuLmFjdGl2ZTpudGgtb2YtdHlwZSgzKSxcbi5uYXYtYnRuOm50aC1vZi10eXBlKDMpOmhvdmVye1xuICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDJweDtcbn1cblxuXG4ubmF2LXN1Yi1idG57XG4gICAgcGFkZGluZzogMXB4IDEwcHg7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1REFDRDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGJsYWNrO1xufVxuXG4uc3ViLW1haW4tbmF2ID4gLm5hdi1zdWItYnRue1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggYmxhY2s7XG4gICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggYmxhY2s7XG59XG5cbi5zdWItbWFpbi1uYXYgPiAubmF2LXN1Yi1idG46bnRoLWNoaWxkKDEpe1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCBibGFjaztcbn1cblxuXG5cbi5zdWItYXJjaC1uYXYgPiAubmF2LXN1Yi1idG4sXG4uc3ViLWludGVyaW9yLW5hdiA+IC5uYXYtc3ViLWJ0biB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggYmxhY2s7XG4gICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggYmxhY2s7XG59XG5cblxuLnN1Yi1hcmNoLW5hdiA+IC5uYXYtc3ViLWJ0bjpudGgtbGFzdC1jaGlsZCgxKSxcbi5zdWItaW50ZXJpb3ItbmF2ID4gLm5hdi1zdWItYnRuOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggYmxhY2s7XG59XG5cbi5uYXYtc3ViLWJ0bjpob3ZlcntcbiAgICBib3JkZXItbGVmdDogc29saWQgMXB4IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FhYWFhYTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zdWItbWFpbi1uYXYgPiAubmF2LXN1Yi1idG57XG4gICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggYmxhY2s7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCBibGFjaztcbn1cblxuLnN1Yi1tYWluLW5hdiA+IC5uYXYtc3ViLWJ0bjpudGgtbGFzdC1jaGlsZCgxKXtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggYmxhY2s7XG59XG5cblxuXG4uc3ViLW1haW4tbmF2LnNob3d7XG4gICAgbWF4LWhlaWdodDogMTIwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLnN1Yi1hcmNoLW5hdi5zaG93Ojotd2Via2l0LXNjcm9sbGJhcixcbi5zdWItaW50ZXJpb3ItbmF2LnNob3c6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogMDtcbn1cblxuLnN1Yi1hcmNoLW5hdi5zaG93LFxuLnN1Yi1pbnRlcmlvci1uYXYuc2hvdyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAgLyogSUUgMTArICovXG5cbiAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC4zcyBlYXNlLWluLW91dDtcbn1cbiJdfQ== */\"","module.exports = \"<div class='navigator'>\\n <div class=\\\"main-nav\\\">\\n <a\\n class=\\\"nav-btn\\\"\\n [ngClass]=\\\"{'active': isMainNavActive('design-works')}\\\"\\n (mouseover)=\\\"mainNavHover()\\\"\\n (mouseout)=\\\"mainNavHover()\\\"\\n routerLink=\\\"/design-works\\\"\\n >\\n DESIGN WORKS\\n </a>\\n <a\\n class=\\\"nav-btn\\\"\\n [ngClass]=\\\"{'active': isMainNavActive('about')}\\\"\\n routerLink=\\\"/about\\\"\\n >\\n ABOUT\\n </a>\\n <a\\n class=\\\"nav-btn\\\"\\n [ngClass]=\\\"{'active': isMainNavActive('contact')}\\\"\\n routerLink=\\\"/contact\\\"\\n >\\n CONTACT\\n </a>\\n </div>\\n\\n <div class=\\\"sub-nav\\\">\\n <div\\n class=\\\"sub-main-nav\\\"\\n [ngClass]=\\\"{'show': isSubNavVisible()}\\\"\\n (mouseover)=\\\"subNavHover()\\\"\\n (mouseout)=\\\"subNavHover()\\\"\\n >\\n <a\\n class=\\\"nav-sub-btn\\\"\\n (mouseover)=\\\"archNavHover()\\\"\\n (mouseout)=\\\"archNavHover()\\\"\\n routerLink=\\\"/architecture\\\"\\n >\\n ARCHITECTURE\\n </a>\\n <a\\n class=\\\"nav-sub-btn\\\"\\n (mouseover)=\\\"interiorNavHover()\\\"\\n (mouseout)=\\\"interiorNavHover()\\\"\\n routerLink=\\\"/interior\\\"\\n >\\n INTERIOR DESIGN\\n </a>\\n <a class=\\\"nav-sub-btn\\\">OTHER DESIGN WORKS</a>\\n </div>\\n <a\\n class=\\\"sub-arch-nav\\\"\\n [ngClass]=\\\"{'show': isArchNavVisible()}\\\"\\n (mouseover)=\\\"archNavHover()\\\"\\n (mouseout)=\\\"archNavHover()\\\"\\n >\\n <a\\n class='nav-sub-btn'\\n *ngFor='let architectProject of architectProjects'\\n >\\n {{architectProject.title}}\\n </a>\\n\\n\\n <!-- <a class=\\\"nav-sub-btn\\\">MOROTAI PEARL</a>\\n <a class=\\\"nav-sub-btn\\\">LAKE TOBA</a>\\n <a class=\\\"nav-sub-btn\\\">REVITALIZE INDO ALAM SARI</a>\\n <a class=\\\"nav-sub-btn\\\">SHIFTED HOUSE</a>\\n <a class=\\\"nav-sub-btn\\\">COFFEE HOURS</a>\\n <a class=\\\"nav-sub-btn\\\">LIGHT SOHO</a>\\n <a class=\\\"nav-sub-btn\\\">THE HILLS</a>\\n <a class=\\\"nav-sub-btn\\\">CIBUBUR TOWNHOUSE</a>\\n <a class=\\\"nav-sub-btn\\\">MOROTAI LIGHTHOUSE</a>\\n <a class=\\\"nav-sub-btn\\\">LAKE TOBA FINEST FISHMONGER</a> -->\\n </a>\\n <a\\n class=\\\"sub-interior-nav\\\"\\n [ngClass]=\\\"{'show': isInteriorNavVisible()}\\\"\\n (mouseover)=\\\"interiorNavHover()\\\"\\n (mouseout)=\\\"interiorNavHover()\\\"\\n >\\n <a\\n class='nav-sub-btn'\\n *ngFor='let interiorProject of interiorProjects'\\n >\\n {{interiorProject.title}}\\n </a>\\n <!-- <a class=\\\"nav-sub-btn\\\">PAKUBUWONO APARTMENT</a>\\n <a class=\\\"nav-sub-btn\\\">SENAYAN TOWNHOUSE</a>\\n <a class=\\\"nav-sub-btn\\\">SAUMATA APARTMENT</a>\\n <a class=\\\"nav-sub-btn\\\">7-15</a>\\n <a class=\\\"nav-sub-btn\\\">THE PEAK</a>\\n <a class=\\\"nav-sub-btn\\\">MADIUN RESIDENCE</a>\\n <a class=\\\"nav-sub-btn\\\">OASIS MANSION</a>\\n <a class=\\\"nav-sub-btn\\\">RANCAMAYA RESIDENCE</a>\\n <a class=\\\"nav-sub-btn\\\">KERAWANG RESIDENCE</a>\\n <a class=\\\"nav-sub-btn\\\">SAUMATA PENTHOUSE</a> -->\\n </a>\\n </div>\\n</div>\"","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router, NavigationStart, NavigationEnd } from '@angular/router';\nimport { ApiServicesService } from './../../services/api-services.service';\n\nimport {Project} from './../../interfaces/project';\nimport { ProjectServiceService } from 'src/app/services/project-service.service';\nimport { Subscription } from 'rxjs';\n\n\n@Component({\n selector: 'app-navigator',\n templateUrl: './navigator.component.html',\n styleUrls: ['./navigator.component.css']\n})\n\nexport class NavigatorComponent implements OnInit {\n isMainNavHover = false;\n isSubNavHover = false;\n isArchNavHover = false;\n isInteriorNavHover = false;\n url;\n\n architectProjects : Project[];\n interiorProjects : Project[];\n\n ArchitectProjectSub : Subscription;\n InteriorProjectSub : Subscription;\n\n constructor(\n private router: Router,\n private projectService: ProjectServiceService\n ) {\n this.router.events.subscribe(e => {\n if(e instanceof NavigationEnd){\n this.url = e.url;\n }\n });\n\n this.ArchitectProjectSub = this.projectService.getContent('architecture', 'project')\n .subscribe((val) => {\n this.architectProjects = val;\n });\n\n this.InteriorProjectSub = this.projectService.getContent('interior', 'project')\n .subscribe((val) => {\n this.interiorProjects = val;\n });\n }\n\n ngOnInit() {\n }\n\n mainNavHover(){\n this.isMainNavHover = !this.isMainNavHover;\n }\n\n subNavHover(){\n this.isSubNavHover = !this.isSubNavHover;\n }\n\n archNavHover(){\n this.isArchNavHover = !this.isArchNavHover;\n }\n\n interiorNavHover(){\n this.isInteriorNavHover = !this.isInteriorNavHover;\n }\n\n isSubNavVisible(){\n if(this.isMainNavHover || this.isSubNavHover || this.isArchNavHover || this.isInteriorNavHover){\n return true;\n } else {\n return false;\n }\n }\n\n isArchNavVisible(){\n return this.isArchNavHover;\n }\n\n isInteriorNavVisible(){\n return this.isInteriorNavHover;\n }\n\n isMainNavActive(type){\n if(this.url === '') return false;\n\n if (this.url === '/' + type){\n return true;\n }\n\n return false;\n }\n}\n","module.exports = \".page{\\n background-color: #ECE8E0;\\n height: 200%;\\n}\\n\\n.header{\\n background-color: #E5DACD;\\n position: fixed;\\n height: 60px;\\n width: 100%;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n z-index: 3;\\n}\\n\\n.logo{\\n box-sizing: border-box;\\n height: 36px;\\n padding: 0 10px;\\n font-size: 0.6em;\\n justify-content: flex-end;\\n display: flex;\\n flex-basis: 180px;\\n white-space: pre-wrap;\\n cursor: pointer;\\n text-decoration: none;\\n color: black;\\n}\\n\\n.header-filler{\\n height: 60px;\\n width:100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLHlCQUF5QjtJQUN6QixZQUFZO0FBQ2hCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLGVBQWU7SUFDZixZQUFZO0lBQ1osV0FBVztJQUNYLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLFVBQVU7QUFDZDs7QUFFQTtJQUNJLHNCQUFzQjtJQUN0QixZQUFZO0lBQ1osZUFBZTtJQUNmLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixxQkFBcUI7SUFDckIsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFVBQVU7QUFDZCIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcGFnZS9wYWdlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIucGFnZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNFOEUwO1xuICAgIGhlaWdodDogMjAwJTtcbn1cblxuLmhlYWRlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTVEQUNEO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogMztcbn1cblxuLmxvZ297XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC42ZW07XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtYmFzaXM6IDE4MHB4O1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBibGFjaztcbn1cblxuLmhlYWRlci1maWxsZXJ7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHdpZHRoOjEwMCU7XG59Il19 */\"","module.exports = \"<div class='header'>\\n <a class='logo' routerLink=\\\"\\\">\\n an <b>atelier</b> for <b>architectural design</b>\\n </a>\\n <app-navigator></app-navigator>\\n</div>\\n<div class='header-filler'>\\n</div>\\n<router-outlet></router-outlet>\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.css']\n})\n\n@Component({\n selector: 'app-navigator',\n templateUrl: './../navigator/navigator.component.html',\n styleUrls: ['./../navigator/navigator.component.css'],\n})\n\nexport class PageComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-project',\n template: `\n <p>\n project works!\n </p>\n `,\n styles: []\n})\nexport class ProjectComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"@font-face {\\n font-family: ostrichFont;\\n src: url('OstrichSans-Black.otf');\\n}\\n\\n\\n.sub-page{\\n background-color: #ECE8E0;\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n min-height: calc(100vh - 60px);\\n}\\n\\n\\n.content{\\n height: 530px;\\n width: 100%;\\n display: flex;\\n}\\n\\n\\n.content-title{\\n height: 370px;\\n background-color: #f0f0f0;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n\\n.main{\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: space-evenly;\\n height: 70%;\\n}\\n\\n\\n.title{\\n font-size: 2em;\\n font-family: ostrichFont;\\n}\\n\\n\\n.content-showcase{\\n width: 100%;\\n}\\n\\n\\n.content-project{\\n width: 50%;\\n justify-content: flex-end;\\n text-align: right;\\n}\\n\\n\\n.content-project:nth-child(3n){\\n justify-content: flex-start;\\n text-align: left;\\n}\\n\\n\\n.content-footer{\\n width: 100%;\\n height: auto;\\n}\\n\\n\\n.content-project.show{\\n -webkit-animation-name: fade;\\n animation-name: fade;\\n -webkit-animation-duration: 1s;\\n animation-duration: 1s;\\n}\\n\\n\\n.content-showcase.show{\\n -webkit-animation-name: fade;\\n animation-name: fade;\\n -webkit-animation-duration: 1s;\\n animation-duration: 1s;\\n}\\n\\n\\n.content-last-odd{\\n margin: auto;\\n}\\n\\n\\n.filter{\\n position: absolute;\\n width: 50%;\\n height: 530px;\\n}\\n\\n\\n.filter-color{\\n background-color: #E5DACD;\\n opacity: 0.5;\\n transition: opacity 0.5s ease-in-out;\\n}\\n\\n\\n.filter-hoverable{\\n z-index: 2;\\n cursor: pointer;\\n}\\n\\n\\n.filter-hoverable:hover ~ .filter-color{\\n opacity: 0;\\n}\\n\\n\\n.desc{\\n z-index: 1;\\n display: flex;\\n box-sizing: border-box;\\n width: 50%;\\n padding: 5%;\\n flex-direction: column;\\n}\\n\\n\\n.desc-title{\\n font-weight: 700;\\n font-size: 1.2em;\\n line-height: 3;\\n}\\n\\n\\n@-webkit-keyframes fade-project{\\n from {opacity: 0;}\\n to {opacity: 0.4;}\\n}\\n\\n\\n@keyframes fade-project{\\n from {opacity: 0;}\\n to {opacity: 0.4;}\\n}\\n\\n\\n@-webkit-keyframes fade-showcase{\\n from {opacity: 0;}\\n to {opacity: 1;}\\n}\\n\\n\\n@keyframes fade-showcase{\\n from {opacity: 0;}\\n to {opacity: 1;}\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9zdWItcGFnZS9zdWItcGFnZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksd0JBQXdCO0lBQ3hCLGlDQUFzRDtBQUMxRDs7O0FBR0E7SUFDSSx5QkFBeUI7SUFDekIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsOEJBQThCO0FBQ2xDOzs7QUFFQTtJQUNJLGFBQWE7SUFDYixXQUFXO0lBQ1gsYUFBYTtBQUNqQjs7O0FBRUE7SUFDSSxhQUFhO0lBQ2IseUJBQXlCO0lBQ3pCLG1CQUFtQjtJQUNuQix1QkFBdUI7QUFDM0I7OztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsNkJBQTZCO0lBQzdCLFdBQVc7QUFDZjs7O0FBRUE7SUFDSSxjQUFjO0lBQ2Qsd0JBQXdCO0FBQzVCOzs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7O0FBRUE7SUFDSSxVQUFVO0lBQ1YseUJBQXlCO0lBQ3pCLGlCQUFpQjtBQUNyQjs7O0FBRUE7SUFDSSwyQkFBMkI7SUFDM0IsZ0JBQWdCO0FBQ3BCOzs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0FBQ2hCOzs7QUFFQTtJQUNJLDRCQUFvQjtZQUFwQixvQkFBb0I7SUFDcEIsOEJBQXNCO1lBQXRCLHNCQUFzQjtBQUMxQjs7O0FBRUE7SUFDSSw0QkFBb0I7WUFBcEIsb0JBQW9CO0lBQ3BCLDhCQUFzQjtZQUF0QixzQkFBc0I7QUFDMUI7OztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLGFBQWE7QUFDakI7OztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixvQ0FBb0M7QUFDeEM7OztBQUVBO0lBQ0ksVUFBVTtJQUNWLGVBQWU7QUFDbkI7OztBQUVBO0lBQ0ksVUFBVTtBQUNkOzs7QUFFQTtJQUNJLFVBQVU7SUFDVixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLFVBQVU7SUFDVixXQUFXO0lBQ1gsc0JBQXNCO0FBQzFCOzs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsY0FBYztBQUNsQjs7O0FBRUE7SUFDSSxNQUFNLFVBQVUsQ0FBQztJQUNqQixJQUFJLFlBQVksQ0FBQztBQUNyQjs7O0FBSEE7SUFDSSxNQUFNLFVBQVUsQ0FBQztJQUNqQixJQUFJLFlBQVksQ0FBQztBQUNyQjs7O0FBRUE7SUFDSSxNQUFNLFVBQVUsQ0FBQztJQUNqQixJQUFJLFVBQVUsQ0FBQztBQUNuQjs7O0FBSEE7SUFDSSxNQUFNLFVBQVUsQ0FBQztJQUNqQixJQUFJLFVBQVUsQ0FBQztBQUNuQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc3ViLXBhZ2Uvc3ViLXBhZ2UuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBvc3RyaWNoRm9udDtcbiAgICBzcmM6IHVybCguLy4uLy4uLy4uL2Fzc2V0cy9mb250L09zdHJpY2hTYW5zLUJsYWNrLm90Zik7XG59XG5cblxuLnN1Yi1wYWdle1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0U4RTA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjBweCk7XG59XG5cbi5jb250ZW50e1xuICAgIGhlaWdodDogNTMwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmNvbnRlbnQtdGl0bGV7XG4gICAgaGVpZ2h0OiAzNzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tYWlue1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgIGhlaWdodDogNzAlO1xufVxuXG4udGl0bGV7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgZm9udC1mYW1pbHk6IG9zdHJpY2hGb250O1xufVxuXG4uY29udGVudC1zaG93Y2FzZXtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbnRlbnQtcHJvamVjdHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jb250ZW50LXByb2plY3Q6bnRoLWNoaWxkKDNuKXtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmNvbnRlbnQtZm9vdGVye1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmNvbnRlbnQtcHJvamVjdC5zaG93e1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG59XG5cbi5jb250ZW50LXNob3djYXNlLnNob3d7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGU7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbn1cblxuLmNvbnRlbnQtbGFzdC1vZGR7XG4gICAgbWFyZ2luOiBhdXRvO1xufVxuXG4uZmlsdGVye1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogNTMwcHg7XG59XG5cbi5maWx0ZXItY29sb3J7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U1REFDRDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UtaW4tb3V0O1xufVxuXG4uZmlsdGVyLWhvdmVyYWJsZXtcbiAgICB6LWluZGV4OiAyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZpbHRlci1ob3ZlcmFibGU6aG92ZXIgfiAuZmlsdGVyLWNvbG9ye1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5kZXNje1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogNSU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmRlc2MtdGl0bGV7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGUtcHJvamVjdHtcbiAgICBmcm9tIHtvcGFjaXR5OiAwO31cbiAgICB0byB7b3BhY2l0eTogMC40O31cbn1cblxuQGtleWZyYW1lcyBmYWRlLXNob3djYXNle1xuICAgIGZyb20ge29wYWNpdHk6IDA7fVxuICAgIHRvIHtvcGFjaXR5OiAxO31cbn0iXX0= */\"","module.exports = \"<div class='sub-page'>\\n <div class='content content-title'>\\n <div class='main'>\\n <div class='title'>\\n {{title}}\\n </div>\\n <div class='description'>\\n {{description}}\\n </div>\\n </div>\\n </div>\\n\\n <div\\n class='content'\\n *ngFor='let content of contents; index as i'\\n [ngClass]=\\\"[isMainContent(i) ? 'content-project' : 'content-showcase', isLastOddMainContent(i) ? 'content-last-odd' : '']\\\"\\n [ngStyle]=\\\"isMainContent(i) ? getStyle(content, 'project') : getStyle(content, 'showcase')\\\"\\n [imgSrc]=\\\"isMainContent(i) ? content.mainImages[0].url : content.image\\\"\\n appDeferLoad\\n >\\n <div\\n class='filter filter-hoverable'\\n *ngIf='isMainContent(i)'\\n ></div>\\n <div\\n class='filter filter-color'\\n *ngIf='isMainContent(i)'\\n ></div>\\n <div\\n class='desc'\\n *ngIf='isMainContent(i)'\\n >\\n <span class='desc-title'>{{content.title}}</span>\\n <span class='desc-overall'>{{content.overall}}</span>\\n </div>\\n </div>\\n\\n <app-footer class='content content-footer'></app-footer>\\n</div>\\n\\n<!-- for loop i=0 i<1 i+2\\n item[i] ---\\n item[i+1] ---- -->\\n\"","import { Component, OnInit } from '@angular/core';\nimport { ApiServicesService } from './../../services/api-services.service';\n\n@Component({\n selector: 'app-sub-page',\n templateUrl: './sub-page.component.html',\n styleUrls: ['./sub-page.component.css']\n})\nexport class SubPageComponent implements OnInit {\n\n title = '';\n description = '';\n\n constructor() { }\n\n ngOnInit() {\n }\n\n isMainContent(index){\n index += 1;\n return (index%3!=0 || index==0);\n }\n\n getStyle(content, type){\n if(content === undefined) return;\n\n if(type === 'project'){\n return {\n 'background-size': 'cover',\n 'background-position': 'center'\n };\n } else {\n return {\n 'background-size': 'contain',\n 'background-repeat': 'no-repeat',\n 'background-position': 'center'\n };\n }\n }\n}\n","import { ElementRef, Directive, Renderer2, HostBinding, Input, AfterViewInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Directive({\n selector: '[appDeferLoad]'\n})\nexport class DeferLoadDirective implements AfterViewInit{\n @HostBinding('style.backgroundImage') srcAttr = null;\n @Input() imgSrc: string;\n\n placeholderImage = '/assets/data/1000-1000.png';\n\n constructor(\n private el: ElementRef,\n private sanitizer: DomSanitizer,\n private renderer: Renderer2\n ) {}\n\n ngAfterViewInit() {\n // this.srcAttr = this.sanitizer.bypassSecurityTrustStyle('url(\"' + this.placeholderImage + '\")');\n this.canLazyLoad() ? this.lazyLoadImage() : this.loadImage();\n }\n\n private canLazyLoad() {\n return window && 'IntersectionObserver' in window;\n }\n\n private lazyLoadImage() {\n const obs = new IntersectionObserver(entries => {\n entries.forEach(({ isIntersecting }) => {\n if (isIntersecting) {\n this.loadImage();\n obs.unobserve(this.el.nativeElement);\n }\n });\n });\n obs.observe(this.el.nativeElement);\n }\n\n private loadImage() {\n this.srcAttr = this.sanitizer.bypassSecurityTrustStyle('url(\"' + this.imgSrc + '\")');\n this.renderer.addClass(this.el.nativeElement, 'show');\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable, throwError, zip } from 'rxjs';\nimport { retry, catchError, map } from 'rxjs/operators';\nimport { Project } from './../interfaces/project';\nimport { Showcase } from '../interfaces/showcase';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ApiServicesService {\n constructor(\n private http: HttpClient,\n ) { }\n\n url : string = 'assets/data/';\n\n getConfig(){\n return this.http.get(this.url);\n }\n\n getProjects(type){\n if(type === 'architecture'){\n return this.http.get(this.url + 'architecture-project.json').toPromise();\n } else {\n return this.http.get(this.url + 'interior-project.json').toPromise();\n }\n }\n\n getShowcases(type){\n if(type === 'architecture'){\n return this.http.get(this.url + 'architecture-showcases.json').toPromise();\n } else {\n return this.http.get(this.url + 'interior-showcases.json').toPromise();\n }\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { ApiServicesService } from './api-services.service';\nimport { Project } from '../interfaces/project';\nimport { Showcase } from '../interfaces/showcase';\nimport { Subject, Observable, of, timer } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ProjectServiceService {\n architectureProjects : Project[];\n architectureShowcases : Showcase[];\n interiorProjects : Project[];\n interiorShowcases : Showcase[];\n\n architectureProjectSubject = new Subject<any[]>();\n architectureShowcaseSubject = new Subject<any[]>();\n interiorProjectSubject = new Subject<any[]>();\n interiorShowcaseSubject = new Subject<any[]>();\n\n constructor(\n private apiServices: ApiServicesService\n ) {\n // Set promises to load all projects and showcases json\n let promises = [];\n promises.push(this.apiServices.getProjects('architecture'));\n promises.push(this.apiServices.getProjects('interior'));\n promises.push(this.apiServices.getShowcases('architecture'));\n promises.push(this.apiServices.getShowcases('interior'));\n\n Promise.all(promises)\n .then(data => {\n this.architectureProjects = this.jsonToProjects(data[0]);\n this.interiorProjects = this.jsonToProjects(data[1]);\n this.architectureShowcases = this.jsonToShowcase(data[2]);\n this.interiorShowcases = this.jsonToShowcase(data[3]);\n })\n .then(() => {\n this.refreshData();\n })\n .catch((e) => {\n console.log(e);\n });\n }\n\n refreshData(){\n this.architectureProjectSubject.next(this.architectureProjects);\n this.architectureShowcaseSubject.next(this.architectureShowcases);\n this.interiorProjectSubject.next(this.interiorProjects);\n this.interiorShowcaseSubject.next(this.interiorShowcases);\n }\n\n getContent(page : String, type : String): Observable<any[]> {\n if(page === 'architecture'){\n if(type === 'project')\n return this.architectureProjectSubject.asObservable();\n else\n return this.architectureShowcaseSubject.asObservable();\n } else {\n if(type === 'project')\n return this.interiorProjectSubject.asObservable();\n else\n return this.interiorShowcaseSubject.asObservable();\n }\n }\n\n jsonToShowcase(data:any[]) : Showcase[]{\n let showcases : Showcase[] = [];\n data.forEach(value => {\n showcases.push(\n {\n 'type': value.type,\n 'image': value.url\n }\n );\n });\n return showcases;\n }\n\n jsonToProjects(data : any[]) : Project[]{\n let projects : Project[] = [];\n data.forEach(value => {\n projects.push(\n {\n 'id': value.id,\n 'title': value.title,\n 'description': value.description,\n 'overall': value.overall,\n 'mainImages': value.main_image,\n 'additionalImages': value.additional_image\n }\n );\n });\n return projects;\n }\n\n generatePageArray(type, main, secondary){\n let array = [];\n\n if(main === undefined || secondary === undefined){\n return;\n }\n\n // projects\n // if projects are odd => 2main 1sec 2main 1sec 1main\n //\n\n // For architecture and interior sub main page\n if(type === 'architecture' || type === 'interior'){\n\n for (let i = 0,j = 0; i < main.length; i++) {\n // Add secondary element for every 2 main element\n if(i % 2 == 0 && i != 0){\n console.log(\"adding showcase \" + j);\n array.push(secondary[j]);\n j++;\n }\n\n // Add main element if it's defined\n if(main[i] != undefined){\n console.log(\"adding projects \" + i);\n array.push(main[i]);\n }\n\n //\n if(i == main.length-1 && main.length%2==0 ){\n console.log(\"adding showcase \" + j);\n array.push(secondary[j]);\n j++;\n }\n }\n\n }\n\n return array;\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"sourceRoot":""}