UNPKG

@kern-ux-annex/kern-angular-kit

Version:

Angular-Umsetzung der KERN UX-Standard Komponenten

1 lines 179 kB
{"version":3,"file":"kern-ux-annex-kern-angular-kit.mjs","sources":["../../../projects/kern-angular-kit/src/lib/directives/typography/kern-title/kern-title.ts","../../../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-accordion/kern-accordion-group.ts","../../../projects/kern-angular-kit/src/lib/components/kern-icon/kern-icon.ts","../../../projects/kern-angular-kit/src/lib/components/kern-icon/kern-icon.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/directives/typography/kern-label/kern-label.ts","../../../projects/kern-angular-kit/src/lib/components/kern-button/kern-button.ts","../../../projects/kern-angular-kit/src/lib/components/kern-button/kern-button.html","../../../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/kern-badge/kern-badge.ts","../../../projects/kern-angular-kit/src/lib/components/kern-badge/kern-badge.html","../../../projects/kern-angular-kit/src/lib/directives/typography/kern-preline/kern-preline.ts","../../../projects/kern-angular-kit/src/lib/directives/typography/kern-subline/kern-subline.ts","../../../projects/kern-angular-kit/src/lib/components/kern-card/kern-card.ts","../../../projects/kern-angular-kit/src/lib/components/kern-card/kern-card.html","../../../projects/kern-angular-kit/src/lib/components/kern-divider/kern-divider.ts","../../../projects/kern-angular-kit/src/lib/components/kern-divider/kern-divider.html","../../../projects/kern-angular-kit/src/lib/components/kern-link/kern-link.ts","../../../projects/kern-angular-kit/src/lib/components/kern-link/kern-link.html","../../../projects/kern-angular-kit/src/lib/components/kern-progress/kern-progress.ts","../../../projects/kern-angular-kit/src/lib/components/kern-progress/kern-progress.html","../../../projects/kern-angular-kit/src/lib/components/typography/kern-heading/kern-heading.ts","../../../projects/kern-angular-kit/src/lib/directives/typography/kern-body/kern-body.ts","../../../projects/kern-angular-kit/src/lib/directives/typography/kern-list/kern-list.ts","../../../projects/kern-angular-kit/src/lib/utils/control-value-accessor.directive.ts","../../../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-error/kern-input-error.ts","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-hint/kern-input-hint.ts","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-fieldset/kern-fieldset.ts","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-fieldset/kern-fieldset.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-number/kern-input-number.ts","../../../projects/kern-angular-kit/src/lib/components/form-inputs/kern-input-number/kern-input-number.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/components/data-display/kern-table/kern-table.ts","../../../projects/kern-angular-kit/src/lib/components/data-display/kern-table/kern-table.html","../../../projects/kern-angular-kit/src/lib/components/data-display/kern-description-list/kern-description-list.ts","../../../projects/kern-angular-kit/src/lib/components/data-display/kern-description-list/kern-description-list.html","../../../projects/kern-angular-kit/src/lib/components/data-display/kern-tasklist/kern-tasklist.ts","../../../projects/kern-angular-kit/src/lib/components/data-display/kern-tasklist/kern-tasklist.html","../../../projects/kern-angular-kit/src/lib/components/data-display/kern-summary/kern-summary.ts","../../../projects/kern-angular-kit/src/lib/components/data-display/kern-summary/kern-summary.html","../../../projects/kern-angular-kit/src/lib/components/data-display/kern-summary/kern-summary-group.ts","../../../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 { Directive, HostBinding, input } from '@angular/core';\n\n@Directive({\n  selector:\n    'h1[kernTitle], h2[kernTitle], h3[kernTitle], h4[kernTitle], h5[kernTitle], h6[kernTitle], span[kernTitle], caption[kernTitle], p[kernTitle]',\n  standalone: true\n})\nexport class KernTitle {\n  readonly size = input<'default' | 'small' | 'large'>('default');\n\n  @HostBinding('class.kern-title') baseClass = true;\n\n  @HostBinding('class.kern-title--small')\n  get isSmall(): boolean {\n    return this.size() === 'small';\n  }\n\n  @HostBinding('class.kern-title--large')\n  get isLarge(): boolean {\n    return this.size() === 'large';\n  }\n}\n","import { Component, input } from '@angular/core';\nimport { KernTitle } from '../../directives/typography/kern-title/kern-title';\n\n@Component({\n  selector: 'kern-accordion',\n  imports: [KernTitle],\n  templateUrl: './kern-accordion.html',\n  styles: ':host { display: contents; }'\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 kernTitle>{{ title() }}</span>\n  </summary>\n  <section class=\"kern-accordion__body\">\n    <ng-content />\n  </section>\n</details>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'kern-accordion-group',\n  host: { class: 'kern-accordion-group' },\n  template: `<ng-content />`\n})\nexport class KernAccordionGroup {}\n","import { Component, input } from '@angular/core';\n\n@Component({\n  selector: 'kern-icon',\n  templateUrl: './kern-icon.html',\n  styles: ':host { display: contents; }'\n})\nexport class KernIcon {\n  readonly name = input.required<string>();\n  readonly ariaHidden = input<boolean>(true);\n  readonly size = input<'default' | 'small' | 'large' | 'x-large'>('default');\n}\n","<span\n  class=\"kern-icon kern-icon--{{ name() }}\"\n  [attr.aria-hidden]=\"ariaHidden()\"\n  [class.kern-icon--small]=\"size() === 'small'\"\n  [class.kern-icon--large]=\"size() === 'large'\"\n  [class.kern-icon--x-large]=\"size() === 'x-large'\"\n></span>\n","import { Component, input } from '@angular/core';\nimport { KernIcon } from '../kern-icon/kern-icon';\nimport { KernTitle } from '../../directives/typography/kern-title/kern-title';\n\n@Component({\n  selector: 'kern-alert',\n  imports: [KernIcon, KernTitle],\n  templateUrl: './kern-alert.html',\n  styleUrl: './kern-alert.css'\n})\nexport class KernAlert {\n  readonly title = input.required<string>();\n  readonly variant = input<'info' | 'success' | 'warning' | 'danger'>('info');\n}\n","<div class=\"kern-alert kern-alert--{{ variant() }}\" role=\"alert\">\n  <div class=\"kern-alert__header\">\n    <kern-icon [name]=\"variant()\"></kern-icon>\n    <span kernTitle>{{ title() }}</span>\n  </div>\n  <div class=\"kern-alert__body\"><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 {\n  booleanAttribute,\n  Directive,\n  ElementRef,\n  HostBinding,\n  inject,\n  input,\n  OnChanges,\n  Renderer2,\n  SimpleChanges\n} from '@angular/core';\n\n@Directive({\n  selector:\n    'label[kernLabel], legend[kernLabel], span[kernLabel], p[kernLabel]',\n  standalone: true\n})\nexport class KernLabel implements OnChanges {\n  private optionalSpan?: HTMLElement;\n\n  private readonly elementRef = inject(ElementRef);\n  private readonly renderer = inject(Renderer2);\n\n  readonly size = input<'default' | 'small' | 'large'>('default');\n  readonly optional = input<boolean, unknown>(false, {\n    transform: booleanAttribute\n  });\n  readonly srOnly = input<boolean, unknown>(false, {\n    transform: booleanAttribute\n  });\n\n  @HostBinding('class.kern-label') baseClass = true;\n\n  @HostBinding('class.kern-label--small')\n  get isSmall(): boolean {\n    return this.size() === 'small';\n  }\n\n  @HostBinding('class.kern-label--large')\n  get isLarge(): boolean {\n    return this.size() === 'large';\n  }\n\n  @HostBinding('class.kern-sr-only')\n  get isSrOnly(): boolean {\n    return this.srOnly();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes['optional']) {\n      if (this.optional()) {\n        if (!this.optionalSpan) {\n          this.optionalSpan = this.renderer.createElement('span');\n          this.renderer.addClass(this.optionalSpan, 'kern-label__optional');\n\n          this.renderer.setAttribute(\n            this.optionalSpan,\n            'i18n',\n            '@@kernAngularKit.label.optional'\n          );\n\n          this.renderer.setProperty(\n            this.optionalSpan,\n            'textContent',\n            '- Optional'\n          );\n\n          this.renderer.appendChild(\n            this.elementRef.nativeElement,\n            this.optionalSpan\n          );\n        }\n      } else if (this.optionalSpan) {\n        this.renderer.removeChild(\n          this.elementRef.nativeElement,\n          this.optionalSpan\n        );\n\n        this.optionalSpan = undefined;\n      }\n    }\n  }\n}\n","import { Component, input, output } from '@angular/core';\nimport { KernLabel } from '../../directives/typography/kern-label/kern-label';\n\n@Component({\n  selector: 'kern-button',\n  imports: [KernLabel],\n  templateUrl: './kern-button.html',\n  styles: ':host { display: contents; }'\n})\nexport class KernButton {\n  readonly variant = input<'primary' | 'secondary' | 'tertiary'>('primary');\n  readonly block = input<boolean>(false);\n  readonly disabled = input<boolean>(false);\n  readonly type = input<'button' | 'submit' | 'reset'>('button');\n  readonly iconLeft = input<string | null>(null);\n  readonly iconRight = input<string | null>(null);\n  readonly srOnlyLabel = input<boolean>(false);\n\n  readonly clickEvent = output<Event>();\n}\n","<button\n  class=\"kern-btn kern-btn--{{ variant() }}\"\n  [class.kern-btn--block]=\"block()\"\n  [type]=\"type()\"\n  [disabled]=\"disabled()\"\n  (click)=\"clickEvent.emit($event)\"\n>\n  @if (iconLeft()) {\n    <span class=\"kern-icon kern-icon--{{ iconLeft() }}\" aria-hidden=\"true\"></span>\n  }\n  <span kernLabel [srOnly]=\"srOnlyLabel()\"><ng-content /></span>\n  @if (iconRight()) {\n    <span class=\"kern-icon kern-icon--{{ iconRight() }}\" aria-hidden=\"true\"></span>\n  }\n</button>\n","import {\n  Component,\n  ElementRef,\n  output,\n  viewChild,\n  input,\n  inject,\n  computed\n} from '@angular/core';\nimport { UniqueIdService } from '../../services/unique-id';\nimport { KernButton } from '../kern-button/kern-button';\nimport { KernTitle } from '../../directives/typography/kern-title/kern-title';\n\n@Component({\n  selector: 'kern-dialog',\n  imports: [KernButton, KernTitle],\n  templateUrl: './kern-dialog.html'\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 = inject(UniqueIdService).getUniqueId('dialog');\n\n  protected readonly effectiveId = computed(\n    () => this.dialogId() ?? this.generatedId\n  );\n\n  private readonly dialog =\n    viewChild.required<ElementRef<HTMLDialogElement>>('dialog');\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]=\"effectiveId()\"\n  class=\"kern-dialog\"\n  [attr.aria-describedby]=\"effectiveId() + '_heading'\"\n  (cancel)=\"cancelEvent.emit($event)\"\n>\n  <header class=\"kern-dialog__header\">\n    <h2 kernTitle size=\"large\" id=\"{{ effectiveId() }}_heading\">{{ title() }}</h2>\n    <kern-button variant=\"tertiary\" iconLeft=\"close\" [srOnlyLabel]=\"true\" (clickEvent)=\"dialog.close()\">\n      {{ btnCloseLabelText() }}\n    </kern-button>\n  </header>\n  <section class=\"kern-dialog__body\">\n    <ng-content />\n  </section>\n  @if (btnPrimaryLabelText() || btnSecondaryLabelText()) {\n    <footer class=\"kern-dialog__footer\">\n      @if (btnSecondaryLabelText()) {\n        <kern-button variant=\"secondary\" (clickEvent)=\"btnSecondaryClickEvent.emit($event)\">\n          {{ btnSecondaryLabelText() }}\n        </kern-button>\n      }\n      @if (btnPrimaryLabelText()) {\n        <kern-button (clickEvent)=\"btnPrimaryClickEvent.emit($event)\">\n          {{ btnPrimaryLabelText() }}\n        </kern-button>\n      }\n    </footer>\n  }\n</dialog>\n","import { Component, input } from '@angular/core';\n\n@Component({\n  selector: 'kern-loader',\n  templateUrl: './kern-loader.html'\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, input } from '@angular/core';\nimport { KernIcon } from '../kern-icon/kern-icon';\nimport { KernLabel } from '../../directives/typography/kern-label/kern-label';\n\n@Component({\n  selector: 'kern-badge',\n  imports: [KernIcon, KernLabel],\n  templateUrl: './kern-badge.html'\n})\nexport class KernBadge {\n  readonly variant = input<'info' | 'success' | 'warning' | 'danger'>('info');\n  readonly icon = input<string | null>(null);\n}\n","<span class=\"kern-badge kern-badge--{{ variant() }}\">\n  @if (icon()) {\n    <kern-icon [name]=\"icon()!\" />\n  }\n  <span kernLabel size=\"small\">\n    <ng-content />\n  </span>\n</span>\n","import { Directive, HostBinding, input } from '@angular/core';\n\n@Directive({\n  selector:\n    'h1[kernPreline], h2[kernPreline], h3[kernPreline], h4[kernPreline], h5[kernPreline], h6[kernPreline], span[kernPreline], p[kernPreline]',\n  standalone: true\n})\nexport class KernPreline {\n  readonly size = input<'default' | 'small' | 'large'>('default');\n\n  @HostBinding('class.kern-preline') baseClass = true;\n\n  @HostBinding('class.kern-preline--small')\n  get isSmall(): boolean {\n    return this.size() === 'small';\n  }\n\n  @HostBinding('class.kern-preline--large')\n  get isLarge(): boolean {\n    return this.size() === 'large';\n  }\n}\n","import { Directive, HostBinding, input } from '@angular/core';\n\n@Directive({\n  selector:\n    'h1[kernSubline], h2[kernSubline], h3[kernSubline], h4[kernSubline], h5[kernSubline], h6[kernSubline], span[kernSubline], p[kernSubline]',\n  standalone: true\n})\nexport class KernSubline {\n  readonly size = input<'default' | 'small' | 'large'>('default');\n\n  @HostBinding('class.kern-subline') baseClass = true;\n\n  @HostBinding('class.kern-subline--small')\n  get isSmall(): boolean {\n    return this.size() === 'small';\n  }\n\n  @HostBinding('class.kern-subline--large')\n  get isLarge(): boolean {\n    return this.size() === 'large';\n  }\n}\n","import { Component, input, output } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { KernPreline } from '../../directives/typography/kern-preline/kern-preline';\nimport { KernTitle } from '../../directives/typography/kern-title/kern-title';\nimport { KernSubline } from '../../directives/typography/kern-subline/kern-subline';\nimport { KernButton } from '../kern-button/kern-button';\n\n@Component({\n  selector: 'kern-card',\n  imports: [NgTemplateOutlet, KernPreline, KernTitle, KernSubline, KernButton],\n  templateUrl: './kern-card.html',\n  styles: ':host { display: contents; }'\n})\nexport class KernCard {\n  readonly title = input<string | null>(null);\n  readonly titleLinkHref = input<string | null>(null);\n  readonly titleLinkTarget = input<'_self' | '_blank' | '_parent' | '_top'>(\n    '_self'\n  );\n  readonly preline = input<string | null>(null);\n  readonly subline = input<string | null>(null);\n  readonly imgSrc = input<string | null>(null);\n  readonly imgAlt = input<string | null>(null);\n  readonly size = input<'default' | 'small' | 'large'>('default');\n  readonly headingLevel = input<'1' | '2' | '3' | '4' | '5'>('2');\n  readonly btnPrimaryLabelText = input<string | null>(null);\n  readonly btnSecondaryLabelText = input<string | null>(null);\n\n  readonly titleLinkClickEvent = output<Event>();\n  readonly btnPrimaryClickEvent = output<Event>();\n  readonly btnSecondaryClickEvent = output<Event>();\n}\n","<article\n  class=\"kern-card\"\n  [class.kern-card--active]=\"title() && titleLinkHref()\"\n  [class.kern-card--small]=\"size() === 'small'\"\n  [class.kern-card--large]=\"size() === 'large'\"\n>\n  @if (imgSrc()) {\n    <div class=\"kern-card__media\">\n      <img [src]=\"imgSrc()\" [attr.alt]=\"imgAlt()\" />\n    </div>\n  }\n  <div class=\"kern-card__container\">\n    @if (title() || preline() || subline()) {\n      <header class=\"kern-card__header\">\n        @if (preline()) {\n          <p kernPreline>{{ preline() }}</p>\n        }\n        @if (title()) {\n          <ng-template #headingContent>\n            @if (titleLinkHref()) {\n              <a\n                [href]=\"titleLinkHref()\"\n                class=\"kern-link--stretched\"\n                [target]=\"titleLinkTarget()\"\n                [attr.rel]=\"titleLinkTarget() === '_blank' ? 'noopener noreferrer' : null\"\n                (click)=\"titleLinkClickEvent.emit($event)\"\n              >\n                {{ title() }}\n              </a>\n            } @else {\n              {{ title() }}\n            }\n          </ng-template>\n\n          @switch (headingLevel()) {\n            @case ('1') {\n              <h1 kernTitle><ng-container [ngTemplateOutlet]=\"headingContent\" /></h1>\n            }\n            @case ('2') {\n              <h2 kernTitle><ng-container [ngTemplateOutlet]=\"headingContent\" /></h2>\n            }\n            @case ('3') {\n              <h3 kernTitle><ng-container [ngTemplateOutlet]=\"headingContent\" /></h3>\n            }\n            @case ('4') {\n              <h4 kernTitle><ng-container [ngTemplateOutlet]=\"headingContent\" /></h4>\n            }\n            @case ('5') {\n              <h5 kernTitle><ng-container [ngTemplateOutlet]=\"headingContent\" /></h5>\n            }\n          }\n        }\n        @if (subline()) {\n          @switch (headingLevel()) {\n            @case ('1') {\n              <h2 kernSubline>{{ subline() }}</h2>\n            }\n            @case ('2') {\n              <h3 kernSubline>{{ subline() }}</h3>\n            }\n            @case ('3') {\n              <h4 kernSubline>{{ subline() }}</h4>\n            }\n            @case ('4') {\n              <h5 kernSubline>{{ subline() }}</h5>\n            }\n            @case ('5') {\n              <h6 kernSubline>{{ subline() }}</h6>\n            }\n          }\n        }\n      </header>\n    }\n    <section class=\"kern-card__body\">\n      <ng-content />\n    </section>\n    @if (btnPrimaryLabelText() || btnSecondaryLabelText()) {\n      <footer class=\"kern-card__footer\">\n        @if (btnPrimaryLabelText()) {\n          <kern-button (clickEvent)=\"btnPrimaryClickEvent.emit($event)\">\n            {{ btnPrimaryLabelText() }}\n          </kern-button>\n        }\n        @if (btnSecondaryLabelText()) {\n          <kern-button variant=\"secondary\" (clickEvent)=\"btnSecondaryClickEvent.emit($event)\">\n            {{ btnSecondaryLabelText() }}\n          </kern-button>\n        }\n      </footer>\n    }\n  </div>\n</article>\n","import { Component, input } from '@angular/core';\n\n@Component({\n  selector: 'kern-divider',\n  templateUrl: './kern-divider.html'\n})\nexport class KernDivider {\n  readonly ariaHidden = input<boolean>(true);\n}\n","<hr class=\"kern-divider\" [attr.aria-hidden]=\"ariaHidden()\" />\n","import { Component, input, output } from '@angular/core';\nimport { KernIcon } from '../kern-icon/kern-icon';\n\n@Component({\n  selector: 'kern-link',\n  templateUrl: './kern-link.html',\n  imports: [KernIcon],\n  styles: ':host { display: contents; }'\n})\nexport class KernLink {\n  readonly href = input<string | null>(null);\n  readonly target = input<'_self' | '_blank' | '_parent' | '_top'>('_self');\n  readonly small = input<boolean>(false);\n  readonly stretched = input<boolean>(false);\n  readonly iconLeft = input<string | null>(null);\n  readonly iconRight = input<string | null>(null);\n  readonly linkDescribedBy = input<string | null>(null);\n\n  readonly clickEvent = output<Event>();\n}\n","<a\n  class=\"kern-link\"\n  [class.kern-link--small]=\"small()\"\n  [class.kern-link--stretched]=\"stretched()\"\n  [href]=\"href()\"\n  [target]=\"target()\"\n  [attr.rel]=\"target() === '_blank' ? 'noopener noreferrer' : null\"\n  [attr.aria-describedby]=\"linkDescribedBy() || null\"\n  (click)=\"clickEvent.emit($event)\"\n>\n  @if (iconLeft()) {\n    <kern-icon [name]=\"iconLeft()!\"></kern-icon>\n  }\n  <ng-content />\n  @if (iconRight()) {\n    <kern-icon [name]=\"iconRight()!\"></kern-icon>\n  }\n</a>\n","import { Component, computed, inject, input } from '@angular/core';\nimport { KernLabel } from '../../directives/typography/kern-label/kern-label';\nimport { UniqueIdService } from '../../services/unique-id';\n\n@Component({\n  selector: 'kern-progress',\n  imports: [KernLabel],\n  host: { class: 'kern-progress' },\n  templateUrl: './kern-progress.html'\n})\nexport class KernProgress {\n  readonly progressId = input<string>();\n  readonly value = input.required<number>();\n  readonly max = input<number>(100);\n  readonly label = input<string | null>(null);\n  readonly labelPosition = input<'top' | 'bottom'>('top');\n\n  private readonly generatedId =\n    inject(UniqueIdService).getUniqueId('progress');\n\n  protected readonly effectiveId = computed(\n    () => this.progressId() ?? this.generatedId\n  );\n}\n","@if (label() && labelPosition() === 'top') {\n  <label kernLabel [for]=\"effectiveId()\">{{ label() }}</label>\n}\n<progress [value]=\"value()\" [max]=\"max()\" [id]=\"effectiveId()\"></progress>\n@if (label() && labelPosition() === 'bottom') {\n  <label kernLabel [for]=\"effectiveId()\">{{ label() }}</label>\n}\n","import {\n  Component,\n  input,\n  computed,\n  ElementRef,\n  Renderer2,\n  AfterViewInit,\n  inject\n} from '@angular/core';\n\n@Component({\n  selector: 'kern-heading',\n  template: `<ng-content />`,\n  styles: ':host { display: contents; }'\n})\nexport class KernHeading implements AfterViewInit {\n  private readonly elementRef = inject(ElementRef);\n  private readonly renderer = inject(Renderer2);\n\n  readonly level = input<'1' | '2' | '3' | '4' | '5' | '6'>('1');\n  readonly size = input<\n    'display' | 'x-large' | 'large' | 'medium' | 'small' | undefined\n  >(undefined);\n\n  // Compute the CSS class based on level (with default size mapping) and optional size override\n  private readonly cssClass = computed(() => {\n    const sizeOverride = this.size();\n    const effectiveSize =\n      sizeOverride || this.getDefaultSizeForLevel(this.level());\n\n    // Map to actual CSS classes available for kern-heading\n    if (effectiveSize === 'display') {\n      return 'kern-heading-display';\n    } else if (effectiveSize === 'x-large') {\n      return 'kern-heading-x-large';\n    } else if (effectiveSize === 'large') {\n      return 'kern-heading-large';\n    } else if (effectiveSize === 'medium') {\n      return 'kern-heading-medium';\n    } else if (effectiveSize === 'small') {\n      return 'kern-heading-small';\n    } else {\n      // Default case\n      return 'kern-heading-medium';\n    }\n  });\n\n  ngAfterViewInit() {\n    const hostElement = this.elementRef.nativeElement;\n    const level = this.level();\n\n    // Create the appropriate heading element\n    const headingElement = this.renderer.createElement(`h${level}`);\n\n    // Add CSS class\n    this.renderer.addClass(headingElement, this.cssClass());\n\n    // Move all child nodes (including ng-content) to the heading element\n    while (hostElement.firstChild) {\n      this.renderer.appendChild(headingElement, hostElement.firstChild);\n    }\n\n    // Add the heading element to the host\n    this.renderer.appendChild(hostElement, headingElement);\n  }\n\n  // Map HTML heading levels to default KERN heading sizes\n  private getDefaultSizeForLevel(level: string): string {\n    const levelToSizeMap: Record<string, string> = {\n      '1': 'display', // h1 -> kern-heading-display (largest)\n      '2': 'x-large', // h2 -> kern-heading-x-large\n      '3': 'large', // h3 -> kern-heading-large\n      '4': 'medium', // h4 -> kern-heading-medium\n      '5': 'small', // h5 -> kern-heading-small\n      '6': 'small' // h6 -> kern-heading-small (smallest available)\n    };\n    return levelToSizeMap[level] || 'medium';\n  }\n}\n","import { Directive, HostBinding, input } from '@angular/core';\n\n@Directive({\n  selector: 'p[kernBody], span[kernBody]',\n  standalone: true\n})\nexport class KernBody {\n  readonly size = input<'default' | 'small' | 'large'>('default');\n  readonly weight = input<'default' | 'bold' | 'muted'>('default');\n\n  @HostBinding('class.kern-body') baseClass = true;\n\n  @HostBinding('class.kern-body--small')\n  get isSmall(): boolean {\n    return this.size() === 'small';\n  }\n\n  @HostBinding('class.kern-body--large')\n  get isLarge(): boolean {\n    return this.size() === 'large';\n  }\n\n  @HostBinding('class.kern-body--bold')\n  get isBold(): boolean {\n    return this.weight() === 'bold';\n  }\n\n  @HostBinding('class.kern-body--muted')\n  get isMuted(): boolean {\n    return this.weight() === 'muted';\n  }\n}\n","import { Directive, HostBinding, input } from '@angular/core';\n\n@Directive({\n  selector: 'ul[kernList], ol[kernList]',\n  standalone: true\n})\nexport class KernList {\n  readonly size = input<'default' | 'small' | 'large'>('default');\n  readonly type = input<'simple' | 'bullet' | 'number'>('simple');\n\n  @HostBinding('class.kern-list') baseClass = true;\n\n  @HostBinding('class.kern-list--small')\n  get isSmall(): boolean {\n    return this.size() === 'small';\n  }\n\n  @HostBinding('class.kern-list--large')\n  get isLarge(): boolean {\n    return this.size() === 'large';\n  }\n\n  @HostBinding('class.kern-list--bullet')\n  get isBulletType(): boolean {\n    return this.type() === 'bullet';\n  }\n\n  @HostBinding('class.kern-list--number')\n  get isNumberType(): boolean {\n    return this.type() === 'number';\n  }\n}\n","import { Directive, forwardRef, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Directive({\n  selector: '[kernControlValueAccessor]',\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => ControlValueAccessorDirective),\n      multi: true\n    }\n  ]\n})\nexport class ControlValueAccessorDirective<TValue = unknown>\n  implements ControlValueAccessor\n{\n  value = signal<TValue>(null as TValue);\n  disabled = signal(false);\n\n  onChange: (value: TValue) => void = (_value: TValue) => {};\n  onTouched: () => void = () => {};\n\n  changeValue(value: TValue): void {\n    this.value.set(value);\n    this.onChange(value);\n  }\n\n  markTouched() {\n    this.onTouched();\n  }\n\n  writeValue(value: TValue) {\n    this.value.set(value);\n  }\n\n  registerOnChange(onChange: (value: TValue) => void) {\n    this.onChange = onChange;\n  }\n\n  registerOnTouched(onTouched: () => void) {\n    this.onTouched = onTouched;\n  }\n\n  setDisabledState?(isDisabled: boolean) {\n    this.disabled.set(isDisabled);\n  }\n}\n","import { Component, computed, inject, input, TemplateRef } from '@angular/core';\nimport { UniqueIdService } from '../../../services/unique-id';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ControlValueAccessorDirective } from '../../../utils/control-value-accessor.directive';\nimport { KernLabel } from '../../../directives/typography/kern-label/kern-label';\n\n@Component({\n  selector: 'kern-input-checkbox',\n  imports: [NgTemplateOutlet, KernLabel],\n  templateUrl: './kern-input-checkbox.html',\n  hostDirectives: [ControlValueAccessorDirective]\n})\nexport class KernInputCheckbox {\n  protected readonly cva = inject(ControlValueAccessorDirective);\n\n  readonly inputId = input<string>();\n  readonly labelTemplate = input<TemplateRef<unknown> | null>(null);\n  readonly labelText = input<string | null>(null);\n  readonly error = input<boolean>(false);\n  readonly titleText = input<string | null>(null);\n\n  private readonly generatedId =\n    inject(UniqueIdService).getUniqueId('input-checkbox');\n\n  protected readonly effectiveId = computed(\n    () => this.inputId() ?? this.generatedId\n  );\n\n  protected onChange(event: Event) {\n    const { value } = event.target as HTMLInputElement;\n    this.cva.changeValue(value);\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    [class.kern-form-check__checkbox--error]=\"error()\"\n    [disabled]=\"cva.disabled()\"\n    [checked]=\"cva.value()\"\n    (change)=\"onChange($event)\"\n    [attr.title]=\"titleText()\"\n    [attr.aria-labelledby]=\"effectiveId() + '-label'\"\n    [attr.aria-invalid]=\"error() ? 'true' : null\"\n  />\n\n  <label kernLabel [id]=\"effectiveId() + '-label'\" [for]=\"effectiveId()\">\n    @if (labelTemplate() !== null) {\n      <ng-container [ngTemplateOutlet]=\"labelTemplate()\" />\n    } @else {\n      {{ labelText() ?? '' }}\n    }\n  </label>\n</div>\n","import { Component, input } from '@angular/core';\nimport { KernIcon } from '../../kern-icon/kern-icon';\nimport { KernBody } from '../../../directives/typography/kern-body/kern-body';\n\n@Component({\n  selector: 'kern-input-error',\n  imports: [KernIcon, KernBody],\n  template: `<p class=\"kern-error\" [id]=\"effectiveId() + '-error'\" role=\"alert\">\n    <kern-icon name=\"danger\" />\n    <span kernBody>{{ text() }}</span>\n  </p>`,\n  styles: ':host { display: contents; }'\n})\nexport class KernInputError {\n  effectiveId = input.required<string>();\n  text = input.required<string>();\n}\n","import { Component, input, TemplateRef } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n  selector: 'kern-input-hint',\n  imports: [NgTemplateOutlet],\n  host: { class: 'kern-hint' },\n  template: `@if (hint().template; as templateRef) {\n      <ng-container [ngTemplateOutlet]=\"templateRef\" />\n    } @else {\n      {{ hint().text }}\n    }`\n})\nexport class KernInputHint {\n  readonly hint = input.required<\n    { template: TemplateRef<unknown> | null; text: string },\n    TemplateRef<unknown> | string\n  >({\n    transform: (value: TemplateRef<unknown> | string) => {\n      return {\n        template: value instanceof TemplateRef ? value : null,\n        text: typeof value === 'string' ? value : ''\n      };\n    }\n  });\n}\n","import { Component, computed, inject, input, TemplateRef } from '@angular/core';\nimport { UniqueIdService } from '../../../services/unique-id';\nimport { KernInputError } from '../kern-input-error/kern-input-error';\nimport { KernInputHint } from '../kern-input-hint/kern-input-hint';\nimport { KernLabel } from '../../../directives/typography/kern-label/kern-label';\n\n@Component({\n  selector: 'kern-fieldset',\n  templateUrl: './kern-fieldset.html',\n  imports: [KernLabel, KernInputError, KernInputHint]\n})\nexport class KernFieldset {\n  readonly fieldsetId = input<string>();\n  readonly legendText = input.required<string>();\n  readonly legendSize = input<'default' | 'small' | 'large'>('large');\n  readonly optional = input<boolean>(false);\n  readonly disabled = input<boolean>(false);\n  readonly hintTemplate = input<TemplateRef<unknown> | null>(null);\n  readonly hintText = input<string | null>(null);\n  readonly errorText = input<string | null>(null);\n  readonly horizontalAlignment = input<boolean>(false);\n\n  private readonly generatedId =\n    inject(UniqueIdService).getUniqueId('fieldset');\n\n  protected readonly effectiveId = computed(\n    () => this.fieldsetId() ?? this.generatedId\n  );\n\n  protected readonly fieldsetDescribedBy = computed(() => {\n    return this.hintTemplate() !== null || this.hintText()\n      ? this.effectiveId() + '-hint'\n      : null;\n  });\n}\n","<fieldset\n  class=\"kern-fieldset\"\n  [class.kern-fieldset--error]=\"errorText()\"\n  [attr.aria-describedby]=\"fieldsetDescribedBy()\"\n  [id]=\"effectiveId()\"\n>\n  <legend kernLabel [size]=\"legendSize()\" [optional]=\"optional()\">\n    {{ legendText() }}\n  </legend>\n\n  @if (hintTemplate() || hintText(); as hint) {\n    <kern-input-hint [hint]=\"hint\" />\n  }\n\n  <div class=\"kern-fieldset__body\" [class.kern-fieldset__body--horizontal]=\"horizontalAlignment()\">\n    <ng-content />\n  </div>\n\n  @if (errorText(); as errorText) {\n    <kern-input-error [effectiveId]=\"effectiveId()\" [text]=\"errorText\" />\n  }\n</fieldset>\n","import {\n  AfterViewInit,\n  Component,\n  ElementRef,\n  forwardRef,\n  viewChild,\n  input,\n  inject,\n  computed,\n  TemplateRef\n} from '@angular/core';\nimport {\n  ControlValueAccessor,\n  FormsModule,\n  NG_VALUE_ACCESSOR\n} from '@angular/forms';\nimport { UniqueIdService } from '../../../services/unique-id';\nimport { KernLabel } from '../../../directives/typography/kern-label/kern-label';\nimport { KernFieldset } from '../kern-fieldset/kern-fieldset';\n\ntype DatePart = 'day' | 'month' | 'year';\n\n@Component({\n  selector: 'kern-input-date',\n  imports: [FormsModule, KernLabel, KernFieldset],\n  templateUrl: './kern-input-date.html',\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 fieldsetId = input<string>();\n  readonly labelText = input.required<string>();\n  readonly optional = input<boolean>(false);\n  readonly readonly = input<boolean>(false);\n  readonly hintTemplate = input<TemplateRef<unknown> | null>(null);\n  readonly hintText = input<string | null>(null);\n  readonly errorText = input<string | null>(null);\n\n  private readonly generatedId =\n    inject(UniqueIdService).getUniqueId('fieldset-date');\n\n  protected readonly effectiveId = computed(\n    () => this.fieldsetId() ?? this.generatedId\n  );\n\n  protected readonly inputDescribedBy = computed(() => {\n    return this.errorText() ? this.effectiveId() + '-error' : null;\n  });\n\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  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    this.onChange(this.value);\n\n    if (\n      (this.day !== null && this.month !== null && this.year !== null) ||\n      type === 'year'\n    ) {\n      this.onTouched();\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","<kern-fieldset\n  [fieldsetId]=\"effectiveId()\"\n  [legendText]=\"labelText()\"\n  legendSize=\"default\"\n  [optional]=\"optional()\"\n  [hintText]=\"hintText()\"\n  [hintTemplate]=\"hintTemplate()\"\n  [errorText]=\"errorText()\"\n  [horizontalAlignment]=\"true\"\n>\n  <div class=\"kern-form-input\">\n    <label kernLabel [for]=\"effectiveId() + '-day'\" [id]=\"effectiveId() + '-day-label'\">\n      <span i18n=\"@@kernAngularKit.inputDate.day\">Tag</span>\n    </label>\n\n    <input\n      #dayInput\n      [id]=\"effectiveId() + '-day'\"\n      class=\"kern-form-input__input kern-form-input__input--width-2\"\n      [class.kern-form-input__input--error]=\"errorText()\"\n      type=\"text\"\n      inputmode=\"numeric\"\n      [readonly]=\"readonly()\"\n      [attr.aria-describedby]=\"inputDescribedBy()\"\n      [attr.aria-invalid]=\"errorText() ? 'true' : null\"\n      [attr.aria-errormessage]=\"errorText() ? effectiveId() + '-error' : null\"\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 kernLabel [for]=\"effectiveId() + '-month'\" [id]=\"effectiveId() + '-month-label'\">\n      <span i18n=\"@@kernAngularKit.inputDate.month\">Monat</span>\n    </label>\n    <input\n      #monthInput\n      [id]=\"effectiveId() + '-month'\"\n      class=\"kern-form-input__input kern-form-input__input--width-2\"\n      [class.kern-form-input__input--error]=\"errorText()\"\n      type=\"text\"\n      inputmode=\"numeric\"\n      [readonly]=\"readonly()\"\n      [attr.aria-describedby]=\"inputDescribedBy()\"\n      [attr.aria-invalid]=\"errorText() ? 'true' : null\"\n      [attr.aria-errormessage]=\"errorText() ? effectiveId() + '-error' : null\"\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 kernLabel [for]=\"effectiveId() + '-year'\" [id]=\"effectiveId() + '-year-label'\">\n      <span i18n=\"@@kernAngularKit.inputDate.year\">Jahr</span>\n    </label>\n    <input\n      #yearInput\n      [id]=\"effectiveId() + '-year'\"\n      class=\"kern-form-input__input kern-form-input__input--width-4\"\n      [class.kern-form-input__input--error]=\"errorText()\"\n      type=\"text\"\n      inputmode=\"numeric\"\n      [readonly]=\"readonly()\"\n      [attr.aria-describedby]=\"inputDescribedBy()\"\n      [attr.aria-invalid]=\"errorText() ? 'true' : null\"\n      [attr.aria-errormessage]=\"errorText() ? effectiveId() + '-error' : null\"\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</kern-fieldset>\n","import { Component, computed, inject, input, TemplateRef } from '@angular/core';\nimport { UniqueIdService } from '../../../services/unique-id';\nimport { KernInputError } from '../kern-input-error/kern-input-error';\nimport { KernInputHint } from '../kern-input-hint/kern-input-hint';\nimport { ControlValueAccessorDirective } from '../../../utils/control-value-accessor.directive';\nimport { KernLabel } from '../../../directives/typography/kern-label/kern-label';\n\n@Component({\n  selector: 'kern-input-email',\n  imports: [KernInputError, KernLabel, KernInputHint],\n  templateUrl: './kern-input-email.html',\n  hostDirectives: [ControlValueAccessorDirective]\n})\nexport class KernInputEmail {\n  protected readonly cva = inject(ControlValueAccessorDirective);\n\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 hintTemplate = input<TemplateRef<unknown> | null>(null);\n  readonly hintText = input<string | null>(null);\n  readonly errorText = input<string | null>(null);\n  readonly titleText = input<string | null>(null);\n  readonly placeholder = input<string | null>(null);\n\n  private readonly generatedId =\n    inject(UniqueIdService).getUniqueId('input-email');\n\n  protected readonly effectiveId = computed(\n    () => this.inputId() ?? this.generatedId\n  );\n\n  protected readonly inputDescribedBy = computed(() => {\n    const baseId = this.effectiveId();\n    const ids: string[] = [];\n\n    if (this.hintTemplate() !== null || this.hintText()) {\n      ids.push(`${baseId}-hint`);\n    }\n    if (this.errorText()) {\n      ids.push(`${baseId}-error`);\n    }\n\n    return ids.length ? ids.join(' ') : null;\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.cva.markTouched();\n    }\n  }\n}\n","<div class=\"kern-form-input\" [class.kern-form-input--error]=\"errorText()\">\n  <label kernLabel [for]=\"effectiveId()\" [id]=\"effectiveId() + '-label'\" [optional]=\"optional()\">\n    {{ labelText() }}\n  </label>\n\n  @if (hintTemplate() || hintText(); as hint) {\n    <kern-input-hint [hint]=\"hint\" />\n  }\n\n  <input\n    [attr.title]=\"titleText()\"\n    [attr.placeholder]=\"placeholder()\"\n    [id]=\"effectiveId()\"\n    type=\"email\"\n    class=\"kern-form-input__input\"\n    [class.kern-form-input__input--error]=\"errorText()\"\n    [value]=\"cva.value()\"\n    [disabled]=\"cva.disabled()\"\n    (blur)=\"cva.markTouched()\"\n    (keydown)=\"onKeydown($event)\"\n    [readonly]=\"readonly()\"\n    [required]=\"required()\"\n    autocomplete=\"email\"\n    [attr.aria-describedby]=\"inputDescribedBy()\"\n    [attr.aria-required]=\"required() ? 'true' : null\"\n    [attr.aria-invalid]=\"errorText() ? 'true' : null\"\n    [attr.aria-errormessage]=\"errorText() ? effectiveId() + '-error' : null\"\n    [attr.maxlength]=\"maxlength()\"\n  />\n  @if (errorText(); as errorText) {\n    <kern-input-error [effectiveId]=\"effectiveId()\" [text]=\"errorText\" />\n  }\n</div>\n","import {\n  Component,\n  ElementRef,\n  viewChild,\n  input,\n  inject,\n  computed,\n  TemplateRef\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { UniqueIdService } from '../../../services/unique-id';\nimport { KernInputError } from '../kern-input-error/kern-input-error';\nimport { KernInputHint } from '../kern-input-hint/kern-input-hint';\nimport { ControlValueAccessorDirective } from '../../../utils/control-value-accessor.directive';\nimport { KernLabel } from '../../../directives/typography/kern-label/kern-label';\n\n@Component({\n  selector: 'kern-input-file',\n  imports: [FormsModule, KernInputError, KernInputHint, KernLabel],\n  templateUrl: './kern-input-file.html',\n  hostDirectives: [ControlValueAccessorDirective]\n})\nexport class KernInputFile {\n  protected readonly cva = inject(ControlValueAccessorDirective);\n\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 hintTemplate = input<TemplateRef<unknown> | null>(null);\n  readonly hintText = input<string | null>(null);\n  readonly errorText = input<string | null>(null);\n  readonly accept = input<string | null>(null);\n  readonly titleText = input<string | null>(null);\n  readonly placeholder = input<string | null>(null);\n\n  private readonly generatedId =\n    inject(UniqueIdService).getUniqueId('input-file');\n\n  protected readonly effectiveId = computed(\n    () => this.inputId() ?? this.generatedId\n  );\n\n  protected readonly inputDescribedBy = computed(() => {\n    const baseId = this.effectiveId();\n    const ids: string[] = [];\n\n    if (this.hintTemplate() !== null || this.hintText()) {\n      ids.push(`${baseId}-hint`);\n    }\n    if (this.errorText()) {\n      ids.push(`${baseId}-error`);\n    }\n\n    return ids.length ? ids.join(' ') : null;\n  });\n\n  private readonly fileInput =\n    viewChild.required<ElementRef<HTMLInputElement>>('fileInput');\n\n  public get fileList(): FileList | null {\n    return this.fileInput().nativeElement?.files ?? null;\n  }\n\n  protected onChange(event: Event) {\n    const { value } = event.target as HTMLInputElement;\n    this.cva.changeValue(value);\n  }\n}\n","<div class=\"kern-form-input\" [class.kern-form-input--error]=\"errorText()\">\n  <label kernLabel [for]=\"effectiveId()\" [id]=\"effectiveId() + '-label'\" [optional]=\"optional()\">\n    {{ labelText() }}\n  </label>\n\n  @if (hintTemplate() || hintText(); as hint) {\n    <kern-input-hint [hint]=\"hint\" />\n  }\n\n  <input\n    [attr.title]=\"titleText()\"\n    [attr.placeholder]=\"placeholder()\"\n    [id]=\"effectiveId()\"\n    type=\"file\"\n    class=\"kern-form-input__input\"\n    [class.kern-form-input__input--error]=\"errorText()\"\n    [value]=\"cva.value()\"\n    [disabled]=\"cva.disabled()\"\n    (change)=\"onChange($event)\"\n    [required]=\"required()\"\n    [attr.aria-describedby]=\"inputDescribedBy()\"\n    [attr.aria-required]=\"required() ? 'true' : null\"\n    [attr.aria-invalid]=\"errorText() ? 'true' : null\"\n    [attr.aria-errormessage]=\"errorText() ? effectiveId() + '-error' : null\"\n    [attr.accept]=\"accept()\"\n    #fileInput\n  />\n\n  @if (errorText(); as errorText) {\n    <kern-input-error [effectiveId]=\"effectiveId()\" [text]=\"errorText\" />\n  }\n</div>\n","import { Component, computed, inject, input, TemplateRef } from '@angular/core';\nimport { UniqueIdService } from '../../../services/unique-id';\nimport { KernInputError } from '../kern-input-error/kern-input-error';\nimport { KernInputHint } from '../kern-input-hint/kern-input-hint';\nimport { ControlValueAccessorDirective } from '../../../utils/control-value-accessor.directive';\nimport { KernLabel } from '../../../directives/typography/kern-label/kern-label';\n\n@Component({\n  selector: 'kern-input-number',\n  imports: [KernInputError, KernLabel, KernInputHint],\n  templateUrl: './kern-input-number.html',\n  hostDirectives: [ControlValueAccessorDirective]\n})\nexport class KernInputNumber {\n  protected readonly cva = inject(ControlValueAccessorDirective);\n\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 min = input<number | null>(null);\n  readonly max = input<number | null>(null);\n  readonly step = input<number | null>(null);\n  readonly autocomplete = input<string | null>(null);\n  readonly hintTemplate = input<TemplateRef<unknown> | null>(null);\n  readonly hintText = input<string | null>(null);\n  readonly errorText = input<string | null>(null);\n  readonly titleText = input<string | null>(null);\n  readonly placeholder = input<string | null>(null);\n\n  private readonly generatedId =\n    inject(UniqueIdService).getUniqueId('input-number');\n\n  protected readonly effectiveId = computed(\n    () => this.inputId() ?? this.generatedId\n  );\n\n  protected readonly inputDescribedBy = computed(() => {\n    const baseId = this.effectiveId();\n    const ids: string[] = [];\n\n    if (this.hintTemplate() !== null || this.hintText()) {\n      ids.push(`${baseId}-hint`);\n    }\n    if (this.errorText()) {\n      ids.push(`${baseId}-error`);\n    }\n\n    return ids.length ? ids.join(' ') : null;\n  });\n\n  protected onInput(event: Event) {\n    const { value } = event.target as HTMLInputElement;\n    this.cva.changeValue(value);\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.cva.markTouched();\n    }\n  }\n}\n","<div class=\"kern-form-input\" [class.kern-form-input--error]=\"errorText()\">\n  <label kernLabel [id]=\"effectiveId() + '-label'\" [for]=\"effectiveId()\" [optional]=\"optional()\">\n    {{ labelText() }}\n  </label>\n\n  @if (hintTemplate() || hintText(); as hint) {\n    <kern-input-hint [hint]=\"hint\" />\n  }\n\n  <input\n    [attr.title]=\"titleText()\"\n    [attr.placeholder]=\"placeholder()\"\n    [id]=\"effectiveId()\"\n    type=\"number\"\n    class=\"kern-form-input__input\"\n    [class.kern-form-input__input--error]=\"errorText()\"\n    (input)=\"onInput($event)\"\n    (blur)=\"cva.markTouched()\"\n    (keydown)=\"onKeydown($event)\"\n    [disabled]=\"cva.disabled()\"\n    [readonly]=\"readonly()\"\n    [required]=\"required()\"\n    [value]=\"cva.value()\"\n    [attr.autocomplete]=\"autocomplete()\"\n    [attr.aria-describedby]=\"inputDescribedBy()\"\n    [attr.aria-required]=\"required() ? 'true' : null\"\n    [attr.aria-invalid]=\"errorText() ? 'true' : null\"\n    [attr.aria-errormessage]=\"errorText() ? effectiveId() + '-error' : null\"\n    [attr.min]=\"min()\"\n    [attr.max]=\"max()\"\n    [attr.step]=\"step()\"\n  />\n\n  @if (errorText(); as errorText) {\n    <kern-input-error [effectiveId]=\"effectiveId()\" [text]=\"errorText\" />\n  }\n</div>\n","import { Component, computed, inject, input, TemplateRef } from '@angular/core';\nimport { UniqueIdService } from '../../../services/unique-id';\nimport { KernInputError } from '../kern-input-error/kern-input-error';\nimport { KernInputHint } from '../kern-input-hint/kern-input-hint';\nimport { ControlValueAccessorDirective } from '../../../utils/control-value-accessor.directive';\nimport { KernLabel } from '../../../directives/typography/kern-label/kern-label';\n\n@Component({\n  selector: 'kern-input-password',\n  imports: [KernInputError, KernInputHint, KernLabel],\n  templateUrl: './kern-input-password.html',\n  hostDirectives: [ControlValueAccessorDirective]\n})\nexport class KernInputPassword {\n  protected readonly cva = inject(ControlValueAccessorDirective);\n\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 hintTemplate = input<TemplateRef<unknown> | null>(null);\n  readonly hintText = input<string | null>(null);\n  readonly errorText = input<string | null>(null);\n  readonly titleText = input<string | null>(null);\n  readonly placeholder = input<string | null>(null);\n\n  private readonly generatedId =\n    inject(UniqueIdService).getUniqueId('input-password');\n\n  protected readonly effectiveId = computed(\n    () => this.inputId() ?? this.generatedId\n  );\n\n  protected readonly inputDescribedBy = computed(() => {\n    const baseId = this.effectiveId();\n    const ids: string[] = [];\n\n    if (this.hintTemplate() !== null || this.hintText()) {\n      ids.push(`${baseId}-hint`);\n    }\n    if (this.errorText()) {\n      ids.push(`${baseId}-error`);\n    }\n\n    return ids.length ? ids.join(' ') : null;\n  });\n\n  protected onInput(event: Event) {\n    const { value } = event.target as HTMLInputElement;\n    this.cva.changeValue(value);\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.cva.markTouched();\n    }\n  }\n}\n","<div class=\"kern-form-input\" [class.kern-form-input--error]=\"errorText()\">\n  <label kernLabel [id]=\"effectiveId() + '-label'\" [for]=\"effectiveId()\" [optional]=\"optional()\">\n    {{ labelText() }}\n  </label>\n\n  @if (hintTemplate() || hintText(); as hint) {\n    <kern-input-hint [hint]=\"hint\" />\n  }\n\n  <input\n    [attr.title]=\"titleText()\"\n    [attr.placeholder]=\"placeholder()\"\n    [id]=\"effectiveId()\"\n    type=\"password\"\n    class=\"kern-form-input__input\"\n    [class.kern-form-input__input--error]=\"errorText()\"\n    (input)=\"onInput($event)\"\n    (blur)=\"cva.markTouched()\"\n    (keydown)=\"onKeydown($event)\"\n    [disabled]=\"cva.disabled()\"\n    [readonly]=\"readonly()\"\n    [required]=\"required()\"\n    [value]=\"cva.value()\"\n    [attr.aria-describedby]=\"inputDescribedBy()\"\n    [attr.aria-required]=\"required() ? 'true' : null\"\n    [attr.aria-invalid]=\"errorText() ? 'true' : null\"\n    [attr.aria-errormessage]=\"errorText() ? effectiveId() + '-error' : null\"\n    [attr.maxlength]=\"maxlength()\"\n  />\n\n  @if (errorText(); as errorText) {\n    <kern-input-error [effectiveId]=\"effectiveId()\" [text]=\"errorText\" />\n  }\n</div>\n","import { Component, computed, inject, input, TemplateRef } from '@angular/core';\nimport { UniqueIdService } from '../../../services/unique-id';\nimport { ControlValueAccessorDirective } from '../../../utils/control-value-accessor.directive';\nimport { KernFieldset } from '../kern-fieldset/kern-fieldset';\n\n@Component({\n  selector: 'kern-input-radio',\n  imports: [KernFieldset],\n  templateUrl: './kern-input-radio.html',\n  hostDirectives: [ControlValueAccessorDirective]\n})\nexport class KernInputRadio {\n  protected readonly cva = inject(ControlValueAccessorDirective);\n\n  readonly fieldsetId = input<string>();\n  readonly labelText = input.required<string>();\n  readonly optional = input<boolean>(false);\n  readonly required = input<boolean>(false);\n  readonly hintTemplate = input<TemplateRef<unknown> | null>(null);\n  readonly hintText = input<string | null>(null);\n  readonly errorText = input<string | null>(null);\n  readonly titleText = 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 =\n    inject(UniqueIdService).getUniqueId('fieldset-radio');\n\n  protected readonly effectiveId = computed(\n    () => this.fieldsetId() ?? this.generatedId\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.cva.markTouched();\n    }\n  }\n}\n","<kern-fieldset\n  [fieldsetId]=\"effectiveId()\"\n  [legendText]=\"labelText()\"\n  legendSize=\"default\"\n  [optional]=\"optional()\"\n  [hintText]=\"hintText()\"\n  [hintTemplate]=\"hintTemplate()\"\n  [errorText]=\"errorText()\"\n  [horizontalAlignment]=\"horizontalAlignment()\"\n>\n  @for (option of options(); track option.value) {\n    <div class=\"kern-form-check\">\n      <input\n        [attr.title]=\"titleText()\"\n        type=\"radio\"\n        [id]=\"effectiveId() + '_' + option.value\"\n        class=\"kern-form-check__radio\"\n        [class.kern-form-check__radio--error]=\"errorText()\"\n        [checked]=\"cva.value() === option.value\"\n        [disabled]=\"cva.disabled()\"\n        (change)=\"cva.writeValue(option.value)\"\n        (blur)=\"cva.markTouched()\"\n        (keydown)=\"onKeydown($event)\"\n        [name]=\"effectiveId()\"\n        [required]=\"required()\"\n        [attr.aria-required]=\"required() ? 'true' : null\"\n        [attr.aria-invalid]=\"errorText() ? 'true' : null\"\n        [attr.aria-errormessage]=\"errorText() ? effectiveId() + '-error' : null\"\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</kern-fieldset>\n","import { Component, computed, inject, input, TemplateRef } from '@angular/core';\nimport { UniqueIdService } from '../../../services/unique-id';\nimport { KernInputError } from '../kern-input-error/kern-input-error';\nimport { KernInputHint } from '../kern-input-hint/kern-input-hint';\nimport { ControlValueAccessorDirective } from '../../../utils/control-value-accessor.directive';\nimport { KernLabel } from '../../../directives/typography/kern-label/kern-label';\n\n@Component({\n  selector: 'kern-input-select',\n  imports: [KernInputError, KernInputHint, KernLabel],\n  templateUrl: './kern-input-select.html',\n  hostDirectives: [ControlValueAccessorDirective]\n})\nexport class KernInputSelect {\n  protected readonly cva = inject(ControlValueAccessorDirective);\n\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 hintTemplate = input<TemplateRef<unknown> | null>(null);\n  readonly hintText = input<string | null>(null);\n  readonly errorText = input<string | null>(null);\n  readonly titleText = input<string | null>(null);\n  readonly options = input.required<\n    {\n      value: string;\n      label: string;\n    }[]\n  >();\n\n  private readonly generatedId =\n    inject(UniqueIdService).getUniqueId('input-select');\n\n  protected readonly effectiveId = computed(\n    () => this.inputId() ?? this.generatedId\n  );\n\n  protected readonly inputDescribedBy = computed(() => {\n    const baseId = this.effectiveId();\n    const ids: string[] = [];\n\n    if (this.hintTemplate() !== null || this.hintText()) {\n      ids.push(`${baseId}-hint`);\n    }\n    if (this.errorText()) {\n      ids.push(`${baseId}-error`);\n    }\n\n    return ids.length ? ids.join(' ') : null;\n  });\n\n  protected onInput(event: Event) {\n    const { value } = event.target as HTMLSelectElement;\n    this.cva.changeValue(value);\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.cva.markTouched();\n    }\n  }\n}\n","<div class=\"kern-form-input\" [class.kern-form-input--error]=\"errorText()\">\n  <label kernLabel [id]=\"effectiveId() + '-label'\" [for]=\"effectiveId()\" [optional]=\"optional()\">\n    {{ labelText() }}\n  </label>\n\n  @if (hintTemplate() || hintText(); as hint) {\n    <kern-input-hint [hint]=\"hint\" />\n  }\n\n  <div class=\"kern-form-input__select-wrapper\">\n    <select\n      [id]=\"effectiveId()\"\n      class=\"kern-form-input__select\"\n      [class.kern-form-input__select--error]=\"errorText()\"\n      (input)=\"onInput($event)\"\n      (blur)=\"cva.markTouched()\"\n      (keydown)=\"onKeydown($event)\"\n      [required]=\"required()\"\n      [value]=\"cva.value()\"\n      [disabled]=\"cva.disabled()\"\n      [attr.title]=\"titleText()\"\n      [attr.aria-describedby]=\"inputDescribedBy()\"\n      [attr.aria-required]=\"required() ? 'true' : null\"\n      [attr.aria-invalid]=\"errorText() ? 'true' : null\"\n      [attr.aria-errormessage]=\"errorText() ? effectiveId() + '-error' : null\"\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\n  @if (errorText(); as errorText) {\n    <kern-input-error [effectiveId]=\"effectiveId()\" [text]=\"errorText\" />\n  }\n</div>\n","import { Component, computed, inject, input, TemplateRef } from '@angular/core';\nimport { UniqueIdService } from '../../../services/unique-id';\nimport { KernInputError } from '../kern-input-error/kern-input-error';\nimport { KernInputHint } from '../kern-input-hint/kern-input-hint';\nimport { ControlValueAccessorDirective } from '../../../utils/control-value-accessor.directive';\nimport { KernLabel } from '../../../directives/typography/kern-label/kern-label';\n\n@Component({\n  selector: 'kern-input-tel',\n  imports: [KernInputError, KernLabel, KernInputHint],\n  templateUrl: './kern-input-tel.html',\n  hostDirectives: [ControlValueAccessorDirective]\n})\nexport class KernInputTel {\n  protected readonly cva = inject(ControlValueAccessorDirective);\n\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 hintTemplate = input<TemplateRef<unknown> | null>(null);\n  readonly hintText = input<string | null>(null);\n  readonly errorText = input<string | null>(null);\n  readonly titleText = input<string | null>(null);\n  readonly placeholder = input<string | null>(null);\n\n  private readonly generatedId =\n    inject(UniqueIdService).getUniqueId('input-tel');\n\n  protected readonly effectiveId = computed(\n    () => this.inputId() ?? this.generatedId\n  );\n\n  protected readonly inputDescribedBy = computed(() => {\n    const baseId = this.effectiveId();\n    const ids: string[] = [];\n\n    if (this.hintTemplate() !== null || this.hintText()) {\n      ids.push(`${baseId}-hint`);\n    }\n    if (this.errorText()) {\n      ids.push(`${baseId}-error`);\n    }\n\n    return ids.length ? ids.join(' ') : null;\n  });\n\n  protected onInput(event: Event) {\n    const { value } = event.target as HTMLInputElement;\n    this.cva.changeValue(value);\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.cva.markTouched();\n    }\n  }\n}\n","<div class=\"kern-form-input\" [class.kern-form-input--error]=\"errorText()\">\n  <label kernLabel [id]=\"effectiveId() + '-label'\" [for]=\"effectiveId()\" [optional]=\"optional()\">\n    {{ labelText() }}\n  </label>\n\n  @if (hintTemplate() || hintText(); as hint) {\n    <kern-input-hint [hint]=\"hint\" />\n  }\n\n  <input\n    [attr.title]=\"titleText()\"\n    [attr.placeholder]=\"placeholder()\"\n    [id]=\"effectiveId()\"\n    type=\"tel\"\n    class=\"kern-form-input__input\"\n    [class.kern-form-input__input--error]=\"errorText()\"\n    (input)=\"onInput($event)\"\n    (blur)=\"cva.markTouched()\"\n    (keydown)=\"onKeydown($event)\"\n    [disabled]=\"cva.disabled()\"\n    [readonly]=\"readonly()\"\n    [required]=\"required()\"\n    [value]=\"cva.value()\"\n    autocomplete=\"tel\"\n    [attr.aria-describedby]=\"inputDescribedBy()\"\n    [attr.aria-required]=\"required() ? 'true' : null\"\n    [attr.aria-invalid]=\"errorText() ? 'true' : null\"\n    [attr.aria-errormessage]=\"errorText() ? effectiveId() + '-error' : null\"\n    [attr.maxlength]=\"maxlength()\"\n  />\n\n  @if (errorText(); as errorText) {\n    <kern-input-error [effectiveId]=\"effectiveId()\" [text]=\"errorText\" />\n  }\n</div>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  computed,\n  inject,\n  input,\n  TemplateRef\n} from '@angular/core';\nimport { UniqueIdService } from '../../../services/unique-id';\nimport { KernInputError } from '../kern-input-error/kern-input-error';\nimport { KernInputHint } from '../kern-input-hint/kern-input-hint';\nimport { ControlValueAccessorDirective } from '../../../utils/control-value-accessor.directive';\nimport { KernLabel } from '../../../directives/typography/kern-label/kern-label';\n\n@Component({\n  selector: 'kern-input-text',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [KernInputError, KernInputHint, KernLabel],\n  templateUrl: './kern-input-text.html',\n  hostDirectives: [ControlValueAccessorDirective]\n})\nexport class KernInputText {\n  protected readonly cva = inject(ControlValueAccessorDirective);\n\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 hintTemplate = input<TemplateRef<unknown> | null>(null);\n  readonly hintText = input<string | null>(null);\n  readonly errorText = input<string | null>(null);\n  readonly titleText = input<string | null>(null);\n  readonly placeholder = input<string | null>(null);\n\n  private readonly generatedId =\n    inject(UniqueIdService).getUniqueId('input-text');\n\n  protected readonly effectiveId = computed(\n    () => this.inputId() ?? this.generatedId\n  );\n\n  protected readonly inputDescribedBy = computed(() => {\n    const baseId = this.effectiveId();\n    const ids: string[] = [];\n\n    if (this.hintTemplate() !== null || this.hintText()) {\n      ids.push(`${baseId}-hint`);\n    }\n    if (this.errorText()) {\n      ids.push(`${baseId}-error`);\n    }\n\n    return ids.length ? ids.join(' ') : null;\n  });\n\n  protected onInput(event: Event) {\n    const { value } = event.target as HTMLInputElement;\n    this.cva.changeValue(value);\n  }\n}\n","<div class=\"kern-form-input\" [class.kern-form-input--error]=\"errorText()\">\n  <label kernLabel [id]=\"effectiveId() + '-label'\" [for]=\"effectiveId()\" [optional]=\"optional()\">\n    {{ labelText() }}\n  </label>\n\n  @if (hintTemplate() || hintText(); as hint) {\n    <kern-input-hint [hint]=\"hint\" />\n  }\n\n  <input\n    [attr.title]=\"titleText()\"\n    [attr.placeholder]=\"placeholder()\"\n    [id]=\"effectiveId()\"\n    type=\"text\"\n    class=\"kern-form-input__input\"\n    [class.kern-form-input__input--error]=\"errorText()\"\n    [value]=\"cva.value()\"\n    (input)=\"onInput($event)\"\n    (blur)=\"cva.markTouched()\"\n    [disabled]=\"cva.disabled()\"\n    [readonly]=\"readonly()\"\n    [required]=\"required()\"\n    [attr.autocomplete]=\"autocomplete()\"\n    [attr.aria-describedby]=\"inputDescribedBy()\"\n    [attr.aria-required]=\"required() ? 'true' : null\"\n    [attr.aria-invalid]=\"errorText() ? 'true' : null\"\n    [attr.aria-errormessage]=\"errorText() ? effectiveId() + '-error' : null\"\n    [attr.inputmode]=\"inputmode()\"\n    [attr.maxlength]=\"maxlength()\"\n  />\n\n  @if (errorText(); as errorText) {\n    <kern-input-error [effectiveId]=\"effectiveId()\" [text]=\"errorText\" />\n  }\n</div>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  computed,\n  inject,\n  input,\n  TemplateRef\n} from '@angular/core';\nimport { UniqueIdService } from '../../../services/unique-id';\nimport { KernInputError } from '../kern-input-error/kern-input-error';\nimport { KernInputHint } from '../kern-input-hint/kern-input-hint';\nimport { ControlValueAccessorDirective } from '../../../utils/control-value-accessor.directive';\nimport { KernLabel } from '../../../directives/typography/kern-label/kern-label';\n\n@Component({\n  selector: 'kern-input-textarea',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [KernInputError, KernLabel, KernInputHint],\n  templateUrl: './kern-input-textarea.html',\n  hostDirectives: [ControlValueAccessorDirective]\n})\nexport class KernInputTextarea {\n  protected readonly cva = inject(ControlValueAccessorDirective);\n\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 hintTemplate = input<TemplateRef<unknown> | null>(null);\n  readonly hintText = input<string | null>(null);\n  readonly errorText = input<string | null>(null);\n  readonly titleText = input<string | null>(null);\n  readonly placeholder = input<string | null>(null);\n\n  private readonly generatedId =\n    inject(UniqueIdService).getUniqueId('input-textarea');\n\n  protected readonly effectiveId = computed(\n    () => this.inputId() ?? this.generatedId\n  );\n\n  protected readonly inputDescribedBy = computed(() => {\n    const baseId = this.effectiveId();\n    const ids: string[] = [];\n\n    if (this.hintTemplate() !== null || this.hintText()) {\n      ids.push(`${baseId}-hint`);\n    }\n    if (this.errorText()) {\n      ids.push(`${baseId}-error`);\n    }\n\n    return ids.length ? ids.join(' ') : null;\n  });\n\n  protected onInput(event: Event) {\n    const { value } = event.target as HTMLInputElement;\n    this.cva.changeValue(value);\n  }\n}\n","<div class=\"kern-form-input\" [class.kern-form-input--error]=\"errorText()\">\n  <label kernLabel [id]=\"effectiveId() + '-label'\" [for]=\"effectiveId()\" [optional]=\"optional()\">\n    {{ labelText() }}\n  </label>\n\n  @if (hintTemplate() || hintText(); as hint) {\n    <kern-input-hint [hint]=\"hint\" />\n  }\n\n  <textarea\n    [attr.title]=\"titleText()\"\n    [attr.placeholder]=\"placeholder()\"\n    [id]=\"effectiveId()\"\n    class=\"kern-form-input__input\"\n    [class.kern-form-input__input--error]=\"errorText()\"\n    (input)=\"onInput($event)\"\n    (blur)=\"cva.markTouched()\"\n    [disabled]=\"cva.disabled()\"\n    [readonly]=\"readonly()\"\n    [required]=\"required()\"\n    [value]=\"cva.value()\"\n    [attr.aria-describedby]=\"inputDescribedBy()\"\n    [attr.aria-required]=\"required() ? 'true' : null\"\n    [attr.aria-invalid]=\"errorText() ? 'true' : null\"\n    [attr.aria-errormessage]=\"errorText() ? effectiveId() + '-error' : null\"\n    [attr.maxlength]=\"maxlength()\"\n  ></textarea>\n\n  @if (errorText(); as errorText) {\n    <kern-input-error [effectiveId]=\"effectiveId()\" [text]=\"errorText\" />\n  }\n</div>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  computed,\n  inject,\n  input,\n  TemplateRef\n} from '@angular/core';\nimport { UniqueIdService } from '../../../services/unique-id';\nimport { KernInputError } from '../kern-input-error/kern-input-error';\nimport { KernInputHint } from '../kern-input-hint/kern-input-hint';\nimport { ControlValueAccessorDirective } from '../../../utils/control-value-accessor.directive';\nimport { KernLabel } from '../../../directives/typography/kern-label/kern-label';\n\n@Component({\n  selector: 'kern-input-url',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [KernInputError, KernInputHint, KernLabel],\n  templateUrl: './kern-input-url.html',\n  hostDirectives: [ControlValueAccessorDirective]\n})\nexport class KernInputUrl {\n  protected readonly cva = inject(ControlValueAccessorDirective);\n\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 hintTemplate = input<TemplateRef<unknown> | null>(null);\n  readonly hintText = input<string | null>(null);\n  readonly errorText = input<string | null>(null);\n  readonly titleText = input<string | null>(null);\n  readonly placeholder = input<string | null>(null);\n\n  private readonly generatedId =\n    inject(UniqueIdService).getUniqueId('input-url');\n\n  protected readonly effectiveId = computed(\n    () => this.inputId() ?? this.generatedId\n  );\n\n  protected readonly inputDescribedBy = computed(() => {\n    const baseId = this.effectiveId();\n    const ids: string[] = [];\n\n    if (this.hintTemplate() !== null || this.hintText()) {\n      ids.push(`${baseId}-hint`);\n    }\n    if (this.errorText()) {\n      ids.push(`${baseId}-error`);\n    }\n\n    return ids.length ? ids.join(' ') : null;\n  });\n\n  protected onInput(event: Event) {\n    const { value } = event.target as HTMLInputElement;\n    this.cva.changeValue(value);\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.cva.markTouched();\n    }\n  }\n}\n","<div class=\"kern-form-input\" [class.kern-form-input--error]=\"errorText()\">\n  <label kernLabel [id]=\"effectiveId() + '-label'\" [for]=\"effectiveId()\" [optional]=\"optional()\">\n    {{ labelText() }}\n  </label>\n\n  @if (hintTemplate() || hintText(); as hint) {\n    <kern-input-hint [hint]=\"hint\" />\n  }\n\n  <input\n    [attr.title]=\"titleText()\"\n    [attr.placeholder]=\"placeholder()\"\n    [id]=\"effectiveId()\"\n    type=\"url\"\n    class=\"kern-form-input__input\"\n    [class.kern-form-input__input--error]=\"errorText()\"\n    (input)=\"onInput($event)\"\n    (blur)=\"cva.markTouched()\"\n    (keydown)=\"onKeydown($event)\"\n    [disabled]=\"cva.disabled()\"\n    [readonly]=\"readonly()\"\n    [required]=\"required()\"\n    [value]=\"cva.value()\"\n    [attr.aria-describedby]=\"inputDescribedBy()\"\n    [attr.aria-required]=\"required() ? 'true' : null\"\n    [attr.aria-invalid]=\"errorText() ? 'true' : null\"\n    [attr.aria-errormessage]=\"errorText() ? effectiveId() + '-error' : null\"\n    [attr.maxlength]=\"maxlength()\"\n  />\n\n  @if (errorText(); as errorText) {\n    <kern-input-error [effectiveId]=\"effectiveId()\" [text]=\"errorText\" />\n  }\n</div>\n","import { Component, input } from '@angular/core';\nimport { KernTitle } from '../../../directives/typography/kern-title/kern-title';\n\nexport type KernTableColumn = {\n  key: string;\n  header: string;\n  numeric?: boolean;\n};\n\nexport type KernTableRow = Record<string, unknown>;\n\n@Component({\n  selector: 'kern-table',\n  imports: [KernTitle],\n  host: {\n    '[class.kern-table-responsive]': 'responsive()',\n    '[attr.tabindex]': 'responsive() ? 0 : null'\n  },\n  templateUrl: './kern-table.html'\n})\nexport class KernTable {\n  readonly responsive = input<boolean>(true);\n  readonly small = input<boolean>(false);\n  readonly striped = input<boolean>(false);\n  readonly caption = input<string | null>(null);\n  readonly columns = input.required<KernTableColumn[]>();\n  readonly data = input.required<KernTableRow[]>();\n  readonly footer = input<KernTableRow[] | null>(null);\n  readonly rowHeaderKey = input<string | null>(null);\n\n  protected getCellText(row: KernTableRow, key: string): unknown {\n    return (row as any)?.[key] ?? '';\n  }\n}\n","<table class=\"kern-table\" [class.kern-table--small]=\"small()\" [class.kern-table--striped]=\"striped()\">\n  @if (caption()) {\n    <caption kernTitle>\n      {{\n        caption()\n      }}\n    </caption>\n  }\n\n  <thead class=\"kern-table__head\">\n    <tr class=\"kern-table__row\">\n      @for (col of columns(); track col.key) {\n        <th scope=\"col\" class=\"kern-table__header\" [class.kern-table__header--numeric]=\"col.numeric\">\n          {{ col.header }}\n        </th>\n      }\n    </tr>\n  </thead>\n\n  <tbody class=\"kern-table__body\">\n    @for (row of data(); track $index) {\n      <tr class=\"kern-table__row\">\n        @for (col of columns(); track col.key) {\n          @if (rowHeaderKey() && rowHeaderKey() === col.key) {\n            <th scope=\"row\" class=\"kern-table__header\" [class.kern-table__header--numeric]=\"col.numeric\">\n              {{ getCellText(row, col.key) }}\n            </th>\n          } @else {\n            <td class=\"kern-table__cell\" [class.kern-table__cell--numeric]=\"col.numeric\">\n              {{ getCellText(row, col.key) }}\n            </td>\n          }\n        }\n      </tr>\n    }\n  </tbody>\n\n  @if (footer()?.length) {\n    <tfoot class=\"kern-table__footer\">\n      @for (frow of footer()!; track $index) {\n        <tr class=\"kern-table__row\">\n          @for (col of columns(); track col.key) {\n            <th scope=\"col\" class=\"kern-table__header\" [class.kern-table__header--numeric]=\"col.numeric\">\n              {{ getCellText(frow, col.key) }}\n            </th>\n          }\n        </tr>\n      }\n    </tfoot>\n  }\n</table>\n","import { Component, input } from '@angular/core';\n\n@Component({\n  selector: 'kern-description-list',\n  templateUrl: './kern-description-list.html'\n})\nexport class KernDescriptionList {\n  readonly items = input.required<{ term: string; description: string }[]>();\n  readonly column = input<boolean>(false);\n}\n","<dl class=\"kern-description-list\" [class.kern-description-list--col]=\"column()\">\n  @for (item of items(); track item.term) {\n    <div class=\"kern-description-list-item\">\n      <dt class=\"kern-description-list-item__key\">{{ item.term }}</dt>\n      <dd class=\"kern-description-list-item__value\">{{ item.description }}</dd>\n    </div>\n  }\n</dl>\n","import { Component, inject, input } from '@angular/core';\nimport { KernHeading } from '../../typography/kern-heading/kern-heading';\nimport { UniqueIdService } from '../../../services/unique-id';\nimport { KernLink } from '../../kern-link/kern-link';\nimport { KernBody } from '../../../directives/typography/kern-body/kern-body';\nimport { KernBadge } from '../../kern-badge/kern-badge';\n\nexport type KernTasklistData = {\n  heading: string;\n  items: {\n    number?: string | null;\n    task: string;\n    linkHref?: string | null;\n    status?: 'new' | 'incomplete' | 'completed' | 'unavailable';\n    statusId?: string | null;\n  }[];\n};\n\n@Component({\n  selector: 'kern-tasklist',\n  imports: [KernHeading, KernLink, KernBody, KernBadge],\n  templateUrl: './kern-tasklist.html',\n  host: { class: 'kern-task-list' }\n})\nexport class KernTasklist {\n  readonly tasks = input.required<KernTasklistData[]>();\n  readonly headingLevel = input<'1' | '2' | '3' | '4' | '5' | '6'>('2');\n  readonly linkTarget = input<'_self' | '_blank' | '_parent' | '_top'>('_self');\n\n  private readonly generatedId =\n    inject(UniqueIdService).getUniqueId('tasklist');\n\n  protected getGeneratedStatusId(taskIndex: number, itemIndex: number): string {\n    return (\n      this.generatedId + '_' + taskIndex.toString() + '_' + itemIndex.toString()\n    );\n  }\n}\n","@for (task of tasks(); track $index) {\n  @let taskIndex = $index;\n\n  <div class=\"kern-task-list__header\">\n    <kern-heading size=\"medium\" [level]=\"headingLevel()\">{{ task.heading }}</kern-heading>\n  </div>\n\n  <ul class=\"kern-task-list__list\">\n    @for (item of task.items; track $index) {\n      @let statusId = item.statusId ?? getGeneratedStatusId(taskIndex, $index);\n\n      <li class=\"kern-task-list__item\">\n        @if (item.number) {\n          <span class=\"kern-number\">{{ item.number }}</span>\n        }\n        <div class=\"kern-task-list__title\">\n          @if (item.linkHref) {\n            <kern-link\n              [href]=\"item.linkHref\"\n              [stretched]=\"true\"\n              [target]=\"linkTarget()\"\n              [linkDescribedBy]=\"item.status && item.status !== 'new' ? statusId : null\"\n            >\n              {{ item.task }}\n            </kern-link>\n          } @else {\n            <p kernBody>{{ item.task }}</p>\n          }\n\n          @if (item.status && item.status !== 'new') {\n            <div class=\"kern-task-list__status\" [id]=\"statusId\">\n              @switch (item.status) {\n                @case ('incomplete') {\n                  <kern-badge variant=\"warning\" i18n=\"@@kernAngularKit.tasklist.status.incomplete\">\n                    Unvollständig\n                  </kern-badge>\n                }\n                @case ('completed') {\n                  <kern-badge variant=\"success\" icon=\"success\" i18n=\"@@kernAngularKit.tasklist.status.completed\">\n                    Erledigt\n                  </kern-badge>\n                }\n                @case ('unavailable') {\n                  <kern-badge variant=\"info\" i18n=\"@@kernAngularKit.tasklist.status.unavailable\">\n                    Noch nicht zu bearbeiten\n                  </kern-badge>\n                }\n              }\n            </div>\n          }\n        </div>\n      </li>\n    }\n  </ul>\n}\n","import { Component, computed, inject, input, output } from '@angular/core';\nimport { KernLink } from '../../kern-link/kern-link';\nimport { KernTitle } from '../../../directives/typography/kern-title/kern-title';\nimport { UniqueIdService } from '../../../services/unique-id';\nimport { KernDescriptionList } from '../kern-description-list/kern-description-list';\n\n@Component({\n  selector: 'kern-summary',\n  imports: [KernLink, KernTitle, KernDescriptionList],\n  host: { class: 'kern-summary' },\n  templateUrl: './kern-summary.html'\n})\nexport class KernSummary {\n  readonly titleId = input<string>();\n  readonly title = input<string | null>(null);\n  readonly titleNumber = input<string | null>(null);\n  readonly headingLevel = input<'1' | '2' | '3' | '4' | '5' | '6'>('3');\n  readonly items = input.required<{ term: string; description: string }[]>();\n  readonly actionLinkHref = input<string | null>(null);\n  readonly actionLinkTarget = input<'_self' | '_blank' | '_parent' | '_top'>(\n    '_self'\n  );\n\n  readonly actionLinkClickEvent = output<Event>();\n\n  private readonly generatedTitleId =\n    inject(UniqueIdService).getUniqueId('title');\n\n  protected readonly effectiveTitleId = computed(\n    () => this.titleId() ?? this.generatedTitleId\n  );\n}\n","@if (titleNumber() || title()) {\n  <div class=\"kern-summary__header\">\n    @if (titleNumber()) {\n      <span class=\"kern-number\">{{ titleNumber() }}</span>\n    }\n    @if (title()) {\n      @switch (headingLevel()) {\n        @case ('1') {\n          <h1 kernTitle size=\"small\" [id]=\"effectiveTitleId()\">{{ title() }}</h1>\n        }\n        @case ('2') {\n          <h2 kernTitle size=\"small\" [id]=\"effectiveTitleId()\">{{ title() }}</h2>\n        }\n        @case ('3') {\n          <h3 kernTitle size=\"small\" [id]=\"effectiveTitleId()\">{{ title() }}</h3>\n        }\n        @case ('4') {\n          <h4 kernTitle size=\"small\" [id]=\"effectiveTitleId()\">{{ title() }}</h4>\n        }\n        @case ('5') {\n          <h5 kernTitle size=\"small\" [id]=\"effectiveTitleId()\">{{ title() }}</h5>\n        }\n        @case ('6') {\n          <h6 kernTitle size=\"small\" [id]=\"effectiveTitleId()\">{{ title() }}</h6>\n        }\n      }\n    }\n  </div>\n}\n\n<div class=\"kern-summary__body\">\n  <kern-description-list [items]=\"items()\" />\n  @if (actionLinkHref()) {\n    <div class=\"kern-summary__actions\">\n      <kern-link\n        [href]=\"actionLinkHref()\"\n        [target]=\"actionLinkTarget()\"\n        iconLeft=\"edit\"\n        [linkDescribedBy]=\"title() ? effectiveTitleId() : null\"\n        (clickEvent)=\"actionLinkClickEvent.emit($event)\"\n      >\n        <span i18n=\"@@kernAngularKit.summary.actionLink\">Bearbeiten</span>\n      </kern-link>\n    </div>\n  }\n</div>\n","import { Component, input } from '@angular/core';\nimport { KernHeading } from '../../typography/kern-heading/kern-heading';\n\n@Component({\n  selector: 'kern-summary-group',\n  imports: [KernHeading],\n  host: { class: 'kern-summary-group' },\n  template: `\n    @if (heading()) {\n      <div class=\"kern-summary-group__header\">\n        <kern-heading [level]=\"headingLevel()\" size=\"medium\">{{\n          heading()\n        }}</kern-heading>\n      </div>\n    }\n    <ng-content />\n  `\n})\nexport class KernSummaryGroup {\n  readonly heading = input<string | null>(null);\n  readonly headingLevel = input<'1' | '2' | '3' | '4' | '5' | '6'>('2');\n}\n","import { NgModule } from '@angular/core';\nimport { KernAccordion } from './components/kern-accordion/kern-accordion';\nimport { KernAccordionGroup } from './components/kern-accordion/kern-accordion-group';\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';\nimport { KernInputNumber } from './components/form-inputs/kern-input-number/kern-input-number';\nimport { KernFieldset } from './components/form-inputs/kern-fieldset/kern-fieldset';\nimport { KernHeading } from './components/typography/kern-heading/kern-heading';\nimport { KernButton } from './components/kern-button/kern-button';\nimport { KernBadge } from './components/kern-badge/kern-badge';\nimport { KernCard } from './components/kern-card/kern-card';\nimport { KernIcon } from './components/kern-icon/kern-icon';\nimport { KernLink } from './components/kern-link/kern-link';\nimport { KernProgress } from './components/kern-progress/kern-progress';\nimport { KernDivider } from './components/kern-divider/kern-divider';\nimport { KernTable } from './components/data-display/kern-table/kern-table';\nimport { KernDescriptionList } from './components/data-display/kern-description-list/kern-description-list';\nimport { KernTasklist } from './components/data-display/kern-tasklist/kern-tasklist';\nimport { KernSummary } from './components/data-display/kern-summary/kern-summary';\nimport { KernSummaryGroup } from './components/data-display/kern-summary/kern-summary-group';\nimport { KernBody } from './directives/typography/kern-body/kern-body';\nimport { KernLabel } from './directives/typography/kern-label/kern-label';\nimport { KernList } from './directives/typography/kern-list/kern-list';\nimport { KernTitle } from './directives/typography/kern-title/kern-title';\nimport { KernPreline } from './directives/typography/kern-preline/kern-preline';\nimport { KernSubline } from './directives/typography/kern-subline/kern-subline';\n\n@NgModule({\n  imports: [\n    KernAccordion,\n    KernAccordionGroup,\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    KernInputNumber,\n    KernFieldset,\n    KernHeading,\n    KernButton,\n    KernBadge,\n    KernCard,\n    KernIcon,\n    KernLink,\n    KernProgress,\n    KernDivider,\n    KernTable,\n    KernDescriptionList,\n    KernTasklist,\n    KernSummary,\n    KernSummaryGroup,\n    KernBody,\n    KernLabel,\n    KernList,\n    KernTitle,\n    KernPreline,\n    KernSubline\n  ],\n  exports: [\n    KernAccordion,\n    KernAccordionGroup,\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    KernInputNumber,\n    KernFieldset,\n    KernHeading,\n    KernButton,\n    KernBadge,\n    KernCard,\n    KernIcon,\n    KernLink,\n    KernProgress,\n    KernDivider,\n    KernTable,\n    KernDescriptionList,\n    KernTasklist,\n    KernSummary,\n    KernSummaryGroup,\n    KernBody,\n    KernLabel,\n    KernList,\n    KernTitle,\n    KernPreline,\n    KernSubline\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-accordion/kern-accordion-group';\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/kern-badge/kern-badge';\nexport * from './lib/components/kern-button/kern-button';\nexport * from './lib/components/kern-card/kern-card';\nexport * from './lib/components/kern-divider/kern-divider';\nexport * from './lib/components/kern-icon/kern-icon';\nexport * from './lib/components/kern-link/kern-link';\nexport * from './lib/components/kern-progress/kern-progress';\n\n// Typography Components\nexport * from './lib/components/typography/kern-heading/kern-heading';\n\n// Typography Directives\nexport * from './lib/directives/typography/kern-body/kern-body';\nexport * from './lib/directives/typography/kern-title/kern-title';\nexport * from './lib/directives/typography/kern-subline/kern-subline';\nexport * from './lib/directives/typography/kern-preline/kern-preline';\nexport * from './lib/directives/typography/kern-label/kern-label';\nexport * from './lib/directives/typography/kern-list/kern-list';\n\n// Form Input Components\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-number/kern-input-number';\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/components/form-inputs/kern-fieldset/kern-fieldset';\n\n// Data Display Components\nexport * from './lib/components/data-display/kern-table/kern-table';\nexport * from './lib/components/data-display/kern-description-list/kern-description-list';\nexport * from './lib/components/data-display/kern-tasklist/kern-tasklist';\nexport * from './lib/components/data-display/kern-summary/kern-summary';\nexport * from './lib/components/data-display/kern-summary/kern-summary-group';\n\n// Module with all Components and Directives\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// Utilities\nexport * from './lib/utils/control-value-accessor.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ControlValueAccessorDirective"],"mappings":"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"}