@six-group/ui-library-angular 0.0.0-insider.ebd822a → 0.0.0-insider.f8b41df

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