From da38676847ea942adb9e859c90efd18324409a3e Mon Sep 17 00:00:00 2001 From: itsscb Date: Tue, 4 Mar 2025 23:05:45 +0100 Subject: [PATCH] feat: add email field component with styling and basic functionality --- .../email-field/email-field.component.css | 17 ++++++++++++++ .../email-field/email-field.component.html | 1 + .../email-field/email-field.component.spec.ts | 23 +++++++++++++++++++ .../email-field/email-field.component.ts | 12 ++++++++++ 4 files changed, 53 insertions(+) create mode 100644 frontend/src/app/atomic/input/email-field/email-field.component.css create mode 100644 frontend/src/app/atomic/input/email-field/email-field.component.html create mode 100644 frontend/src/app/atomic/input/email-field/email-field.component.spec.ts create mode 100644 frontend/src/app/atomic/input/email-field/email-field.component.ts diff --git a/frontend/src/app/atomic/input/email-field/email-field.component.css b/frontend/src/app/atomic/input/email-field/email-field.component.css new file mode 100644 index 0000000..6ac0f20 --- /dev/null +++ b/frontend/src/app/atomic/input/email-field/email-field.component.css @@ -0,0 +1,17 @@ +input { + background-color: rgba(132, 129, 122, 1.0); + border: none; + font-size: 1.2em; + line-height: 2.5em; + width: 100%; + text-align: center; + border-radius: 5px; + color: var(--primary-text-color); +} + +input:focus { + outline-color: var(--primary-background-color); + outline-width: 100px; + /*outline-offset: 1px;*/ + /*outline-style: auto;*/ +} \ No newline at end of file diff --git a/frontend/src/app/atomic/input/email-field/email-field.component.html b/frontend/src/app/atomic/input/email-field/email-field.component.html new file mode 100644 index 0000000..323dae0 --- /dev/null +++ b/frontend/src/app/atomic/input/email-field/email-field.component.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/app/atomic/input/email-field/email-field.component.spec.ts b/frontend/src/app/atomic/input/email-field/email-field.component.spec.ts new file mode 100644 index 0000000..c9dd5d5 --- /dev/null +++ b/frontend/src/app/atomic/input/email-field/email-field.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { EmailFieldComponent } from './email-field.component'; + +describe('EmailFieldComponent', () => { + let component: EmailFieldComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [EmailFieldComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(EmailFieldComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/atomic/input/email-field/email-field.component.ts b/frontend/src/app/atomic/input/email-field/email-field.component.ts new file mode 100644 index 0000000..685696b --- /dev/null +++ b/frontend/src/app/atomic/input/email-field/email-field.component.ts @@ -0,0 +1,12 @@ +import {Component, EventEmitter, Input, Output} from '@angular/core'; + +@Component({ + selector: 'atomic-email-field', + imports: [], + templateUrl: './email-field.component.html', + styleUrl: './email-field.component.css' +}) +export class EmailFieldComponent { + @Input() value?: string; + @Output() valueChange = new EventEmitter(); +}