diff --git a/package.json b/package.json index 5ad8be4..020c9db 100644 --- a/package.json +++ b/package.json @@ -32,14 +32,15 @@ "@sl-design-system/button-bar": "^1.2.0", "@sl-design-system/checkbox": "^2.1.0", "@sl-design-system/checklist": "^0.0.2", - "@sl-design-system/sanoma-learning": "^0.4.0", "@sl-design-system/form": "^1.2.0", "@sl-design-system/icon": "^1.1.0", "@sl-design-system/listbox": "^0.1.0", "@sl-design-system/radio-group": "^1.1.0", + "@sl-design-system/sanoma-learning": "^0.4.0", "@sl-design-system/select": "^2.0.0", "@sl-design-system/shared": "^0.5.0", "@sl-design-system/switch": "^1.1.0", + "@sl-design-system/tabs": "^1.1.2", "@sl-design-system/text-field": "^1.6.0", "@sl-design-system/textarea": "^0.1.24", "@webcomponents/scoped-custom-element-registry": "^0.0.10", diff --git a/src/app/app.component.html b/src/app/app.component.html index 21d8eb3..516b8d4 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -5,12 +5,6 @@
- -

Search result for {{query | json}}

@@ -19,8 +13,16 @@

Search result for {{query | json}}

- + - + + + {{ tab.label }} + + +
diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 4748f4f..8a9f080 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -3,24 +3,41 @@ import { Component, } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { RouterLink, RouterLinkActive, RouterOutlet } from '@angular/router'; +import { RouterLink, RouterLinkActive, RouterOutlet} from '@angular/router'; import { SearchComponent } from './search/search.component'; -import {AvatarComponent} from '@sl-design-system/angular/avatar'; +import { AvatarComponent} from '@sl-design-system/angular/avatar'; +import { TabComponent, TabGroupComponent } from '@sl-design-system/angular/tabs'; @Component({ selector: 'app-root', standalone: true, - imports: [CommonModule, RouterLink, RouterLinkActive, RouterOutlet, SearchComponent, AvatarComponent], + imports: [CommonModule, RouterLink, RouterLinkActive, RouterOutlet, SearchComponent, AvatarComponent, TabComponent, TabGroupComponent], templateUrl: './app.component.html', styleUrl: './app.component.css' }) export class AppComponent { query = ''; - results = Array.from(Array(5)).map((_, i) => i ); - constructor( - private ref: ChangeDetectorRef - ) {} + + results = Array.from(Array(5)).map((_, i) => i); + + tabs = [ + {path: '/home', label: 'Home'}, + {path: '/form', label: 'Form'}, + {path: '/icons', label: 'Icons'}, + {path: '/menu', label: 'Menu'}, + {path: '/dashboard', label: 'Dashboard'}, + {path: '/assignments', label: 'Assignments'}, + {path: '/grades', label: 'Grades'}, + {path: '/settings', label: 'Settings'} + ]; + + constructor(private ref: ChangeDetectorRef) {} + search(query: string) { this.query = query; } + + onTabChange(event: any) { + event.target.children[event.detail].click(); + } } diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index da2c009..4d041d1 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -1,20 +1,45 @@ import { Routes } from '@angular/router'; +import { AssignmentsComponent } from "./assignments/assignments.component"; import { HomeComponent } from './home/home.component'; import { FormExampleComponent } from './form/form.component'; import { IconsComponent } from './icons/icons.component'; +import { MenuComponent } from "./menu/menu.component"; +import { DashboardComponent } from "./dashboard/dashboard.component"; +import {GradesComponent} from "./grades/grades.component"; +import {SettingsComponent} from "./settings/settings.component"; export const routes: Routes = [ + { + path: 'assignments', + component: AssignmentsComponent + }, { path: 'home', component: HomeComponent }, + { + path: 'dashboard', + component: DashboardComponent + }, { path: 'form', component: FormExampleComponent }, + { + path: 'grades', + component: GradesComponent + }, { path: 'icons', component: IconsComponent }, + { + path: 'menu', + component: MenuComponent + }, + { + path: 'settings', + component: SettingsComponent + }, { path: '', redirectTo: '/home', pathMatch: 'full'} ]; diff --git a/src/app/assignments/assignments.component.css b/src/app/assignments/assignments.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/assignments/assignments.component.html b/src/app/assignments/assignments.component.html new file mode 100644 index 0000000..3c0191e --- /dev/null +++ b/src/app/assignments/assignments.component.html @@ -0,0 +1 @@ +

assignments works!

diff --git a/src/app/assignments/assignments.component.spec.ts b/src/app/assignments/assignments.component.spec.ts new file mode 100644 index 0000000..1061a5d --- /dev/null +++ b/src/app/assignments/assignments.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AssignmentsComponent } from './assignments.component'; + +describe('AssignmentsComponent', () => { + let component: AssignmentsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [AssignmentsComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(AssignmentsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/assignments/assignments.component.ts b/src/app/assignments/assignments.component.ts new file mode 100644 index 0000000..2d6afea --- /dev/null +++ b/src/app/assignments/assignments.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-assignments', + imports: [], + templateUrl: './assignments.component.html', + styleUrl: './assignments.component.css' +}) +export class AssignmentsComponent { + +} diff --git a/src/app/dashboard/dashboard.component.css b/src/app/dashboard/dashboard.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/dashboard/dashboard.component.html b/src/app/dashboard/dashboard.component.html new file mode 100644 index 0000000..9c5fce9 --- /dev/null +++ b/src/app/dashboard/dashboard.component.html @@ -0,0 +1 @@ +

dashboard works!

diff --git a/src/app/dashboard/dashboard.component.spec.ts b/src/app/dashboard/dashboard.component.spec.ts new file mode 100644 index 0000000..30e39a2 --- /dev/null +++ b/src/app/dashboard/dashboard.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DashboardComponent } from './dashboard.component'; + +describe('DashboardComponent', () => { + let component: DashboardComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [DashboardComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(DashboardComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/dashboard/dashboard.component.ts b/src/app/dashboard/dashboard.component.ts new file mode 100644 index 0000000..65db9aa --- /dev/null +++ b/src/app/dashboard/dashboard.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-dashboard', + imports: [], + templateUrl: './dashboard.component.html', + styleUrl: './dashboard.component.css' +}) +export class DashboardComponent { + +} diff --git a/src/app/grades/grades.component.css b/src/app/grades/grades.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/grades/grades.component.html b/src/app/grades/grades.component.html new file mode 100644 index 0000000..76613e7 --- /dev/null +++ b/src/app/grades/grades.component.html @@ -0,0 +1 @@ +

grades works!

diff --git a/src/app/grades/grades.component.spec.ts b/src/app/grades/grades.component.spec.ts new file mode 100644 index 0000000..fbdae50 --- /dev/null +++ b/src/app/grades/grades.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { GradesComponent } from './grades.component'; + +describe('GradesComponent', () => { + let component: GradesComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [GradesComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(GradesComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/grades/grades.component.ts b/src/app/grades/grades.component.ts new file mode 100644 index 0000000..98d038d --- /dev/null +++ b/src/app/grades/grades.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-grades', + imports: [], + templateUrl: './grades.component.html', + styleUrl: './grades.component.css' +}) +export class GradesComponent { + +} diff --git a/src/app/home/home.component.ts b/src/app/home/home.component.ts index b2721f5..dd65342 100644 --- a/src/app/home/home.component.ts +++ b/src/app/home/home.component.ts @@ -1,10 +1,9 @@ -import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import {Component, CUSTOM_ELEMENTS_SCHEMA, ViewChild} from '@angular/core'; import '@sl-design-system/checklist'; @Component({ selector: 'app-home', standalone: true, - imports: [], schemas: [CUSTOM_ELEMENTS_SCHEMA], templateUrl: './home.component.html', styleUrl: './home.component.css' diff --git a/src/app/settings/settings.component.css b/src/app/settings/settings.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/settings/settings.component.html b/src/app/settings/settings.component.html new file mode 100644 index 0000000..4ab2a41 --- /dev/null +++ b/src/app/settings/settings.component.html @@ -0,0 +1 @@ +

settings works!

diff --git a/src/app/settings/settings.component.spec.ts b/src/app/settings/settings.component.spec.ts new file mode 100644 index 0000000..82c748a --- /dev/null +++ b/src/app/settings/settings.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SettingsComponent } from './settings.component'; + +describe('SettingsComponent', () => { + let component: SettingsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [SettingsComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(SettingsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/settings/settings.component.ts b/src/app/settings/settings.component.ts new file mode 100644 index 0000000..8403591 --- /dev/null +++ b/src/app/settings/settings.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-settings', + imports: [], + templateUrl: './settings.component.html', + styleUrl: './settings.component.css' +}) +export class SettingsComponent { + +} diff --git a/src/main.ts b/src/main.ts index ea070f9..661f17c 100644 --- a/src/main.ts +++ b/src/main.ts @@ -11,6 +11,7 @@ import '@sl-design-system/icon/register.js'; import '@sl-design-system/checkbox/register.js'; import '@sl-design-system/form/register.js'; import '@sl-design-system/radio-group/register.js'; +import '@sl-design-system/tabs/register.js'; import '@sl-design-system/text-field/register.js'; import '@sl-design-system/textarea/register.js'; import '@sl-design-system/select/register.js';