@inera/ids-angular 9.0.1 → 9.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,8 @@
1
1
  import { AfterContentInit, ElementRef, EventEmitter, Renderer2 } from '@angular/core';
2
2
  import { NgControl } from '@angular/forms';
3
3
  import { IDInputLabelLinker } from '../../services/input-label-linker.service';
4
+ import { IDInputDescribedByLinker } from '../../services/input-described-by-linker.service';
5
+ import { IDInputInvalidLinker } from '../../services/input-invalid-linker.service';
4
6
  import { IDErrorMessageBase } from './IDErrorMessageBase';
5
7
  import * as i0 from "@angular/core";
6
8
  export declare abstract class IDFormBase implements AfterContentInit {
@@ -14,6 +16,8 @@ export declare abstract class IDFormBase implements AfterContentInit {
14
16
  srof: string;
15
17
  light: boolean;
16
18
  protected inputLabelLinker: IDInputLabelLinker;
19
+ protected inputDescribedByLinker: IDInputDescribedByLinker;
20
+ protected inputInvalidLinker: IDInputInvalidLinker;
17
21
  private blurEvent?;
18
22
  get input(): any;
19
23
  get label(): any;
@@ -5,4 +5,6 @@ export { IDClickOutsideDirective } from "./directives/click-outside.directive";
5
5
  export { IDTooltipCategoryService } from "./services/tooltip-category.service";
6
6
  export { ID_HEADER_CONTEXT, IDHeaderContext } from "./context/header-context";
7
7
  export { IDErrorMessageBase } from "./classes/form/IDErrorMessageBase";
8
+ export { IDInputDescribedByLinker } from "./services/input-described-by-linker.service";
9
+ export { IDInputInvalidLinker } from "./services/input-invalid-linker.service";
8
10
  export { useEscapeKey } from "./utilities/useEscKey";
@@ -0,0 +1,10 @@
1
+ import { ElementRef, RendererFactory2 } from '@angular/core';
2
+ import { IDErrorMessageBase } from '../classes/form/IDErrorMessageBase';
3
+ import * as i0 from "@angular/core";
4
+ export declare class IDInputDescribedByLinker {
5
+ private renderer;
6
+ constructor(rendererFactory: RendererFactory2);
7
+ link(host: ElementRef<HTMLElement>, errorMessage: IDErrorMessageBase | undefined, invalid: boolean): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDInputDescribedByLinker, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<IDInputDescribedByLinker>;
10
+ }
@@ -0,0 +1,9 @@
1
+ import { ElementRef, RendererFactory2 } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class IDInputInvalidLinker {
4
+ private renderer;
5
+ constructor(rendererFactory: RendererFactory2);
6
+ link(host: ElementRef<HTMLElement>, invalid: boolean): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDInputInvalidLinker, never>;
8
+ static ɵprov: i0.ɵɵInjectableDeclaration<IDInputInvalidLinker>;
9
+ }
@@ -1,5 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class IDInputHintComponent {
3
+ readonly id: string;
3
4
  static ɵfac: i0.ɵɵFactoryDeclaration<IDInputHintComponent, never>;
4
5
  static ɵcmp: i0.ɵɵComponentDeclaration<IDInputHintComponent, "id-input-hint", never, {}, {}, never, ["*"], true, never>;
5
6
  }
@@ -1,5 +1,9 @@
1
+ import { OnInit } from "@angular/core";
1
2
  import * as i0 from "@angular/core";
2
- export declare class IDTextareaHintComponent {
3
+ export declare class IDTextareaHintComponent implements OnInit {
4
+ readonly id: string;
5
+ private readonly el;
6
+ ngOnInit(): void;
3
7
  static ɵfac: i0.ɵɵFactoryDeclaration<IDTextareaHintComponent, never>;
4
8
  static ɵcmp: i0.ɵɵComponentDeclaration<IDTextareaHintComponent, "id-textarea-hint", never, {}, {}, never, ["*"], true, never>;
5
9
  }
@@ -3,6 +3,8 @@ import { NgControl } from '@angular/forms';
3
3
  import { EMPTY, merge } from 'rxjs';
4
4
  import { auditTime } from 'rxjs/operators';
5
5
  import { IDInputLabelLinker } from '../../services/input-label-linker.service';
6
+ import { IDInputDescribedByLinker } from '../../services/input-described-by-linker.service';
7
+ import { IDInputInvalidLinker } from '../../services/input-invalid-linker.service';
6
8
  import { IDErrorMessageBase } from './IDErrorMessageBase';
7
9
  import * as i0 from "@angular/core";
8
10
  export class IDFormBase {
@@ -23,6 +25,8 @@ export class IDFormBase {
23
25
  srof = 'av';
24
26
  light = false;
25
27
  inputLabelLinker = inject(IDInputLabelLinker);
28
+ inputDescribedByLinker = inject(IDInputDescribedByLinker);
29
+ inputInvalidLinker = inject(IDInputInvalidLinker);
26
30
  blurEvent;
27
31
  get input() {
28
32
  return (this.host.nativeElement.querySelector('input') ||
@@ -55,6 +59,8 @@ export class IDFormBase {
55
59
  .subscribe(() => this._updateErrorState());
56
60
  }
57
61
  this.inputLabelLinker.link(this.host);
62
+ this.inputDescribedByLinker.link(this.host, this.errorMessage, this.invalid);
63
+ this.inputInvalidLinker.link(this.host, this.invalid);
58
64
  this.renderer.addClass(this.label, 'ids-label');
59
65
  if (this.light) {
60
66
  this.renderer.addClass(this.input, 'ids-input--light');
@@ -87,20 +93,8 @@ export class IDFormBase {
87
93
  this.renderer.setAttribute(this.input, 'aria-checked', this.checkbox.checked);
88
94
  }
89
95
  this.renderer.setAttribute(this.input, 'aria-required', this.input.required);
90
- if (invalid) {
91
- this.renderer.addClass(this.input, 'ids-input--invalid');
92
- this.renderer.setAttribute(this.input, 'aria-invalid', 'true');
93
- }
94
- else {
95
- this.renderer.removeClass(this.input, 'ids-input--invalid');
96
- this.renderer.removeAttribute(this.input, 'aria-invalid');
97
- }
98
- if (this.errorMessage) {
99
- this.renderer.setAttribute(this.input, 'aria-describedby', this.errorMessage.id);
100
- }
101
- else {
102
- this.renderer.removeAttribute(this.input, 'aria-describedby');
103
- }
96
+ this.inputDescribedByLinker.link(this.host, this.errorMessage, invalid);
97
+ this.inputInvalidLinker.link(this.host, this.invalid);
104
98
  }
105
99
  ngOnDestroy() {
106
100
  this.blurEvent?.();
@@ -127,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
127
121
  }], light: [{
128
122
  type: Input
129
123
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSURGb3JtQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lkcy1hbmd1bGFyL2NvbW1vbi9jbGFzc2VzL2Zvcm0vSURGb3JtQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUcxRCxNQUFNLE9BQWdCLFVBQVU7SUFDZ0IsU0FBUyxDQUFhO0lBR3BFLFlBQVksQ0FBc0I7SUFHbEMsVUFBVSxHQUF3RCxPQUFPLENBQUM7SUFHMUUsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFcEMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUV6QixJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxD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SU4sS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29udGVudENoaWxkLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRU1QVFksIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhdWRpdFRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJRElucHV0TGFiZWxMaW5rZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbnB1dC1sYWJlbC1saW5rZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJREVycm9yTWVzc2FnZUJhc2UgfSBmcm9tICcuL0lERXJyb3JNZXNzYWdlQmFzZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIElERm9ybUJhc2UgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQENvbnRlbnRDaGlsZChOZ0NvbnRyb2wsIHsgcmVhZDogTmdDb250cm9sIH0pIG5nQ29udHJvbD86IE5nQ29udHJvbDtcblxuICBAQ29udGVudENoaWxkKElERXJyb3JNZXNzYWdlQmFzZSlcbiAgZXJyb3JNZXNzYWdlITogSURFcnJvck1lc3NhZ2VCYXNlO1xuXG4gIEBJbnB1dCgpXG4gIHZhbGlkYXRlT246ICdpbW1lZGlhdGUnIHwgJ3RvdWNoZWQnIHwgJ2RpcnR5JyB8ICdibHVyJyB8ICdub25lJyA9ICdkaXJ0eSc7XG5cbiAgQE91dHB1dCgpXG4gIGludmFsaWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBfaW52YWxpZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pbnZhbGlkO1xuICB9XG4gIHNldCBpbnZhbGlkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faW52YWxpZCA9IHZhbHVlO1xuICAgIHRoaXMudG9nZ2xlSW5wdXRBcmlhcyh7IGludmFsaWQ6IHRoaXMuX2ludmFsaWQgfSk7XG4gICAgdGhpcy50b2dnbGVFcnJvck1lc3NhZ2UoKTtcbiAgICB0aGlzLmludmFsaWRDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzcm9mOiBzdHJpbmcgPSAnYXYnO1xuXG4gIEBJbnB1dCgpXG4gIGxpZ2h0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGlucHV0TGFiZWxMaW5rZXIgPSBpbmplY3QoSURJbnB1dExhYmVsTGlua2VyKTtcblxuICBwcml2YXRlIGJsdXJFdmVudD86ICgpID0+IHZvaWQ7XG5cbiAgZ2V0IGlucHV0KCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpIHx8XG4gICAgICB0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd0ZXh0YXJlYScpIHx8XG4gICAgICB0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzZWxlY3QnKVxuICAgICk7XG4gIH1cblxuICBnZXQgbGFiZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xhYmVsJyk7XG4gIH1cblxuICBnZXQgY2hlY2tib3goKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W3R5cGU9Y2hlY2tib3hdJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaG9zdCA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJvdGVjdGVkIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGlmICghdGhpcy5pbnB1dCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJRFMgRVJST1IgLSBJbnB1dCBtaXNzaW5nIGluICcgKyB0aGlzLmhvc3QubmF0aXZlRWxlbWVudC50YWdOYW1lKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmFsaWRhdGVPbiA9PT0gJ2ltbWVkaWF0ZScpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUVycm9yU3RhdGUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmFsaWRhdGVPbiA9PT0gJ3RvdWNoZWQnIHx8IHRoaXMudmFsaWRhdGVPbiA9PT0gJ2JsdXInKSB7XG4gICAgICB0aGlzLmJsdXJFdmVudCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXQsICdibHVyJywgKCkgPT4ge1xuICAgICAgICB0aGlzLl91cGRhdGVFcnJvclN0YXRlKCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMubmdDb250cm9sICYmIHRoaXMudmFsaWRhdGVPbiAhPT0gJ2JsdXInKSB7XG4gICAgICBtZXJnZSguLi5bdGhpcy5uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlcyA/PyBFTVBUWSwgdGhpcy5uZ0NvbnRyb2wudmFsdWVDaGFuZ2VzID8/IEVNUFRZXSlcbiAgICAgICAgLnBpcGUoYXVkaXRUaW1lKDApKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3VwZGF0ZUVycm9yU3RhdGUoKSk7XG4gICAgfVxuICAgIHRoaXMuaW5wdXRMYWJlbExpbmtlci5saW5rKHRoaXMuaG9zdCk7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmxhYmVsLCAnaWRzLWxhYmVsJyk7XG4gICAgaWYgKHRoaXMubGlnaHQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5pbnB1dCwgJ2lkcy1pbnB1dC0tbGlnaHQnKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX3VwZGF0ZUVycm9yU3RhdGUoKSB7XG4gICAgaWYgKCF0aGlzLm5nQ29udHJvbCB8fCB0aGlzLnZhbGlkYXRlT24gPT09ICdub25lJykgcmV0dXJuO1xuICAgIHN3aXRjaCAodGhpcy52YWxpZGF0ZU9uKSB7XG4gICAgICBjYXNlICdpbW1lZGlhdGUnOlxuICAgICAgICB0aGlzLmludmFsaWQgPSBCb29sZWFuKHRoaXMubmdDb250cm9sLmludmFsaWQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RvdWNoZWQnOlxuICAgICAgICB0aGlzLmludmFsaWQgPSBCb29sZWFuKHRoaXMubmdDb250cm9sLmludmFsaWQpICYmIEJvb2xlYW4odGhpcy5uZ0NvbnRyb2wudG91Y2hlZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGlydHknOlxuICAgICAgICB0aGlzLmludmFsaWQgPSBCb29sZWFuKHRoaXMubmdDb250cm9sLmludmFsaWQpICYmIEJvb2xlYW4odGhpcy5uZ0NvbnRyb2wuZGlydHkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JsdXInOlxuICAgICAgICB0aGlzLmludmFsaWQgPSBCb29sZWFuKHRoaXMubmdDb250cm9sLmludmFsaWQpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUVycm9yTWVzc2FnZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZXJyb3JNZXNzYWdlKSByZXR1cm47XG4gICAgdGhpcy5lcnJvck1lc3NhZ2Uuc2hvdyA9IHRoaXMuaW52YWxpZDtcbiAgfVxuXG4gIHRvZ2dsZUlucHV0QXJpYXMoeyBpbnZhbGlkIH06IHsgaW52YWxpZDogYm9vbGVhbiB9KSB7XG4gICAgaWYgKHRoaXMuY2hlY2tib3gpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuaW5wdXQsICdhcmlhLWNoZWNrZWQnLCB0aGlzLmNoZWNrYm94LmNoZWNrZWQpO1xuICAgIH1cbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmlucHV0LCAnYXJpYS1yZXF1aXJlZCcsIHRoaXMuaW5wdXQucmVxdWlyZWQpO1xuICAgIGlmIChpbnZhbGlkKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaW5wdXQsICdpZHMtaW5wdXQtLWludmFsaWQnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuaW5wdXQsICdhcmlhLWludmFsaWQnLCAndHJ1ZScpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaW5wdXQsICdpZHMtaW5wdXQtLWludmFsaWQnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuaW5wdXQsICdhcmlhLWludmFsaWQnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZXJyb3JNZXNzYWdlKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmlucHV0LCAnYXJpYS1kZXNjcmliZWRieScsIHRoaXMuZXJyb3JNZXNzYWdlLmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5pbnB1dCwgJ2FyaWEtZGVzY3JpYmVkYnknKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmJsdXJFdmVudD8uKCk7XG4gIH1cbn1cbiJdfQ==
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSURGb3JtQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lkcy1hbmd1bGFyL2NvbW1vbi9jbGFzc2VzL2Zvcm0vSURGb3JtQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUcxRCxNQUFNLE9BQWdCLFVBQVU7SUFDZ0IsU0FBUyxDQUFhO0lBR3BFLFlBQVksQ0FBc0I7SUFHbEMsVUFBVSxHQUF3RCxPQUFPLENBQUM7SUFHMUUsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFcEMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUV6QixJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFHRCxJQUFJLEdBQVcsSUFBSSxDQUFDO0lBR3BCLEtBQUssR0FBWSxLQUFLLENBQUM7SUFFYixnQkFBZ0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM5QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMxRCxrQkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUVwRCxTQUFTLENBQWM7SUFFL0IsSUFBSSxLQUFLO1FBQ1AsT0FBTyxDQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7WUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztZQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQ2hELENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVTLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV2QyxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUNoRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDN0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDakQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsSUFBSSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLENBQUM7aUJBQ3BGLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2xCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2hELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRVMsaUJBQWlCO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssTUFBTTtZQUFFLE9BQU87UUFDMUQsUUFBUSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDeEIsS0FBSyxXQUFXO2dCQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQy9DLE1BQU07WUFDUixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDbEYsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoRixNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO1lBQUUsT0FBTztRQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sRUFBd0I7UUFDaEQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRixDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU3RSxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7SUFDckIsQ0FBQzt3R0FwSG1CLFVBQVU7NEZBQVYsVUFBVSxzTUFDaEIsU0FBUywyQkFBVSxTQUFTLDREQUU1QixrQkFBa0I7OzRGQUhaLFVBQVU7a0JBRC9CLFNBQVM7OEJBRXNDLFNBQVM7c0JBQXRELFlBQVk7dUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtnQkFHNUMsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLGtCQUFrQjtnQkFJaEMsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLGFBQWE7c0JBRFosTUFBTTtnQkFNSCxPQUFPO3NCQURWLEtBQUs7Z0JBWU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVNUFRZLCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYXVkaXRUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSURJbnB1dExhYmVsTGlua2VyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW5wdXQtbGFiZWwtbGlua2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSURJbnB1dERlc2NyaWJlZEJ5TGlua2VyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW5wdXQtZGVzY3JpYmVkLWJ5LWxpbmtlci5zZXJ2aWNlJztcbmltcG9ydCB7IElESW5wdXRJbnZhbGlkTGlua2VyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW5wdXQtaW52YWxpZC1saW5rZXIuc2VydmljZSdcbmltcG9ydCB7IElERXJyb3JNZXNzYWdlQmFzZSB9IGZyb20gJy4vSURFcnJvck1lc3NhZ2VCYXNlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSURGb3JtQmFzZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBAQ29udGVudENoaWxkKE5nQ29udHJvbCwgeyByZWFkOiBOZ0NvbnRyb2wgfSkgbmdDb250cm9sPzogTmdDb250cm9sO1xuXG4gIEBDb250ZW50Q2hpbGQoSURFcnJvck1lc3NhZ2VCYXNlKVxuICBlcnJvck1lc3NhZ2UhOiBJREVycm9yTWVzc2FnZUJhc2U7XG5cbiAgQElucHV0KClcbiAgdmFsaWRhdGVPbjogJ2ltbWVkaWF0ZScgfCAndG91Y2hlZCcgfCAnZGlydHknIHwgJ2JsdXInIHwgJ25vbmUnID0gJ2RpcnR5JztcblxuICBAT3V0cHV0KClcbiAgaW52YWxpZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIF9pbnZhbGlkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ludmFsaWQ7XG4gIH1cbiAgc2V0IGludmFsaWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pbnZhbGlkID0gdmFsdWU7XG4gICAgdGhpcy50b2dnbGVJbnB1dEFyaWFzKHsgaW52YWxpZDogdGhpcy5faW52YWxpZCB9KTtcbiAgICB0aGlzLnRvZ2dsZUVycm9yTWVzc2FnZSgpO1xuICAgIHRoaXMuaW52YWxpZENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNyb2Y6IHN0cmluZyA9ICdhdic7XG5cbiAgQElucHV0KClcbiAgbGlnaHQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgaW5wdXRMYWJlbExpbmtlciA9IGluamVjdChJRElucHV0TGFiZWxMaW5rZXIpO1xuICBwcm90ZWN0ZWQgaW5wdXREZXNjcmliZWRCeUxpbmtlciA9IGluamVjdChJRElucHV0RGVzY3JpYmVkQnlMaW5rZXIpO1xuICBwcm90ZWN0ZWQgaW5wdXRJbnZhbGlkTGlua2VyID0gaW5qZWN0KElESW5wdXRJbnZhbGlkTGlua2VyKTtcblxuICBwcml2YXRlIGJsdXJFdmVudD86ICgpID0+IHZvaWQ7XG5cbiAgZ2V0IGlucHV0KCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpIHx8XG4gICAgICB0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd0ZXh0YXJlYScpIHx8XG4gICAgICB0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzZWxlY3QnKVxuICAgICk7XG4gIH1cblxuICBnZXQgbGFiZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xhYmVsJyk7XG4gIH1cblxuICBnZXQgY2hlY2tib3goKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W3R5cGU9Y2hlY2tib3hdJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaG9zdCA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJvdGVjdGVkIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGlmICghdGhpcy5pbnB1dCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJRFMgRVJST1IgLSBJbnB1dCBtaXNzaW5nIGluICcgKyB0aGlzLmhvc3QubmF0aXZlRWxlbWVudC50YWdOYW1lKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmFsaWRhdGVPbiA9PT0gJ2ltbWVkaWF0ZScpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUVycm9yU3RhdGUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmFsaWRhdGVPbiA9PT0gJ3RvdWNoZWQnIHx8IHRoaXMudmFsaWRhdGVPbiA9PT0gJ2JsdXInKSB7XG4gICAgICB0aGlzLmJsdXJFdmVudCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXQsICdibHVyJywgKCkgPT4ge1xuICAgICAgICB0aGlzLl91cGRhdGVFcnJvclN0YXRlKCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMubmdDb250cm9sICYmIHRoaXMudmFsaWRhdGVPbiAhPT0gJ2JsdXInKSB7XG4gICAgICBtZXJnZSguLi5bdGhpcy5uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlcyA/PyBFTVBUWSwgdGhpcy5uZ0NvbnRyb2wudmFsdWVDaGFuZ2VzID8/IEVNUFRZXSlcbiAgICAgICAgLnBpcGUoYXVkaXRUaW1lKDApKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3VwZGF0ZUVycm9yU3RhdGUoKSk7XG4gICAgfVxuICAgIHRoaXMuaW5wdXRMYWJlbExpbmtlci5saW5rKHRoaXMuaG9zdCk7XG4gICAgdGhpcy5pbnB1dERlc2NyaWJlZEJ5TGlua2VyLmxpbmsodGhpcy5ob3N0LCB0aGlzLmVycm9yTWVzc2FnZSwgdGhpcy5pbnZhbGlkKTtcbiAgICB0aGlzLmlucHV0SW52YWxpZExpbmtlci5saW5rKHRoaXMuaG9zdCwgdGhpcy5pbnZhbGlkKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMubGFiZWwsICdpZHMtbGFiZWwnKTtcbiAgICBpZiAodGhpcy5saWdodCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmlucHV0LCAnaWRzLWlucHV0LS1saWdodCcpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfdXBkYXRlRXJyb3JTdGF0ZSgpIHtcbiAgICBpZiAoIXRoaXMubmdDb250cm9sIHx8IHRoaXMudmFsaWRhdGVPbiA9PT0gJ25vbmUnKSByZXR1cm47XG4gICAgc3dpdGNoICh0aGlzLnZhbGlkYXRlT24pIHtcbiAgICAgIGNhc2UgJ2ltbWVkaWF0ZSc6XG4gICAgICAgIHRoaXMuaW52YWxpZCA9IEJvb2xlYW4odGhpcy5uZ0NvbnRyb2wuaW52YWxpZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndG91Y2hlZCc6XG4gICAgICAgIHRoaXMuaW52YWxpZCA9IEJvb2xlYW4odGhpcy5uZ0NvbnRyb2wuaW52YWxpZCkgJiYgQm9vbGVhbih0aGlzLm5nQ29udHJvbC50b3VjaGVkKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkaXJ0eSc6XG4gICAgICAgIHRoaXMuaW52YWxpZCA9IEJvb2xlYW4odGhpcy5uZ0NvbnRyb2wuaW52YWxpZCkgJiYgQm9vbGVhbih0aGlzLm5nQ29udHJvbC5kaXJ0eSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYmx1cic6XG4gICAgICAgIHRoaXMuaW52YWxpZCA9IEJvb2xlYW4odGhpcy5uZ0NvbnRyb2wuaW52YWxpZCk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlRXJyb3JNZXNzYWdlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5lcnJvck1lc3NhZ2UpIHJldHVybjtcbiAgICB0aGlzLmVycm9yTWVzc2FnZS5zaG93ID0gdGhpcy5pbnZhbGlkO1xuICB9XG5cbiAgdG9nZ2xlSW5wdXRBcmlhcyh7IGludmFsaWQgfTogeyBpbnZhbGlkOiBib29sZWFuIH0pIHtcbiAgICBpZiAodGhpcy5jaGVja2JveCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5pbnB1dCwgJ2FyaWEtY2hlY2tlZCcsIHRoaXMuY2hlY2tib3guY2hlY2tlZCk7XG4gICAgfVxuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuaW5wdXQsICdhcmlhLXJlcXVpcmVkJywgdGhpcy5pbnB1dC5yZXF1aXJlZCk7XG4gICBcbiAgICB0aGlzLmlucHV0RGVzY3JpYmVkQnlMaW5rZXIubGluayh0aGlzLmhvc3QsIHRoaXMuZXJyb3JNZXNzYWdlLCBpbnZhbGlkKTtcbiAgICB0aGlzLmlucHV0SW52YWxpZExpbmtlci5saW5rKHRoaXMuaG9zdCwgdGhpcy5pbnZhbGlkKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuYmx1ckV2ZW50Py4oKTtcbiAgfVxufVxuIl19
@@ -5,5 +5,7 @@ export { IDClickOutsideDirective } from "./directives/click-outside.directive";
5
5
  export { IDTooltipCategoryService } from "./services/tooltip-category.service";
6
6
  export { ID_HEADER_CONTEXT } from "./context/header-context";
7
7
  export { IDErrorMessageBase } from "./classes/form/IDErrorMessageBase";
8
+ export { IDInputDescribedByLinker } from "./services/input-described-by-linker.service";
9
+ export { IDInputInvalidLinker } from "./services/input-invalid-linker.service";
8
10
  export { useEscapeKey } from "./utilities/useEscKey";
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lkcy1hbmd1bGFyL2NvbW1vbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDOUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFtQixNQUFNLDBCQUEwQixDQUFBO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IElERm9ybUJhc2UgfSBmcm9tIFwiLi9jbGFzc2VzL2Zvcm0vSURGb3JtQmFzZVwiO1xuZXhwb3J0IHsgSURVc2VJZFNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy91c2UtaWQuc2VydmljZS50c1wiO1xuZXhwb3J0IHsgSURJbnB1dExhYmVsTGlua2VyIH0gZnJvbSBcIi4vc2VydmljZXMvaW5wdXQtbGFiZWwtbGlua2VyLnNlcnZpY2VcIjtcbmV4cG9ydCB7IElEQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIH0gZnJvbSBcIi4vZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZVwiXG5leHBvcnQgeyBJRFRvb2x0aXBDYXRlZ29yeVNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy90b29sdGlwLWNhdGVnb3J5LnNlcnZpY2VcIlxuZXhwb3J0IHsgSURfSEVBREVSX0NPTlRFWFQsIElESGVhZGVyQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHQvaGVhZGVyLWNvbnRleHRcIlxuZXhwb3J0IHsgSURFcnJvck1lc3NhZ2VCYXNlIH0gZnJvbSBcIi4vY2xhc3Nlcy9mb3JtL0lERXJyb3JNZXNzYWdlQmFzZVwiO1xuZXhwb3J0IHsgdXNlRXNjYXBlS2V5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3VzZUVzY0tleVwiO1xuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lkcy1hbmd1bGFyL2NvbW1vbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDOUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFtQixNQUFNLDBCQUEwQixDQUFBO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IElERm9ybUJhc2UgfSBmcm9tIFwiLi9jbGFzc2VzL2Zvcm0vSURGb3JtQmFzZVwiO1xuZXhwb3J0IHsgSURVc2VJZFNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy91c2UtaWQuc2VydmljZS50c1wiO1xuZXhwb3J0IHsgSURJbnB1dExhYmVsTGlua2VyIH0gZnJvbSBcIi4vc2VydmljZXMvaW5wdXQtbGFiZWwtbGlua2VyLnNlcnZpY2VcIjtcbmV4cG9ydCB7IElEQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIH0gZnJvbSBcIi4vZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZVwiXG5leHBvcnQgeyBJRFRvb2x0aXBDYXRlZ29yeVNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy90b29sdGlwLWNhdGVnb3J5LnNlcnZpY2VcIlxuZXhwb3J0IHsgSURfSEVBREVSX0NPTlRFWFQsIElESGVhZGVyQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHQvaGVhZGVyLWNvbnRleHRcIlxuZXhwb3J0IHsgSURFcnJvck1lc3NhZ2VCYXNlIH0gZnJvbSBcIi4vY2xhc3Nlcy9mb3JtL0lERXJyb3JNZXNzYWdlQmFzZVwiO1xuZXhwb3J0IHsgSURJbnB1dERlc2NyaWJlZEJ5TGlua2VyIH0gZnJvbSBcIi4vc2VydmljZXMvaW5wdXQtZGVzY3JpYmVkLWJ5LWxpbmtlci5zZXJ2aWNlXCI7XG5leHBvcnQgeyBJRElucHV0SW52YWxpZExpbmtlciB9IGZyb20gXCIuL3NlcnZpY2VzL2lucHV0LWludmFsaWQtbGlua2VyLnNlcnZpY2VcIlxuZXhwb3J0IHsgdXNlRXNjYXBlS2V5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3VzZUVzY0tleVwiO1xuIl19
@@ -0,0 +1,31 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class IDInputDescribedByLinker {
4
+ renderer;
5
+ constructor(rendererFactory) {
6
+ this.renderer = rendererFactory.createRenderer(null, null);
7
+ }
8
+ link(host, errorMessage, invalid) {
9
+ const el = host.nativeElement;
10
+ const input = el.querySelector('input, textarea, select');
11
+ const hint = el.querySelector('.ids-input__hint');
12
+ if (!input)
13
+ return;
14
+ if (invalid && errorMessage) {
15
+ this.renderer.setAttribute(input, 'aria-describedby', errorMessage.id);
16
+ }
17
+ else if (!invalid && hint?.id) {
18
+ this.renderer.setAttribute(input, 'aria-describedby', hint.id);
19
+ }
20
+ else {
21
+ this.renderer.removeAttribute(input, 'aria-describedby');
22
+ }
23
+ }
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputDescribedByLinker, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
25
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputDescribedByLinker, providedIn: 'root' });
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputDescribedByLinker, decorators: [{
28
+ type: Injectable,
29
+ args: [{ providedIn: 'root' }]
30
+ }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGVzY3JpYmVkLWJ5LWxpbmtlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWRzLWFuZ3VsYXIvY29tbW9uL3NlcnZpY2VzL2lucHV0LWRlc2NyaWJlZC1ieS1saW5rZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUErQixNQUFNLGVBQWUsQ0FBQzs7QUFJcEYsTUFBTSxPQUFPLHdCQUF3QjtJQUMzQixRQUFRLENBQVk7SUFFNUIsWUFBWSxlQUFpQztRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLENBQ0YsSUFBNkIsRUFDN0IsWUFBNEMsRUFDNUMsT0FBZ0I7UUFFaEIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM5QixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDMUQsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRWxELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUVuQixJQUFJLE9BQU8sSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7YUFBTSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDM0QsQ0FBQztJQUNILENBQUM7d0dBekJVLHdCQUF3Qjs0R0FBeEIsd0JBQXdCLGNBRFgsTUFBTTs7NEZBQ25CLHdCQUF3QjtrQkFEcEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBSZW5kZXJlckZhY3RvcnkyLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElERXJyb3JNZXNzYWdlQmFzZSB9IGZyb20gJy4uL2NsYXNzZXMvZm9ybS9JREVycm9yTWVzc2FnZUJhc2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIElESW5wdXREZXNjcmliZWRCeUxpbmtlciB7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIpIHtcbiAgICB0aGlzLnJlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xuICB9XG5cbiAgbGluayhcbiAgICBob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBlcnJvck1lc3NhZ2U6IElERXJyb3JNZXNzYWdlQmFzZSB8IHVuZGVmaW5lZCxcbiAgICBpbnZhbGlkOiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGVsID0gaG9zdC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGlucHV0ID0gZWwucXVlcnlTZWxlY3RvcignaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QnKTtcbiAgICBjb25zdCBoaW50ID0gZWwucXVlcnlTZWxlY3RvcignLmlkcy1pbnB1dF9faGludCcpO1xuXG4gICAgaWYgKCFpbnB1dCkgcmV0dXJuO1xuXG4gICAgaWYgKGludmFsaWQgJiYgZXJyb3JNZXNzYWdlKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dCwgJ2FyaWEtZGVzY3JpYmVkYnknLCBlcnJvck1lc3NhZ2UuaWQpO1xuICAgIH0gZWxzZSBpZiAoIWludmFsaWQgJiYgaGludD8uaWQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGlucHV0LCAnYXJpYS1kZXNjcmliZWRieScsIGhpbnQuaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZShpbnB1dCwgJ2FyaWEtZGVzY3JpYmVkYnknKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class IDInputInvalidLinker {
4
+ renderer;
5
+ constructor(rendererFactory) {
6
+ this.renderer = rendererFactory.createRenderer(null, null);
7
+ }
8
+ link(host, invalid) {
9
+ const el = host.nativeElement;
10
+ const input = el.querySelector('input, textarea, select');
11
+ if (!input)
12
+ return;
13
+ if (invalid) {
14
+ this.renderer.addClass(input, 'ids-input--invalid');
15
+ this.renderer.setAttribute(input, 'aria-invalid', 'true');
16
+ }
17
+ else {
18
+ this.renderer.removeClass(input, 'ids-input--invalid');
19
+ this.renderer.removeAttribute(input, 'aria-invalid');
20
+ }
21
+ }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputInvalidLinker, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
23
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputInvalidLinker, providedIn: 'root' });
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputInvalidLinker, decorators: [{
26
+ type: Injectable,
27
+ args: [{ providedIn: 'root' }]
28
+ }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtaW52YWxpZC1saW5rZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lkcy1hbmd1bGFyL2NvbW1vbi9zZXJ2aWNlcy9pbnB1dC1pbnZhbGlkLWxpbmtlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQStCLE1BQU0sZUFBZSxDQUFDOztBQUdwRixNQUFNLE9BQU8sb0JBQW9CO0lBQ3ZCLFFBQVEsQ0FBWTtJQUU1QixZQUFZLGVBQWlDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQUksQ0FDRixJQUE2QixFQUM3QixPQUFnQjtRQUVoQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzlCLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFFbkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7d0dBdkJVLG9CQUFvQjs0R0FBcEIsb0JBQW9CLGNBRFAsTUFBTTs7NEZBQ25CLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBSZW5kZXJlckZhY3RvcnkyLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJRElucHV0SW52YWxpZExpbmtlciB7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIpIHtcbiAgICB0aGlzLnJlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xuICB9XG5cbiAgbGluayhcbiAgICBob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBpbnZhbGlkOiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGVsID0gaG9zdC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGlucHV0ID0gZWwucXVlcnlTZWxlY3RvcignaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QnKTtcblxuICAgIGlmICghaW5wdXQpIHJldHVybjtcblxuICAgIGlmIChpbnZhbGlkKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGlucHV0LCAnaWRzLWlucHV0LS1pbnZhbGlkJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dCwgJ2FyaWEtaW52YWxpZCcsICd0cnVlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoaW5wdXQsICdpZHMtaW5wdXQtLWludmFsaWQnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKGlucHV0LCAnYXJpYS1pbnZhbGlkJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,8 +1,10 @@
1
- import { Component } from "@angular/core";
1
+ import { Component, inject } from "@angular/core";
2
+ import { IDUseIdService } from '@inera/ids-angular/common';
2
3
  import * as i0 from "@angular/core";
3
4
  export class IDInputHintComponent {
5
+ id = inject(IDUseIdService).generateId('hint');
4
6
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDInputHintComponent, isStandalone: true, selector: "id-input-hint", host: { classAttribute: "ids-input__hint" }, ngImport: i0, template: "<ng-content></ng-content>", isInline: true });
7
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDInputHintComponent, isStandalone: true, selector: "id-input-hint", host: { properties: { "id": "id" }, classAttribute: "ids-input__hint" }, ngImport: i0, template: "<ng-content></ng-content>", isInline: true });
6
8
  }
7
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputHintComponent, decorators: [{
8
10
  type: Component,
@@ -11,8 +13,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
11
13
  template: "<ng-content></ng-content>",
12
14
  standalone: true,
13
15
  host: {
14
- class: 'ids-input__hint'
16
+ class: 'ids-input__hint',
17
+ '[id]': 'id'
15
18
  }
16
19
  }]
17
20
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZHMtYW5ndWxhci9jb21wb25lbnRzL2Zvcm0vaW5wdXQvaW5wdXQtaGludC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVMUMsTUFBTSxPQUFPLG9CQUFvQjt3R0FBcEIsb0JBQW9COzRGQUFwQixvQkFBb0Isc0hBTnJCLDJCQUEyQjs7NEZBTTFCLG9CQUFvQjtrQkFSaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsaUJBQWlCO3FCQUN6QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJpZC1pbnB1dC1oaW50XCIsXG4gIHRlbXBsYXRlOiBcIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnaWRzLWlucHV0X19oaW50J1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIElESW5wdXRIaW50Q29tcG9uZW50IHtcblxufVxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZHMtYW5ndWxhci9jb21wb25lbnRzL2Zvcm0vaW5wdXQvaW5wdXQtaGludC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQVczRCxNQUFNLE9BQU8sb0JBQW9CO0lBQ3RCLEVBQUUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dHQUQ3QyxvQkFBb0I7NEZBQXBCLG9CQUFvQixrSkFQckIsMkJBQTJCOzs0RkFPMUIsb0JBQW9CO2tCQVRoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxpQkFBaUI7d0JBQ3hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJRFVzZUlkU2VydmljZSB9IGZyb20gJ0BpbmVyYS9pZHMtYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiaWQtaW5wdXQtaGludFwiLFxuICB0ZW1wbGF0ZTogXCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2lkcy1pbnB1dF9faGludCcsXG4gICAgJ1tpZF0nOiAnaWQnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgSURJbnB1dEhpbnRDb21wb25lbnQgIHtcbiAgcmVhZG9ubHkgaWQgPSBpbmplY3QoSURVc2VJZFNlcnZpY2UpLmdlbmVyYXRlSWQoJ2hpbnQnKTtcblxuXG59XG4iXX0=
@@ -1,6 +1,12 @@
1
- import { Component } from "@angular/core";
1
+ import { Component, ElementRef, inject } from "@angular/core";
2
+ import { IDUseIdService } from '@inera/ids-angular/common';
2
3
  import * as i0 from "@angular/core";
3
4
  export class IDTextareaHintComponent {
5
+ id = inject(IDUseIdService).generateId('hint');
6
+ el = inject((ElementRef));
7
+ ngOnInit() {
8
+ this.el.nativeElement.setAttribute('id', this.id);
9
+ }
4
10
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDTextareaHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
11
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDTextareaHintComponent, isStandalone: true, selector: "id-textarea-hint", host: { classAttribute: "ids-input__hint" }, ngImport: i0, template: "<ng-content></ng-content>", isInline: true });
6
12
  }
@@ -15,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
15
21
  }
16
22
  }]
17
23
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZHMtYW5ndWxhci9jb21wb25lbnRzL2Zvcm0vdGV4dGFyZWEvdGV4dGFyZWEtaGludC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVMUMsTUFBTSxPQUFPLHVCQUF1Qjt3R0FBdkIsdUJBQXVCOzRGQUF2Qix1QkFBdUIseUhBTnhCLDJCQUEyQjs7NEZBTTFCLHVCQUF1QjtrQkFSbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxpQkFBaUI7cUJBQ3pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImlkLXRleHRhcmVhLWhpbnRcIixcbiAgdGVtcGxhdGU6IFwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdpZHMtaW5wdXRfX2hpbnQnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgSURUZXh0YXJlYUhpbnRDb21wb25lbnQge1xuXG59XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZHMtYW5ndWxhci9jb21wb25lbnRzL2Zvcm0vdGV4dGFyZWEvdGV4dGFyZWEtaGludC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFVM0QsTUFBTSxPQUFPLHVCQUF1QjtJQUN6QixFQUFFLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7SUFFdEQsUUFBUTtRQUNOLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7d0dBTlUsdUJBQXVCOzRGQUF2Qix1QkFBdUIseUhBTnhCLDJCQUEyQjs7NEZBTTFCLHVCQUF1QjtrQkFSbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxpQkFBaUI7cUJBQ3pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJRFVzZUlkU2VydmljZSB9IGZyb20gJ0BpbmVyYS9pZHMtYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiaWQtdGV4dGFyZWEtaGludFwiLFxuICB0ZW1wbGF0ZTogXCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2lkcy1pbnB1dF9faGludCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBJRFRleHRhcmVhSGludENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHJlYWRvbmx5IGlkID0gaW5qZWN0KElEVXNlSWRTZXJ2aWNlKS5nZW5lcmF0ZUlkKCdoaW50Jyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWwgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5pZCk7XG4gIH1cbn1cbiJdfQ==
@@ -29,6 +29,62 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
29
29
  args: [{ providedIn: 'root' }]
30
30
  }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
31
31
 
32
+ class IDInputDescribedByLinker {
33
+ renderer;
34
+ constructor(rendererFactory) {
35
+ this.renderer = rendererFactory.createRenderer(null, null);
36
+ }
37
+ link(host, errorMessage, invalid) {
38
+ const el = host.nativeElement;
39
+ const input = el.querySelector('input, textarea, select');
40
+ const hint = el.querySelector('.ids-input__hint');
41
+ if (!input)
42
+ return;
43
+ if (invalid && errorMessage) {
44
+ this.renderer.setAttribute(input, 'aria-describedby', errorMessage.id);
45
+ }
46
+ else if (!invalid && hint?.id) {
47
+ this.renderer.setAttribute(input, 'aria-describedby', hint.id);
48
+ }
49
+ else {
50
+ this.renderer.removeAttribute(input, 'aria-describedby');
51
+ }
52
+ }
53
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputDescribedByLinker, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
54
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputDescribedByLinker, providedIn: 'root' });
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputDescribedByLinker, decorators: [{
57
+ type: Injectable,
58
+ args: [{ providedIn: 'root' }]
59
+ }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
60
+
61
+ class IDInputInvalidLinker {
62
+ renderer;
63
+ constructor(rendererFactory) {
64
+ this.renderer = rendererFactory.createRenderer(null, null);
65
+ }
66
+ link(host, invalid) {
67
+ const el = host.nativeElement;
68
+ const input = el.querySelector('input, textarea, select');
69
+ if (!input)
70
+ return;
71
+ if (invalid) {
72
+ this.renderer.addClass(input, 'ids-input--invalid');
73
+ this.renderer.setAttribute(input, 'aria-invalid', 'true');
74
+ }
75
+ else {
76
+ this.renderer.removeClass(input, 'ids-input--invalid');
77
+ this.renderer.removeAttribute(input, 'aria-invalid');
78
+ }
79
+ }
80
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputInvalidLinker, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
81
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputInvalidLinker, providedIn: 'root' });
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputInvalidLinker, decorators: [{
84
+ type: Injectable,
85
+ args: [{ providedIn: 'root' }]
86
+ }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
87
+
32
88
  class IDUseIdService {
33
89
  static componentCounters = {};
34
90
  generateId(componentName) {
@@ -80,6 +136,8 @@ class IDFormBase {
80
136
  srof = 'av';
81
137
  light = false;
82
138
  inputLabelLinker = inject(IDInputLabelLinker);
139
+ inputDescribedByLinker = inject(IDInputDescribedByLinker);
140
+ inputInvalidLinker = inject(IDInputInvalidLinker);
83
141
  blurEvent;
84
142
  get input() {
85
143
  return (this.host.nativeElement.querySelector('input') ||
@@ -112,6 +170,8 @@ class IDFormBase {
112
170
  .subscribe(() => this._updateErrorState());
113
171
  }
114
172
  this.inputLabelLinker.link(this.host);
173
+ this.inputDescribedByLinker.link(this.host, this.errorMessage, this.invalid);
174
+ this.inputInvalidLinker.link(this.host, this.invalid);
115
175
  this.renderer.addClass(this.label, 'ids-label');
116
176
  if (this.light) {
117
177
  this.renderer.addClass(this.input, 'ids-input--light');
@@ -144,20 +204,8 @@ class IDFormBase {
144
204
  this.renderer.setAttribute(this.input, 'aria-checked', this.checkbox.checked);
145
205
  }
146
206
  this.renderer.setAttribute(this.input, 'aria-required', this.input.required);
147
- if (invalid) {
148
- this.renderer.addClass(this.input, 'ids-input--invalid');
149
- this.renderer.setAttribute(this.input, 'aria-invalid', 'true');
150
- }
151
- else {
152
- this.renderer.removeClass(this.input, 'ids-input--invalid');
153
- this.renderer.removeAttribute(this.input, 'aria-invalid');
154
- }
155
- if (this.errorMessage) {
156
- this.renderer.setAttribute(this.input, 'aria-describedby', this.errorMessage.id);
157
- }
158
- else {
159
- this.renderer.removeAttribute(this.input, 'aria-describedby');
160
- }
207
+ this.inputDescribedByLinker.link(this.host, this.errorMessage, invalid);
208
+ this.inputInvalidLinker.link(this.host, this.invalid);
161
209
  }
162
210
  ngOnDestroy() {
163
211
  this.blurEvent?.();
@@ -240,5 +288,5 @@ function useEscapeKey(callback, condition) {
240
288
  * Generated bundle index. Do not edit.
241
289
  */
242
290
 
243
- export { IDClickOutsideDirective, IDErrorMessageBase, IDFormBase, IDInputLabelLinker, IDTooltipCategoryService, IDUseIdService, ID_HEADER_CONTEXT, useEscapeKey };
291
+ export { IDClickOutsideDirective, IDErrorMessageBase, IDFormBase, IDInputDescribedByLinker, IDInputInvalidLinker, IDInputLabelLinker, IDTooltipCategoryService, IDUseIdService, ID_HEADER_CONTEXT, useEscapeKey };
244
292
  //# sourceMappingURL=inera-ids-angular-common.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-common.mjs","sources":["../../../projects/ids-angular/common/services/input-label-linker.service.ts","../../../projects/ids-angular/common/services/use-id.service.ts.ts","../../../projects/ids-angular/common/classes/form/IDErrorMessageBase.ts","../../../projects/ids-angular/common/classes/form/IDFormBase.ts","../../../projects/ids-angular/common/directives/click-outside.directive.ts","../../../projects/ids-angular/common/services/tooltip-category.service.ts","../../../projects/ids-angular/common/context/header-context.ts","../../../projects/ids-angular/common/utilities/useEscKey.ts","../../../projects/ids-angular/common/inera-ids-angular-common.ts"],"sourcesContent":["import { Injectable, ElementRef, Renderer2, RendererFactory2 } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputLabelLinker {\n private static nextId = 0;\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(host: ElementRef<HTMLElement>) {\n const el = host.nativeElement;\n const label = el.querySelector('label');\n const input = el.querySelector('input, textarea, select');\n\n if (!input || !label) return;\n\n const id = input.id || `ids-form-element-${IDInputLabelLinker.nextId++}`;\n this.renderer.setAttribute(input, 'id', id);\n this.renderer.setAttribute(label, 'for', id);\n }\n}","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDUseIdService {\n private static componentCounters: Record<string, number> = {};\n\n generateId(componentName: string): string {\n if (!IDUseIdService.componentCounters[componentName]) {\n IDUseIdService.componentCounters[componentName] = 0;\n }\n IDUseIdService.componentCounters[componentName]++;\n return `ids-${componentName}-${IDUseIdService.componentCounters[componentName]}`;\n }\n}","import { Directive, HostBinding, inject, Input} from '@angular/core';\nimport { IDUseIdService } from '../../services/use-id.service.ts';\n\n@Directive()\nexport abstract class IDErrorMessageBase {\n\n @HostBinding('class.ids-error-message--show')\n @Input()\n show: boolean = false;\n\n private idService = inject(IDUseIdService);\n id = this.idService.generateId('error-message');\n \n}\n","import {\n AfterContentInit,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { EMPTY, merge } from 'rxjs';\nimport { auditTime } from 'rxjs/operators';\nimport { IDInputLabelLinker } from '../../services/input-label-linker.service';\nimport { IDErrorMessageBase } from './IDErrorMessageBase';\n\n@Directive()\nexport abstract class IDFormBase implements AfterContentInit {\n @ContentChild(NgControl, { read: NgControl }) ngControl?: NgControl;\n\n @ContentChild(IDErrorMessageBase)\n errorMessage!: IDErrorMessageBase;\n\n @Input()\n validateOn: 'immediate' | 'touched' | 'dirty' | 'blur' | 'none' = 'dirty';\n\n @Output()\n invalidChange = new EventEmitter<boolean>();\n\n private _invalid = false;\n\n @Input()\n get invalid(): boolean {\n return this._invalid;\n }\n set invalid(value: boolean) {\n this._invalid = value;\n this.toggleInputArias({ invalid: this._invalid });\n this.toggleErrorMessage();\n this.invalidChange.emit(value);\n }\n\n @Input()\n srof: string = 'av';\n\n @Input()\n light: boolean = false;\n\n protected inputLabelLinker = inject(IDInputLabelLinker);\n\n private blurEvent?: () => void;\n\n get input() {\n return (\n this.host.nativeElement.querySelector('input') ||\n this.host.nativeElement.querySelector('textarea') ||\n this.host.nativeElement.querySelector('select')\n );\n }\n\n get label() {\n return this.host.nativeElement.querySelector('label');\n }\n\n get checkbox() {\n return this.host.nativeElement.querySelector('input[type=checkbox]');\n }\n\n protected host = inject(ElementRef);\n protected renderer = inject(Renderer2);\n\n ngAfterContentInit() {\n if (!this.input) {\n throw new Error('IDS ERROR - Input missing in ' + this.host.nativeElement.tagName);\n }\n if (this.validateOn === 'immediate') {\n this._updateErrorState();\n }\n if (this.validateOn === 'touched' || this.validateOn === 'blur') {\n this.blurEvent = this.renderer.listen(this.input, 'blur', () => {\n this._updateErrorState();\n });\n }\n if (this.ngControl && this.validateOn !== 'blur') {\n merge(...[this.ngControl.statusChanges ?? EMPTY, this.ngControl.valueChanges ?? EMPTY])\n .pipe(auditTime(0))\n .subscribe(() => this._updateErrorState());\n }\n this.inputLabelLinker.link(this.host);\n this.renderer.addClass(this.label, 'ids-label');\n if (this.light) {\n this.renderer.addClass(this.input, 'ids-input--light');\n }\n }\n\n protected _updateErrorState() {\n if (!this.ngControl || this.validateOn === 'none') return;\n switch (this.validateOn) {\n case 'immediate':\n this.invalid = Boolean(this.ngControl.invalid);\n break;\n case 'touched':\n this.invalid = Boolean(this.ngControl.invalid) && Boolean(this.ngControl.touched);\n break;\n case 'dirty':\n this.invalid = Boolean(this.ngControl.invalid) && Boolean(this.ngControl.dirty);\n break;\n case 'blur':\n this.invalid = Boolean(this.ngControl.invalid);\n }\n }\n\n toggleErrorMessage(): void {\n if (!this.errorMessage) return;\n this.errorMessage.show = this.invalid;\n }\n\n toggleInputArias({ invalid }: { invalid: boolean }) {\n if (this.checkbox) {\n this.renderer.setAttribute(this.input, 'aria-checked', this.checkbox.checked);\n }\n this.renderer.setAttribute(this.input, 'aria-required', this.input.required);\n if (invalid) {\n this.renderer.addClass(this.input, 'ids-input--invalid');\n this.renderer.setAttribute(this.input, 'aria-invalid', 'true');\n } else {\n this.renderer.removeClass(this.input, 'ids-input--invalid');\n this.renderer.removeAttribute(this.input, 'aria-invalid');\n }\n if (this.errorMessage) {\n this.renderer.setAttribute(this.input, 'aria-describedby', this.errorMessage.id);\n } else {\n this.renderer.removeAttribute(this.input, 'aria-describedby');\n }\n }\n\n ngOnDestroy() {\n this.blurEvent?.();\n }\n}\n","import { Directive, ElementRef, Output, EventEmitter, OnDestroy } from '@angular/core';\n\n@Directive({\n selector: '[idClickOutside]',\n standalone: true\n})\nexport class IDClickOutsideDirective implements OnDestroy {\n @Output() idClickOutside = new EventEmitter<Event>();\n\n constructor(private elementRef: ElementRef) {\n document.addEventListener('click', this.onDocumentClick.bind(this), true);\n }\n\n ngOnDestroy() {\n document.removeEventListener('click', this.onDocumentClick.bind(this), true);\n }\n\n private onDocumentClick(event: MouseEvent) {\n if (!this.elementRef.nativeElement.contains(event.target)) {\n this.idClickOutside.emit(event);\n }\n }\n}","import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDTooltipCategoryService {\n closeCategory = signal<string | null>(null);\n\n requestClose(category: string) {\n this.closeCategory.set(null);\n this.closeCategory.set(category);\n }\n}","import { InjectionToken } from '@angular/core';\n\nexport interface IDHeaderContext {\n unresponsive: boolean;\n}\n\nexport const ID_HEADER_CONTEXT = new InjectionToken<IDHeaderContext>('ID_HEADER_CONTEXT');","import { inject, DestroyRef } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nexport function useEscapeKey(callback: () => void, condition: () => boolean) {\n const destroyRef = inject(DestroyRef);\n\n fromEvent<KeyboardEvent>(window, 'keydown')\n .pipe(\n filter(event => event.key === 'Escape' && condition()),\n takeUntilDestroyed(destroyRef)\n )\n .subscribe(() => callback());\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inera-ids-angular-common.mjs","sources":["../../../projects/ids-angular/common/services/input-label-linker.service.ts","../../../projects/ids-angular/common/services/input-described-by-linker.service.ts","../../../projects/ids-angular/common/services/input-invalid-linker.service.ts","../../../projects/ids-angular/common/services/use-id.service.ts.ts","../../../projects/ids-angular/common/classes/form/IDErrorMessageBase.ts","../../../projects/ids-angular/common/classes/form/IDFormBase.ts","../../../projects/ids-angular/common/directives/click-outside.directive.ts","../../../projects/ids-angular/common/services/tooltip-category.service.ts","../../../projects/ids-angular/common/context/header-context.ts","../../../projects/ids-angular/common/utilities/useEscKey.ts","../../../projects/ids-angular/common/inera-ids-angular-common.ts"],"sourcesContent":["import { Injectable, ElementRef, Renderer2, RendererFactory2 } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputLabelLinker {\n private static nextId = 0;\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(host: ElementRef<HTMLElement>) {\n const el = host.nativeElement;\n const label = el.querySelector('label');\n const input = el.querySelector('input, textarea, select');\n\n if (!input || !label) return;\n\n const id = input.id || `ids-form-element-${IDInputLabelLinker.nextId++}`;\n this.renderer.setAttribute(input, 'id', id);\n this.renderer.setAttribute(label, 'for', id);\n }\n}","import { ElementRef, Injectable, RendererFactory2, Renderer2 } from '@angular/core';\nimport { IDErrorMessageBase } from '../classes/form/IDErrorMessageBase';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputDescribedByLinker {\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(\n host: ElementRef<HTMLElement>,\n errorMessage: IDErrorMessageBase | undefined,\n invalid: boolean\n ): void {\n const el = host.nativeElement;\n const input = el.querySelector('input, textarea, select');\n const hint = el.querySelector('.ids-input__hint');\n\n if (!input) return;\n\n if (invalid && errorMessage) {\n this.renderer.setAttribute(input, 'aria-describedby', errorMessage.id);\n } else if (!invalid && hint?.id) {\n this.renderer.setAttribute(input, 'aria-describedby', hint.id);\n } else {\n this.renderer.removeAttribute(input, 'aria-describedby');\n }\n }\n}\n","import { ElementRef, Injectable, RendererFactory2, Renderer2 } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDInputInvalidLinker {\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n link(\n host: ElementRef<HTMLElement>,\n invalid: boolean\n ): void {\n const el = host.nativeElement;\n const input = el.querySelector('input, textarea, select');\n\n if (!input) return;\n\n if (invalid) {\n this.renderer.addClass(input, 'ids-input--invalid');\n this.renderer.setAttribute(input, 'aria-invalid', 'true');\n } else {\n this.renderer.removeClass(input, 'ids-input--invalid');\n this.renderer.removeAttribute(input, 'aria-invalid');\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDUseIdService {\n private static componentCounters: Record<string, number> = {};\n\n generateId(componentName: string): string {\n if (!IDUseIdService.componentCounters[componentName]) {\n IDUseIdService.componentCounters[componentName] = 0;\n }\n IDUseIdService.componentCounters[componentName]++;\n return `ids-${componentName}-${IDUseIdService.componentCounters[componentName]}`;\n }\n}","import { Directive, HostBinding, inject, Input} from '@angular/core';\nimport { IDUseIdService } from '../../services/use-id.service.ts';\n\n@Directive()\nexport abstract class IDErrorMessageBase {\n\n @HostBinding('class.ids-error-message--show')\n @Input()\n show: boolean = false;\n\n private idService = inject(IDUseIdService);\n id = this.idService.generateId('error-message');\n \n}\n","import {\n AfterContentInit,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { EMPTY, merge } from 'rxjs';\nimport { auditTime } from 'rxjs/operators';\nimport { IDInputLabelLinker } from '../../services/input-label-linker.service';\nimport { IDInputDescribedByLinker } from '../../services/input-described-by-linker.service';\nimport { IDInputInvalidLinker } from '../../services/input-invalid-linker.service'\nimport { IDErrorMessageBase } from './IDErrorMessageBase';\n\n@Directive()\nexport abstract class IDFormBase implements AfterContentInit {\n @ContentChild(NgControl, { read: NgControl }) ngControl?: NgControl;\n\n @ContentChild(IDErrorMessageBase)\n errorMessage!: IDErrorMessageBase;\n\n @Input()\n validateOn: 'immediate' | 'touched' | 'dirty' | 'blur' | 'none' = 'dirty';\n\n @Output()\n invalidChange = new EventEmitter<boolean>();\n\n private _invalid = false;\n\n @Input()\n get invalid(): boolean {\n return this._invalid;\n }\n set invalid(value: boolean) {\n this._invalid = value;\n this.toggleInputArias({ invalid: this._invalid });\n this.toggleErrorMessage();\n this.invalidChange.emit(value);\n }\n\n @Input()\n srof: string = 'av';\n\n @Input()\n light: boolean = false;\n\n protected inputLabelLinker = inject(IDInputLabelLinker);\n protected inputDescribedByLinker = inject(IDInputDescribedByLinker);\n protected inputInvalidLinker = inject(IDInputInvalidLinker);\n\n private blurEvent?: () => void;\n\n get input() {\n return (\n this.host.nativeElement.querySelector('input') ||\n this.host.nativeElement.querySelector('textarea') ||\n this.host.nativeElement.querySelector('select')\n );\n }\n\n get label() {\n return this.host.nativeElement.querySelector('label');\n }\n\n get checkbox() {\n return this.host.nativeElement.querySelector('input[type=checkbox]');\n }\n\n protected host = inject(ElementRef);\n protected renderer = inject(Renderer2);\n\n ngAfterContentInit() {\n if (!this.input) {\n throw new Error('IDS ERROR - Input missing in ' + this.host.nativeElement.tagName);\n }\n if (this.validateOn === 'immediate') {\n this._updateErrorState();\n }\n if (this.validateOn === 'touched' || this.validateOn === 'blur') {\n this.blurEvent = this.renderer.listen(this.input, 'blur', () => {\n this._updateErrorState();\n });\n }\n if (this.ngControl && this.validateOn !== 'blur') {\n merge(...[this.ngControl.statusChanges ?? EMPTY, this.ngControl.valueChanges ?? EMPTY])\n .pipe(auditTime(0))\n .subscribe(() => this._updateErrorState());\n }\n this.inputLabelLinker.link(this.host);\n this.inputDescribedByLinker.link(this.host, this.errorMessage, this.invalid);\n this.inputInvalidLinker.link(this.host, this.invalid);\n this.renderer.addClass(this.label, 'ids-label');\n if (this.light) {\n this.renderer.addClass(this.input, 'ids-input--light');\n }\n }\n\n protected _updateErrorState() {\n if (!this.ngControl || this.validateOn === 'none') return;\n switch (this.validateOn) {\n case 'immediate':\n this.invalid = Boolean(this.ngControl.invalid);\n break;\n case 'touched':\n this.invalid = Boolean(this.ngControl.invalid) && Boolean(this.ngControl.touched);\n break;\n case 'dirty':\n this.invalid = Boolean(this.ngControl.invalid) && Boolean(this.ngControl.dirty);\n break;\n case 'blur':\n this.invalid = Boolean(this.ngControl.invalid);\n }\n }\n\n toggleErrorMessage(): void {\n if (!this.errorMessage) return;\n this.errorMessage.show = this.invalid;\n }\n\n toggleInputArias({ invalid }: { invalid: boolean }) {\n if (this.checkbox) {\n this.renderer.setAttribute(this.input, 'aria-checked', this.checkbox.checked);\n }\n this.renderer.setAttribute(this.input, 'aria-required', this.input.required);\n \n this.inputDescribedByLinker.link(this.host, this.errorMessage, invalid);\n this.inputInvalidLinker.link(this.host, this.invalid);\n }\n\n ngOnDestroy() {\n this.blurEvent?.();\n }\n}\n","import { Directive, ElementRef, Output, EventEmitter, OnDestroy } from '@angular/core';\n\n@Directive({\n selector: '[idClickOutside]',\n standalone: true\n})\nexport class IDClickOutsideDirective implements OnDestroy {\n @Output() idClickOutside = new EventEmitter<Event>();\n\n constructor(private elementRef: ElementRef) {\n document.addEventListener('click', this.onDocumentClick.bind(this), true);\n }\n\n ngOnDestroy() {\n document.removeEventListener('click', this.onDocumentClick.bind(this), true);\n }\n\n private onDocumentClick(event: MouseEvent) {\n if (!this.elementRef.nativeElement.contains(event.target)) {\n this.idClickOutside.emit(event);\n }\n }\n}","import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class IDTooltipCategoryService {\n closeCategory = signal<string | null>(null);\n\n requestClose(category: string) {\n this.closeCategory.set(null);\n this.closeCategory.set(category);\n }\n}","import { InjectionToken } from '@angular/core';\n\nexport interface IDHeaderContext {\n unresponsive: boolean;\n}\n\nexport const ID_HEADER_CONTEXT = new InjectionToken<IDHeaderContext>('ID_HEADER_CONTEXT');","import { inject, DestroyRef } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nexport function useEscapeKey(callback: () => void, condition: () => boolean) {\n const destroyRef = inject(DestroyRef);\n\n fromEvent<KeyboardEvent>(window, 'keydown')\n .pipe(\n filter(event => event.key === 'Escape' && condition()),\n takeUntilDestroyed(destroyRef)\n )\n .subscribe(() => callback());\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, inject, ElementRef, booleanAttribute, Input, ContentChild, HostBinding } from '@angular/core';
3
- import { IDFormBase } from '@inera/ids-angular/common';
2
+ import { inject, Component, ElementRef, booleanAttribute, Input, ContentChild, HostBinding } from '@angular/core';
3
+ import { IDUseIdService, IDFormBase } from '@inera/ids-angular/common';
4
4
 
5
5
  class IDInputHintComponent {
6
+ id = inject(IDUseIdService).generateId('hint');
6
7
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDInputHintComponent, isStandalone: true, selector: "id-input-hint", host: { classAttribute: "ids-input__hint" }, ngImport: i0, template: "<ng-content></ng-content>", isInline: true });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDInputHintComponent, isStandalone: true, selector: "id-input-hint", host: { properties: { "id": "id" }, classAttribute: "ids-input__hint" }, ngImport: i0, template: "<ng-content></ng-content>", isInline: true });
8
9
  }
9
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDInputHintComponent, decorators: [{
10
11
  type: Component,
@@ -13,7 +14,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
13
14
  template: "<ng-content></ng-content>",
14
15
  standalone: true,
15
16
  host: {
16
- class: 'ids-input__hint'
17
+ class: 'ids-input__hint',
18
+ '[id]': 'id'
17
19
  }
18
20
  }]
19
21
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-form-input.mjs","sources":["../../../projects/ids-angular/components/form/input/input-hint.component.ts","../../../projects/ids-angular/components/form/input/input.component.ts","../../../projects/ids-angular/components/form/input/input.component.html","../../../projects/ids-angular/components/form/input/input-icon.component.ts","../../../projects/ids-angular/components/form/input/inera-ids-angular-components-form-input.ts"],"sourcesContent":["import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"id-input-hint\",\n template: \"<ng-content></ng-content>\",\n standalone: true,\n host: {\n class: 'ids-input__hint'\n }\n})\nexport class IDInputHintComponent {\n\n}\n","import {\n AfterContentInit,\n Component,\n ContentChild,\n ElementRef,\n Input,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { IDFormBase } from '@inera/ids-angular/common';\nimport { IDInputHintComponent } from './input-hint.component';\n\n@Component({\n selector: 'id-input',\n templateUrl: './input.component.html',\n standalone: true,\n host: {\n '[class]': 'hostClasses',\n },\n})\nexport class IDInputComponent extends IDFormBase implements AfterContentInit {\n private elementRef = inject(ElementRef);\n\n @ContentChild(IDInputHintComponent)\n hintComponent: IDInputHintComponent | undefined;\n\n @Input({ transform: booleanAttribute }) showSearchLabel: boolean = false;\n\n @Input({ transform: booleanAttribute }) search: boolean = false;\n\n get hostClasses(): string {\n const hostEl = this.elementRef.nativeElement as HTMLElement;\n const existing = hostEl.getAttribute('class')?.split(/\\s+/) ?? [];\n const hostClass = 'ids-input';\n const hostClasses: string[] = [hostClass];\n\n if (this.search) {\n hostClasses.push(`${hostClass}--search`);\n }\n\n return Array.from(new Set([...existing, ...hostClasses])).join(' ');\n }\n\n ngAfterContentInit(): void {\n super.ngAfterContentInit();\n this.renderer.addClass(this.input, 'ids-input__input');\n }\n}\n","<div class=\"ids-input__wrapper\">\n <div class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <span [class.ids-hidden]=\"search && !showSearchLabel\">\n <ng-content select=\"label\"></ng-content>\n </span>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </div>\n <div class=\"ids-input__input-wrapper\">\n <span [class.ids-input__search-icon]=\"search\"></span>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"id-input-hint\"></ng-content>\n <ng-content select=\"id-error-message\"></ng-content>\n</div>\n\n<ng-content select=\"button\"></ng-content>\n","import { Component, HostBinding, Input } from \"@angular/core\";\n\n@Component({\n selector: \"id-input-icon\",\n template: \"<ng-content></ng-content>\",\n standalone: true,\n})\nexport class IDInputIconComponent {\n\n @Input() name?: string;\n\n @HostBinding()\n get class () {\n return ['ids-input__icon', 'ids-icon-' + this.name].join(\" \");\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inera-ids-angular-components-form-input.mjs","sources":["../../../projects/ids-angular/components/form/input/input-hint.component.ts","../../../projects/ids-angular/components/form/input/input.component.ts","../../../projects/ids-angular/components/form/input/input.component.html","../../../projects/ids-angular/components/form/input/input-icon.component.ts","../../../projects/ids-angular/components/form/input/inera-ids-angular-components-form-input.ts"],"sourcesContent":["import { Component, ElementRef, inject, OnInit } from \"@angular/core\";\nimport { IDUseIdService } from '@inera/ids-angular/common';\n\n@Component({\n selector: \"id-input-hint\",\n template: \"<ng-content></ng-content>\",\n standalone: true,\n host: {\n class: 'ids-input__hint',\n '[id]': 'id'\n }\n})\nexport class IDInputHintComponent {\n readonly id = inject(IDUseIdService).generateId('hint');\n\n\n}\n","import {\n AfterContentInit,\n Component,\n ContentChild,\n ElementRef,\n Input,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { IDFormBase } from '@inera/ids-angular/common';\nimport { IDInputHintComponent } from './input-hint.component';\n\n@Component({\n selector: 'id-input',\n templateUrl: './input.component.html',\n standalone: true,\n host: {\n '[class]': 'hostClasses',\n },\n})\nexport class IDInputComponent extends IDFormBase implements AfterContentInit {\n private elementRef = inject(ElementRef);\n\n @ContentChild(IDInputHintComponent)\n hintComponent: IDInputHintComponent | undefined;\n\n @Input({ transform: booleanAttribute }) showSearchLabel: boolean = false;\n\n @Input({ transform: booleanAttribute }) search: boolean = false;\n\n get hostClasses(): string {\n const hostEl = this.elementRef.nativeElement as HTMLElement;\n const existing = hostEl.getAttribute('class')?.split(/\\s+/) ?? [];\n const hostClass = 'ids-input';\n const hostClasses: string[] = [hostClass];\n\n if (this.search) {\n hostClasses.push(`${hostClass}--search`);\n }\n\n return Array.from(new Set([...existing, ...hostClasses])).join(' ');\n }\n\n ngAfterContentInit(): void {\n super.ngAfterContentInit();\n this.renderer.addClass(this.input, 'ids-input__input');\n }\n}\n","<div class=\"ids-input__wrapper\">\n <div class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <span [class.ids-hidden]=\"search && !showSearchLabel\">\n <ng-content select=\"label\"></ng-content>\n </span>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n </div>\n <div class=\"ids-input__input-wrapper\">\n <span [class.ids-input__search-icon]=\"search\"></span>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"id-input-hint\"></ng-content>\n <ng-content select=\"id-error-message\"></ng-content>\n</div>\n\n<ng-content select=\"button\"></ng-content>\n","import { Component, HostBinding, Input } from \"@angular/core\";\n\n@Component({\n selector: \"id-input-icon\",\n template: \"<ng-content></ng-content>\",\n standalone: true,\n})\nexport class IDInputIconComponent {\n\n @Input() name?: string;\n\n @HostBinding()\n get class () {\n return ['ids-input__icon', 'ids-icon-' + this.name].join(\" \");\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, ElementRef, booleanAttribute, Input, Component } from '@angular/core';
3
- import { IDFormBase } from '@inera/ids-angular/common';
3
+ import { IDFormBase, IDUseIdService } from '@inera/ids-angular/common';
4
4
 
5
5
  class IDTextareaComponent extends IDFormBase {
6
6
  block = false;
@@ -54,6 +54,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
54
54
  }] } });
55
55
 
56
56
  class IDTextareaHintComponent {
57
+ id = inject(IDUseIdService).generateId('hint');
58
+ el = inject((ElementRef));
59
+ ngOnInit() {
60
+ this.el.nativeElement.setAttribute('id', this.id);
61
+ }
57
62
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IDTextareaHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
58
63
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IDTextareaHintComponent, isStandalone: true, selector: "id-textarea-hint", host: { classAttribute: "ids-input__hint" }, ngImport: i0, template: "<ng-content></ng-content>", isInline: true });
59
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-form-textarea.mjs","sources":["../../../projects/ids-angular/components/form/textarea/textarea.component.ts","../../../projects/ids-angular/components/form/textarea/textarea.component.html","../../../projects/ids-angular/components/form/textarea/textarea-hint.component.ts","../../../projects/ids-angular/components/form/textarea/inera-ids-angular-components-form-textarea.ts"],"sourcesContent":["import { AfterContentInit, Component, ElementRef, Input, booleanAttribute, inject } from '@angular/core';\nimport { IDFormBase } from \"@inera/ids-angular/common\";\n\n@Component({\n selector: 'id-textarea',\n templateUrl: \"./textarea.component.html\",\n standalone: true,\n host: {\n class: 'ids-textarea',\n '[class.ids-textarea--block]': 'block',\n '[class.ids-textarea--autosize]': 'autoSize',\n }\n})\nexport class IDTextareaComponent extends IDFormBase implements AfterContentInit {\n\n @Input({ transform: booleanAttribute }) block: boolean = false;\n @Input({ transform: booleanAttribute }) autoSize: boolean = false;\n\n host = inject(ElementRef);\n\n private autosizeInput?: () => void;\n private autosizeViewport?: () => void;\n\n ngAfterContentInit(): void {\n super.ngAfterContentInit();\n if (this.autoSize) {\n this.autosizeInput = this.renderer.listen(this.input, 'input', () => {\n this.updateAutosize();\n });\n if (visualViewport) {\n this.autosizeViewport = this.renderer.listen(visualViewport, 'resize', () => {\n this.updateAutosize();\n });\n }\n this.input.style.height = \"auto\";\n setTimeout(() => {\n this.updateAutosize();\n },75)\n }\n }\n\n ngOnDestroy() {\n this.autosizeInput?.();\n this.autosizeViewport?.();\n }\n\n updateAutosize() {\n this.input.style.height = \"auto\";\n if (this.input.scrollHeight > 70) {\n this.input.style.height = this.input.scrollHeight + 24 + \"px\";\n }\n }\n\n}\n","<div class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n</div>\n\n<ng-content></ng-content>\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"id-textarea-hint\",\n template: \"<ng-content></ng-content>\",\n standalone: true,\n host: {\n class: 'ids-input__hint'\n }\n})\nexport class IDTextareaHintComponent {\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inera-ids-angular-components-form-textarea.mjs","sources":["../../../projects/ids-angular/components/form/textarea/textarea.component.ts","../../../projects/ids-angular/components/form/textarea/textarea.component.html","../../../projects/ids-angular/components/form/textarea/textarea-hint.component.ts","../../../projects/ids-angular/components/form/textarea/inera-ids-angular-components-form-textarea.ts"],"sourcesContent":["import { AfterContentInit, Component, ElementRef, Input, booleanAttribute, inject } from '@angular/core';\nimport { IDFormBase } from \"@inera/ids-angular/common\";\n\n@Component({\n selector: 'id-textarea',\n templateUrl: \"./textarea.component.html\",\n standalone: true,\n host: {\n class: 'ids-textarea',\n '[class.ids-textarea--block]': 'block',\n '[class.ids-textarea--autosize]': 'autoSize',\n }\n})\nexport class IDTextareaComponent extends IDFormBase implements AfterContentInit {\n\n @Input({ transform: booleanAttribute }) block: boolean = false;\n @Input({ transform: booleanAttribute }) autoSize: boolean = false;\n\n host = inject(ElementRef);\n\n private autosizeInput?: () => void;\n private autosizeViewport?: () => void;\n\n ngAfterContentInit(): void {\n super.ngAfterContentInit();\n if (this.autoSize) {\n this.autosizeInput = this.renderer.listen(this.input, 'input', () => {\n this.updateAutosize();\n });\n if (visualViewport) {\n this.autosizeViewport = this.renderer.listen(visualViewport, 'resize', () => {\n this.updateAutosize();\n });\n }\n this.input.style.height = \"auto\";\n setTimeout(() => {\n this.updateAutosize();\n },75)\n }\n }\n\n ngOnDestroy() {\n this.autosizeInput?.();\n this.autosizeViewport?.();\n }\n\n updateAutosize() {\n this.input.style.height = \"auto\";\n if (this.input.scrollHeight > 70) {\n this.input.style.height = this.input.scrollHeight + 24 + \"px\";\n }\n }\n\n}\n","<div class=\"ids-label-wrapper ids-label-wrapper--margin-bottom\">\n <ng-content select=\"label\"></ng-content>\n <span class=\"ids-label__tooltip\">\n <ng-content select=\"id-tooltip\"></ng-content>\n <ng-content select=\"id-popover\"></ng-content>\n </span>\n</div>\n\n<ng-content></ng-content>\n","import { Component, ElementRef, inject, OnInit } from \"@angular/core\";\nimport { IDUseIdService } from '@inera/ids-angular/common';\n\n@Component({\n selector: \"id-textarea-hint\",\n template: \"<ng-content></ng-content>\",\n standalone: true,\n host: {\n class: 'ids-input__hint'\n }\n})\nexport class IDTextareaHintComponent implements OnInit {\n readonly id = inject(IDUseIdService).generateId('hint');\n private readonly el = inject(ElementRef<HTMLElement>);\n\n ngOnInit() {\n this.el.nativeElement.setAttribute('id', this.id);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inera/ids-angular",
3
- "version": "9.0.1",
3
+ "version": "9.0.2",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "*",
6
6
  "@angular/core": "*",
@@ -34,29 +34,29 @@
34
34
  "esm": "./esm2022/common/inera-ids-angular-common.mjs",
35
35
  "default": "./fesm2022/inera-ids-angular-common.mjs"
36
36
  },
37
+ "./components/badge": {
38
+ "types": "./components/badge/index.d.ts",
39
+ "esm2022": "./esm2022/components/badge/inera-ids-angular-components-badge.mjs",
40
+ "esm": "./esm2022/components/badge/inera-ids-angular-components-badge.mjs",
41
+ "default": "./fesm2022/inera-ids-angular-components-badge.mjs"
42
+ },
37
43
  "./components/accordion": {
38
44
  "types": "./components/accordion/index.d.ts",
39
45
  "esm2022": "./esm2022/components/accordion/inera-ids-angular-components-accordion.mjs",
40
46
  "esm": "./esm2022/components/accordion/inera-ids-angular-components-accordion.mjs",
41
47
  "default": "./fesm2022/inera-ids-angular-components-accordion.mjs"
42
48
  },
43
- "./components/action-link": {
44
- "types": "./components/action-link/index.d.ts",
45
- "esm2022": "./esm2022/components/action-link/inera-ids-angular-components-action-link.mjs",
46
- "esm": "./esm2022/components/action-link/inera-ids-angular-components-action-link.mjs",
47
- "default": "./fesm2022/inera-ids-angular-components-action-link.mjs"
48
- },
49
49
  "./components/alert": {
50
50
  "types": "./components/alert/index.d.ts",
51
51
  "esm2022": "./esm2022/components/alert/inera-ids-angular-components-alert.mjs",
52
52
  "esm": "./esm2022/components/alert/inera-ids-angular-components-alert.mjs",
53
53
  "default": "./fesm2022/inera-ids-angular-components-alert.mjs"
54
54
  },
55
- "./components/badge": {
56
- "types": "./components/badge/index.d.ts",
57
- "esm2022": "./esm2022/components/badge/inera-ids-angular-components-badge.mjs",
58
- "esm": "./esm2022/components/badge/inera-ids-angular-components-badge.mjs",
59
- "default": "./fesm2022/inera-ids-angular-components-badge.mjs"
55
+ "./components/action-link": {
56
+ "types": "./components/action-link/index.d.ts",
57
+ "esm2022": "./esm2022/components/action-link/inera-ids-angular-components-action-link.mjs",
58
+ "esm": "./esm2022/components/action-link/inera-ids-angular-components-action-link.mjs",
59
+ "default": "./fesm2022/inera-ids-angular-components-action-link.mjs"
60
60
  },
61
61
  "./components/box-link": {
62
62
  "types": "./components/box-link/index.d.ts",
@@ -88,23 +88,17 @@
88
88
  "esm": "./esm2022/components/card/inera-ids-angular-components-card.mjs",
89
89
  "default": "./fesm2022/inera-ids-angular-components-card.mjs"
90
90
  },
91
- "./components/carousel": {
92
- "types": "./components/carousel/index.d.ts",
93
- "esm2022": "./esm2022/components/carousel/inera-ids-angular-components-carousel.mjs",
94
- "esm": "./esm2022/components/carousel/inera-ids-angular-components-carousel.mjs",
95
- "default": "./fesm2022/inera-ids-angular-components-carousel.mjs"
96
- },
97
91
  "./components/date-label": {
98
92
  "types": "./components/date-label/index.d.ts",
99
93
  "esm2022": "./esm2022/components/date-label/inera-ids-angular-components-date-label.mjs",
100
94
  "esm": "./esm2022/components/date-label/inera-ids-angular-components-date-label.mjs",
101
95
  "default": "./fesm2022/inera-ids-angular-components-date-label.mjs"
102
96
  },
103
- "./components/dialog": {
104
- "types": "./components/dialog/index.d.ts",
105
- "esm2022": "./esm2022/components/dialog/inera-ids-angular-components-dialog.mjs",
106
- "esm": "./esm2022/components/dialog/inera-ids-angular-components-dialog.mjs",
107
- "default": "./fesm2022/inera-ids-angular-components-dialog.mjs"
97
+ "./components/carousel": {
98
+ "types": "./components/carousel/index.d.ts",
99
+ "esm2022": "./esm2022/components/carousel/inera-ids-angular-components-carousel.mjs",
100
+ "esm": "./esm2022/components/carousel/inera-ids-angular-components-carousel.mjs",
101
+ "default": "./fesm2022/inera-ids-angular-components-carousel.mjs"
108
102
  },
109
103
  "./components/dropdown": {
110
104
  "types": "./components/dropdown/index.d.ts",
@@ -112,66 +106,60 @@
112
106
  "esm": "./esm2022/components/dropdown/inera-ids-angular-components-dropdown.mjs",
113
107
  "default": "./fesm2022/inera-ids-angular-components-dropdown.mjs"
114
108
  },
115
- "./components/footer-1177": {
116
- "types": "./components/footer-1177/index.d.ts",
117
- "esm2022": "./esm2022/components/footer-1177/inera-ids-angular-components-footer-1177.mjs",
118
- "esm": "./esm2022/components/footer-1177/inera-ids-angular-components-footer-1177.mjs",
119
- "default": "./fesm2022/inera-ids-angular-components-footer-1177.mjs"
120
- },
121
109
  "./components/footer-1177-admin": {
122
110
  "types": "./components/footer-1177-admin/index.d.ts",
123
111
  "esm2022": "./esm2022/components/footer-1177-admin/inera-ids-angular-components-footer-1177-admin.mjs",
124
112
  "esm": "./esm2022/components/footer-1177-admin/inera-ids-angular-components-footer-1177-admin.mjs",
125
113
  "default": "./fesm2022/inera-ids-angular-components-footer-1177-admin.mjs"
126
114
  },
127
- "./components/footer-1177-pro": {
128
- "types": "./components/footer-1177-pro/index.d.ts",
129
- "esm2022": "./esm2022/components/footer-1177-pro/inera-ids-angular-components-footer-1177-pro.mjs",
130
- "esm": "./esm2022/components/footer-1177-pro/inera-ids-angular-components-footer-1177-pro.mjs",
131
- "default": "./fesm2022/inera-ids-angular-components-footer-1177-pro.mjs"
132
- },
133
115
  "./components/footer-inera": {
134
116
  "types": "./components/footer-inera/index.d.ts",
135
117
  "esm2022": "./esm2022/components/footer-inera/inera-ids-angular-components-footer-inera.mjs",
136
118
  "esm": "./esm2022/components/footer-inera/inera-ids-angular-components-footer-inera.mjs",
137
119
  "default": "./fesm2022/inera-ids-angular-components-footer-inera.mjs"
138
120
  },
121
+ "./components/dialog": {
122
+ "types": "./components/dialog/index.d.ts",
123
+ "esm2022": "./esm2022/components/dialog/inera-ids-angular-components-dialog.mjs",
124
+ "esm": "./esm2022/components/dialog/inera-ids-angular-components-dialog.mjs",
125
+ "default": "./fesm2022/inera-ids-angular-components-dialog.mjs"
126
+ },
127
+ "./components/footer-1177": {
128
+ "types": "./components/footer-1177/index.d.ts",
129
+ "esm2022": "./esm2022/components/footer-1177/inera-ids-angular-components-footer-1177.mjs",
130
+ "esm": "./esm2022/components/footer-1177/inera-ids-angular-components-footer-1177.mjs",
131
+ "default": "./fesm2022/inera-ids-angular-components-footer-1177.mjs"
132
+ },
133
+ "./components/footer-1177-pro": {
134
+ "types": "./components/footer-1177-pro/index.d.ts",
135
+ "esm2022": "./esm2022/components/footer-1177-pro/inera-ids-angular-components-footer-1177-pro.mjs",
136
+ "esm": "./esm2022/components/footer-1177-pro/inera-ids-angular-components-footer-1177-pro.mjs",
137
+ "default": "./fesm2022/inera-ids-angular-components-footer-1177-pro.mjs"
138
+ },
139
139
  "./components/footer-inera-admin": {
140
140
  "types": "./components/footer-inera-admin/index.d.ts",
141
141
  "esm2022": "./esm2022/components/footer-inera-admin/inera-ids-angular-components-footer-inera-admin.mjs",
142
142
  "esm": "./esm2022/components/footer-inera-admin/inera-ids-angular-components-footer-inera-admin.mjs",
143
143
  "default": "./fesm2022/inera-ids-angular-components-footer-inera-admin.mjs"
144
144
  },
145
- "./components/global-alert": {
146
- "types": "./components/global-alert/index.d.ts",
147
- "esm2022": "./esm2022/components/global-alert/inera-ids-angular-components-global-alert.mjs",
148
- "esm": "./esm2022/components/global-alert/inera-ids-angular-components-global-alert.mjs",
149
- "default": "./fesm2022/inera-ids-angular-components-global-alert.mjs"
150
- },
151
145
  "./components/grid": {
152
146
  "types": "./components/grid/index.d.ts",
153
147
  "esm2022": "./esm2022/components/grid/inera-ids-angular-components-grid.mjs",
154
148
  "esm": "./esm2022/components/grid/inera-ids-angular-components-grid.mjs",
155
149
  "default": "./fesm2022/inera-ids-angular-components-grid.mjs"
156
150
  },
151
+ "./components/global-alert": {
152
+ "types": "./components/global-alert/index.d.ts",
153
+ "esm2022": "./esm2022/components/global-alert/inera-ids-angular-components-global-alert.mjs",
154
+ "esm": "./esm2022/components/global-alert/inera-ids-angular-components-global-alert.mjs",
155
+ "default": "./fesm2022/inera-ids-angular-components-global-alert.mjs"
156
+ },
157
157
  "./components/grid-layout": {
158
158
  "types": "./components/grid-layout/index.d.ts",
159
159
  "esm2022": "./esm2022/components/grid-layout/inera-ids-angular-components-grid-layout.mjs",
160
160
  "esm": "./esm2022/components/grid-layout/inera-ids-angular-components-grid-layout.mjs",
161
161
  "default": "./fesm2022/inera-ids-angular-components-grid-layout.mjs"
162
162
  },
163
- "./components/header-1177": {
164
- "types": "./components/header-1177/index.d.ts",
165
- "esm2022": "./esm2022/components/header-1177/inera-ids-angular-components-header-1177.mjs",
166
- "esm": "./esm2022/components/header-1177/inera-ids-angular-components-header-1177.mjs",
167
- "default": "./fesm2022/inera-ids-angular-components-header-1177.mjs"
168
- },
169
- "./components/header-1177-admin": {
170
- "types": "./components/header-1177-admin/index.d.ts",
171
- "esm2022": "./esm2022/components/header-1177-admin/inera-ids-angular-components-header-1177-admin.mjs",
172
- "esm": "./esm2022/components/header-1177-admin/inera-ids-angular-components-header-1177-admin.mjs",
173
- "default": "./fesm2022/inera-ids-angular-components-header-1177-admin.mjs"
174
- },
175
163
  "./components/header-1177-pro": {
176
164
  "types": "./components/header-1177-pro/index.d.ts",
177
165
  "esm2022": "./esm2022/components/header-1177-pro/inera-ids-angular-components-header-1177-pro.mjs",
@@ -190,6 +178,12 @@
190
178
  "esm": "./esm2022/components/header-inera-admin/inera-ids-angular-components-header-inera-admin.mjs",
191
179
  "default": "./fesm2022/inera-ids-angular-components-header-inera-admin.mjs"
192
180
  },
181
+ "./components/header-1177": {
182
+ "types": "./components/header-1177/index.d.ts",
183
+ "esm2022": "./esm2022/components/header-1177/inera-ids-angular-components-header-1177.mjs",
184
+ "esm": "./esm2022/components/header-1177/inera-ids-angular-components-header-1177.mjs",
185
+ "default": "./fesm2022/inera-ids-angular-components-header-1177.mjs"
186
+ },
193
187
  "./components/header-patient": {
194
188
  "types": "./components/header-patient/index.d.ts",
195
189
  "esm2022": "./esm2022/components/header-patient/inera-ids-angular-components-header-patient.mjs",
@@ -202,11 +196,11 @@
202
196
  "esm": "./esm2022/components/link/inera-ids-angular-components-link.mjs",
203
197
  "default": "./fesm2022/inera-ids-angular-components-link.mjs"
204
198
  },
205
- "./components/notification-badge": {
206
- "types": "./components/notification-badge/index.d.ts",
207
- "esm2022": "./esm2022/components/notification-badge/inera-ids-angular-components-notification-badge.mjs",
208
- "esm": "./esm2022/components/notification-badge/inera-ids-angular-components-notification-badge.mjs",
209
- "default": "./fesm2022/inera-ids-angular-components-notification-badge.mjs"
199
+ "./components/header-1177-admin": {
200
+ "types": "./components/header-1177-admin/index.d.ts",
201
+ "esm2022": "./esm2022/components/header-1177-admin/inera-ids-angular-components-header-1177-admin.mjs",
202
+ "esm": "./esm2022/components/header-1177-admin/inera-ids-angular-components-header-1177-admin.mjs",
203
+ "default": "./fesm2022/inera-ids-angular-components-header-1177-admin.mjs"
210
204
  },
211
205
  "./components/popover": {
212
206
  "types": "./components/popover/index.d.ts",
@@ -214,42 +208,30 @@
214
208
  "esm": "./esm2022/components/popover/inera-ids-angular-components-popover.mjs",
215
209
  "default": "./fesm2022/inera-ids-angular-components-popover.mjs"
216
210
  },
211
+ "./components/notification-badge": {
212
+ "types": "./components/notification-badge/index.d.ts",
213
+ "esm2022": "./esm2022/components/notification-badge/inera-ids-angular-components-notification-badge.mjs",
214
+ "esm": "./esm2022/components/notification-badge/inera-ids-angular-components-notification-badge.mjs",
215
+ "default": "./fesm2022/inera-ids-angular-components-notification-badge.mjs"
216
+ },
217
217
  "./components/progressbar": {
218
218
  "types": "./components/progressbar/index.d.ts",
219
219
  "esm2022": "./esm2022/components/progressbar/inera-ids-angular-components-progressbar.mjs",
220
220
  "esm": "./esm2022/components/progressbar/inera-ids-angular-components-progressbar.mjs",
221
221
  "default": "./fesm2022/inera-ids-angular-components-progressbar.mjs"
222
222
  },
223
- "./components/puff-list": {
224
- "types": "./components/puff-list/index.d.ts",
225
- "esm2022": "./esm2022/components/puff-list/inera-ids-angular-components-puff-list.mjs",
226
- "esm": "./esm2022/components/puff-list/inera-ids-angular-components-puff-list.mjs",
227
- "default": "./fesm2022/inera-ids-angular-components-puff-list.mjs"
228
- },
229
223
  "./components/region-icon": {
230
224
  "types": "./components/region-icon/index.d.ts",
231
225
  "esm2022": "./esm2022/components/region-icon/inera-ids-angular-components-region-icon.mjs",
232
226
  "esm": "./esm2022/components/region-icon/inera-ids-angular-components-region-icon.mjs",
233
227
  "default": "./fesm2022/inera-ids-angular-components-region-icon.mjs"
234
228
  },
235
- "./components/side-menu": {
236
- "types": "./components/side-menu/index.d.ts",
237
- "esm2022": "./esm2022/components/side-menu/inera-ids-angular-components-side-menu.mjs",
238
- "esm": "./esm2022/components/side-menu/inera-ids-angular-components-side-menu.mjs",
239
- "default": "./fesm2022/inera-ids-angular-components-side-menu.mjs"
240
- },
241
229
  "./components/side-panel": {
242
230
  "types": "./components/side-panel/index.d.ts",
243
231
  "esm2022": "./esm2022/components/side-panel/inera-ids-angular-components-side-panel.mjs",
244
232
  "esm": "./esm2022/components/side-panel/inera-ids-angular-components-side-panel.mjs",
245
233
  "default": "./fesm2022/inera-ids-angular-components-side-panel.mjs"
246
234
  },
247
- "./components/stepper": {
248
- "types": "./components/stepper/index.d.ts",
249
- "esm2022": "./esm2022/components/stepper/inera-ids-angular-components-stepper.mjs",
250
- "esm": "./esm2022/components/stepper/inera-ids-angular-components-stepper.mjs",
251
- "default": "./fesm2022/inera-ids-angular-components-stepper.mjs"
252
- },
253
235
  "./components/tabs": {
254
236
  "types": "./components/tabs/index.d.ts",
255
237
  "esm2022": "./esm2022/components/tabs/inera-ids-angular-components-tabs.mjs",
@@ -262,17 +244,35 @@
262
244
  "esm": "./esm2022/components/tag/inera-ids-angular-components-tag.mjs",
263
245
  "default": "./fesm2022/inera-ids-angular-components-tag.mjs"
264
246
  },
247
+ "./components/stepper": {
248
+ "types": "./components/stepper/index.d.ts",
249
+ "esm2022": "./esm2022/components/stepper/inera-ids-angular-components-stepper.mjs",
250
+ "esm": "./esm2022/components/stepper/inera-ids-angular-components-stepper.mjs",
251
+ "default": "./fesm2022/inera-ids-angular-components-stepper.mjs"
252
+ },
253
+ "./components/side-menu": {
254
+ "types": "./components/side-menu/index.d.ts",
255
+ "esm2022": "./esm2022/components/side-menu/inera-ids-angular-components-side-menu.mjs",
256
+ "esm": "./esm2022/components/side-menu/inera-ids-angular-components-side-menu.mjs",
257
+ "default": "./fesm2022/inera-ids-angular-components-side-menu.mjs"
258
+ },
265
259
  "./components/tooltip": {
266
260
  "types": "./components/tooltip/index.d.ts",
267
261
  "esm2022": "./esm2022/components/tooltip/inera-ids-angular-components-tooltip.mjs",
268
262
  "esm": "./esm2022/components/tooltip/inera-ids-angular-components-tooltip.mjs",
269
263
  "default": "./fesm2022/inera-ids-angular-components-tooltip.mjs"
270
264
  },
271
- "./components/form/check-button": {
272
- "types": "./components/form/check-button/index.d.ts",
273
- "esm2022": "./esm2022/components/form/check-button/inera-ids-angular-components-form-check-button.mjs",
274
- "esm": "./esm2022/components/form/check-button/inera-ids-angular-components-form-check-button.mjs",
275
- "default": "./fesm2022/inera-ids-angular-components-form-check-button.mjs"
265
+ "./components/puff-list": {
266
+ "types": "./components/puff-list/index.d.ts",
267
+ "esm2022": "./esm2022/components/puff-list/inera-ids-angular-components-puff-list.mjs",
268
+ "esm": "./esm2022/components/puff-list/inera-ids-angular-components-puff-list.mjs",
269
+ "default": "./fesm2022/inera-ids-angular-components-puff-list.mjs"
270
+ },
271
+ "./components/form/checkbox-group": {
272
+ "types": "./components/form/checkbox-group/index.d.ts",
273
+ "esm2022": "./esm2022/components/form/checkbox-group/inera-ids-angular-components-form-checkbox-group.mjs",
274
+ "esm": "./esm2022/components/form/checkbox-group/inera-ids-angular-components-form-checkbox-group.mjs",
275
+ "default": "./fesm2022/inera-ids-angular-components-form-checkbox-group.mjs"
276
276
  },
277
277
  "./components/form/checkbox": {
278
278
  "types": "./components/form/checkbox/index.d.ts",
@@ -280,11 +280,17 @@
280
280
  "esm": "./esm2022/components/form/checkbox/inera-ids-angular-components-form-checkbox.mjs",
281
281
  "default": "./fesm2022/inera-ids-angular-components-form-checkbox.mjs"
282
282
  },
283
- "./components/form/checkbox-group": {
284
- "types": "./components/form/checkbox-group/index.d.ts",
285
- "esm2022": "./esm2022/components/form/checkbox-group/inera-ids-angular-components-form-checkbox-group.mjs",
286
- "esm": "./esm2022/components/form/checkbox-group/inera-ids-angular-components-form-checkbox-group.mjs",
287
- "default": "./fesm2022/inera-ids-angular-components-form-checkbox-group.mjs"
283
+ "./components/form/input": {
284
+ "types": "./components/form/input/index.d.ts",
285
+ "esm2022": "./esm2022/components/form/input/inera-ids-angular-components-form-input.mjs",
286
+ "esm": "./esm2022/components/form/input/inera-ids-angular-components-form-input.mjs",
287
+ "default": "./fesm2022/inera-ids-angular-components-form-input.mjs"
288
+ },
289
+ "./components/form/check-button": {
290
+ "types": "./components/form/check-button/index.d.ts",
291
+ "esm2022": "./esm2022/components/form/check-button/inera-ids-angular-components-form-check-button.mjs",
292
+ "esm": "./esm2022/components/form/check-button/inera-ids-angular-components-form-check-button.mjs",
293
+ "default": "./fesm2022/inera-ids-angular-components-form-check-button.mjs"
288
294
  },
289
295
  "./components/form/darkmode-toggle": {
290
296
  "types": "./components/form/darkmode-toggle/index.d.ts",
@@ -298,11 +304,11 @@
298
304
  "esm": "./esm2022/components/form/error-message/inera-ids-angular-components-form-error-message.mjs",
299
305
  "default": "./fesm2022/inera-ids-angular-components-form-error-message.mjs"
300
306
  },
301
- "./components/form/input": {
302
- "types": "./components/form/input/index.d.ts",
303
- "esm2022": "./esm2022/components/form/input/inera-ids-angular-components-form-input.mjs",
304
- "esm": "./esm2022/components/form/input/inera-ids-angular-components-form-input.mjs",
305
- "default": "./fesm2022/inera-ids-angular-components-form-input.mjs"
307
+ "./components/form/radio": {
308
+ "types": "./components/form/radio/index.d.ts",
309
+ "esm2022": "./esm2022/components/form/radio/inera-ids-angular-components-form-radio.mjs",
310
+ "esm": "./esm2022/components/form/radio/inera-ids-angular-components-form-radio.mjs",
311
+ "default": "./fesm2022/inera-ids-angular-components-form-radio.mjs"
306
312
  },
307
313
  "./components/form/radio-button": {
308
314
  "types": "./components/form/radio-button/index.d.ts",
@@ -328,12 +334,6 @@
328
334
  "esm": "./esm2022/components/form/select-multiple/inera-ids-angular-components-form-select-multiple.mjs",
329
335
  "default": "./fesm2022/inera-ids-angular-components-form-select-multiple.mjs"
330
336
  },
331
- "./components/form/spinner": {
332
- "types": "./components/form/spinner/index.d.ts",
333
- "esm2022": "./esm2022/components/form/spinner/inera-ids-angular-components-form-spinner.mjs",
334
- "esm": "./esm2022/components/form/spinner/inera-ids-angular-components-form-spinner.mjs",
335
- "default": "./fesm2022/inera-ids-angular-components-form-spinner.mjs"
336
- },
337
337
  "./components/form/textarea": {
338
338
  "types": "./components/form/textarea/index.d.ts",
339
339
  "esm2022": "./esm2022/components/form/textarea/inera-ids-angular-components-form-textarea.mjs",
@@ -346,47 +346,41 @@
346
346
  "esm": "./esm2022/components/form/time/inera-ids-angular-components-form-time.mjs",
347
347
  "default": "./fesm2022/inera-ids-angular-components-form-time.mjs"
348
348
  },
349
- "./components/form/toggle": {
350
- "types": "./components/form/toggle/index.d.ts",
351
- "esm2022": "./esm2022/components/form/toggle/inera-ids-angular-components-form-toggle.mjs",
352
- "esm": "./esm2022/components/form/toggle/inera-ids-angular-components-form-toggle.mjs",
353
- "default": "./fesm2022/inera-ids-angular-components-form-toggle.mjs"
354
- },
355
- "./components/form/radio": {
356
- "types": "./components/form/radio/index.d.ts",
357
- "esm2022": "./esm2022/components/form/radio/inera-ids-angular-components-form-radio.mjs",
358
- "esm": "./esm2022/components/form/radio/inera-ids-angular-components-form-radio.mjs",
359
- "default": "./fesm2022/inera-ids-angular-components-form-radio.mjs"
360
- },
361
349
  "./components/grid/column": {
362
350
  "types": "./components/grid/column/index.d.ts",
363
351
  "esm2022": "./esm2022/components/grid/column/inera-ids-angular-components-grid-column.mjs",
364
352
  "esm": "./esm2022/components/grid/column/inera-ids-angular-components-grid-column.mjs",
365
353
  "default": "./fesm2022/inera-ids-angular-components-grid-column.mjs"
366
354
  },
367
- "./components/grid/row": {
368
- "types": "./components/grid/row/index.d.ts",
369
- "esm2022": "./esm2022/components/grid/row/inera-ids-angular-components-grid-row.mjs",
370
- "esm": "./esm2022/components/grid/row/inera-ids-angular-components-grid-row.mjs",
371
- "default": "./fesm2022/inera-ids-angular-components-grid-row.mjs"
372
- },
373
355
  "./components/grid/container": {
374
356
  "types": "./components/grid/container/index.d.ts",
375
357
  "esm2022": "./esm2022/components/grid/container/inera-ids-angular-components-grid-container.mjs",
376
358
  "esm": "./esm2022/components/grid/container/inera-ids-angular-components-grid-container.mjs",
377
359
  "default": "./fesm2022/inera-ids-angular-components-grid-container.mjs"
378
360
  },
361
+ "./components/form/spinner": {
362
+ "types": "./components/form/spinner/index.d.ts",
363
+ "esm2022": "./esm2022/components/form/spinner/inera-ids-angular-components-form-spinner.mjs",
364
+ "esm": "./esm2022/components/form/spinner/inera-ids-angular-components-form-spinner.mjs",
365
+ "default": "./fesm2022/inera-ids-angular-components-form-spinner.mjs"
366
+ },
379
367
  "./components/grid-layout/grid-column": {
380
368
  "types": "./components/grid-layout/grid-column/index.d.ts",
381
369
  "esm2022": "./esm2022/components/grid-layout/grid-column/inera-ids-angular-components-grid-layout-grid-column.mjs",
382
370
  "esm": "./esm2022/components/grid-layout/grid-column/inera-ids-angular-components-grid-layout-grid-column.mjs",
383
371
  "default": "./fesm2022/inera-ids-angular-components-grid-layout-grid-column.mjs"
384
372
  },
385
- "./components/grid-layout/grid-row": {
386
- "types": "./components/grid-layout/grid-row/index.d.ts",
387
- "esm2022": "./esm2022/components/grid-layout/grid-row/inera-ids-angular-components-grid-layout-grid-row.mjs",
388
- "esm": "./esm2022/components/grid-layout/grid-row/inera-ids-angular-components-grid-layout-grid-row.mjs",
389
- "default": "./fesm2022/inera-ids-angular-components-grid-layout-grid-row.mjs"
373
+ "./components/form/toggle": {
374
+ "types": "./components/form/toggle/index.d.ts",
375
+ "esm2022": "./esm2022/components/form/toggle/inera-ids-angular-components-form-toggle.mjs",
376
+ "esm": "./esm2022/components/form/toggle/inera-ids-angular-components-form-toggle.mjs",
377
+ "default": "./fesm2022/inera-ids-angular-components-form-toggle.mjs"
378
+ },
379
+ "./components/grid/row": {
380
+ "types": "./components/grid/row/index.d.ts",
381
+ "esm2022": "./esm2022/components/grid/row/inera-ids-angular-components-grid-row.mjs",
382
+ "esm": "./esm2022/components/grid/row/inera-ids-angular-components-grid-row.mjs",
383
+ "default": "./fesm2022/inera-ids-angular-components-grid-row.mjs"
390
384
  },
391
385
  "./components/grid-layout/grid-container": {
392
386
  "types": "./components/grid-layout/grid-container/index.d.ts",
@@ -394,17 +388,11 @@
394
388
  "esm": "./esm2022/components/grid-layout/grid-container/inera-ids-angular-components-grid-layout-grid-container.mjs",
395
389
  "default": "./fesm2022/inera-ids-angular-components-grid-layout-grid-container.mjs"
396
390
  },
397
- "./components/navigation/content": {
398
- "types": "./components/navigation/content/index.d.ts",
399
- "esm2022": "./esm2022/components/navigation/content/inera-ids-angular-components-navigation-content.mjs",
400
- "esm": "./esm2022/components/navigation/content/inera-ids-angular-components-navigation-content.mjs",
401
- "default": "./fesm2022/inera-ids-angular-components-navigation-content.mjs"
402
- },
403
- "./components/navigation/local": {
404
- "types": "./components/navigation/local/index.d.ts",
405
- "esm2022": "./esm2022/components/navigation/local/inera-ids-angular-components-navigation-local.mjs",
406
- "esm": "./esm2022/components/navigation/local/inera-ids-angular-components-navigation-local.mjs",
407
- "default": "./fesm2022/inera-ids-angular-components-navigation-local.mjs"
391
+ "./components/grid-layout/grid-row": {
392
+ "types": "./components/grid-layout/grid-row/index.d.ts",
393
+ "esm2022": "./esm2022/components/grid-layout/grid-row/inera-ids-angular-components-grid-layout-grid-row.mjs",
394
+ "esm": "./esm2022/components/grid-layout/grid-row/inera-ids-angular-components-grid-layout-grid-row.mjs",
395
+ "default": "./fesm2022/inera-ids-angular-components-grid-layout-grid-row.mjs"
408
396
  },
409
397
  "./components/mobile/menu": {
410
398
  "types": "./components/mobile/menu/index.d.ts",
@@ -412,11 +400,11 @@
412
400
  "esm": "./esm2022/components/mobile/menu/inera-ids-angular-components-mobile-menu.mjs",
413
401
  "default": "./fesm2022/inera-ids-angular-components-mobile-menu.mjs"
414
402
  },
415
- "./components/pagination/data-pagination": {
416
- "types": "./components/pagination/data-pagination/index.d.ts",
417
- "esm2022": "./esm2022/components/pagination/data-pagination/inera-ids-angular-components-pagination-data-pagination.mjs",
418
- "esm": "./esm2022/components/pagination/data-pagination/inera-ids-angular-components-pagination-data-pagination.mjs",
419
- "default": "./fesm2022/inera-ids-angular-components-pagination-data-pagination.mjs"
403
+ "./components/navigation/content": {
404
+ "types": "./components/navigation/content/index.d.ts",
405
+ "esm2022": "./esm2022/components/navigation/content/inera-ids-angular-components-navigation-content.mjs",
406
+ "esm": "./esm2022/components/navigation/content/inera-ids-angular-components-navigation-content.mjs",
407
+ "default": "./fesm2022/inera-ids-angular-components-navigation-content.mjs"
420
408
  },
421
409
  "./components/pagination/list-pagination": {
422
410
  "types": "./components/pagination/list-pagination/index.d.ts",
@@ -424,6 +412,18 @@
424
412
  "esm": "./esm2022/components/pagination/list-pagination/inera-ids-angular-components-pagination-list-pagination.mjs",
425
413
  "default": "./fesm2022/inera-ids-angular-components-pagination-list-pagination.mjs"
426
414
  },
415
+ "./components/pagination/data-pagination": {
416
+ "types": "./components/pagination/data-pagination/index.d.ts",
417
+ "esm2022": "./esm2022/components/pagination/data-pagination/inera-ids-angular-components-pagination-data-pagination.mjs",
418
+ "esm": "./esm2022/components/pagination/data-pagination/inera-ids-angular-components-pagination-data-pagination.mjs",
419
+ "default": "./fesm2022/inera-ids-angular-components-pagination-data-pagination.mjs"
420
+ },
421
+ "./components/navigation/local": {
422
+ "types": "./components/navigation/local/index.d.ts",
423
+ "esm2022": "./esm2022/components/navigation/local/inera-ids-angular-components-navigation-local.mjs",
424
+ "esm": "./esm2022/components/navigation/local/inera-ids-angular-components-navigation-local.mjs",
425
+ "default": "./fesm2022/inera-ids-angular-components-navigation-local.mjs"
426
+ },
427
427
  "./components/mobile/menu/item": {
428
428
  "types": "./components/mobile/menu/item/index.d.ts",
429
429
  "esm2022": "./esm2022/components/mobile/menu/item/inera-ids-angular-components-mobile-menu-item.mjs",