@kern-ux-annex/kern-angular-kit 0.3.4 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.npmignore +2 -0
- package/COMPONENTS.md +816 -0
- package/INTELLISENSE.md +321 -0
- package/README.md +54 -0
- package/fesm2022/kern-ux-annex-kern-angular-kit.mjs +945 -0
- package/fesm2022/kern-ux-annex-kern-angular-kit.mjs.map +1 -0
- package/index.d.ts +626 -0
- package/package.json +26 -1
- package/schemas/kern-components.schema.json +280 -0
- package/kern-ux-annex-kern-angular-kit-0.3.4.tgz +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kern-ux-annex-kern-angular-kit.mjs","sources":["../../../projects/kern-angular-kit/src/lib/components/kern-accordion/kern-accordion.ts","../../../projects/kern-angular-kit/src/lib/components/kern-accordion/kern-accordion.html","../../../projects/kern-angular-kit/src/lib/components/kern-alert/kern-alert.ts","../../../projects/kern-angular-kit/src/lib/components/kern-alert/kern-alert.html","../../../projects/kern-angular-kit/src/lib/services/unique-id.ts","../../../projects/kern-angular-kit/src/lib/components/kern-dialog/kern-dialog.ts","../../../projects/kern-angular-kit/src/lib/components/kern-dialog/kern-dialog.html","../../../projects/kern-angular-kit/src/lib/components/kern-loader/kern-loader.ts","../../../projects/kern-angular-kit/src/lib/components/kern-loader/kern-loader.html","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-checkbox/kern-input-checkbox.ts","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-checkbox/kern-input-checkbox.html","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-date/kern-input-date.ts","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-date/kern-input-date.html","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-email/kern-input-email.ts","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-email/kern-input-email.html","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-file/kern-input-file.ts","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-file/kern-input-file.html","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-password/kern-input-password.ts","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-password/kern-input-password.html","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-radio/kern-input-radio.ts","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-radio/kern-input-radio.html","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-select/kern-input-select.ts","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-select/kern-input-select.html","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-tel/kern-input-tel.ts","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-tel/kern-input-tel.html","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-text/kern-input-text.ts","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-text/kern-input-text.html","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-textarea/kern-input-textarea.ts","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-textarea/kern-input-textarea.html","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-url/kern-input-url.ts","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-url/kern-input-url.html","../../../projects/kern-angular-kit/src/lib/kern-angular-kit.module.ts","../../../projects/kern-angular-kit/src/lib/schemas/component-schemas.ts","../../../projects/kern-angular-kit/src/lib/schemas/angular-elements.ts","../../../projects/kern-angular-kit/src/public-api.ts","../../../projects/kern-angular-kit/src/kern-ux-annex-kern-angular-kit.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'kern-accordion',\n imports: [],\n templateUrl: './kern-accordion.html',\n styleUrl: './kern-accordion.css'\n})\nexport class KernAccordion {\n readonly title = input.required<string>();\n readonly open = input<boolean>(false);\n}\n","<details class=\"kern-accordion\" [open]=\"open()\">\n <summary class=\"kern-accordion__header\">\n <span class=\"kern-title\">{{ title() }}</span>\n </summary>\n <section class=\"kern-accordion__body\">\n <ng-content></ng-content>\n </section>\n</details>\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'kern-alert',\n imports: [],\n templateUrl: './kern-alert.html',\n styleUrl: './kern-alert.css'\n})\nexport class KernAlert {\n readonly title = input.required<string>();\n readonly type = input<'info' | 'success' | 'warning' | 'danger'>('info');\n}\n","<div class=\"kern-alert kern-alert--{{ type() }}\" role=\"alert\">\n <div class=\"kern-alert__header\">\n <span class=\"kern-icon kern-icon--{{ type() }}\" aria-hidden=\"true\"></span>\n <span class=\"kern-title\">{{ title() }}</span>\n </div>\n <div class=\"kern-alert__body\"><ng-content></ng-content></div>\n</div>\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UniqueIdService {\n private counter: number = 0;\n\n getUniqueId(prefix: string = ''): string {\n return prefix + '_' + (this.counter++).toString();\n }\n}\n","import { Component, ElementRef, output, viewChild, input } from '@angular/core';\nimport { UniqueIdService } from '../../services/unique-id';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'kern-dialog',\n imports: [FormsModule],\n templateUrl: './kern-dialog.html',\n styleUrl: './kern-dialog.css'\n})\nexport class KernDialog {\n readonly dialogId = input<string>();\n readonly title = input.required<string>();\n readonly btnCloseLabelText = input<string>('Schließen');\n readonly btnPrimaryLabelText = input<string | null>(null);\n readonly btnSecondaryLabelText = input<string | null>(null);\n\n readonly cancelEvent = output<Event>();\n readonly btnPrimaryClickEvent = output<Event>();\n readonly btnSecondaryClickEvent = output<Event>();\n\n private readonly generatedId: string;\n private readonly dialog =\n viewChild.required<ElementRef<HTMLDialogElement>>('dialog');\n\n constructor(uniqueIdService: UniqueIdService) {\n this.generatedId = uniqueIdService.getUniqueId('dialog');\n }\n\n get effectiveId(): string {\n return this.dialogId() || this.generatedId;\n }\n\n public showModal() {\n this.dialog().nativeElement?.showModal();\n }\n\n public closeModal() {\n this.dialog().nativeElement?.close();\n }\n}\n","<dialog\n #dialog\n [id]=\"dialogId()\"\n class=\"kern-dialog\"\n [attr.aria-describedby]=\"dialogId() + '_heading'\"\n (cancel)=\"cancelEvent.emit($event)\"\n>\n <header class=\"kern-dialog__header\">\n <h2 class=\"kern-title kern-title--large\" id=\"{{ dialogId() }}_heading\">{{ title() }}</h2>\n <button class=\"kern-btn kern-btn--tertiary\" (click)=\"dialog.close()\" type=\"button\">\n <span class=\"kern-icon kern-icon--close\" aria-hidden=\"true\"></span>\n <span class=\"kern-sr-only\">{{ btnCloseLabelText() }}</span>\n </button>\n </header>\n <section class=\"kern-dialog__body\">\n <ng-content></ng-content>\n </section>\n @if (btnPrimaryLabelText() !== null || btnSecondaryLabelText() !== null) {\n <footer class=\"kern-dialog__footer\">\n @if (btnSecondaryLabelText() !== null) {\n <button class=\"kern-btn kern-btn--secondary\" type=\"button\" (click)=\"btnSecondaryClickEvent.emit($event)\">\n <span class=\"kern-label\">{{ btnSecondaryLabelText() }}</span>\n </button>\n }\n @if (btnPrimaryLabelText() !== null) {\n <button class=\"kern-btn kern-btn--primary\" type=\"button\" (click)=\"btnPrimaryClickEvent.emit($event)\">\n <span class=\"kern-label\">{{ btnPrimaryLabelText() }}</span>\n </button>\n }\n </footer>\n }\n</dialog>\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'kern-loader',\n imports: [],\n templateUrl: './kern-loader.html',\n styleUrl: './kern-loader.css'\n})\nexport class KernLoader {\n readonly text = input<string>('Wird geladen...');\n}\n","<div class=\"kern-loader kern-loader--visible\" role=\"status\">\n <span class=\"kern-sr-only\">{{ text() }}</span>\n</div>\n","import { Component, forwardRef, input } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormsModule,\n NG_VALUE_ACCESSOR\n} from '@angular/forms';\nimport { NgClass } from '@angular/common';\nimport { UniqueIdService } from '../../../services/unique-id';\n\n@Component({\n selector: 'kern-input-checkbox',\n imports: [NgClass, FormsModule],\n templateUrl: './kern-input-checkbox.html',\n styleUrls: ['./kern-input-checkbox.css'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => KernInputCheckbox)\n }\n ]\n})\nexport class KernInputCheckbox implements ControlValueAccessor {\n readonly inputId = input<string>();\n readonly labelText = input.required<string>();\n readonly error = input<boolean>(false);\n\n private readonly generatedId: string;\n value: boolean = false;\n onChange: (value: boolean) => void = (value: boolean) => {};\n onTouched: () => void = () => {};\n\n constructor(uniqueIdService: UniqueIdService) {\n this.generatedId = uniqueIdService.getUniqueId('input-checkbox');\n }\n\n get effectiveId(): string {\n return this.inputId() || this.generatedId;\n }\n\n writeValue(value: boolean) {\n this.value = value;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Optionally handle disabled state if needed\n }\n\n registerOnChange(fn: (value: boolean) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n}\n","<div class=\"kern-form-check\">\n <input\n [id]=\"effectiveId\"\n [name]=\"effectiveId\"\n type=\"checkbox\"\n class=\"kern-form-check__checkbox\"\n [ngClass]=\"{ 'kern-form-check__checkbox--error': error() }\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n [title]=\"labelText()\"\n [attr.aria-labelledby]=\"effectiveId + '-label'\"\n />\n <label class=\"kern-label\" [for]=\"effectiveId\" [id]=\"effectiveId + '-label'\">\n {{ labelText() }}\n </label>\n</div>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n forwardRef,\n viewChild,\n input\n} from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport {\n ControlValueAccessor,\n FormsModule,\n NG_VALUE_ACCESSOR\n} from '@angular/forms';\nimport { UniqueIdService } from '../../../services/unique-id';\n\ntype DatePart = 'day' | 'month' | 'year';\n\n@Component({\n selector: 'kern-input-date',\n imports: [NgClass, FormsModule],\n templateUrl: './kern-input-date.html',\n styleUrl: './kern-input-date.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => KernInputDate)\n }\n ]\n})\nexport class KernInputDate implements ControlValueAccessor, AfterViewInit {\n readonly inputId = input<string>();\n readonly labelText = input.required<string>();\n readonly optional = input<boolean>(false);\n readonly readonly = input<boolean>(false);\n readonly hintText = input<string | null>(null);\n readonly errorText = input<string | null>(null);\n\n private readonly generatedId: string;\n private readonly dayInput =\n viewChild.required<ElementRef<HTMLInputElement>>('dayInput');\n private readonly monthInput =\n viewChild.required<ElementRef<HTMLInputElement>>('monthInput');\n private readonly yearInput =\n viewChild.required<ElementRef<HTMLInputElement>>('yearInput');\n\n private day: number | null = null;\n private month: number | null = null;\n private year: number | null = null;\n\n constructor(uniqueIdService: UniqueIdService) {\n this.generatedId = uniqueIdService.getUniqueId('input-date');\n }\n\n get effectiveId(): string {\n return this.inputId() || this.generatedId;\n }\n\n onChange: (value: string | null) => void = (value: string | null) => {};\n onTouched: () => void = () => {};\n\n writeValue(value: string | null) {\n this.day = null;\n this.month = null;\n this.year = null;\n\n if (value !== null) {\n const [yearStr, monthStr, dayStr] = value.split('-');\n\n const day: number = parseInt(dayStr ?? '');\n if (!isNaN(day) && day >= 1 && day <= 31) {\n this.day = day;\n }\n\n const month: number = parseInt(monthStr ?? '');\n if (!isNaN(month) && month >= 1 && month <= 12) {\n this.month = month;\n }\n\n const year: number = parseInt(yearStr ?? '');\n if (!isNaN(year) && year >= 1000 && year <= 9999) {\n this.year = year;\n }\n }\n\n this.renderValue();\n }\n\n ngAfterViewInit(): void {\n this.renderValue();\n }\n\n registerOnChange(fn: (value: string | null) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n protected onKeydown(event: KeyboardEvent, type: DatePart) {\n if (\n event.target &&\n event.target instanceof HTMLInputElement &&\n (event.code === 'Enter' || event.code === 'NumpadEnter')\n ) {\n this.onBlur(event, type);\n }\n }\n\n protected onInput(event: Event, type: DatePart) {\n if (!event.target) {\n return;\n }\n\n const input = event.target as HTMLInputElement;\n input.value = input.value.replace(/\\D/g, '');\n const value: number = parseInt(input.value);\n\n switch (type) {\n case 'day':\n if (isNaN(value) || value < 1 || value > 31) {\n this.day = null;\n } else {\n this.day = value;\n }\n break;\n case 'month':\n if (isNaN(value) || value < 1 || value > 12) {\n this.month = null;\n } else {\n this.month = value;\n }\n break;\n case 'year':\n if (isNaN(value) || value < 1000 || value > 9999) {\n this.year = null;\n } else {\n this.year = value;\n }\n break;\n }\n }\n\n private renderValue(): void {\n const dayInput = this.dayInput().nativeElement;\n const monthInput = this.monthInput().nativeElement;\n const yearInput = this.yearInput().nativeElement;\n\n if (!dayInput || !monthInput || !yearInput) {\n return;\n }\n\n if (this.day === null) {\n dayInput.value = '';\n } else {\n dayInput.value = this.day.toString().padStart(2, '0');\n }\n\n if (this.month === null) {\n monthInput.value = '';\n } else {\n monthInput.value = this.month.toString().padStart(2, '0');\n }\n\n if (this.year === null) {\n yearInput.value = '';\n } else {\n yearInput.value = this.year.toString();\n }\n }\n\n protected onBlur(event: Event, type: DatePart) {\n if (!event.target) {\n return;\n }\n\n this.onInput(event, type);\n\n this.renderValue();\n\n if (this.day !== null && this.month !== null && this.year !== null) {\n this.onTouched();\n this.onChange(this.value);\n }\n }\n\n public get value(): string | null {\n if (this.day === null || this.month === null || this.year === null) {\n return null;\n }\n\n return (\n this.year.toString() +\n '-' +\n this.month.toString().padStart(2, '0') +\n '-' +\n this.day.toString().padStart(2, '0')\n );\n }\n}\n","<fieldset\n class=\"kern-fieldset\"\n [ngClass]=\"{ 'kern-fieldset--error': errorText() }\"\n [attr.aria-describedby]=\"effectiveId + '-hint'\"\n>\n <legend class=\"kern-label\">\n {{ labelText() }}\n @if (optional()) {\n <span class=\"kern-label__optional\">- Optional</span>\n }\n </legend>\n @if (hintText()) {\n <div class=\"kern-hint\" [id]=\"effectiveId + '-hint'\">{{ hintText() }}</div>\n }\n <div class=\"kern-fieldset__body kern-fieldset__body--horizontal\">\n <div class=\"kern-form-input\">\n <label class=\"kern-label\" [for]=\"effectiveId + '-day'\" [id]=\"effectiveId + '-day-label'\">Tag</label>\n <input\n #dayInput\n [id]=\"effectiveId + '-day'\"\n class=\"kern-form-input__input kern-form-input__input--width-2\"\n [ngClass]=\"{ 'kern-form-input__input--error': errorText() }\"\n type=\"text\"\n inputmode=\"numeric\"\n [readonly]=\"readonly()\"\n [attr.aria-describedby]=\"effectiveId + '-error'\"\n maxlength=\"2\"\n (input)=\"onInput($event, 'day')\"\n (paste)=\"onInput($event, 'day')\"\n (change)=\"onInput($event, 'day')\"\n (keydown)=\"onKeydown($event, 'day')\"\n (blur)=\"onBlur($event, 'day')\"\n />\n </div>\n <div class=\"kern-form-input\">\n <label class=\"kern-label\" [for]=\"effectiveId + '-month'\" [id]=\"effectiveId + '-month-label'\">Monat</label>\n <input\n #monthInput\n [id]=\"effectiveId + '-month'\"\n class=\"kern-form-input__input kern-form-input__input--width-2\"\n [ngClass]=\"{ 'kern-form-input__input--error': errorText() }\"\n type=\"text\"\n inputmode=\"numeric\"\n [readonly]=\"readonly()\"\n [attr.aria-describedby]=\"effectiveId + '-error'\"\n maxlength=\"2\"\n (input)=\"onInput($event, 'month')\"\n (paste)=\"onInput($event, 'month')\"\n (change)=\"onInput($event, 'month')\"\n (keydown)=\"onKeydown($event, 'month')\"\n (blur)=\"onBlur($event, 'month')\"\n />\n </div>\n <div class=\"kern-form-input\">\n <label class=\"kern-label\" [for]=\"effectiveId + '-year'\" [id]=\"effectiveId + '-year-label'\">Jahr</label>\n <input\n #yearInput\n [id]=\"effectiveId + '-year'\"\n class=\"kern-form-input__input kern-form-input__input--width-4\"\n [ngClass]=\"{ 'kern-form-input__input--error': errorText() }\"\n type=\"text\"\n inputmode=\"numeric\"\n [readonly]=\"readonly()\"\n [attr.aria-describedby]=\"effectiveId + '-error'\"\n maxlength=\"4\"\n (input)=\"onInput($event, 'year')\"\n (paste)=\"onInput($event, 'year')\"\n (change)=\"onInput($event, 'year')\"\n (keydown)=\"onKeydown($event, 'year')\"\n (blur)=\"onBlur($event, 'year')\"\n />\n </div>\n </div>\n @if (errorText()) {\n <p class=\"kern-error\" [id]=\"effectiveId + '-error'\" role=\"alert\">\n <span class=\"kern-icon kern-icon--danger\" aria-hidden=\"true\"></span>\n <span class=\"kern-body\">{{ errorText() }}</span>\n </p>\n }\n</fieldset>\n","import { Component, forwardRef, input } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport {\n ControlValueAccessor,\n FormsModule,\n NG_VALUE_ACCESSOR\n} from '@angular/forms';\nimport { UniqueIdService } from '../../../services/unique-id';\n\n@Component({\n selector: 'kern-input-email',\n imports: [NgClass, FormsModule],\n templateUrl: './kern-input-email.html',\n styleUrl: './kern-input-email.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => KernInputEmail)\n }\n ]\n})\nexport class KernInputEmail implements ControlValueAccessor {\n readonly inputId = input<string>();\n readonly labelText = input.required<string>();\n readonly optional = input<boolean>(false);\n readonly readonly = input<boolean>(false);\n readonly required = input<boolean>(false);\n readonly maxlength = input<number | null>(null);\n readonly hintText = input<string | null>(null);\n readonly errorText = input<string | null>(null);\n\n private readonly generatedId: string;\n value: string = '';\n onChange: (value: string) => void = (value: string) => {};\n onTouched: () => void = () => {};\n\n constructor(uniqueIdService: UniqueIdService) {\n this.generatedId = uniqueIdService.getUniqueId('input-email');\n }\n\n get effectiveId(): string {\n return this.inputId() || this.generatedId;\n }\n\n writeValue(value: string) {\n this.value = value || '';\n }\n\n registerOnChange(fn: (value: string) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n protected onKeydown(event: KeyboardEvent) {\n if (\n event.target &&\n event.target instanceof HTMLInputElement &&\n (event.code === 'Enter' || event.code === 'NumpadEnter')\n ) {\n this.onTouched();\n }\n }\n}\n","<div class=\"kern-form-input\" [ngClass]=\"{ 'kern-form-input--error': errorText() }\">\n <label class=\"kern-label\" [for]=\"effectiveId\" [id]=\"effectiveId + '-label'\">\n {{ labelText() }}\n @if (optional()) {\n <span class=\"kern-label__optional\">- Optional</span>\n }\n </label>\n @if (hintText()) {\n <div class=\"kern-hint\" id=\"{{ effectiveId }}-hint\">{{ hintText() }}</div>\n }\n <input\n [title]=\"labelText\"\n [placeholder]=\"labelText\"\n [id]=\"effectiveId\"\n type=\"email\"\n class=\"kern-form-input__input\"\n [ngClass]=\"{ 'kern-form-input__input--error': errorText() }\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onTouched()\"\n (keydown)=\"onKeydown($event)\"\n [readonly]=\"readonly()\"\n [required]=\"required()\"\n autocomplete=\"email\"\n [attr.aria-describedby]=\"effectiveId + '-hint ' + effectiveId + '-error'\"\n [attr.maxlength]=\"maxlength()\"\n />\n @if (errorText()) {\n <p class=\"kern-error\" [id]=\"effectiveId + '-error'\" role=\"alert\">\n <span class=\"kern-icon kern-icon--danger\" aria-hidden=\"true\"></span>\n <span class=\"kern-body\">{{ errorText() }}</span>\n </p>\n }\n</div>\n","import {\n Component,\n ElementRef,\n forwardRef,\n output,\n viewChild,\n ViewChild,\n input\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormsModule,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors\n} from '@angular/forms';\nimport { NgClass } from '@angular/common';\nimport { UniqueIdService } from '../../../services/unique-id';\n\n@Component({\n selector: 'kern-input-file',\n imports: [NgClass, FormsModule],\n templateUrl: './kern-input-file.html',\n styleUrl: './kern-input-file.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => KernInputFile)\n },\n {\n provide: NG_VALIDATORS,\n multi: true,\n useExisting: forwardRef(() => KernInputFile)\n }\n ]\n})\nexport class KernInputFile implements ControlValueAccessor {\n readonly inputId = input<string>();\n readonly labelText = input.required<string>();\n readonly optional = input<boolean>(false);\n readonly required = input<boolean>(false);\n readonly hintText = input<string | null>(null);\n readonly errorText = input<string | null>(null);\n readonly allowedTypes = input<string[] | null>(null);\n readonly maxSize = input<number | null>(null);\n\n private readonly generatedId: string;\n private readonly fileInput =\n viewChild.required<ElementRef<HTMLInputElement>>('fileInput');\n\n readonly changeEvent = output<Event>();\n\n public value: string | null = null;\n\n constructor(uniqueIdService: UniqueIdService) {\n this.generatedId = uniqueIdService.getUniqueId('input-file');\n }\n\n get effectiveId(): string {\n return this.inputId() || this.generatedId;\n }\n\n public onChange: (value: string | null) => void = (\n value: string | null\n ) => {};\n public onTouched: () => void = () => {};\n\n writeValue(value: string | null) {\n this.value = value;\n }\n\n registerOnChange(fn: (value: string | null) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n public get fileList(): FileList | null {\n return this.fileInput().nativeElement?.files ?? null;\n }\n\n public validate(control: AbstractControl): ValidationErrors | null {\n const fileList = this.fileList;\n if (!fileList) {\n return null;\n }\n\n for (const file of fileList) {\n const allowedTypes = this.allowedTypes();\n if (allowedTypes !== null && !allowedTypes.includes(file.type)) {\n return {\n fileError: 'invalid file type'\n };\n }\n\n const maxSize = this.maxSize();\n if (maxSize !== null && file.size > maxSize) {\n return {\n fileError: 'file size exceeded'\n };\n }\n }\n\n return null;\n }\n}\n","<div class=\"kern-form-input\" [ngClass]=\"{ 'kern-form-input--error': errorText() }\">\n <label class=\"kern-label\" [for]=\"effectiveId\" [id]=\"effectiveId + '-label'\">\n {{ labelText() }}\n @if (optional()) {\n <span class=\"kern-label__optional\">- Optional</span>\n }\n </label>\n @if (hintText()) {\n <div class=\"kern-hint\" id=\"{{ effectiveId }}-hint\">{{ hintText() }}</div>\n }\n <input\n [title]=\"labelText\"\n [placeholder]=\"labelText\"\n [id]=\"effectiveId\"\n type=\"file\"\n class=\"kern-form-input__input\"\n [ngClass]=\"{ 'kern-form-input__input--error': errorText() }\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (change)=\"changeEvent.emit($event)\"\n [required]=\"required()\"\n [attr.aria-describedby]=\"effectiveId + '-hint ' + effectiveId + '-error'\"\n [accept]=\"allowedTypes() ? allowedTypes()!.join(',') : null\"\n #fileInput\n />\n @if (errorText()) {\n <p class=\"kern-error\" [id]=\"effectiveId + '-error'\" role=\"alert\">\n <span class=\"kern-icon kern-icon--danger\" aria-hidden=\"true\"></span>\n <span class=\"kern-body\">{{ errorText() }}</span>\n </p>\n }\n</div>\n","import { Component, forwardRef, input } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormsModule,\n NG_VALUE_ACCESSOR\n} from '@angular/forms';\nimport { NgClass } from '@angular/common';\nimport { UniqueIdService } from '../../../services/unique-id';\n\n@Component({\n selector: 'kern-input-password',\n imports: [NgClass, FormsModule],\n templateUrl: './kern-input-password.html',\n styleUrl: './kern-input-password.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => KernInputPassword)\n }\n ]\n})\nexport class KernInputPassword implements ControlValueAccessor {\n readonly inputId = input<string>();\n readonly labelText = input.required<string>();\n readonly optional = input<boolean>(false);\n readonly readonly = input<boolean>(false);\n readonly required = input<boolean>(false);\n readonly maxlength = input<number | null>(null);\n readonly hintText = input<string | null>(null);\n readonly errorText = input<string | null>(null);\n\n private readonly generatedId: string;\n value: string = '';\n onChange: (value: string) => void = (value: string) => {};\n onTouched: () => void = () => {};\n\n constructor(uniqueIdService: UniqueIdService) {\n this.generatedId = uniqueIdService.getUniqueId('input-password');\n }\n\n get effectiveId(): string {\n return this.inputId() || this.generatedId;\n }\n\n writeValue(value: string) {\n this.value = value || '';\n }\n\n registerOnChange(fn: (value: string) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n protected onKeydown(event: KeyboardEvent) {\n if (\n event.target &&\n event.target instanceof HTMLInputElement &&\n (event.code === 'Enter' || event.code === 'NumpadEnter')\n ) {\n this.onTouched();\n }\n }\n}\n","<div class=\"kern-form-input\" [ngClass]=\"{ 'kern-form-input--error': errorText() }\">\n <label class=\"kern-label\" [for]=\"effectiveId\" [id]=\"effectiveId + '-label'\">\n {{ labelText() }}\n @if (optional()) {\n <span class=\"kern-label__optional\">- Optional</span>\n }\n </label>\n @if (hintText()) {\n <div class=\"kern-hint\" id=\"{{ effectiveId }}-hint\">{{ hintText() }}</div>\n }\n <input\n [title]=\"labelText\"\n [placeholder]=\"labelText\"\n [id]=\"effectiveId\"\n type=\"password\"\n class=\"kern-form-input__input\"\n [ngClass]=\"{ 'kern-form-input__input--error': errorText() }\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onTouched()\"\n (keydown)=\"onKeydown($event)\"\n [readonly]=\"readonly()\"\n [required]=\"required()\"\n [attr.aria-describedby]=\"effectiveId + '-hint ' + effectiveId + '-error'\"\n [attr.maxlength]=\"maxlength()\"\n />\n @if (errorText()) {\n <p class=\"kern-error\" [id]=\"effectiveId + '-error'\" role=\"alert\">\n <span class=\"kern-icon kern-icon--danger\" aria-hidden=\"true\"></span>\n <span class=\"kern-body\">{{ errorText() }}</span>\n </p>\n }\n</div>\n","import { Component, forwardRef, input } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { UniqueIdService } from '../../../services/unique-id';\n\n@Component({\n selector: 'kern-input-radio',\n imports: [NgClass, FormsModule],\n templateUrl: './kern-input-radio.html',\n styleUrl: './kern-input-radio.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => KernInputRadio)\n }\n ]\n})\nexport class KernInputRadio {\n readonly inputId = input<string>();\n readonly labelText = input.required<string>();\n readonly optional = input<boolean>(false);\n readonly required = input<boolean>(false);\n readonly hintText = input<string | null>(null);\n readonly errorText = input<string | null>(null);\n readonly horizontalAlignment = input<boolean>(false);\n readonly options = input.required<\n {\n value: string;\n label: string;\n }[]\n >();\n\n private readonly generatedId: string;\n value: string | null = null;\n onChange: (value: string | null) => void = (value: string | null) => {};\n onTouched: () => void = () => {};\n\n constructor(uniqueIdService: UniqueIdService) {\n this.generatedId = uniqueIdService.getUniqueId('input-radio');\n }\n\n get effectiveId(): string {\n return this.inputId() || this.generatedId;\n }\n\n writeValue(value: string | null) {\n this.value = value;\n }\n\n registerOnChange(fn: (value: string | null) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n protected onKeydown(event: KeyboardEvent) {\n if (\n event.target &&\n event.target instanceof HTMLInputElement &&\n (event.code === 'Enter' || event.code === 'NumpadEnter')\n ) {\n this.onTouched();\n }\n }\n}\n","<fieldset\n class=\"kern-fieldset\"\n [ngClass]=\"{ 'kern-fieldset--error': errorText() }\"\n [attr.aria-describedby]=\"effectiveId + '-hint'\"\n>\n <legend class=\"kern-label\">\n {{ labelText() }}\n @if (optional()) {\n <span class=\"kern-label__optional\">- Optional</span>\n }\n </legend>\n @if (hintText()) {\n <div class=\"kern-hint\" [id]=\"effectiveId + '-hint'\">{{ hintText() }}</div>\n }\n <div class=\"kern-fieldset__body\" [ngClass]=\"{ 'kern-fieldset__body--horizontal': horizontalAlignment() }\">\n @for (option of options(); track option.value) {\n <div class=\"kern-form-check\">\n <input\n [title]=\"labelText\"\n [placeholder]=\"labelText\"\n type=\"radio\"\n [id]=\"effectiveId + '_' + option.value\"\n class=\"kern-form-check__radio\"\n [ngClass]=\"{ 'kern-form-check__radio--error': errorText() }\"\n [value]=\"option.value\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onTouched()\"\n (keydown)=\"onKeydown($event)\"\n [name]=\"effectiveId\"\n [required]=\"required()\"\n />\n <label\n class=\"kern-label\"\n [for]=\"effectiveId + '_' + option.value\"\n [id]=\"effectiveId + '_' + option.value + '-label'\"\n >\n {{ option.label }}\n </label>\n </div>\n }\n </div>\n @if (errorText()) {\n <p class=\"kern-error\" [id]=\"effectiveId + '-error'\" role=\"alert\">\n <span class=\"kern-icon kern-icon--danger\" aria-hidden=\"true\"></span>\n <span class=\"kern-body\">{{ errorText() }}</span>\n </p>\n }\n</fieldset>\n","import { Component, forwardRef, input } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NgClass } from '@angular/common';\nimport { UniqueIdService } from '../../../services/unique-id';\n\n@Component({\n selector: 'kern-input-select',\n imports: [NgClass, FormsModule],\n templateUrl: './kern-input-select.html',\n styleUrl: './kern-input-select.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => KernInputSelect)\n }\n ]\n})\nexport class KernInputSelect {\n readonly inputId = input<string>();\n readonly labelText = input.required<string>();\n readonly optional = input<boolean>(false);\n readonly required = input<boolean>(false);\n readonly hintText = input<string | null>(null);\n readonly errorText = input<string | null>(null);\n readonly options = input.required<\n {\n value: string;\n label: string;\n }[]\n >();\n\n private readonly generatedId: string;\n value: string | null = null;\n onChange: (value: string | null) => void = (value: string | null) => {};\n onTouched: () => void = () => {};\n\n constructor(uniqueIdService: UniqueIdService) {\n this.generatedId = uniqueIdService.getUniqueId('input-select');\n }\n\n get effectiveId(): string {\n return this.inputId() || this.generatedId;\n }\n\n writeValue(value: string | null) {\n this.value = value;\n }\n\n registerOnChange(fn: (value: string | null) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n protected onKeydown(event: KeyboardEvent) {\n if (\n event.target &&\n event.target instanceof HTMLInputElement &&\n (event.code === 'Enter' || event.code === 'NumpadEnter')\n ) {\n this.onTouched();\n }\n }\n}\n","<div class=\"kern-form-input\" [ngClass]=\"{ 'kern-form-input--error': errorText() }\">\n <label class=\"kern-label\" [for]=\"effectiveId\" [id]=\"effectiveId + '-label'\">\n {{ labelText() }}\n @if (optional()) {\n <span class=\"kern-label__optional\">- Optional</span>\n }\n </label>\n @if (hintText()) {\n <div class=\"kern-hint\" id=\"{{ effectiveId }}-hint\">{{ hintText() }}</div>\n }\n <div class=\"kern-form-input__select-wrapper\">\n <select\n [id]=\"effectiveId\"\n class=\"kern-form-input__select\"\n [ngClass]=\"{ 'kern-form-input__select--error': errorText() }\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onTouched()\"\n (keydown)=\"onKeydown($event)\"\n [required]=\"required()\"\n [attr.aria-describedby]=\"effectiveId + '-hint ' + effectiveId + '-error'\"\n title=\"{{ labelText() }}\"\n [attr.title]=\"labelText()\"\n [attr.aria-label]=\"labelText()\"\n >\n @for (option of options(); track option.value) {\n <option [value]=\"option.value\">{{ option.label }}</option>\n }\n </select>\n </div>\n @if (errorText()) {\n <p class=\"kern-error\" [id]=\"effectiveId + '-error'\" role=\"alert\">\n <span class=\"kern-icon kern-icon--danger\" aria-hidden=\"true\"></span>\n <span class=\"kern-body\">{{ errorText() }}</span>\n </p>\n }\n</div>\n","import { Component, forwardRef, input } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormsModule,\n NG_VALUE_ACCESSOR\n} from '@angular/forms';\nimport { NgClass } from '@angular/common';\nimport { UniqueIdService } from '../../../services/unique-id';\n\n@Component({\n selector: 'kern-input-tel',\n imports: [NgClass, FormsModule],\n templateUrl: './kern-input-tel.html',\n styleUrl: './kern-input-tel.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => KernInputTel)\n }\n ]\n})\nexport class KernInputTel implements ControlValueAccessor {\n readonly inputId = input<string>();\n readonly labelText = input.required<string>();\n readonly optional = input<boolean>(false);\n readonly readonly = input<boolean>(false);\n readonly required = input<boolean>(false);\n readonly maxlength = input<number | null>(null);\n readonly hintText = input<string | null>(null);\n readonly errorText = input<string | null>(null);\n\n private readonly generatedId: string;\n value: string = '';\n onChange: (value: string) => void = (value: string) => {};\n onTouched: () => void = () => {};\n\n constructor(uniqueIdService: UniqueIdService) {\n this.generatedId = uniqueIdService.getUniqueId('input-tel');\n }\n\n get effectiveId(): string {\n return this.inputId() || this.generatedId;\n }\n\n writeValue(value: string) {\n this.value = value || '';\n }\n\n registerOnChange(fn: (value: string) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n protected onKeydown(event: KeyboardEvent) {\n if (\n event.target &&\n event.target instanceof HTMLInputElement &&\n (event.code === 'Enter' || event.code === 'NumpadEnter')\n ) {\n this.onTouched();\n }\n }\n}\n","<div class=\"kern-form-input\" [ngClass]=\"{ 'kern-form-input--error': errorText() }\">\n <label class=\"kern-label\" [for]=\"effectiveId\" [id]=\"effectiveId + '-label'\">\n {{ labelText() }}\n @if (optional()) {\n <span class=\"kern-label__optional\">- Optional</span>\n }\n </label>\n @if (hintText()) {\n <div class=\"kern-hint\" id=\"{{ effectiveId }}-hint\">{{ hintText() }}</div>\n }\n <input\n [title]=\"labelText\"\n [placeholder]=\"labelText\"\n [id]=\"effectiveId\"\n type=\"tel\"\n class=\"kern-form-input__input\"\n [ngClass]=\"{ 'kern-form-input__input--error': errorText() }\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onTouched()\"\n (keydown)=\"onKeydown($event)\"\n [readonly]=\"readonly()\"\n [required]=\"required()\"\n autocomplete=\"tel\"\n [attr.aria-describedby]=\"effectiveId + '-hint ' + effectiveId + '-error'\"\n [attr.maxlength]=\"maxlength()\"\n />\n @if (errorText()) {\n <p class=\"kern-error\" [id]=\"effectiveId + '-error'\" role=\"alert\">\n <span class=\"kern-icon kern-icon--danger\" aria-hidden=\"true\"></span>\n <span class=\"kern-body\">{{ errorText() }}</span>\n </p>\n }\n</div>\n","import { Component, forwardRef, input } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport {\n ControlValueAccessor,\n FormsModule,\n NG_VALUE_ACCESSOR\n} from '@angular/forms';\nimport { UniqueIdService } from '../../../services/unique-id';\n\n@Component({\n selector: 'kern-input-text',\n imports: [NgClass, FormsModule],\n templateUrl: './kern-input-text.html',\n styleUrl: './kern-input-text.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => KernInputText)\n }\n ]\n})\nexport class KernInputText implements ControlValueAccessor {\n readonly inputId = input<string>();\n readonly labelText = input.required<string>();\n readonly optional = input<boolean>(false);\n readonly readonly = input<boolean>(false);\n readonly required = input<boolean>(false);\n readonly inputmode = input<'decimal' | 'numeric' | null>(null);\n readonly maxlength = input<number | null>(null);\n readonly autocomplete = input<string | null>(null);\n readonly hintText = input<string | null>(null);\n readonly errorText = input<string | null>(null);\n\n private readonly generatedId: string;\n value: string = '';\n onChange: (value: string) => void = (value: string) => {};\n onTouched: () => void = () => {};\n\n constructor(uniqueIdService: UniqueIdService) {\n this.generatedId = uniqueIdService.getUniqueId('input-text');\n }\n\n get effectiveId(): string {\n return this.inputId() || this.generatedId;\n }\n\n writeValue(value: string) {\n this.value = value || '';\n }\n\n registerOnChange(fn: (value: string) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n protected onKeydown(event: KeyboardEvent) {\n if (\n event.target &&\n event.target instanceof HTMLInputElement &&\n (event.code === 'Enter' || event.code === 'NumpadEnter')\n ) {\n this.onTouched();\n }\n }\n}\n","<div class=\"kern-form-input\" [ngClass]=\"{ 'kern-form-input--error': errorText() }\">\n <label class=\"kern-label\" [for]=\"effectiveId\" [id]=\"effectiveId + '-label'\">\n {{ labelText() }}\n @if (optional()) {\n <span class=\"kern-label__optional\">- Optional</span>\n }\n </label>\n @if (hintText()) {\n <div class=\"kern-hint\" id=\"{{ effectiveId }}-hint\">{{ hintText() }}</div>\n }\n <input\n [title]=\"labelText\"\n [placeholder]=\"labelText\"\n [id]=\"effectiveId\"\n type=\"text\"\n class=\"kern-form-input__input\"\n [ngClass]=\"{ 'kern-form-input__input--error': errorText() }\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onTouched()\"\n (keydown)=\"onKeydown($event)\"\n [readonly]=\"readonly()\"\n [required]=\"required()\"\n [autocomplete]=\"autocomplete()\"\n [attr.aria-describedby]=\"effectiveId + '-hint ' + effectiveId + '-error'\"\n [attr.inputmode]=\"inputmode()\"\n [attr.maxlength]=\"maxlength()\"\n />\n @if (errorText()) {\n <p class=\"kern-error\" id=\"{{ effectiveId }}-error\" role=\"alert\">\n <span class=\"kern-icon kern-icon--danger\" aria-hidden=\"true\"></span>\n <span class=\"kern-body\">{{ errorText() }}</span>\n </p>\n }\n</div>\n","import { Component, forwardRef, input } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport {\n ControlValueAccessor,\n FormsModule,\n NG_VALUE_ACCESSOR\n} from '@angular/forms';\nimport { UniqueIdService } from '../../../services/unique-id';\n\n@Component({\n selector: 'kern-input-textarea',\n imports: [NgClass, FormsModule],\n templateUrl: './kern-input-textarea.html',\n styleUrl: './kern-input-textarea.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => KernInputTextarea)\n }\n ]\n})\nexport class KernInputTextarea implements ControlValueAccessor {\n readonly inputId = input<string>();\n readonly labelText = input.required<string>();\n readonly optional = input<boolean>(false);\n readonly readonly = input<boolean>(false);\n readonly required = input<boolean>(false);\n readonly maxlength = input<number | null>(null);\n readonly hintText = input<string | null>(null);\n readonly errorText = input<string | null>(null);\n\n private readonly generatedId: string;\n value: string = '';\n onChange: (value: string) => void = (value: string) => {};\n onTouched: () => void = () => {};\n\n constructor(uniqueIdService: UniqueIdService) {\n this.generatedId = uniqueIdService.getUniqueId('input-textarea');\n }\n\n get effectiveId(): string {\n return this.inputId() || this.generatedId;\n }\n\n writeValue(value: string) {\n this.value = value || '';\n }\n\n registerOnChange(fn: (value: string) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n}\n","<div class=\"kern-form-input\" [ngClass]=\"{ 'kern-form-input--error': errorText() }\">\n <label class=\"kern-label\" [for]=\"effectiveId\" [id]=\"effectiveId + '-label'\">\n {{ labelText() }}\n @if (optional()) {\n <span class=\"kern-label__optional\">- Optional</span>\n }\n </label>\n @if (hintText()) {\n <div class=\"kern-hint\" id=\"{{ effectiveId }}-hint\">{{ hintText() }}</div>\n }\n <textarea\n [id]=\"effectiveId\"\n class=\"kern-form-input__input\"\n [ngClass]=\"{ 'kern-form-input__input--error': errorText() }\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onTouched()\"\n [readonly]=\"readonly()\"\n [required]=\"required()\"\n [attr.aria-describedby]=\"effectiveId + '-hint ' + effectiveId + '-error'\"\n [attr.maxlength]=\"maxlength()\"\n ></textarea>\n @if (errorText()) {\n <p class=\"kern-error\" [id]=\"effectiveId + '-error'\" role=\"alert\">\n <span class=\"kern-icon kern-icon--danger\" aria-hidden=\"true\"></span>\n <span class=\"kern-body\">{{ errorText() }}</span>\n </p>\n }\n</div>\n","import { Component, forwardRef, input } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport {\n ControlValueAccessor,\n FormsModule,\n NG_VALUE_ACCESSOR\n} from '@angular/forms';\nimport { UniqueIdService } from '../../../services/unique-id';\n\n@Component({\n selector: 'kern-input-url',\n imports: [NgClass, FormsModule],\n templateUrl: './kern-input-url.html',\n styleUrl: './kern-input-url.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => KernInputUrl)\n }\n ]\n})\nexport class KernInputUrl implements ControlValueAccessor {\n readonly inputId = input<string>();\n readonly labelText = input.required<string>();\n readonly optional = input<boolean>(false);\n readonly readonly = input<boolean>(false);\n readonly required = input<boolean>(false);\n readonly maxlength = input<number | null>(null);\n readonly hintText = input<string | null>(null);\n readonly errorText = input<string | null>(null);\n\n private readonly generatedId: string;\n value: string = '';\n onChange: (value: string) => void = (value: string) => {};\n onTouched: () => void = () => {};\n\n constructor(uniqueIdService: UniqueIdService) {\n this.generatedId = uniqueIdService.getUniqueId('input-url');\n }\n\n get effectiveId(): string {\n return this.inputId() || this.generatedId;\n }\n\n writeValue(value: string) {\n this.value = value || '';\n }\n\n registerOnChange(fn: (value: string) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n protected onKeydown(event: KeyboardEvent) {\n if (\n event.target &&\n event.target instanceof HTMLInputElement &&\n (event.code === 'Enter' || event.code === 'NumpadEnter')\n ) {\n this.onTouched();\n }\n }\n}\n","<div class=\"kern-form-input\" [ngClass]=\"{ 'kern-form-input--error': errorText() }\">\n <label class=\"kern-label\" [for]=\"effectiveId\" [id]=\"effectiveId + '-label'\">\n {{ labelText() }}\n @if (optional()) {\n <span class=\"kern-label__optional\">- Optional</span>\n }\n </label>\n @if (hintText()) {\n <div class=\"kern-hint\" id=\"{{ effectiveId }}-hint\">{{ hintText() }}</div>\n }\n <input\n [title]=\"labelText()\"\n [placeholder]=\"labelText()\"\n [id]=\"effectiveId\"\n type=\"url\"\n class=\"kern-form-input__input\"\n [ngClass]=\"{ 'kern-form-input__input--error': errorText() }\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onTouched()\"\n (keydown)=\"onKeydown($event)\"\n [readonly]=\"readonly()\"\n [required]=\"required()\"\n [attr.aria-describedby]=\"effectiveId + '-hint ' + effectiveId + '-error'\"\n [attr.maxlength]=\"maxlength()\"\n />\n @if (errorText()) {\n <p class=\"kern-error\" [id]=\"effectiveId + '-error'\" role=\"alert\">\n <span class=\"kern-icon kern-icon--danger\" aria-hidden=\"true\"></span>\n <span class=\"kern-body\">{{ errorText() }}</span>\n </p>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { KernAccordion } from './components/kern-accordion/kern-accordion';\nimport { KernAlert } from './components/kern-alert/kern-alert';\nimport { KernDialog } from './components/kern-dialog/kern-dialog';\nimport { KernLoader } from './components/kern-loader/kern-loader';\nimport { KernInputCheckbox } from './components/form-inputs/kern-input-checkbox/kern-input-checkbox';\nimport { KernInputDate } from './components/form-inputs/kern-input-date/kern-input-date';\nimport { KernInputEmail } from './components/form-inputs/kern-input-email/kern-input-email';\nimport { KernInputFile } from './components/form-inputs/kern-input-file/kern-input-file';\nimport { KernInputPassword } from './components/form-inputs/kern-input-password/kern-input-password';\nimport { KernInputRadio } from './components/form-inputs/kern-input-radio/kern-input-radio';\nimport { KernInputSelect } from './components/form-inputs/kern-input-select/kern-input-select';\nimport { KernInputTel } from './components/form-inputs/kern-input-tel/kern-input-tel';\nimport { KernInputText } from './components/form-inputs/kern-input-text/kern-input-text';\nimport { KernInputTextarea } from './components/form-inputs/kern-input-textarea/kern-input-textarea';\nimport { KernInputUrl } from './components/form-inputs/kern-input-url/kern-input-url';\n\n@NgModule({\n imports: [\n KernAccordion,\n KernAlert,\n KernDialog,\n KernLoader,\n KernInputCheckbox,\n KernInputDate,\n KernInputEmail,\n KernInputFile,\n KernInputPassword,\n KernInputRadio,\n KernInputSelect,\n KernInputTel,\n KernInputText,\n KernInputTextarea,\n KernInputUrl\n ],\n exports: [\n KernAccordion,\n KernAlert,\n KernDialog,\n KernLoader,\n KernInputCheckbox,\n KernInputDate,\n KernInputEmail,\n KernInputFile,\n KernInputPassword,\n KernInputRadio,\n KernInputSelect,\n KernInputTel,\n KernInputText,\n KernInputTextarea,\n KernInputUrl\n ]\n})\nexport class KernAngularKitModule {}\n","/**\n * TypeScript interfaces for KERN Angular Kit components\n * Provides IntelliSense support and type safety\n */\n\nexport interface KernAccordionInputs {\n title: string;\n open?: boolean;\n}\n\nexport interface KernAlertInputs {\n title: string;\n type?: 'info' | 'success' | 'warning' | 'danger';\n}\n\nexport interface KernDialogInputs {\n dialogId?: string;\n title: string;\n btnCloseLabelText?: string;\n btnPrimaryLabelText?: string | null;\n btnSecondaryLabelText?: string | null;\n}\n\nexport interface KernDialogOutputs {\n cancelEvent: Event;\n btnPrimaryClickEvent: Event;\n btnSecondaryClickEvent: Event;\n}\n\nexport interface KernLoaderInputs {\n text?: string;\n}\n\nexport interface KernInputBaseInputs {\n inputId?: string;\n labelText: string;\n optional?: boolean;\n readonly?: boolean;\n required?: boolean;\n}\n\nexport interface KernInputTextInputs extends KernInputBaseInputs {\n inputmode?: 'decimal' | 'numeric' | null;\n maxlength?: number | null;\n}\n\nexport interface KernInputCheckboxInputs extends KernInputBaseInputs {}\n\nexport interface KernInputDateInputs extends KernInputBaseInputs {\n min?: string | null;\n max?: string | null;\n}\n\nexport interface KernInputEmailInputs extends KernInputBaseInputs {}\n\nexport interface KernInputFileInputs extends KernInputBaseInputs {\n accept?: string | null;\n multiple?: boolean;\n}\n\nexport interface KernInputPasswordInputs extends KernInputBaseInputs {\n maxlength?: number | null;\n}\n\nexport interface KernInputRadioInputs extends KernInputBaseInputs {\n value: string;\n name: string;\n}\n\nexport interface KernInputSelectInputs extends KernInputBaseInputs {\n multiple?: boolean;\n}\n\nexport interface KernInputTelInputs extends KernInputBaseInputs {}\n\nexport interface KernInputTextareaInputs extends KernInputBaseInputs {\n rows?: number | null;\n cols?: number | null;\n maxlength?: number | null;\n}\n\nexport interface KernInputUrlInputs extends KernInputBaseInputs {}\n\n/**\n * Combined interface mapping component selectors to their input types\n * Useful for programmatic component configuration\n */\nexport interface KernComponentSchemas {\n 'kern-accordion': KernAccordionInputs;\n 'kern-alert': KernAlertInputs;\n 'kern-dialog': KernDialogInputs;\n 'kern-loader': KernLoaderInputs;\n 'kern-input-text': KernInputTextInputs;\n 'kern-input-checkbox': KernInputCheckboxInputs;\n 'kern-input-date': KernInputDateInputs;\n 'kern-input-email': KernInputEmailInputs;\n 'kern-input-file': KernInputFileInputs;\n 'kern-input-password': KernInputPasswordInputs;\n 'kern-input-radio': KernInputRadioInputs;\n 'kern-input-select': KernInputSelectInputs;\n 'kern-input-tel': KernInputTelInputs;\n 'kern-input-textarea': KernInputTextareaInputs;\n 'kern-input-url': KernInputUrlInputs;\n}\n\n/**\n * Type helper for getting component inputs by selector\n */\nexport type ComponentInputs<T extends keyof KernComponentSchemas> =\n KernComponentSchemas[T];\n\n/**\n * Union type of all component selectors\n */\nexport type KernComponentSelector = keyof KernComponentSchemas;\n","/**\n * Angular Element Type Definitions for KERN Angular Kit\n * Provides IntelliSense support for custom elements and JSX/TSX usage\n */\n\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\n\n/**\n * Augment the global JSX namespace to provide IntelliSense for KERN components\n * when used as custom elements or in JSX/TSX contexts\n */\ndeclare global {\n namespace JSX {\n interface IntrinsicElements {\n 'kern-accordion': {\n title: string;\n open?: boolean;\n children?: any;\n };\n\n 'kern-alert': {\n title: string;\n type?: 'info' | 'success' | 'warning' | 'danger';\n children?: any;\n };\n\n 'kern-dialog': {\n dialogId?: string;\n title: string;\n btnCloseLabelText?: string;\n btnPrimaryLabelText?: string | null;\n btnSecondaryLabelText?: string | null;\n onCancelEvent?: (event: Event) => void;\n onBtnPrimaryClickEvent?: (event: Event) => void;\n onBtnSecondaryClickEvent?: (event: Event) => void;\n children?: any;\n };\n\n 'kern-loader': {\n text?: string;\n children?: any;\n };\n\n 'kern-input-text': {\n inputId?: string;\n labelText: string;\n optional?: boolean;\n readonly?: boolean;\n required?: boolean;\n inputmode?: 'decimal' | 'numeric' | null;\n maxlength?: number | null;\n value?: string;\n onChange?: (event: Event) => void;\n onInput?: (event: Event) => void;\n };\n\n 'kern-input-checkbox': {\n inputId?: string;\n labelText: string;\n optional?: boolean;\n readonly?: boolean;\n required?: boolean;\n checked?: boolean;\n onChange?: (event: Event) => void;\n };\n\n 'kern-input-date': {\n inputId?: string;\n labelText: string;\n optional?: boolean;\n readonly?: boolean;\n required?: boolean;\n min?: string | null;\n max?: string | null;\n value?: string;\n onChange?: (event: Event) => void;\n };\n\n 'kern-input-email': {\n inputId?: string;\n labelText: string;\n optional?: boolean;\n readonly?: boolean;\n required?: boolean;\n value?: string;\n onChange?: (event: Event) => void;\n onInput?: (event: Event) => void;\n };\n\n 'kern-input-file': {\n inputId?: string;\n labelText: string;\n optional?: boolean;\n readonly?: boolean;\n required?: boolean;\n accept?: string | null;\n multiple?: boolean;\n onChange?: (event: Event) => void;\n };\n\n 'kern-input-password': {\n inputId?: string;\n labelText: string;\n optional?: boolean;\n readonly?: boolean;\n required?: boolean;\n maxlength?: number | null;\n value?: string;\n onChange?: (event: Event) => void;\n onInput?: (event: Event) => void;\n };\n\n 'kern-input-radio': {\n inputId?: string;\n labelText: string;\n optional?: boolean;\n readonly?: boolean;\n required?: boolean;\n value: string;\n name: string;\n checked?: boolean;\n onChange?: (event: Event) => void;\n };\n\n 'kern-input-select': {\n inputId?: string;\n labelText: string;\n optional?: boolean;\n readonly?: boolean;\n required?: boolean;\n multiple?: boolean;\n value?: string | string[];\n onChange?: (event: Event) => void;\n children?: any;\n };\n\n 'kern-input-tel': {\n inputId?: string;\n labelText: string;\n optional?: boolean;\n readonly?: boolean;\n required?: boolean;\n value?: string;\n onChange?: (event: Event) => void;\n onInput?: (event: Event) => void;\n };\n\n 'kern-input-textarea': {\n inputId?: string;\n labelText: string;\n optional?: boolean;\n readonly?: boolean;\n required?: boolean;\n rows?: number | null;\n cols?: number | null;\n maxlength?: number | null;\n value?: string;\n onChange?: (event: Event) => void;\n onInput?: (event: Event) => void;\n };\n\n 'kern-input-url': {\n inputId?: string;\n labelText: string;\n optional?: boolean;\n readonly?: boolean;\n required?: boolean;\n value?: string;\n onChange?: (event: Event) => void;\n onInput?: (event: Event) => void;\n };\n }\n }\n}\n\n/**\n * Angular module that enables custom element schemas\n * Import this module to allow Angular to recognize KERN components as valid custom elements\n */\n@NgModule({\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class KernElementsModule {}\n\n/**\n * HTML Element interfaces for direct DOM manipulation\n * Useful when working with KERN components as native custom elements\n */\nexport interface KernAccordionElement extends HTMLElement {\n title: string;\n open: boolean;\n}\n\nexport interface KernAlertElement extends HTMLElement {\n title: string;\n type: 'info' | 'success' | 'warning' | 'danger';\n}\n\nexport interface KernDialogElement extends HTMLElement {\n dialogId?: string;\n title: string;\n btnCloseLabelText: string;\n btnPrimaryLabelText?: string | null;\n btnSecondaryLabelText?: string | null;\n\n // Methods\n showModal(): void;\n close(): void;\n}\n\nexport interface KernLoaderElement extends HTMLElement {\n text: string;\n}\n\nexport interface KernInputElement extends HTMLElement {\n inputId?: string;\n labelText: string;\n optional: boolean;\n readonly: boolean;\n required: boolean;\n value: string;\n}\n\n/**\n * Type guards for KERN custom elements\n */\nexport function isKernAccordion(\n element: Element\n): element is KernAccordionElement {\n return element.tagName.toLowerCase() === 'kern-accordion';\n}\n\nexport function isKernAlert(element: Element): element is KernAlertElement {\n return element.tagName.toLowerCase() === 'kern-alert';\n}\n\nexport function isKernDialog(element: Element): element is KernDialogElement {\n return element.tagName.toLowerCase() === 'kern-dialog';\n}\n\nexport function isKernLoader(element: Element): element is KernLoaderElement {\n return element.tagName.toLowerCase() === 'kern-loader';\n}\n\nexport function isKernInput(element: Element): element is KernInputElement {\n return element.tagName.toLowerCase().startsWith('kern-input-');\n}\n","/*\n * Public API Surface of kern-angular-kit\n */\n\nexport * from './lib/components/kern-accordion/kern-accordion';\nexport * from './lib/components/kern-alert/kern-alert';\nexport * from './lib/components/kern-dialog/kern-dialog';\nexport * from './lib/components/kern-loader/kern-loader';\nexport * from './lib/components/form-inputs/kern-input-checkbox/kern-input-checkbox';\nexport * from './lib/components/form-inputs/kern-input-date/kern-input-date';\nexport * from './lib/components/form-inputs/kern-input-email/kern-input-email';\nexport * from './lib/components/form-inputs/kern-input-file/kern-input-file';\nexport * from './lib/components/form-inputs/kern-input-password/kern-input-password';\nexport * from './lib/components/form-inputs/kern-input-radio/kern-input-radio';\nexport * from './lib/components/form-inputs/kern-input-select/kern-input-select';\nexport * from './lib/components/form-inputs/kern-input-tel/kern-input-tel';\nexport * from './lib/components/form-inputs/kern-input-text/kern-input-text';\nexport * from './lib/components/form-inputs/kern-input-textarea/kern-input-textarea';\nexport * from './lib/components/form-inputs/kern-input-url/kern-input-url';\nexport * from './lib/kern-angular-kit.module';\n\n// Export schemas and types for IntelliSense support\nexport * from './lib/schemas/component-schemas';\nexport * from './lib/schemas/angular-elements';\nexport * from './lib/services/unique-id';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UniqueIdService"],"mappings":"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"}
|