diff --git a/alfa-client/apps/demo/src/app/app.component.html b/alfa-client/apps/demo/src/app/app.component.html index 756395e9b95d5b3bde3d2b1ba5df90ed3a1b714a..681f9c886673e68d0bbee15215eda57c628048eb 100644 --- a/alfa-client/apps/demo/src/app/app.component.html +++ b/alfa-client/apps/demo/src/app/app.component.html @@ -6,8 +6,24 @@ <div class="w-96 bg-slate-300 p-6"> <nav>NAV</nav> </div> - <main class="flex-auto bg-slate-200 p-6"> - <ozg-testbtn /> + <main class="flex-auto bg-slate-100 p-6"> + <app-bescheid-dialog /> + <hr class="mt-24" /> + <div>CDK Stepper</div> + <app-custom-stepper> + <cdk-step> + <div class="mb-4">Antrag bescheiden</div> + <p> + Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor + invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. + </p> + </cdk-step> + <cdk-step> + <div>Dokumente hinzufügen</div> + <p>sjdkflsd sdjsdsjdlfj</p> + </cdk-step> + </app-custom-stepper> + <router-outlet></router-outlet> </main> </div> diff --git a/alfa-client/apps/demo/src/app/app.component.ts b/alfa-client/apps/demo/src/app/app.component.ts index 4b0931b7dbeb43fa3b07961c6e326b7965cd64a2..8825936598e8d5963476f2fd3e4074b3b1cfb647 100644 --- a/alfa-client/apps/demo/src/app/app.component.ts +++ b/alfa-client/apps/demo/src/app/app.component.ts @@ -1,10 +1,23 @@ import { Component } from '@angular/core'; import { RouterModule } from '@angular/router'; +import { CdkStepperModule } from '@angular/cdk/stepper'; import { TestbtnComponent } from 'design-system'; +import { CustomStepperComponent } from './components/cdk-demo/custom-stepper.component'; +import { BescheidStepperComponent } from './components/bescheid-stepper/bescheid-stepper.component'; +import { BescheidDialogComponent } from './components/bescheid-dialog/bescheid-dialog.component'; +import { BescheidPaperComponent } from './components/bescheid-paper/bescheid-paper.component'; @Component({ standalone: true, - imports: [TestbtnComponent, RouterModule], + imports: [ + TestbtnComponent, + RouterModule, + CdkStepperModule, + CustomStepperComponent, + BescheidDialogComponent, + BescheidStepperComponent, + BescheidPaperComponent, + ], selector: 'app-root', templateUrl: './app.component.html', }) diff --git a/alfa-client/apps/demo/src/app/components/bescheid-dialog/bescheid-dialog.component.html b/alfa-client/apps/demo/src/app/components/bescheid-dialog/bescheid-dialog.component.html new file mode 100644 index 0000000000000000000000000000000000000000..7d6c9067d31bf809da50cd8d721bbc64c23f2cc9 --- /dev/null +++ b/alfa-client/apps/demo/src/app/components/bescheid-dialog/bescheid-dialog.component.html @@ -0,0 +1,7 @@ +<div class="relative flex h-full rounded-xl bg-neutral-200 px-6 py-10"> + <button class="absolute right-4 top-4">X</button> + <div class="flex flex-row gap-11"> + <app-bescheid-stepper class="flex w-2/3" /> + <app-bescheid-paper class="flex w-1/3" /> + </div> +</div> diff --git a/alfa-client/apps/demo/src/app/components/bescheid-dialog/bescheid-dialog.component.spec.ts b/alfa-client/apps/demo/src/app/components/bescheid-dialog/bescheid-dialog.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..3303218328ecd4bae3e39e8ef35ad7cc1b5a47bc --- /dev/null +++ b/alfa-client/apps/demo/src/app/components/bescheid-dialog/bescheid-dialog.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { BescheidDialogComponent } from './bescheid-dialog.component'; + +describe('BescheidDialogComponent', () => { + let component: BescheidDialogComponent; + let fixture: ComponentFixture<BescheidDialogComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [BescheidDialogComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(BescheidDialogComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/alfa-client/apps/demo/src/app/components/bescheid-dialog/bescheid-dialog.component.ts b/alfa-client/apps/demo/src/app/components/bescheid-dialog/bescheid-dialog.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..45cac030114e6b95068bc8c94d5fdea36d8e6eb8 --- /dev/null +++ b/alfa-client/apps/demo/src/app/components/bescheid-dialog/bescheid-dialog.component.ts @@ -0,0 +1,12 @@ +import { Component, HostBinding } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { BescheidPaperComponent } from '../bescheid-paper/bescheid-paper.component'; +import { BescheidStepperComponent } from '../bescheid-stepper/bescheid-stepper.component'; + +@Component({ + selector: 'app-bescheid-dialog', + standalone: true, + imports: [CommonModule, BescheidPaperComponent, BescheidStepperComponent], + templateUrl: './bescheid-dialog.component.html', +}) +export class BescheidDialogComponent {} diff --git a/alfa-client/apps/demo/src/app/components/bescheid-paper/bescheid-paper.component.html b/alfa-client/apps/demo/src/app/components/bescheid-paper/bescheid-paper.component.html new file mode 100644 index 0000000000000000000000000000000000000000..6f73dc9b6cd251c66b683c72658506a833cd6b8c --- /dev/null +++ b/alfa-client/apps/demo/src/app/components/bescheid-paper/bescheid-paper.component.html @@ -0,0 +1,14 @@ +<section class="w-full overflow-auto rounded-xl bg-white"> + <div class="px-6 py-6"> + <div class="text-ozgblue-800 my-2 text-base font-bold">Bescheid</div> + <p> + Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor + invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et + justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem + ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy + eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos + et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata + sanctus est Lorem ipsum dolor sit amet. + </p> + </div> +</section> diff --git a/alfa-client/apps/demo/src/app/components/bescheid-paper/bescheid-paper.component.spec.ts b/alfa-client/apps/demo/src/app/components/bescheid-paper/bescheid-paper.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..d6d84bf945dc829971c0bf75e1a352ea5bbf63eb --- /dev/null +++ b/alfa-client/apps/demo/src/app/components/bescheid-paper/bescheid-paper.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { BescheidPaperComponent } from './bescheid-paper.component'; + +describe('BescheidPaperComponent', () => { + let component: BescheidPaperComponent; + let fixture: ComponentFixture<BescheidPaperComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [BescheidPaperComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(BescheidPaperComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/alfa-client/apps/demo/src/app/components/bescheid-paper/bescheid-paper.component.ts b/alfa-client/apps/demo/src/app/components/bescheid-paper/bescheid-paper.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..736cb48d19618821a764f40293c19e62c28faf19 --- /dev/null +++ b/alfa-client/apps/demo/src/app/components/bescheid-paper/bescheid-paper.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +@Component({ + selector: 'app-bescheid-paper', + standalone: true, + imports: [CommonModule], + templateUrl: './bescheid-paper.component.html', +}) +export class BescheidPaperComponent {} diff --git a/alfa-client/apps/demo/src/app/components/bescheid-stepper/bescheid-stepper.component.html b/alfa-client/apps/demo/src/app/components/bescheid-stepper/bescheid-stepper.component.html new file mode 100644 index 0000000000000000000000000000000000000000..4dba806d92b09ab7dc78ed6092454a6b69c7b994 --- /dev/null +++ b/alfa-client/apps/demo/src/app/components/bescheid-stepper/bescheid-stepper.component.html @@ -0,0 +1,72 @@ +<div class="flex- flex flex-row gap-7"> + <div> + <div class="relative z-10 flex min-h-28 flex-col items-center"> + <div class="bg-ozgblue-800 -z-1 absolute bottom-0 top-2 w-1"></div> + <button class="z-10 flex"> + <span + class="flex size-10 items-center justify-center rounded-full border-transparent bg-transparent" + > + <span + class="bg-ozgblue-800 flex size-7 items-center justify-center rounded-full text-sm text-white" + > + 1 + </span> + </span> + </button> + </div> + <div class="relative z-10 flex min-h-28 flex-col items-center"> + <div class="-z-1 absolute bottom-0 top-2 w-1 bg-gray-400"></div> + <span class="z-10 flex"> + <span + class="border-ozgblue-800 flex size-10 items-center justify-center rounded-full border-4 bg-white" + > + <span + class="bg-ozgblue-800 flex size-7 items-center justify-center rounded-full text-sm text-white" + > + 2 + </span> + </span> + </span> + </div> + <div class="relative z-10 flex min-h-28 flex-col items-center"> + <div class="-z-1 absolute top-0 h-2 w-1 bg-gray-400"></div> + <span class="z-10 flex"> + <span + class="flex size-10 items-center justify-center rounded-full border-transparent bg-transparent" + > + <span + class="flex size-7 items-center justify-center rounded-full bg-gray-400 text-sm text-white" + > + 3 + </span> + </span> + </span> + </div> + </div> + <div> + <div class="min-h-28 flex-1"> + <button class="text-ozgblue-800 my-2 text-base font-bold">Antrag bescheiden</button> + </div> + <div class="min-h-36 flex-1"> + <div class="text-ozgblue-800 my-2 text-base font-bold">Dokumente hinzufügen</div> + <p> + Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor + invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam + et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est + Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed + diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam + voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd + gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. + </p> + <p> + Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor + invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam + et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est + Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed + diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam + voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd + gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. + </p> + </div> + </div> +</div> diff --git a/alfa-client/apps/demo/src/app/components/bescheid-stepper/bescheid-stepper.component.spec.ts b/alfa-client/apps/demo/src/app/components/bescheid-stepper/bescheid-stepper.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..bb9b5e5ede5e9eebfe36bd7945ab7b18ee10b5c8 --- /dev/null +++ b/alfa-client/apps/demo/src/app/components/bescheid-stepper/bescheid-stepper.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { BescheidStepperComponent } from './bescheid-stepper.component'; + +describe('BescheidStepperComponent', () => { + let component: BescheidStepperComponent; + let fixture: ComponentFixture<BescheidStepperComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [BescheidStepperComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(BescheidStepperComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/alfa-client/apps/demo/src/app/components/bescheid-stepper/bescheid-stepper.component.ts b/alfa-client/apps/demo/src/app/components/bescheid-stepper/bescheid-stepper.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..bc32f294ca2b8c3faec94b9a398d0beb2de27dec --- /dev/null +++ b/alfa-client/apps/demo/src/app/components/bescheid-stepper/bescheid-stepper.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +@Component({ + selector: 'app-bescheid-stepper', + standalone: true, + imports: [CommonModule], + templateUrl: './bescheid-stepper.component.html', +}) +export class BescheidStepperComponent {} diff --git a/alfa-client/apps/demo/src/app/components/cdk-demo/custom-stepper.component.html b/alfa-client/apps/demo/src/app/components/cdk-demo/custom-stepper.component.html new file mode 100644 index 0000000000000000000000000000000000000000..47ccf74a2d385df2712cb89e809ea03e3b6ce5b8 --- /dev/null +++ b/alfa-client/apps/demo/src/app/components/cdk-demo/custom-stepper.component.html @@ -0,0 +1,25 @@ +<div class="bg-slate-200 p-10"> + <section class="my-10 w-1/2 rounded-md bg-slate-300 p-6"> + <div class="flex min-h-52 gap-4"> + <div class="flex-0"> + <div class="text-ozgblue-300 bg-ozgblue-600 rounded-full border-4 p-2"> + {{ selectedIndex + 1 }} + </div> + </div> + <div class="flex-1"><div [ngTemplateOutlet]="selected ? selected.content : null"></div></div> + </div> + + <footer class="example-step-navigation-bar"> + <button cdkStepperPrevious> + <ozg-testbtn cdkStepperPrevious>zurück</ozg-testbtn> + </button> + <button cdkStepperNext> + <ozg-testbtn cdkStepperPrevious>weiter</ozg-testbtn> + </button> + </footer> + </section> + + <!-- Copyright 2024 Google LLC. All Rights Reserved. + Use of this source code is governed by an MIT-style license that + can be found in the LICENSE file at https://angular.io/license --> +</div> diff --git a/alfa-client/apps/demo/src/app/components/cdk-demo/custom-stepper.component.ts b/alfa-client/apps/demo/src/app/components/cdk-demo/custom-stepper.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..107fda7ed02b667e06e7cab3fec4cda3243db1fd --- /dev/null +++ b/alfa-client/apps/demo/src/app/components/cdk-demo/custom-stepper.component.ts @@ -0,0 +1,18 @@ +import { Component } from '@angular/core'; +import { CdkStepper, CdkStepperModule } from '@angular/cdk/stepper'; +import { NgTemplateOutlet } from '@angular/common'; +import { TestbtnComponent } from 'design-system'; + + +@Component({ + standalone: true, + selector: 'app-custom-stepper', + templateUrl: './custom-stepper.component.html', + providers: [{ provide: CdkStepper, useExisting: CustomStepperComponent }], + imports: [NgTemplateOutlet, CdkStepperModule, TestbtnComponent], +}) +export class CustomStepperComponent extends CdkStepper { + selectStepByIndex(index: number): void { + this.selectedIndex = index; + } +} diff --git a/alfa-client/libs/design-system/src/lib/testbtn/testbtn.component.ts b/alfa-client/libs/design-system/src/lib/testbtn/testbtn.component.ts index a96bff1339c67bd5e10dedbd5548dfd4306cd34a..72687de7e36279bd5f7ee5468ca024dfe8a55158 100644 --- a/alfa-client/libs/design-system/src/lib/testbtn/testbtn.component.ts +++ b/alfa-client/libs/design-system/src/lib/testbtn/testbtn.component.ts @@ -9,7 +9,7 @@ import { Component } from '@angular/core'; type="button" class="bg-ozgblue-700 hover:bg-ozgblue-600 focus-visible:outline-ozgblue-800 rounded-md px-3 py-2 text-sm font-semibold text-white shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2" > - Design-System Test Button + <ng-content></ng-content> </button>`, }) export class TestbtnComponent {} diff --git a/alfa-client/package.json b/alfa-client/package.json index 75db085e57c56c8299c6ccd254004b58724884c3..a31df2da907754a139d84079021c72e072e14596 100644 --- a/alfa-client/package.json +++ b/alfa-client/package.json @@ -5,7 +5,7 @@ "scripts": { "start": "nx run alfa:serve --port 4300 --disable-host-check", "start:admin": "nx run admin:serve --port 4300 --disable-host-check", - "start:demo": "nx run demo:serve --port 4320 --disable-host-check", + "start:demo": "nx run demo:serve --port 4500 --disable-host-check", "start:debug": "nx run alfa:serve --port 4300 --disable-host-check --verbose", "start-for-screenreader": "nx run alfa:serve --host 192.168.178.20 --port 4300 --disable-host-check --verbose", "start:devbe": "nx run alfa:serve --port 4300 --disable-host-check --proxy-config proxy.dev.conf.json --verbose",