import { Component, booleanAttribute, input } from '@angular/core'; /** Molecule: form field = label + projected control + optional error/description. Reused by both the login form and the change-request form. */ @Component({ selector: 'app-form-field', styles: [` :host{display:block} .label{display:block;font-weight:var(--rhc-text-font-weight-semi-bold);margin-block-end:var(--rhc-space-max-sm)} .req{font-weight:var(--rhc-text-font-weight-regular);color:var(--rhc-color-foreground-subtle)} .desc{color:var(--rhc-color-foreground-subtle);font-size:var(--rhc-text-font-size-sm);margin-block-end:var(--rhc-space-max-sm)} .error{color:var(--rhc-color-foreground-default);font-weight:var(--rhc-text-font-weight-semi-bold);margin-block-start:var(--rhc-space-max-sm);border-inline-start:var(--rhc-border-width-md) solid var(--rhc-color-rood-500);padding-inline-start:var(--rhc-space-max-md)} `], template: `
@if (description()) {
{{ description() }}
} @if (error()) { }
`, }) export class FormFieldComponent { label = input.required(); fieldId = input.required(); description = input(); error = input(); required = input(false, { transform: booleanAttribute }); }