@six-group/ui-library-angular 0.0.0-insider.d16ec8e → 0.0.0-insider.db2b416

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.
Files changed (39) hide show
  1. package/esm2020/lib/control-value-accessors/checkbox-value-accessor.mjs +41 -0
  2. package/esm2020/lib/control-value-accessors/datepicker-value-accessor.mjs +37 -0
  3. package/esm2020/lib/control-value-accessors/numeric-value-accessor.mjs +42 -0
  4. package/esm2020/lib/control-value-accessors/radio-value-accessor.mjs +62 -0
  5. package/esm2020/lib/control-value-accessors/range-value-accessor.mjs +42 -0
  6. package/esm2020/lib/control-value-accessors/select-value-accessor.mjs +37 -0
  7. package/esm2020/lib/control-value-accessors/switch-value-accessor.mjs +41 -0
  8. package/esm2020/lib/control-value-accessors/text-value-accessor.mjs +37 -0
  9. package/esm2020/lib/control-value-accessors/timepicker-value-accessor.mjs +37 -0
  10. package/esm2020/lib/control-value-accessors/value-accessor.mjs +143 -0
  11. package/esm2020/lib/services/validation-messages.service.mjs +15 -0
  12. package/esm2020/lib/stencil-generated/components.mjs +34 -61
  13. package/esm2020/lib/stencil-generated/index.mjs +1 -2
  14. package/esm2020/lib/ui-library-angular.module.mjs +108 -19
  15. package/esm2020/lib/util/six-form-util.directive.mjs +48 -0
  16. package/esm2020/lib/validators/six-ui-library-validators.mjs +116 -0
  17. package/esm2020/public-api.mjs +19 -1
  18. package/fesm2015/six-group-ui-library-angular.mjs +784 -80
  19. package/fesm2015/six-group-ui-library-angular.mjs.map +1 -1
  20. package/fesm2020/six-group-ui-library-angular.mjs +781 -80
  21. package/fesm2020/six-group-ui-library-angular.mjs.map +1 -1
  22. package/lib/control-value-accessors/checkbox-value-accessor.d.ts +10 -0
  23. package/lib/control-value-accessors/datepicker-value-accessor.d.ts +9 -0
  24. package/lib/control-value-accessors/numeric-value-accessor.d.ts +10 -0
  25. package/lib/control-value-accessors/radio-value-accessor.d.ts +15 -0
  26. package/lib/control-value-accessors/range-value-accessor.d.ts +10 -0
  27. package/lib/control-value-accessors/select-value-accessor.d.ts +9 -0
  28. package/lib/control-value-accessors/switch-value-accessor.d.ts +10 -0
  29. package/lib/control-value-accessors/text-value-accessor.d.ts +9 -0
  30. package/lib/control-value-accessors/timepicker-value-accessor.d.ts +9 -0
  31. package/lib/control-value-accessors/value-accessor.d.ts +39 -0
  32. package/lib/services/validation-messages.service.d.ts +7 -0
  33. package/lib/stencil-generated/components.d.ts +8 -35
  34. package/lib/stencil-generated/index.d.ts +1 -1
  35. package/lib/ui-library-angular.module.d.ts +15 -1
  36. package/lib/util/six-form-util.directive.d.ts +10 -0
  37. package/lib/validators/six-ui-library-validators.d.ts +47 -0
  38. package/package.json +3 -3
  39. package/public-api.d.ts +13 -0
@@ -1,8 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, APP_INITIALIZER, NgModule } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, Injectable, inject, Directive, HostListener, Input, APP_INITIALIZER, NgModule } from '@angular/core';
3
3
  import { __decorate } from 'tslib';
4
4
  import { fromEvent } from 'rxjs';
5
5
  import { defineCustomElements } from '@six-group/ui-library/loader';
6
+ import { NgControl, NG_VALUE_ACCESSOR, FormGroupDirective, FormControl, FormGroup, FormArray, NG_VALIDATORS, Validators } from '@angular/forms';
7
+ import { getErrorMessage } from '@six-group/ui-library';
6
8
 
7
9
  /* eslint-disable */
8
10
  /* tslint:disable */
@@ -209,11 +211,11 @@ let SixCheckbox = class SixCheckbox {
209
211
  }
210
212
  };
211
213
  SixCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
212
- SixCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixCheckbox, selector: "six-checkbox", inputs: { checked: "checked", disabled: "disabled", errorOnBlur: "errorOnBlur", errorText: "errorText", indeterminate: "indeterminate", invalid: "invalid", label: "label", name: "name", required: "required", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
214
+ SixCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixCheckbox, selector: "six-checkbox", inputs: { checked: "checked", disabled: "disabled", errorText: "errorText", indeterminate: "indeterminate", invalid: "invalid", label: "label", name: "name", required: "required", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
213
215
  SixCheckbox = __decorate([
214
216
  ProxyCmp({
215
- inputs: ['checked', 'disabled', 'errorOnBlur', 'errorText', 'indeterminate', 'invalid', 'label', 'name', 'required', 'value'],
216
- methods: ['setFocus', 'removeFocus', 'reportValidity', 'checkValidity', 'setCustomValidity', 'reset']
217
+ inputs: ['checked', 'disabled', 'errorText', 'indeterminate', 'invalid', 'label', 'name', 'required', 'value'],
218
+ methods: ['setFocus', 'removeFocus', 'reset']
217
219
  })
218
220
  ], SixCheckbox);
219
221
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixCheckbox, decorators: [{
@@ -223,7 +225,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
223
225
  changeDetection: ChangeDetectionStrategy.OnPush,
224
226
  template: '<ng-content></ng-content>',
225
227
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
226
- inputs: ['checked', 'disabled', 'errorOnBlur', 'errorText', 'indeterminate', 'invalid', 'label', 'name', 'required', 'value'],
228
+ inputs: ['checked', 'disabled', 'errorText', 'indeterminate', 'invalid', 'label', 'name', 'required', 'value'],
227
229
  }]
228
230
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
229
231
  let SixDatepicker = class SixDatepicker {
@@ -235,11 +237,11 @@ let SixDatepicker = class SixDatepicker {
235
237
  }
236
238
  };
237
239
  SixDatepicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixDatepicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
238
- SixDatepicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixDatepicker, selector: "six-datepicker", inputs: { allowedDates: "allowedDates", clearable: "clearable", closeOnSelect: "closeOnSelect", containingElement: "containingElement", dateFormat: "dateFormat", debounce: "debounce", defaultDate: "defaultDate", disabled: "disabled", errorOnBlur: "errorOnBlur", errorText: "errorText", hoist: "hoist", iconPosition: "iconPosition", inline: "inline", label: "label", locale: "locale", max: "max", min: "min", name: "name", open: "open", placeholder: "placeholder", placement: "placement", readonly: "readonly", required: "required", size: "size", type: "type", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
240
+ SixDatepicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixDatepicker, selector: "six-datepicker", inputs: { allowedDates: "allowedDates", clearable: "clearable", closeOnSelect: "closeOnSelect", containingElement: "containingElement", dateFormat: "dateFormat", debounce: "debounce", defaultDate: "defaultDate", disabled: "disabled", errorText: "errorText", hoist: "hoist", iconPosition: "iconPosition", inline: "inline", invalid: "invalid", label: "label", locale: "locale", max: "max", min: "min", name: "name", open: "open", placeholder: "placeholder", placement: "placement", readonly: "readonly", required: "required", size: "size", type: "type", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
239
241
  SixDatepicker = __decorate([
240
242
  ProxyCmp({
241
- inputs: ['allowedDates', 'clearable', 'closeOnSelect', 'containingElement', 'dateFormat', 'debounce', 'defaultDate', 'disabled', 'errorOnBlur', 'errorText', 'hoist', 'iconPosition', 'inline', 'label', 'locale', 'max', 'min', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'size', 'type', 'value'],
242
- methods: ['reportValidity', 'checkValidity', 'setCustomValidity', 'reset', 'select']
243
+ inputs: ['allowedDates', 'clearable', 'closeOnSelect', 'containingElement', 'dateFormat', 'debounce', 'defaultDate', 'disabled', 'errorText', 'hoist', 'iconPosition', 'inline', 'invalid', 'label', 'locale', 'max', 'min', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'size', 'type', 'value'],
244
+ methods: ['setFocus', 'select']
243
245
  })
244
246
  ], SixDatepicker);
245
247
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixDatepicker, decorators: [{
@@ -249,7 +251,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
249
251
  changeDetection: ChangeDetectionStrategy.OnPush,
250
252
  template: '<ng-content></ng-content>',
251
253
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
252
- inputs: ['allowedDates', 'clearable', 'closeOnSelect', 'containingElement', 'dateFormat', 'debounce', 'defaultDate', 'disabled', 'errorOnBlur', 'errorText', 'hoist', 'iconPosition', 'inline', 'label', 'locale', 'max', 'min', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'size', 'type', 'value'],
254
+ inputs: ['allowedDates', 'clearable', 'closeOnSelect', 'containingElement', 'dateFormat', 'debounce', 'defaultDate', 'disabled', 'errorText', 'hoist', 'iconPosition', 'inline', 'invalid', 'label', 'locale', 'max', 'min', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'size', 'type', 'value'],
253
255
  }]
254
256
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
255
257
  let SixDetails = class SixDetails {
@@ -474,32 +476,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
474
476
  inputs: [],
475
477
  }]
476
478
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
477
- let SixForm = class SixForm {
478
- constructor(c, r, z) {
479
- this.z = z;
480
- c.detach();
481
- this.el = r.nativeElement;
482
- proxyOutputs(this, this.el, ['six-form-submit', 'six-form-change', 'six-form-reset']);
483
- }
484
- };
485
- SixForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixForm, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
486
- SixForm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixForm, selector: "six-form", inputs: { novalidate: "novalidate" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
487
- SixForm = __decorate([
488
- ProxyCmp({
489
- inputs: ['novalidate'],
490
- methods: ['getFormData', 'getFormControls', 'submit', 'checkValidity', 'reset']
491
- })
492
- ], SixForm);
493
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixForm, decorators: [{
494
- type: Component,
495
- args: [{
496
- selector: 'six-form',
497
- changeDetection: ChangeDetectionStrategy.OnPush,
498
- template: '<ng-content></ng-content>',
499
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
500
- inputs: ['novalidate'],
501
- }]
502
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
503
479
  let SixGroupLabel = class SixGroupLabel {
504
480
  constructor(c, r, z) {
505
481
  this.z = z;
@@ -607,11 +583,11 @@ let SixInput = class SixInput {
607
583
  }
608
584
  };
609
585
  SixInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
610
- SixInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixInput, selector: "six-input", inputs: { autocapitalize: "autocapitalize", autocomplete: "autocomplete", autocorrect: "autocorrect", autofocus: "autofocus", clearable: "clearable", disabled: "disabled", errorOnBlur: "errorOnBlur", errorText: "errorText", helpText: "helpText", inputmode: "inputmode", invalid: "invalid", label: "label", line: "line", max: "max", maxlength: "maxlength", min: "min", minlength: "minlength", name: "name", pattern: "pattern", pill: "pill", placeholder: "placeholder", readonly: "readonly", required: "required", size: "size", spellcheck: "spellcheck", step: "step", togglePassword: "togglePassword", type: "type", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
586
+ SixInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixInput, selector: "six-input", inputs: { autocapitalize: "autocapitalize", autocomplete: "autocomplete", autocorrect: "autocorrect", autofocus: "autofocus", clearable: "clearable", disabled: "disabled", errorText: "errorText", helpText: "helpText", inputmode: "inputmode", invalid: "invalid", label: "label", line: "line", max: "max", maxlength: "maxlength", min: "min", minlength: "minlength", name: "name", pattern: "pattern", pill: "pill", placeholder: "placeholder", readonly: "readonly", required: "required", size: "size", spellcheck: "spellcheck", step: "step", togglePassword: "togglePassword", type: "type", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
611
587
  SixInput = __decorate([
612
588
  ProxyCmp({
613
- inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearable', 'disabled', 'errorOnBlur', 'errorText', 'helpText', 'inputmode', 'invalid', 'label', 'line', 'max', 'maxlength', 'min', 'minlength', 'name', 'pattern', 'pill', 'placeholder', 'readonly', 'required', 'size', 'spellcheck', 'step', 'togglePassword', 'type', 'value'],
614
- methods: ['setFocus', 'removeFocus', 'select', 'setSelectionRange', 'setRangeText', 'reportValidity', 'checkValidity', 'setCustomValidity', 'getValidity', 'isValid', 'getValidationMessage', 'reset']
589
+ inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearable', 'disabled', 'errorText', 'helpText', 'inputmode', 'invalid', 'label', 'line', 'max', 'maxlength', 'min', 'minlength', 'name', 'pattern', 'pill', 'placeholder', 'readonly', 'required', 'size', 'spellcheck', 'step', 'togglePassword', 'type', 'value'],
590
+ methods: ['setFocus', 'removeFocus', 'select', 'setSelectionRange', 'setRangeText']
615
591
  })
616
592
  ], SixInput);
617
593
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixInput, decorators: [{
@@ -621,7 +597,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
621
597
  changeDetection: ChangeDetectionStrategy.OnPush,
622
598
  template: '<ng-content></ng-content>',
623
599
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
624
- inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearable', 'disabled', 'errorOnBlur', 'errorText', 'helpText', 'inputmode', 'invalid', 'label', 'line', 'max', 'maxlength', 'min', 'minlength', 'name', 'pattern', 'pill', 'placeholder', 'readonly', 'required', 'size', 'spellcheck', 'step', 'togglePassword', 'type', 'value'],
600
+ inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearable', 'disabled', 'errorText', 'helpText', 'inputmode', 'invalid', 'label', 'line', 'max', 'maxlength', 'min', 'minlength', 'name', 'pattern', 'pill', 'placeholder', 'readonly', 'required', 'size', 'spellcheck', 'step', 'togglePassword', 'type', 'value'],
625
601
  }]
626
602
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
627
603
  let SixItemPicker = class SixItemPicker {
@@ -902,7 +878,7 @@ SixRadio.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
902
878
  SixRadio = __decorate([
903
879
  ProxyCmp({
904
880
  inputs: ['checked', 'disabled', 'invalid', 'name', 'value'],
905
- methods: ['setFocus', 'removeFocus', 'reportValidity', 'checkValidity', 'setCustomValidity', 'reset']
881
+ methods: ['setFocus', 'removeFocus', 'reset']
906
882
  })
907
883
  ], SixRadio);
908
884
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixRadio, decorators: [{
@@ -924,11 +900,11 @@ let SixRange = class SixRange {
924
900
  }
925
901
  };
926
902
  SixRange.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixRange, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
927
- SixRange.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixRange, selector: "six-range", inputs: { disabled: "disabled", errorOnBlur: "errorOnBlur", errorText: "errorText", helpText: "helpText", invalid: "invalid", label: "label", max: "max", min: "min", name: "name", required: "required", step: "step", tooltip: "tooltip", tooltipFormatter: "tooltipFormatter", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
903
+ SixRange.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixRange, selector: "six-range", inputs: { disabled: "disabled", errorText: "errorText", helpText: "helpText", invalid: "invalid", label: "label", max: "max", min: "min", name: "name", required: "required", step: "step", tooltip: "tooltip", tooltipFormatter: "tooltipFormatter", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
928
904
  SixRange = __decorate([
929
905
  ProxyCmp({
930
- inputs: ['disabled', 'errorOnBlur', 'errorText', 'helpText', 'invalid', 'label', 'max', 'min', 'name', 'required', 'step', 'tooltip', 'tooltipFormatter', 'value'],
931
- methods: ['setFocus', 'removeFocus', 'setCustomValidity', 'reset']
906
+ inputs: ['disabled', 'errorText', 'helpText', 'invalid', 'label', 'max', 'min', 'name', 'required', 'step', 'tooltip', 'tooltipFormatter', 'value'],
907
+ methods: ['setFocus', 'removeFocus']
932
908
  })
933
909
  ], SixRange);
934
910
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixRange, decorators: [{
@@ -938,7 +914,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
938
914
  changeDetection: ChangeDetectionStrategy.OnPush,
939
915
  template: '<ng-content></ng-content>',
940
916
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
941
- inputs: ['disabled', 'errorOnBlur', 'errorText', 'helpText', 'invalid', 'label', 'max', 'min', 'name', 'required', 'step', 'tooltip', 'tooltipFormatter', 'value'],
917
+ inputs: ['disabled', 'errorText', 'helpText', 'invalid', 'label', 'max', 'min', 'name', 'required', 'step', 'tooltip', 'tooltipFormatter', 'value'],
942
918
  }]
943
919
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
944
920
  let SixRoot = class SixRoot {
@@ -1000,11 +976,11 @@ let SixSelect = class SixSelect {
1000
976
  }
1001
977
  };
1002
978
  SixSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1003
- SixSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixSelect, selector: "six-select", inputs: { asyncFilter: "asyncFilter", autocomplete: "autocomplete", clearable: "clearable", defaultValue: "defaultValue", disabled: "disabled", errorOnBlur: "errorOnBlur", errorText: "errorText", filter: "filter", filterDebounce: "filterDebounce", filterPlaceholder: "filterPlaceholder", helpText: "helpText", hoist: "hoist", inputDebounce: "inputDebounce", invalid: "invalid", label: "label", line: "line", maxTagsVisible: "maxTagsVisible", multiple: "multiple", name: "name", options: "options", pill: "pill", placeholder: "placeholder", required: "required", size: "size", value: "value", virtualScroll: "virtualScroll" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
979
+ SixSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixSelect, selector: "six-select", inputs: { asyncFilter: "asyncFilter", autocomplete: "autocomplete", clearable: "clearable", disabled: "disabled", errorText: "errorText", filter: "filter", filterDebounce: "filterDebounce", filterPlaceholder: "filterPlaceholder", helpText: "helpText", hoist: "hoist", inputDebounce: "inputDebounce", invalid: "invalid", label: "label", line: "line", maxTagsVisible: "maxTagsVisible", multiple: "multiple", name: "name", options: "options", pill: "pill", placeholder: "placeholder", required: "required", size: "size", value: "value", virtualScroll: "virtualScroll" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1004
980
  SixSelect = __decorate([
1005
981
  ProxyCmp({
1006
- inputs: ['asyncFilter', 'autocomplete', 'clearable', 'defaultValue', 'disabled', 'errorOnBlur', 'errorText', 'filter', 'filterDebounce', 'filterPlaceholder', 'helpText', 'hoist', 'inputDebounce', 'invalid', 'label', 'line', 'maxTagsVisible', 'multiple', 'name', 'options', 'pill', 'placeholder', 'required', 'size', 'value', 'virtualScroll'],
1007
- methods: ['reportValidity', 'checkValidity', 'setCustomValidity', 'reset']
982
+ inputs: ['asyncFilter', 'autocomplete', 'clearable', 'disabled', 'errorText', 'filter', 'filterDebounce', 'filterPlaceholder', 'helpText', 'hoist', 'inputDebounce', 'invalid', 'label', 'line', 'maxTagsVisible', 'multiple', 'name', 'options', 'pill', 'placeholder', 'required', 'size', 'value', 'virtualScroll'],
983
+ methods: ['setFocus']
1008
984
  })
1009
985
  ], SixSelect);
1010
986
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixSelect, decorators: [{
@@ -1014,7 +990,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1014
990
  changeDetection: ChangeDetectionStrategy.OnPush,
1015
991
  template: '<ng-content></ng-content>',
1016
992
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1017
- inputs: ['asyncFilter', 'autocomplete', 'clearable', 'defaultValue', 'disabled', 'errorOnBlur', 'errorText', 'filter', 'filterDebounce', 'filterPlaceholder', 'helpText', 'hoist', 'inputDebounce', 'invalid', 'label', 'line', 'maxTagsVisible', 'multiple', 'name', 'options', 'pill', 'placeholder', 'required', 'size', 'value', 'virtualScroll'],
993
+ inputs: ['asyncFilter', 'autocomplete', 'clearable', 'disabled', 'errorText', 'filter', 'filterDebounce', 'filterPlaceholder', 'helpText', 'hoist', 'inputDebounce', 'invalid', 'label', 'line', 'maxTagsVisible', 'multiple', 'name', 'options', 'pill', 'placeholder', 'required', 'size', 'value', 'virtualScroll'],
1018
994
  }]
1019
995
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1020
996
  let SixSidebar = class SixSidebar {
@@ -1148,11 +1124,11 @@ let SixSwitch = class SixSwitch {
1148
1124
  }
1149
1125
  };
1150
1126
  SixSwitch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixSwitch, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1151
- SixSwitch.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixSwitch, selector: "six-switch", inputs: { checked: "checked", disabled: "disabled", invalid: "invalid", name: "name", required: "required", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1127
+ SixSwitch.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixSwitch, selector: "six-switch", inputs: { checked: "checked", disabled: "disabled", errorText: "errorText", invalid: "invalid", label: "label", name: "name", required: "required", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1152
1128
  SixSwitch = __decorate([
1153
1129
  ProxyCmp({
1154
- inputs: ['checked', 'disabled', 'invalid', 'name', 'required', 'value'],
1155
- methods: ['setFocus', 'removeFocus', 'reportValidity', 'checkValidity', 'setCustomValidity', 'reset']
1130
+ inputs: ['checked', 'disabled', 'errorText', 'invalid', 'label', 'name', 'required', 'value'],
1131
+ methods: ['setFocus', 'removeFocus']
1156
1132
  })
1157
1133
  ], SixSwitch);
1158
1134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixSwitch, decorators: [{
@@ -1162,7 +1138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1162
1138
  changeDetection: ChangeDetectionStrategy.OnPush,
1163
1139
  template: '<ng-content></ng-content>',
1164
1140
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1165
- inputs: ['checked', 'disabled', 'invalid', 'name', 'required', 'value'],
1141
+ inputs: ['checked', 'disabled', 'errorText', 'invalid', 'label', 'name', 'required', 'value'],
1166
1142
  }]
1167
1143
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1168
1144
  let SixTab = class SixTab {
@@ -1275,11 +1251,11 @@ let SixTextarea = class SixTextarea {
1275
1251
  }
1276
1252
  };
1277
1253
  SixTextarea.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixTextarea, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1278
- SixTextarea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixTextarea, selector: "six-textarea", inputs: { autocapitalize: "autocapitalize", autocomplete: "autocomplete", autocorrect: "autocorrect", autofocus: "autofocus", disabled: "disabled", errorOnBlur: "errorOnBlur", errorText: "errorText", helpText: "helpText", inputmode: "inputmode", invalid: "invalid", label: "label", maxlength: "maxlength", minlength: "minlength", name: "name", placeholder: "placeholder", readonly: "readonly", required: "required", resize: "resize", rows: "rows", size: "size", spellcheck: "spellcheck", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1254
+ SixTextarea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixTextarea, selector: "six-textarea", inputs: { autocapitalize: "autocapitalize", autocomplete: "autocomplete", autocorrect: "autocorrect", autofocus: "autofocus", disabled: "disabled", errorText: "errorText", helpText: "helpText", inputmode: "inputmode", invalid: "invalid", label: "label", maxlength: "maxlength", minlength: "minlength", name: "name", placeholder: "placeholder", readonly: "readonly", required: "required", resize: "resize", rows: "rows", size: "size", spellcheck: "spellcheck", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1279
1255
  SixTextarea = __decorate([
1280
1256
  ProxyCmp({
1281
- inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'disabled', 'errorOnBlur', 'errorText', 'helpText', 'inputmode', 'invalid', 'label', 'maxlength', 'minlength', 'name', 'placeholder', 'readonly', 'required', 'resize', 'rows', 'size', 'spellcheck', 'value'],
1282
- methods: ['setFocus', 'removeFocus', 'select', 'setSelectionRange', 'setRangeText', 'reportValidity', 'checkValidity', 'setCustomValidity', 'reset']
1257
+ inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'disabled', 'errorText', 'helpText', 'inputmode', 'invalid', 'label', 'maxlength', 'minlength', 'name', 'placeholder', 'readonly', 'required', 'resize', 'rows', 'size', 'spellcheck', 'value'],
1258
+ methods: ['setFocus', 'removeFocus', 'select', 'setSelectionRange', 'setRangeText']
1283
1259
  })
1284
1260
  ], SixTextarea);
1285
1261
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixTextarea, decorators: [{
@@ -1289,7 +1265,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1289
1265
  changeDetection: ChangeDetectionStrategy.OnPush,
1290
1266
  template: '<ng-content></ng-content>',
1291
1267
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1292
- inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'disabled', 'errorOnBlur', 'errorText', 'helpText', 'inputmode', 'invalid', 'label', 'maxlength', 'minlength', 'name', 'placeholder', 'readonly', 'required', 'resize', 'rows', 'size', 'spellcheck', 'value'],
1268
+ inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'disabled', 'errorText', 'helpText', 'inputmode', 'invalid', 'label', 'maxlength', 'minlength', 'name', 'placeholder', 'readonly', 'required', 'resize', 'rows', 'size', 'spellcheck', 'value'],
1293
1269
  }]
1294
1270
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1295
1271
  let SixTile = class SixTile {
@@ -1327,11 +1303,11 @@ let SixTimepicker = class SixTimepicker {
1327
1303
  }
1328
1304
  };
1329
1305
  SixTimepicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixTimepicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1330
- SixTimepicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixTimepicker, selector: "six-timepicker", inputs: { clearable: "clearable", debounce: "debounce", defaultTime: "defaultTime", disabled: "disabled", errorOnBlur: "errorOnBlur", errorText: "errorText", format: "format", hoist: "hoist", iconPosition: "iconPosition", inline: "inline", interval: "interval", label: "label", name: "name", open: "open", placeholder: "placeholder", placement: "placement", readonly: "readonly", required: "required", separator: "separator", size: "size", timeout: "timeout", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1306
+ SixTimepicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixTimepicker, selector: "six-timepicker", inputs: { clearable: "clearable", debounce: "debounce", defaultTime: "defaultTime", disabled: "disabled", errorText: "errorText", format: "format", hoist: "hoist", iconPosition: "iconPosition", inline: "inline", interval: "interval", invalid: "invalid", label: "label", name: "name", open: "open", placeholder: "placeholder", placement: "placement", readonly: "readonly", required: "required", separator: "separator", size: "size", timeout: "timeout", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1331
1307
  SixTimepicker = __decorate([
1332
1308
  ProxyCmp({
1333
- inputs: ['clearable', 'debounce', 'defaultTime', 'disabled', 'errorOnBlur', 'errorText', 'format', 'hoist', 'iconPosition', 'inline', 'interval', 'label', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'separator', 'size', 'timeout', 'value'],
1334
- methods: ['reportValidity', 'checkValidity', 'setCustomValidity', 'reset']
1309
+ inputs: ['clearable', 'debounce', 'defaultTime', 'disabled', 'errorText', 'format', 'hoist', 'iconPosition', 'inline', 'interval', 'invalid', 'label', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'separator', 'size', 'timeout', 'value'],
1310
+ methods: ['setFocus']
1335
1311
  })
1336
1312
  ], SixTimepicker);
1337
1313
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixTimepicker, decorators: [{
@@ -1341,7 +1317,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1341
1317
  changeDetection: ChangeDetectionStrategy.OnPush,
1342
1318
  template: '<ng-content></ng-content>',
1343
1319
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1344
- inputs: ['clearable', 'debounce', 'defaultTime', 'disabled', 'errorOnBlur', 'errorText', 'format', 'hoist', 'iconPosition', 'inline', 'interval', 'label', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'separator', 'size', 'timeout', 'value'],
1320
+ inputs: ['clearable', 'debounce', 'defaultTime', 'disabled', 'errorText', 'format', 'hoist', 'iconPosition', 'inline', 'interval', 'invalid', 'label', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'separator', 'size', 'timeout', 'value'],
1345
1321
  }]
1346
1322
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1347
1323
  let SixTooltip = class SixTooltip {
@@ -1389,7 +1365,6 @@ const DIRECTIVES = [
1389
1365
  SixFileListItem,
1390
1366
  SixFileUpload,
1391
1367
  SixFooter,
1392
- SixForm,
1393
1368
  SixGroupLabel,
1394
1369
  SixHeader,
1395
1370
  SixIcon,
@@ -1427,33 +1402,759 @@ const DIRECTIVES = [
1427
1402
  SixTooltip
1428
1403
  ];
1429
1404
 
1430
- class UiLibraryAngularModule {
1405
+ class ValidationMessagesService {
1406
+ getErrorMessage(language, error) {
1407
+ return getErrorMessage(language, error);
1408
+ }
1431
1409
  }
1432
- UiLibraryAngularModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1433
- UiLibraryAngularModulemod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule, declarations: [SetAttributes, SixAlert, SixAvatar, SixBadge, SixButton, SixCard, SixCheckbox, SixDatepicker, SixDetails, SixDialog, SixDrawer, SixDropdown, SixErrorPage, SixFileList, SixFileListItem, SixFileUpload, SixFooter, SixForm, SixGroupLabel, SixHeader, SixIcon, SixIconButton, SixInput, SixItemPicker, SixLanguageSwitcher, SixLayoutGrid, SixMainContainer, SixMenu, SixMenuDivider, SixMenuItem, SixMenuLabel, SixPicto, SixProgressBar, SixProgressRing, SixRadio, SixRange, SixRoot, SixSearchField, SixSelect, SixSidebar, SixSidebarItem, SixSidebarItemGroup, SixSpinner, SixStageIndicator, SixSwitch, SixTab, SixTabGroup, SixTabPanel, SixTag, SixTextarea, SixTile, SixTimepicker, SixTooltip], exports: [SetAttributes, SixAlert, SixAvatar, SixBadge, SixButton, SixCard, SixCheckbox, SixDatepicker, SixDetails, SixDialog, SixDrawer, SixDropdown, SixErrorPage, SixFileList, SixFileListItem, SixFileUpload, SixFooter, SixForm, SixGroupLabel, SixHeader, SixIcon, SixIconButton, SixInput, SixItemPicker, SixLanguageSwitcher, SixLayoutGrid, SixMainContainer, SixMenu, SixMenuDivider, SixMenuItem, SixMenuLabel, SixPicto, SixProgressBar, SixProgressRing, SixRadio, SixRange, SixRoot, SixSearchField, SixSelect, SixSidebar, SixSidebarItem, SixSidebarItemGroup, SixSpinner, SixStageIndicator, SixSwitch, SixTab, SixTabGroup, SixTabPanel, SixTag, SixTextarea, SixTile, SixTimepicker, SixTooltip] });
1434
- UiLibraryAngularModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule, providers: [
1410
+ ValidationMessagesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ValidationMessagesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1411
+ ValidationMessagesServiceprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ValidationMessagesService, providedIn: 'root' });
1412
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ValidationMessagesService, decorators: [{
1413
+ type: Injectable,
1414
+ args: [{ providedIn: 'root' }]
1415
+ }] });
1416
+
1417
+ class ValueAccessor {
1418
+ constructor(injector, el) {
1419
+ this.injector = injector;
1420
+ this.el = el;
1421
+ this.validationMessagesService = inject(ValidationMessagesService);
1422
+ this.onChange = () => { };
1423
+ this.onTouched = () => { };
1424
+ }
1425
+ registerOnChange(fn) {
1426
+ this.onChange = fn;
1427
+ }
1428
+ registerOnTouched(fn) {
1429
+ this.onTouched = fn;
1430
+ }
1431
+ writeValue(value) {
1432
+ this.el.nativeElement.value = value;
1433
+ this.updateValidation();
1434
+ }
1435
+ /**
1436
+ * Notifies the ControlValueAccessor of a change in the value of the control.
1437
+ *
1438
+ * This is called by each of the ValueAccessor directives when we want to update
1439
+ * the status and validity of the form control. For example with text components this
1440
+ * is called when the input event is fired. For select components this is called
1441
+ * when the change event is fired.
1442
+ *
1443
+ * This also updates the form status on the element by setting the 'invalid' property to true/false.
1444
+ *
1445
+ * @param el The component element.
1446
+ * @param value The new value of the control.
1447
+ */
1448
+ handleValueChange(el, value) {
1449
+ if (el === this.el.nativeElement) {
1450
+ this.onChange(value);
1451
+ this.updateValidation();
1452
+ }
1453
+ }
1454
+ _handleBlurEvent(el) {
1455
+ if (el === this.el.nativeElement) {
1456
+ this.onTouched();
1457
+ this.updateValidation();
1458
+ }
1459
+ }
1460
+ updateValidation() {
1461
+ nextTick(() => {
1462
+ if (this.ngControl?.control == null)
1463
+ return;
1464
+ const element = this.el.nativeElement;
1465
+ const control = this.ngControl?.control;
1466
+ const invalid = !control.valid && control.dirty && control.touched;
1467
+ let errorText;
1468
+ if (invalid) {
1469
+ errorText = this.initialErrorText || this.getErrorText(control);
1470
+ }
1471
+ element.invalid = invalid;
1472
+ element.errorText = errorText ?? '';
1473
+ });
1474
+ }
1475
+ setDisabledState(isDisabled) {
1476
+ this.el.nativeElement.disabled = isDisabled;
1477
+ }
1478
+ ngOnDestroy() {
1479
+ if (this.statusChanges) {
1480
+ this.statusChanges.unsubscribe();
1481
+ }
1482
+ }
1483
+ ngAfterViewInit() {
1484
+ this.initialErrorText = this.el.nativeElement?.errorText?.trim() || undefined;
1485
+ try {
1486
+ this.ngControl = this.injector.get(NgControl);
1487
+ }
1488
+ catch {
1489
+ /* No FormControl or ngModel binding */
1490
+ }
1491
+ if (!this.ngControl) {
1492
+ return;
1493
+ }
1494
+ // Listen for changes in validity, disabled, or pending states
1495
+ if (this.ngControl.statusChanges) {
1496
+ this.statusChanges = this.ngControl.statusChanges.subscribe(() => this.updateValidation());
1497
+ }
1498
+ /**
1499
+ * TODO FW-2787: Remove this in favor of https://github.com/angular/angular/issues/10887
1500
+ * whenever it is implemented.
1501
+ */
1502
+ const formControl = this.ngControl.control;
1503
+ if (formControl) {
1504
+ const methodsToPatch = ['markAsTouched', 'markAllAsTouched', 'markAsUntouched', 'markAsDirty', 'markAsPristine'];
1505
+ methodsToPatch.forEach((method) => {
1506
+ if (typeof formControl[method] !== 'undefined') {
1507
+ const oldFn = formControl[method].bind(formControl);
1508
+ formControl[method] = (...params) => {
1509
+ oldFn(...params);
1510
+ this.updateValidation();
1511
+ };
1512
+ }
1513
+ });
1514
+ }
1515
+ }
1516
+ getErrorText(control) {
1517
+ if (control.errors == null) {
1518
+ console.warn('no errors for invalid control', control);
1519
+ return '';
1520
+ }
1521
+ const firstError = Object.entries(control.errors).at(0);
1522
+ if (firstError == null) {
1523
+ console.warn('no errors for invalid control', control);
1524
+ return '';
1525
+ }
1526
+ const [key, value] = firstError;
1527
+ return (this.validationMessagesService.getErrorMessage(getLanguage(), { key: key, ...value }) ?? key);
1528
+ }
1529
+ }
1530
+ ValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1531
+ ValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ValueAccessor, host: { listeners: { "blur": "_handleBlurEvent($event.target)" } }, ngImport: i0 });
1532
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ValueAccessor, decorators: [{
1533
+ type: Directive
1534
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { _handleBlurEvent: [{
1535
+ type: HostListener,
1536
+ args: ['blur', ['$event.target']]
1537
+ }] } });
1538
+ function getLanguage() {
1539
+ const languages = ['de', 'fr', 'it', 'en'];
1540
+ const documentLang = document.documentElement.lang;
1541
+ if (languages.includes(documentLang)) {
1542
+ return documentLang;
1543
+ }
1544
+ return 'de';
1545
+ }
1546
+ const nextTick = (h) => {
1547
+ if (typeof __zone_symbol__requestAnimationFrame === 'function') {
1548
+ return __zone_symbol__requestAnimationFrame(h);
1549
+ }
1550
+ if (typeof requestAnimationFrame === 'function') {
1551
+ return requestAnimationFrame(h);
1552
+ }
1553
+ return setTimeout(h);
1554
+ };
1555
+
1556
+ class TextValueAccessor extends ValueAccessor {
1557
+ constructor(injector, el) {
1558
+ super(injector, el);
1559
+ }
1560
+ handleInputEvent(el) {
1561
+ this.handleValueChange(el, el.value);
1562
+ }
1563
+ }
1564
+ TextValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TextValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1565
+ TextValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: TextValueAccessor, selector: "six-input:not([type=number]),six-textarea", host: { listeners: { "input": "handleInputEvent($event.target)" } }, providers: [
1435
1566
  {
1436
- provide: APP_INITIALIZER,
1437
- useFactory: () => {
1438
- return defineCustomElements();
1439
- },
1567
+ provide: NG_VALUE_ACCESSOR,
1568
+ useExisting: TextValueAccessor,
1569
+ multi: true,
1440
1570
  },
1441
- ] });
1442
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule, decorators: [{
1443
- type: NgModule,
1571
+ ], usesInheritance: true, ngImport: i0 });
1572
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TextValueAccessor, decorators: [{
1573
+ type: Directive,
1444
1574
  args: [{
1445
- declarations: [...DIRECTIVES],
1446
- imports: [],
1447
- exports: [...DIRECTIVES],
1575
+ selector: 'six-input:not([type=number]),six-textarea',
1576
+ providers: [
1577
+ {
1578
+ provide: NG_VALUE_ACCESSOR,
1579
+ useExisting: TextValueAccessor,
1580
+ multi: true,
1581
+ },
1582
+ ],
1583
+ }]
1584
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { handleInputEvent: [{
1585
+ type: HostListener,
1586
+ args: ['input', ['$event.target']]
1587
+ }] } });
1588
+
1589
+ class NumericValueAccessor extends ValueAccessor {
1590
+ constructor(injector, el) {
1591
+ super(injector, el);
1592
+ }
1593
+ handleInputEvent(el) {
1594
+ this.handleValueChange(el, el.value);
1595
+ }
1596
+ registerOnChange(fn) {
1597
+ super.registerOnChange((value) => {
1598
+ fn(value === '' ? null : parseFloat(value));
1599
+ });
1600
+ }
1601
+ }
1602
+ NumericValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NumericValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1603
+ NumericValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NumericValueAccessor, selector: "six-input[type=number]", host: { listeners: { "input": "handleInputEvent($event.target)" } }, providers: [
1604
+ {
1605
+ provide: NG_VALUE_ACCESSOR,
1606
+ useExisting: NumericValueAccessor,
1607
+ multi: true,
1608
+ },
1609
+ ], usesInheritance: true, ngImport: i0 });
1610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NumericValueAccessor, decorators: [{
1611
+ type: Directive,
1612
+ args: [{
1613
+ selector: 'six-input[type=number]',
1614
+ providers: [
1615
+ {
1616
+ provide: NG_VALUE_ACCESSOR,
1617
+ useExisting: NumericValueAccessor,
1618
+ multi: true,
1619
+ },
1620
+ ],
1621
+ }]
1622
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { handleInputEvent: [{
1623
+ type: HostListener,
1624
+ args: ['input', ['$event.target']]
1625
+ }] } });
1626
+
1627
+ class RadioValueAccessor extends ValueAccessor {
1628
+ constructor(injector, el) {
1629
+ super(injector, el);
1630
+ }
1631
+ handleChangeEvent(el) {
1632
+ this.handleValueChange(el, this.value);
1633
+ }
1634
+ ngOnInit() {
1635
+ this.checkName();
1636
+ }
1637
+ writeValue(value) {
1638
+ this.el.nativeElement.checked = value === this.value;
1639
+ this.updateValidation();
1640
+ }
1641
+ checkName() {
1642
+ if (this.name && this.formControlName && this.name !== this.formControlName) {
1643
+ throw new Error(`
1644
+ If you define both a name and a formControlName attribute on your radio button, their values
1645
+ must match. Ex: <six-input type="radio" formControlName="food" name="food">
1646
+ `);
1647
+ }
1648
+ if (!this.name && this.formControlName) {
1649
+ this.name = this.formControlName;
1650
+ this.el.nativeElement.name = this.formControlName;
1651
+ }
1652
+ }
1653
+ }
1654
+ RadioValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RadioValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1655
+ RadioValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: RadioValueAccessor, selector: "six-radio", inputs: { value: "value", formControlName: "formControlName", name: "name" }, host: { listeners: { "change": "handleChangeEvent($event.target)" } }, providers: [
1656
+ {
1657
+ provide: NG_VALUE_ACCESSOR,
1658
+ useExisting: RadioValueAccessor,
1659
+ multi: true,
1660
+ },
1661
+ ], usesInheritance: true, ngImport: i0 });
1662
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RadioValueAccessor, decorators: [{
1663
+ type: Directive,
1664
+ args: [{
1665
+ selector: 'six-radio',
1666
+ providers: [
1667
+ {
1668
+ provide: NG_VALUE_ACCESSOR,
1669
+ useExisting: RadioValueAccessor,
1670
+ multi: true,
1671
+ },
1672
+ ],
1673
+ }]
1674
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { value: [{
1675
+ type: Input
1676
+ }], formControlName: [{
1677
+ type: Input
1678
+ }], name: [{
1679
+ type: Input
1680
+ }], handleChangeEvent: [{
1681
+ type: HostListener,
1682
+ args: ['change', ['$event.target']]
1683
+ }] } });
1684
+
1685
+ class DatepickerValueAccessor extends ValueAccessor {
1686
+ constructor(injector, el) {
1687
+ super(injector, el);
1688
+ }
1689
+ handleChangeEvent(el) {
1690
+ this.handleValueChange(el, el.value);
1691
+ }
1692
+ }
1693
+ DatepickerValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatepickerValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1694
+ DatepickerValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DatepickerValueAccessor, selector: "six-datepicker", host: { listeners: { "change": "handleChangeEvent($event.target)" } }, providers: [
1695
+ {
1696
+ provide: NG_VALUE_ACCESSOR,
1697
+ useExisting: DatepickerValueAccessor,
1698
+ multi: true,
1699
+ },
1700
+ ], usesInheritance: true, ngImport: i0 });
1701
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatepickerValueAccessor, decorators: [{
1702
+ type: Directive,
1703
+ args: [{
1704
+ selector: 'six-datepicker',
1448
1705
  providers: [
1449
1706
  {
1450
- provide: APP_INITIALIZER,
1451
- useFactory: () => {
1452
- return defineCustomElements();
1453
- },
1707
+ provide: NG_VALUE_ACCESSOR,
1708
+ useExisting: DatepickerValueAccessor,
1709
+ multi: true,
1454
1710
  },
1455
1711
  ],
1456
1712
  }]
1713
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { handleChangeEvent: [{
1714
+ type: HostListener,
1715
+ args: ['change', ['$event.target']]
1716
+ }] } });
1717
+
1718
+ class SixFormUtilDirective {
1719
+ constructor(elementRef, injector) {
1720
+ this.elementRef = elementRef;
1721
+ this.injector = injector;
1722
+ }
1723
+ focusInvalidField() {
1724
+ const formGroupDirective = this.injector.get(FormGroupDirective);
1725
+ if (formGroupDirective) {
1726
+ formGroupDirective.form.markAllAsTouched();
1727
+ markAllAsDirty(formGroupDirective.form);
1728
+ const invalidField = this.elementRef.nativeElement.querySelector('.ng-invalid');
1729
+ if (typeof invalidField?.setFocus === 'function') {
1730
+ invalidField.setFocus();
1731
+ }
1732
+ else if (typeof invalidField?.focus === 'function') {
1733
+ invalidField?.focus();
1734
+ }
1735
+ }
1736
+ }
1737
+ }
1738
+ SixFormUtilDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixFormUtilDirective, deps: [{ token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
1739
+ SixFormUtilDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SixFormUtilDirective, selector: "[sixFormUtil]", ngImport: i0 });
1740
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixFormUtilDirective, decorators: [{
1741
+ type: Directive,
1742
+ args: [{
1743
+ selector: '[sixFormUtil]',
1744
+ }]
1745
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Injector }]; } });
1746
+ function markAllAsDirty(formGroup) {
1747
+ function markAllControlsAsDirty(controls) {
1748
+ controls.forEach((control) => {
1749
+ if (control instanceof FormControl) {
1750
+ control.markAsDirty({ onlySelf: true });
1751
+ }
1752
+ else if (control instanceof FormGroup) {
1753
+ markAllControlsAsDirty(Object.values(control.controls));
1754
+ }
1755
+ else if (control instanceof FormArray) {
1756
+ markAllControlsAsDirty(control.controls);
1757
+ }
1758
+ });
1759
+ }
1760
+ markAllControlsAsDirty(Object.values(formGroup.controls));
1761
+ }
1762
+
1763
+ class SixUiLibraryValidators {
1764
+ static minDate(mindate) {
1765
+ return (control) => {
1766
+ if (control.value == null)
1767
+ return null;
1768
+ const actualDate = control.value;
1769
+ return actualDate.getTime() >= mindate.getTime() ? null : { mindate: { mindate, actual: actualDate } };
1770
+ };
1771
+ }
1772
+ static maxDate(maxdate) {
1773
+ return (control) => {
1774
+ if (control.value == null)
1775
+ return null;
1776
+ const actualDate = control.value;
1777
+ return actualDate.getTime() <= maxdate.getTime() ? null : { maxdate: { maxdate, actual: actualDate } };
1778
+ };
1779
+ }
1780
+ static allowedDates(allowedDates = () => true) {
1781
+ return (control) => {
1782
+ if (control.value == null)
1783
+ return null;
1784
+ const allowed = allowedDates(control.value);
1785
+ return allowed ? null : { invaliddate: { actual: control.value } };
1786
+ };
1787
+ }
1788
+ }
1789
+ class MinDateValidator {
1790
+ validate(control) {
1791
+ return SixUiLibraryValidators.minDate(this.mindate);
1792
+ }
1793
+ }
1794
+ MinDateValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MinDateValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1795
+ MinDateValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: MinDateValidator, selector: "six-datepicker[min]", inputs: { mindate: "mindate" }, providers: [{ provide: NG_VALIDATORS, useExisting: MinDateValidator, multi: true }], ngImport: i0 });
1796
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MinDateValidator, decorators: [{
1797
+ type: Directive,
1798
+ args: [{
1799
+ selector: 'six-datepicker[min]',
1800
+ providers: [{ provide: NG_VALIDATORS, useExisting: MinDateValidator, multi: true }],
1801
+ }]
1802
+ }], propDecorators: { mindate: [{
1803
+ type: Input
1804
+ }] } });
1805
+ class MaxDateValidator {
1806
+ validate(control) {
1807
+ return SixUiLibraryValidators.maxDate(this.maxdate);
1808
+ }
1809
+ }
1810
+ MaxDateValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MaxDateValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1811
+ MaxDateValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: MaxDateValidator, selector: "six-datepicker[max]", inputs: { maxdate: "maxdate" }, providers: [{ provide: NG_VALIDATORS, useExisting: MaxDateValidator, multi: true }], ngImport: i0 });
1812
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MaxDateValidator, decorators: [{
1813
+ type: Directive,
1814
+ args: [{
1815
+ selector: 'six-datepicker[max]',
1816
+ providers: [{ provide: NG_VALIDATORS, useExisting: MaxDateValidator, multi: true }],
1817
+ }]
1818
+ }], propDecorators: { maxdate: [{
1819
+ type: Input
1820
+ }] } });
1821
+ class AllowedDatesValidator {
1822
+ constructor() {
1823
+ this.allowedDates = () => true;
1824
+ }
1825
+ validate(control) {
1826
+ return SixUiLibraryValidators.allowedDates(this.allowedDates)(control);
1827
+ }
1828
+ }
1829
+ AllowedDatesValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AllowedDatesValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1830
+ AllowedDatesValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: AllowedDatesValidator, selector: "six-datepicker[allowedDates]", inputs: { allowedDates: "allowedDates" }, providers: [{ provide: NG_VALIDATORS, useExisting: AllowedDatesValidator, multi: true }], ngImport: i0 });
1831
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AllowedDatesValidator, decorators: [{
1832
+ type: Directive,
1833
+ args: [{
1834
+ selector: 'six-datepicker[allowedDates]',
1835
+ providers: [{ provide: NG_VALIDATORS, useExisting: AllowedDatesValidator, multi: true }],
1836
+ }]
1837
+ }], propDecorators: { allowedDates: [{
1838
+ type: Input
1839
+ }] } });
1840
+ class MinValidator {
1841
+ validate(control) {
1842
+ return Validators.min(toFloat(this.min))(control);
1843
+ }
1844
+ }
1845
+ MinValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MinValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1846
+ MinValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: MinValidator, selector: "six-input[type=number][min]", inputs: { min: "min" }, providers: [{ provide: NG_VALIDATORS, useExisting: MinValidator, multi: true }], ngImport: i0 });
1847
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MinValidator, decorators: [{
1848
+ type: Directive,
1849
+ args: [{
1850
+ selector: 'six-input[type=number][min]',
1851
+ providers: [{ provide: NG_VALIDATORS, useExisting: MinValidator, multi: true }],
1852
+ }]
1853
+ }], propDecorators: { min: [{
1854
+ type: Input
1855
+ }] } });
1856
+ class MaxValidator {
1857
+ validate(control) {
1858
+ return Validators.max(toFloat(this.max))(control);
1859
+ }
1860
+ }
1861
+ MaxValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MaxValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1862
+ MaxValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: MaxValidator, selector: "six-input[type=number][max]", inputs: { max: "max" }, providers: [{ provide: NG_VALIDATORS, useExisting: MaxValidator, multi: true }], ngImport: i0 });
1863
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MaxValidator, decorators: [{
1864
+ type: Directive,
1865
+ args: [{
1866
+ selector: 'six-input[type=number][max]',
1867
+ providers: [{ provide: NG_VALIDATORS, useExisting: MaxValidator, multi: true }],
1868
+ }]
1869
+ }], propDecorators: { max: [{
1870
+ type: Input
1871
+ }] } });
1872
+ function toFloat(value) {
1873
+ return typeof value === 'number' ? value : parseFloat(value);
1874
+ }
1875
+
1876
+ class SelectValueAccessor extends ValueAccessor {
1877
+ constructor(injector, el) {
1878
+ super(injector, el);
1879
+ }
1880
+ handleChangeEvent(el) {
1881
+ this.handleValueChange(el, el.value);
1882
+ }
1883
+ }
1884
+ SelectValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SelectValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1885
+ SelectValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SelectValueAccessor, selector: "six-select", host: { listeners: { "change": "handleChangeEvent($event.target)" } }, providers: [
1886
+ {
1887
+ provide: NG_VALUE_ACCESSOR,
1888
+ useExisting: SelectValueAccessor,
1889
+ multi: true,
1890
+ },
1891
+ ], usesInheritance: true, ngImport: i0 });
1892
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SelectValueAccessor, decorators: [{
1893
+ type: Directive,
1894
+ args: [{
1895
+ selector: 'six-select',
1896
+ providers: [
1897
+ {
1898
+ provide: NG_VALUE_ACCESSOR,
1899
+ useExisting: SelectValueAccessor,
1900
+ multi: true,
1901
+ },
1902
+ ],
1903
+ }]
1904
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { handleChangeEvent: [{
1905
+ type: HostListener,
1906
+ args: ['change', ['$event.target']]
1907
+ }] } });
1908
+
1909
+ class CheckboxValueAccessor extends ValueAccessor {
1910
+ constructor(injector, el) {
1911
+ super(injector, el);
1912
+ }
1913
+ handleChangeEvent(el) {
1914
+ this.handleValueChange(el, el.checked);
1915
+ }
1916
+ writeValue(value) {
1917
+ this.el.nativeElement.checked = value === true;
1918
+ this.updateValidation();
1919
+ }
1920
+ }
1921
+ CheckboxValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1922
+ CheckboxValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: CheckboxValueAccessor, selector: "six-checkbox", host: { listeners: { "change": "handleChangeEvent($event.target)" } }, providers: [
1923
+ {
1924
+ provide: NG_VALUE_ACCESSOR,
1925
+ useExisting: CheckboxValueAccessor,
1926
+ multi: true,
1927
+ },
1928
+ ], usesInheritance: true, ngImport: i0 });
1929
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxValueAccessor, decorators: [{
1930
+ type: Directive,
1931
+ args: [{
1932
+ selector: 'six-checkbox',
1933
+ providers: [
1934
+ {
1935
+ provide: NG_VALUE_ACCESSOR,
1936
+ useExisting: CheckboxValueAccessor,
1937
+ multi: true,
1938
+ },
1939
+ ],
1940
+ }]
1941
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { handleChangeEvent: [{
1942
+ type: HostListener,
1943
+ args: ['change', ['$event.target']]
1944
+ }] } });
1945
+
1946
+ class RangeValueAccessor extends ValueAccessor {
1947
+ constructor(injector, el) {
1948
+ super(injector, el);
1949
+ }
1950
+ handleInputEvent(el) {
1951
+ this.handleValueChange(el, el.value);
1952
+ }
1953
+ registerOnChange(fn) {
1954
+ super.registerOnChange((value) => {
1955
+ fn(value === '' ? null : parseFloat(value));
1956
+ });
1957
+ }
1958
+ }
1959
+ RangeValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RangeValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1960
+ RangeValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: RangeValueAccessor, selector: "six-range", host: { listeners: { "input": "handleInputEvent($event.target)" } }, providers: [
1961
+ {
1962
+ provide: NG_VALUE_ACCESSOR,
1963
+ useExisting: RangeValueAccessor,
1964
+ multi: true,
1965
+ },
1966
+ ], usesInheritance: true, ngImport: i0 });
1967
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RangeValueAccessor, decorators: [{
1968
+ type: Directive,
1969
+ args: [{
1970
+ selector: 'six-range',
1971
+ providers: [
1972
+ {
1973
+ provide: NG_VALUE_ACCESSOR,
1974
+ useExisting: RangeValueAccessor,
1975
+ multi: true,
1976
+ },
1977
+ ],
1978
+ }]
1979
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { handleInputEvent: [{
1980
+ type: HostListener,
1981
+ args: ['input', ['$event.target']]
1982
+ }] } });
1983
+
1984
+ class SwitchValueAccessor extends ValueAccessor {
1985
+ constructor(injector, el) {
1986
+ super(injector, el);
1987
+ }
1988
+ handleChangeEvent(el) {
1989
+ this.handleValueChange(el, el.checked);
1990
+ }
1991
+ writeValue(value) {
1992
+ this.el.nativeElement.checked = value === true;
1993
+ this.updateValidation();
1994
+ }
1995
+ }
1996
+ SwitchValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SwitchValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1997
+ SwitchValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SwitchValueAccessor, selector: "six-switch", host: { listeners: { "change": "handleChangeEvent($event.target)" } }, providers: [
1998
+ {
1999
+ provide: NG_VALUE_ACCESSOR,
2000
+ useExisting: SwitchValueAccessor,
2001
+ multi: true,
2002
+ },
2003
+ ], usesInheritance: true, ngImport: i0 });
2004
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SwitchValueAccessor, decorators: [{
2005
+ type: Directive,
2006
+ args: [{
2007
+ selector: 'six-switch',
2008
+ providers: [
2009
+ {
2010
+ provide: NG_VALUE_ACCESSOR,
2011
+ useExisting: SwitchValueAccessor,
2012
+ multi: true,
2013
+ },
2014
+ ],
2015
+ }]
2016
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { handleChangeEvent: [{
2017
+ type: HostListener,
2018
+ args: ['change', ['$event.target']]
2019
+ }] } });
2020
+
2021
+ class TimepickerValueAccessor extends ValueAccessor {
2022
+ constructor(injector, el) {
2023
+ super(injector, el);
2024
+ }
2025
+ handleChangeEvent(el) {
2026
+ this.handleValueChange(el, el.value);
2027
+ }
2028
+ }
2029
+ TimepickerValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TimepickerValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2030
+ TimepickerValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: TimepickerValueAccessor, selector: "six-timepicker", host: { listeners: { "change": "handleChangeEvent($event.target)" } }, providers: [
2031
+ {
2032
+ provide: NG_VALUE_ACCESSOR,
2033
+ useExisting: TimepickerValueAccessor,
2034
+ multi: true,
2035
+ },
2036
+ ], usesInheritance: true, ngImport: i0 });
2037
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TimepickerValueAccessor, decorators: [{
2038
+ type: Directive,
2039
+ args: [{
2040
+ selector: 'six-timepicker',
2041
+ providers: [
2042
+ {
2043
+ provide: NG_VALUE_ACCESSOR,
2044
+ useExisting: TimepickerValueAccessor,
2045
+ multi: true,
2046
+ },
2047
+ ],
2048
+ }]
2049
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { handleChangeEvent: [{
2050
+ type: HostListener,
2051
+ args: ['change', ['$event.target']]
2052
+ }] } });
2053
+
2054
+ class UiLibraryAngularModule {
2055
+ static forRoot(customValidationMessagesService) {
2056
+ return {
2057
+ ngModule: UiLibraryAngularModule,
2058
+ providers: [
2059
+ {
2060
+ provide: APP_INITIALIZER,
2061
+ useFactory: () => {
2062
+ return defineCustomElements();
2063
+ },
2064
+ },
2065
+ { provide: ValidationMessagesService, useClass: customValidationMessagesService ?? ValidationMessagesService },
2066
+ ],
2067
+ };
2068
+ }
2069
+ }
2070
+ UiLibraryAngularModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2071
+ UiLibraryAngularModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule, declarations: [SetAttributes, SixAlert, SixAvatar, SixBadge, SixButton, SixCard, SixCheckbox, SixDatepicker, SixDetails, SixDialog, SixDrawer, SixDropdown, SixErrorPage, SixFileList, SixFileListItem, SixFileUpload, SixFooter, SixGroupLabel, SixHeader, SixIcon, SixIconButton, SixInput, SixItemPicker, SixLanguageSwitcher, SixLayoutGrid, SixMainContainer, SixMenu, SixMenuDivider, SixMenuItem, SixMenuLabel, SixPicto, SixProgressBar, SixProgressRing, SixRadio, SixRange, SixRoot, SixSearchField, SixSelect, SixSidebar, SixSidebarItem, SixSidebarItemGroup, SixSpinner, SixStageIndicator, SixSwitch, SixTab, SixTabGroup, SixTabPanel, SixTag, SixTextarea, SixTile, SixTimepicker, SixTooltip,
2072
+ // value accessors
2073
+ TextValueAccessor,
2074
+ NumericValueAccessor,
2075
+ RadioValueAccessor,
2076
+ DatepickerValueAccessor,
2077
+ TimepickerValueAccessor,
2078
+ SelectValueAccessor,
2079
+ CheckboxValueAccessor,
2080
+ SwitchValueAccessor,
2081
+ RangeValueAccessor,
2082
+ // validators
2083
+ MinValidator,
2084
+ MaxValidator,
2085
+ MinDateValidator,
2086
+ MaxDateValidator,
2087
+ AllowedDatesValidator,
2088
+ // form helpers
2089
+ SixFormUtilDirective], exports: [SetAttributes, SixAlert, SixAvatar, SixBadge, SixButton, SixCard, SixCheckbox, SixDatepicker, SixDetails, SixDialog, SixDrawer, SixDropdown, SixErrorPage, SixFileList, SixFileListItem, SixFileUpload, SixFooter, SixGroupLabel, SixHeader, SixIcon, SixIconButton, SixInput, SixItemPicker, SixLanguageSwitcher, SixLayoutGrid, SixMainContainer, SixMenu, SixMenuDivider, SixMenuItem, SixMenuLabel, SixPicto, SixProgressBar, SixProgressRing, SixRadio, SixRange, SixRoot, SixSearchField, SixSelect, SixSidebar, SixSidebarItem, SixSidebarItemGroup, SixSpinner, SixStageIndicator, SixSwitch, SixTab, SixTabGroup, SixTabPanel, SixTag, SixTextarea, SixTile, SixTimepicker, SixTooltip,
2090
+ // value accessors
2091
+ TextValueAccessor,
2092
+ NumericValueAccessor,
2093
+ RadioValueAccessor,
2094
+ DatepickerValueAccessor,
2095
+ TimepickerValueAccessor,
2096
+ SelectValueAccessor,
2097
+ CheckboxValueAccessor,
2098
+ SwitchValueAccessor,
2099
+ RangeValueAccessor,
2100
+ // validators
2101
+ MinValidator,
2102
+ MaxValidator,
2103
+ MinDateValidator,
2104
+ MaxDateValidator,
2105
+ AllowedDatesValidator,
2106
+ // form helpers
2107
+ SixFormUtilDirective] });
2108
+ UiLibraryAngularModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule });
2109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule, decorators: [{
2110
+ type: NgModule,
2111
+ args: [{
2112
+ declarations: [
2113
+ // proxies
2114
+ ...DIRECTIVES,
2115
+ // value accessors
2116
+ TextValueAccessor,
2117
+ NumericValueAccessor,
2118
+ RadioValueAccessor,
2119
+ DatepickerValueAccessor,
2120
+ TimepickerValueAccessor,
2121
+ SelectValueAccessor,
2122
+ CheckboxValueAccessor,
2123
+ SwitchValueAccessor,
2124
+ RangeValueAccessor,
2125
+ // validators
2126
+ MinValidator,
2127
+ MaxValidator,
2128
+ MinDateValidator,
2129
+ MaxDateValidator,
2130
+ AllowedDatesValidator,
2131
+ // form helpers
2132
+ SixFormUtilDirective,
2133
+ ],
2134
+ imports: [],
2135
+ exports: [
2136
+ // proxies
2137
+ ...DIRECTIVES,
2138
+ // value accessors
2139
+ TextValueAccessor,
2140
+ NumericValueAccessor,
2141
+ RadioValueAccessor,
2142
+ DatepickerValueAccessor,
2143
+ TimepickerValueAccessor,
2144
+ SelectValueAccessor,
2145
+ CheckboxValueAccessor,
2146
+ SwitchValueAccessor,
2147
+ RangeValueAccessor,
2148
+ // validators
2149
+ MinValidator,
2150
+ MaxValidator,
2151
+ MinDateValidator,
2152
+ MaxDateValidator,
2153
+ AllowedDatesValidator,
2154
+ // form helpers
2155
+ SixFormUtilDirective,
2156
+ ],
2157
+ }]
1457
2158
  }] });
1458
2159
 
1459
2160
  /*
@@ -1464,5 +2165,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1464
2165
  * Generated bundle index. Do not edit.
1465
2166
  */
1466
2167
 
1467
- export { DIRECTIVES, SetAttributes, SixAlert, SixAvatar, SixBadge, SixButton, SixCard, SixCheckbox, SixDatepicker, SixDetails, SixDialog, SixDrawer, SixDropdown, SixErrorPage, SixFileList, SixFileListItem, SixFileUpload, SixFooter, SixForm, SixGroupLabel, SixHeader, SixIcon, SixIconButton, SixInput, SixItemPicker, SixLanguageSwitcher, SixLayoutGrid, SixMainContainer, SixMenu, SixMenuDivider, SixMenuItem, SixMenuLabel, SixPicto, SixProgressBar, SixProgressRing, SixRadio, SixRange, SixRoot, SixSearchField, SixSelect, SixSidebar, SixSidebarItem, SixSidebarItemGroup, SixSpinner, SixStageIndicator, SixSwitch, SixTab, SixTabGroup, SixTabPanel, SixTag, SixTextarea, SixTile, SixTimepicker, SixTooltip, UiLibraryAngularModule };
2168
+ export { AllowedDatesValidator, CheckboxValueAccessor, DIRECTIVES, DatepickerValueAccessor, MaxDateValidator, MaxValidator, MinDateValidator, MinValidator, NumericValueAccessor, RadioValueAccessor, RangeValueAccessor, SelectValueAccessor, SetAttributes, SixAlert, SixAvatar, SixBadge, SixButton, SixCard, SixCheckbox, SixDatepicker, SixDetails, SixDialog, SixDrawer, SixDropdown, SixErrorPage, SixFileList, SixFileListItem, SixFileUpload, SixFooter, SixFormUtilDirective, SixGroupLabel, SixHeader, SixIcon, SixIconButton, SixInput, SixItemPicker, SixLanguageSwitcher, SixLayoutGrid, SixMainContainer, SixMenu, SixMenuDivider, SixMenuItem, SixMenuLabel, SixPicto, SixProgressBar, SixProgressRing, SixRadio, SixRange, SixRoot, SixSearchField, SixSelect, SixSidebar, SixSidebarItem, SixSidebarItemGroup, SixSpinner, SixStageIndicator, SixSwitch, SixTab, SixTabGroup, SixTabPanel, SixTag, SixTextarea, SixTile, SixTimepicker, SixTooltip, SixUiLibraryValidators, SwitchValueAccessor, TextValueAccessor, TimepickerValueAccessor, UiLibraryAngularModule, ValidationMessagesService, ValueAccessor };
1468
2169
  //# sourceMappingURL=six-group-ui-library-angular.mjs.map