;
+
+ beforeEach(async(() => {
+ return TestBed.configureTestingModule({
+ declarations: [DemoComponent],
+ imports: [HttpClientModule, SharedModule]
+ }).compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(DemoComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it("should create", () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/showcase/src/app/demo/demo.component.ts b/showcase/src/app/demo/demo.component.ts
new file mode 100644
index 0000000000..ff0d412841
--- /dev/null
+++ b/showcase/src/app/demo/demo.component.ts
@@ -0,0 +1,8 @@
+import { Component } from "@angular/core";
+
+@Component({
+ selector: "showcase-demo",
+ templateUrl: "./demo.component.html",
+ styleUrls: ["./demo.component.scss"]
+})
+export class DemoComponent {}
diff --git a/showcase/src/app/demo/index.ts b/showcase/src/app/demo/index.ts
new file mode 100644
index 0000000000..ced8212a57
--- /dev/null
+++ b/showcase/src/app/demo/index.ts
@@ -0,0 +1 @@
+export * from "./demo.component";
diff --git a/showcase/src/app/home/home.component.html b/showcase/src/app/home/home.component.html
index ad1d113ede..bebe0dba8d 100644
--- a/showcase/src/app/home/home.component.html
+++ b/showcase/src/app/home/home.component.html
@@ -1,8 +1,19 @@
-
SHOWCASE.HOME.TITLE
-
-
-
- Coming soon!
-
-
+
+
+
+
+ Angular Material components
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/showcase/src/app/home/home.component.pcss b/showcase/src/app/home/home.component.pcss
deleted file mode 100644
index f3b33aaced..0000000000
--- a/showcase/src/app/home/home.component.pcss
+++ /dev/null
@@ -1,9 +0,0 @@
-:root {
- --my-color: #00f;
-}
-
-div {
- & h4 {
- color: var(--my-color);
- }
-}
diff --git a/showcase/src/app/home/home.component.scss b/showcase/src/app/home/home.component.scss
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/showcase/src/app/home/home.component.ts b/showcase/src/app/home/home.component.ts
index c794454fbf..5c38ed7c40 100644
--- a/showcase/src/app/home/home.component.ts
+++ b/showcase/src/app/home/home.component.ts
@@ -6,7 +6,7 @@ import { AppState } from "../app.service";
@Component({
selector: "home", //
providers: [],
- styleUrls: ["./home.component.pcss"],
+ styleUrls: ["./home.component.scss"],
templateUrl: "./home.component.html"
})
export class HomeComponent implements OnInit {
diff --git a/showcase/src/app/shared/example-viewer/_example-viewer-theme.scss b/showcase/src/app/shared/example-viewer/_example-viewer-theme.scss
new file mode 100644
index 0000000000..04d2337581
--- /dev/null
+++ b/showcase/src/app/shared/example-viewer/_example-viewer-theme.scss
@@ -0,0 +1,101 @@
+example-viewer {
+ .example-viewer-wrapper {
+ background-color: #fff;
+ margin: 4px;
+ }
+ .example-viewer-title {
+ color: #fff;
+ background-color: mat-color(map-get($base-theme, primary-palette), 700);
+ }
+ .mat-tab-body {
+ background-color: mat-color($mat-light-theme-background, card);
+ }
+ .example-viewer-body {
+ background-color: mat-color($mat-light-theme-background, card);
+ }
+ .example-source code {
+ font-family: mat-font-family($typography-config);
+ font-size: 15px;
+ line-height: 24px;
+ }
+ .example-source {
+ border-bottom: 1px solid mat-color($mat-light-theme-foreground, divider);
+ overflow-x: scroll;
+ }
+
+ .hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 1em;
+ background: #fafafa;
+ color: #37474f;
+ -webkit-font-smoothing: antialiased;
+ text-size-adjust: 100%;
+ font: 300 100%/1 Roboto Mono, monospace;
+ font-size: 14px;
+ }
+ .hljs > *::selection,
+ .hljs-section {
+ background-color: #d6edea;
+ }
+ .hljs-comment {
+ color: #b0bec5;
+ font-style: italic;
+ }
+ .hljs-tag,
+ .hljs-selector-tag,
+ .hljs-regexp,
+ .hljs-meta {
+ color: #9c27b0;
+ }
+ .hljs-string,
+ .hljs-subst {
+ color: #0d904f;
+ }
+ .hljs-number,
+ .hljs-variable,
+ .hljs-template-variable {
+ color: #80cbc4;
+ }
+ .hljs-name,
+ .hljs-keyword,
+ .hljs-type,
+ .hljs-attribute {
+ color: #3b78e7;
+ }
+ .hljs-title,
+ .hljs-function > .hljs-title,
+ .hljs-symbol,
+ .hljs-bullet,
+ .hljs-built_in,
+ .hljs-builtin-name,
+ .hljs-link {
+ color: #6182b8;
+ }
+ .hljs-params {
+ color: #d81b60;
+ }
+ .hljs-addition {
+ color: #3b78e7;
+ display: inline-block;
+ width: 100%;
+ }
+ .hljs-deletion {
+ color: #e53935;
+ display: inline-block;
+ width: 100%;
+ }
+ .hljs-selector-id,
+ .hljs-selector-class {
+ color: #8796b0;
+ }
+ .hljs-emphasis {
+ font-style: italic;
+ }
+ .hljs-strong {
+ font-weight: bold;
+ }
+ .hljs-link {
+ text-decoration: underline;
+ }
+}
diff --git a/showcase/src/app/shared/example-viewer/example-viewer.component.ts b/showcase/src/app/shared/example-viewer/example-viewer.component.ts
new file mode 100644
index 0000000000..66b56b54e2
--- /dev/null
+++ b/showcase/src/app/shared/example-viewer/example-viewer.component.ts
@@ -0,0 +1,47 @@
+import { Component, OnInit, Input } from "@angular/core";
+import { HttpErrorResponse } from "@angular/common/http";
+import { FileService } from "./file.service";
+
+@Component({
+ selector: "example-viewer",
+ templateUrl: "./example-viewer.html",
+ styleUrls: ["./example-viewer.scss"],
+ providers: [FileService]
+})
+export class ExampleViewerComponent implements OnInit {
+ @Input() public extensions: Array = ["HTML", "TS", "CSS"];
+ @Input() public filesPath: string;
+ @Input() public title: string;
+
+ public filesContent: Array