@six-group/ui-library-angular 0.0.0-insider.74f5e84 → 0.0.0-insider.7926ac9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Injectable, inject, Directive, HostListener, Input, APP_INITIALIZER, NgModule } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, Injectable, inject, Directive, HostListener, Input, EventEmitter, Output, Optional, 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
+ import * as i1 from '@angular/forms';
7
+ import { NgControl, NG_VALUE_ACCESSOR, FormControl, FormGroup, FormArray, NG_VALIDATORS, Validators } from '@angular/forms';
8
+ import { getErrorMessage, languages } from '@six-group/ui-library';
9
+ import * as i1$1 from '@angular/common';
10
+ import * as i2 from '@angular/router';
8
11
 
9
12
  /* eslint-disable */
10
13
  /* tslint:disable */
@@ -18,6 +21,14 @@ const proxyInputs = (Cmp, inputs) => {
18
21
  set(val) {
19
22
  this.z.runOutsideAngular(() => (this.el[item] = val));
20
23
  },
24
+ /**
25
+ * In the event that proxyInputs is called
26
+ * multiple times re-defining these inputs
27
+ * will cause an error to be thrown. As a result
28
+ * we set configurable: true to indicate these
29
+ * properties can be changed.
30
+ */
31
+ configurable: true,
21
32
  });
22
33
  });
23
34
  };
@@ -211,10 +222,10 @@ let SixCheckbox = class SixCheckbox {
211
222
  }
212
223
  };
213
224
  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 });
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 });
225
+ SixCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixCheckbox, selector: "six-checkbox", inputs: { checked: "checked", disabled: "disabled", errorText: "errorText", errorTextCount: "errorTextCount", 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
226
  SixCheckbox = __decorate([
216
227
  ProxyCmp({
217
- inputs: ['checked', 'disabled', 'errorText', 'indeterminate', 'invalid', 'label', 'name', 'required', 'value'],
228
+ inputs: ['checked', 'disabled', 'errorText', 'errorTextCount', 'indeterminate', 'invalid', 'label', 'name', 'required', 'value'],
218
229
  methods: ['setFocus', 'removeFocus']
219
230
  })
220
231
  ], SixCheckbox);
@@ -225,7 +236,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
225
236
  changeDetection: ChangeDetectionStrategy.OnPush,
226
237
  template: '<ng-content></ng-content>',
227
238
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
228
- inputs: ['checked', 'disabled', 'errorText', 'indeterminate', 'invalid', 'label', 'name', 'required', 'value'],
239
+ inputs: ['checked', 'disabled', 'errorText', 'errorTextCount', 'indeterminate', 'invalid', 'label', 'name', 'required', 'value'],
229
240
  }]
230
241
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
231
242
  let SixDatepicker = class SixDatepicker {
@@ -237,10 +248,10 @@ let SixDatepicker = class SixDatepicker {
237
248
  }
238
249
  };
239
250
  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 });
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 });
251
+ 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", errorTextCount: "errorTextCount", 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 });
241
252
  SixDatepicker = __decorate([
242
253
  ProxyCmp({
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'],
254
+ inputs: ['allowedDates', 'clearable', 'closeOnSelect', 'containingElement', 'dateFormat', 'debounce', 'defaultDate', 'disabled', 'errorText', 'errorTextCount', 'hoist', 'iconPosition', 'inline', 'invalid', 'label', 'locale', 'max', 'min', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'size', 'type', 'value'],
244
255
  methods: ['setFocus', 'select']
245
256
  })
246
257
  ], SixDatepicker);
@@ -251,7 +262,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
251
262
  changeDetection: ChangeDetectionStrategy.OnPush,
252
263
  template: '<ng-content></ng-content>',
253
264
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
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'],
265
+ inputs: ['allowedDates', 'clearable', 'closeOnSelect', 'containingElement', 'dateFormat', 'debounce', 'defaultDate', 'disabled', 'errorText', 'errorTextCount', 'hoist', 'iconPosition', 'inline', 'invalid', 'label', 'locale', 'max', 'min', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'size', 'type', 'value'],
255
266
  }]
256
267
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
257
268
  let SixDetails = class SixDetails {
@@ -358,6 +369,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
358
369
  inputs: ['asyncFilter', 'autofocusFilter', 'closeOnSelect', 'containingElement', 'disableHideOnEnterAndSpace', 'distance', 'filter', 'filterDebounce', 'filterPlaceholder', 'hoist', 'open', 'options', 'placement', 'skidding', 'virtualScroll'],
359
370
  }]
360
371
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
372
+ let SixError = class SixError {
373
+ constructor(c, r, z) {
374
+ this.z = z;
375
+ c.detach();
376
+ this.el = r.nativeElement;
377
+ }
378
+ };
379
+ SixError.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixError, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
380
+ SixError.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixError, selector: "six-error", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
381
+ SixError = __decorate([
382
+ ProxyCmp({})
383
+ ], SixError);
384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixError, decorators: [{
385
+ type: Component,
386
+ args: [{
387
+ selector: 'six-error',
388
+ changeDetection: ChangeDetectionStrategy.OnPush,
389
+ template: '<ng-content></ng-content>',
390
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
391
+ inputs: [],
392
+ }]
393
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
361
394
  let SixErrorPage = class SixErrorPage {
362
395
  constructor(c, r, z) {
363
396
  this.z = z;
@@ -583,10 +616,10 @@ let SixInput = class SixInput {
583
616
  }
584
617
  };
585
618
  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 });
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 });
619
+ 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", errorTextCount: "errorTextCount", 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
620
  SixInput = __decorate([
588
621
  ProxyCmp({
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'],
622
+ inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearable', 'disabled', 'errorText', 'errorTextCount', 'helpText', 'inputmode', 'invalid', 'label', 'line', 'max', 'maxlength', 'min', 'minlength', 'name', 'pattern', 'pill', 'placeholder', 'readonly', 'required', 'size', 'spellcheck', 'step', 'togglePassword', 'type', 'value'],
590
623
  methods: ['setFocus', 'removeFocus', 'select', 'setSelectionRange', 'setRangeText']
591
624
  })
592
625
  ], SixInput);
@@ -597,7 +630,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
597
630
  changeDetection: ChangeDetectionStrategy.OnPush,
598
631
  template: '<ng-content></ng-content>',
599
632
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
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'],
633
+ inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearable', 'disabled', 'errorText', 'errorTextCount', 'helpText', 'inputmode', 'invalid', 'label', 'line', 'max', 'maxlength', 'min', 'minlength', 'name', 'pattern', 'pill', 'placeholder', 'readonly', 'required', 'size', 'spellcheck', 'step', 'togglePassword', 'type', 'value'],
601
634
  }]
602
635
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
603
636
  let SixItemPicker = class SixItemPicker {
@@ -900,10 +933,10 @@ let SixRange = class SixRange {
900
933
  }
901
934
  };
902
935
  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 });
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 });
936
+ SixRange.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixRange, selector: "six-range", inputs: { disabled: "disabled", errorText: "errorText", errorTextCount: "errorTextCount", 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
937
  SixRange = __decorate([
905
938
  ProxyCmp({
906
- inputs: ['disabled', 'errorText', 'helpText', 'invalid', 'label', 'max', 'min', 'name', 'required', 'step', 'tooltip', 'tooltipFormatter', 'value'],
939
+ inputs: ['disabled', 'errorText', 'errorTextCount', 'helpText', 'invalid', 'label', 'max', 'min', 'name', 'required', 'step', 'tooltip', 'tooltipFormatter', 'value'],
907
940
  methods: ['setFocus', 'removeFocus']
908
941
  })
909
942
  ], SixRange);
@@ -914,7 +947,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
914
947
  changeDetection: ChangeDetectionStrategy.OnPush,
915
948
  template: '<ng-content></ng-content>',
916
949
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
917
- inputs: ['disabled', 'errorText', 'helpText', 'invalid', 'label', 'max', 'min', 'name', 'required', 'step', 'tooltip', 'tooltipFormatter', 'value'],
950
+ inputs: ['disabled', 'errorText', 'errorTextCount', 'helpText', 'invalid', 'label', 'max', 'min', 'name', 'required', 'step', 'tooltip', 'tooltipFormatter', 'value'],
918
951
  }]
919
952
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
920
953
  let SixRoot = class SixRoot {
@@ -976,10 +1009,10 @@ let SixSelect = class SixSelect {
976
1009
  }
977
1010
  };
978
1011
  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 });
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 });
1012
+ 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", errorTextCount: "errorTextCount", 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
1013
  SixSelect = __decorate([
981
1014
  ProxyCmp({
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'],
1015
+ inputs: ['asyncFilter', 'autocomplete', 'clearable', 'disabled', 'errorText', 'errorTextCount', 'filter', 'filterDebounce', 'filterPlaceholder', 'helpText', 'hoist', 'inputDebounce', 'invalid', 'label', 'line', 'maxTagsVisible', 'multiple', 'name', 'options', 'pill', 'placeholder', 'required', 'size', 'value', 'virtualScroll'],
983
1016
  methods: ['setFocus']
984
1017
  })
985
1018
  ], SixSelect);
@@ -990,7 +1023,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
990
1023
  changeDetection: ChangeDetectionStrategy.OnPush,
991
1024
  template: '<ng-content></ng-content>',
992
1025
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
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'],
1026
+ inputs: ['asyncFilter', 'autocomplete', 'clearable', 'disabled', 'errorText', 'errorTextCount', 'filter', 'filterDebounce', 'filterPlaceholder', 'helpText', 'hoist', 'inputDebounce', 'invalid', 'label', 'line', 'maxTagsVisible', 'multiple', 'name', 'options', 'pill', 'placeholder', 'required', 'size', 'value', 'virtualScroll'],
994
1027
  }]
995
1028
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
996
1029
  let SixSidebar = class SixSidebar {
@@ -1027,10 +1060,10 @@ let SixSidebarItem = class SixSidebarItem {
1027
1060
  }
1028
1061
  };
1029
1062
  SixSidebarItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixSidebarItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1030
- SixSidebarItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixSidebarItem, selector: "six-sidebar-item", inputs: { disabled: "disabled", selected: "selected", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1063
+ SixSidebarItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixSidebarItem, selector: "six-sidebar-item", inputs: { disabled: "disabled", href: "href", selected: "selected", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1031
1064
  SixSidebarItem = __decorate([
1032
1065
  ProxyCmp({
1033
- inputs: ['disabled', 'selected', 'value']
1066
+ inputs: ['disabled', 'href', 'selected', 'value']
1034
1067
  })
1035
1068
  ], SixSidebarItem);
1036
1069
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixSidebarItem, decorators: [{
@@ -1040,7 +1073,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1040
1073
  changeDetection: ChangeDetectionStrategy.OnPush,
1041
1074
  template: '<ng-content></ng-content>',
1042
1075
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1043
- inputs: ['disabled', 'selected', 'value'],
1076
+ inputs: ['disabled', 'href', 'selected', 'value'],
1044
1077
  }]
1045
1078
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1046
1079
  let SixSidebarItemGroup = class SixSidebarItemGroup {
@@ -1051,10 +1084,10 @@ let SixSidebarItemGroup = class SixSidebarItemGroup {
1051
1084
  }
1052
1085
  };
1053
1086
  SixSidebarItemGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixSidebarItemGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1054
- SixSidebarItemGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixSidebarItemGroup, selector: "six-sidebar-item-group", inputs: { icon: "icon", name: "name", open: "open", summaryIcon: "summaryIcon", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1087
+ SixSidebarItemGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixSidebarItemGroup, selector: "six-sidebar-item-group", inputs: { href: "href", icon: "icon", name: "name", open: "open", summaryIcon: "summaryIcon", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1055
1088
  SixSidebarItemGroup = __decorate([
1056
1089
  ProxyCmp({
1057
- inputs: ['icon', 'name', 'open', 'summaryIcon', 'value']
1090
+ inputs: ['href', 'icon', 'name', 'open', 'summaryIcon', 'value']
1058
1091
  })
1059
1092
  ], SixSidebarItemGroup);
1060
1093
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixSidebarItemGroup, decorators: [{
@@ -1064,7 +1097,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1064
1097
  changeDetection: ChangeDetectionStrategy.OnPush,
1065
1098
  template: '<ng-content></ng-content>',
1066
1099
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1067
- inputs: ['icon', 'name', 'open', 'summaryIcon', 'value'],
1100
+ inputs: ['href', 'icon', 'name', 'open', 'summaryIcon', 'value'],
1068
1101
  }]
1069
1102
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1070
1103
  let SixSpinner = class SixSpinner {
@@ -1124,10 +1157,10 @@ let SixSwitch = class SixSwitch {
1124
1157
  }
1125
1158
  };
1126
1159
  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 });
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 });
1160
+ SixSwitch.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SixSwitch, selector: "six-switch", inputs: { checked: "checked", disabled: "disabled", errorText: "errorText", errorTextCount: "errorTextCount", invalid: "invalid", label: "label", name: "name", required: "required", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1128
1161
  SixSwitch = __decorate([
1129
1162
  ProxyCmp({
1130
- inputs: ['checked', 'disabled', 'errorText', 'invalid', 'label', 'name', 'required', 'value'],
1163
+ inputs: ['checked', 'disabled', 'errorText', 'errorTextCount', 'invalid', 'label', 'name', 'required', 'value'],
1131
1164
  methods: ['setFocus', 'removeFocus']
1132
1165
  })
1133
1166
  ], SixSwitch);
@@ -1138,7 +1171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1138
1171
  changeDetection: ChangeDetectionStrategy.OnPush,
1139
1172
  template: '<ng-content></ng-content>',
1140
1173
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1141
- inputs: ['checked', 'disabled', 'errorText', 'invalid', 'label', 'name', 'required', 'value'],
1174
+ inputs: ['checked', 'disabled', 'errorText', 'errorTextCount', 'invalid', 'label', 'name', 'required', 'value'],
1142
1175
  }]
1143
1176
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1144
1177
  let SixTab = class SixTab {
@@ -1251,10 +1284,10 @@ let SixTextarea = class SixTextarea {
1251
1284
  }
1252
1285
  };
1253
1286
  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 });
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 });
1287
+ 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", errorTextCount: "errorTextCount", 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
1288
  SixTextarea = __decorate([
1256
1289
  ProxyCmp({
1257
- inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'disabled', 'errorText', 'helpText', 'inputmode', 'invalid', 'label', 'maxlength', 'minlength', 'name', 'placeholder', 'readonly', 'required', 'resize', 'rows', 'size', 'spellcheck', 'value'],
1290
+ inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'disabled', 'errorText', 'errorTextCount', 'helpText', 'inputmode', 'invalid', 'label', 'maxlength', 'minlength', 'name', 'placeholder', 'readonly', 'required', 'resize', 'rows', 'size', 'spellcheck', 'value'],
1258
1291
  methods: ['setFocus', 'removeFocus', 'select', 'setSelectionRange', 'setRangeText']
1259
1292
  })
1260
1293
  ], SixTextarea);
@@ -1265,7 +1298,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1265
1298
  changeDetection: ChangeDetectionStrategy.OnPush,
1266
1299
  template: '<ng-content></ng-content>',
1267
1300
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1268
- inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'disabled', 'errorText', 'helpText', 'inputmode', 'invalid', 'label', 'maxlength', 'minlength', 'name', 'placeholder', 'readonly', 'required', 'resize', 'rows', 'size', 'spellcheck', 'value'],
1301
+ inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'disabled', 'errorText', 'errorTextCount', 'helpText', 'inputmode', 'invalid', 'label', 'maxlength', 'minlength', 'name', 'placeholder', 'readonly', 'required', 'resize', 'rows', 'size', 'spellcheck', 'value'],
1269
1302
  }]
1270
1303
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1271
1304
  let SixTile = class SixTile {
@@ -1303,10 +1336,10 @@ let SixTimepicker = class SixTimepicker {
1303
1336
  }
1304
1337
  };
1305
1338
  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 });
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 });
1339
+ 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", errorTextCount: "errorTextCount", 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 });
1307
1340
  SixTimepicker = __decorate([
1308
1341
  ProxyCmp({
1309
- inputs: ['clearable', 'debounce', 'defaultTime', 'disabled', 'errorText', 'format', 'hoist', 'iconPosition', 'inline', 'interval', 'invalid', 'label', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'separator', 'size', 'timeout', 'value'],
1342
+ inputs: ['clearable', 'debounce', 'defaultTime', 'disabled', 'errorText', 'errorTextCount', 'format', 'hoist', 'iconPosition', 'inline', 'interval', 'invalid', 'label', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'separator', 'size', 'timeout', 'value'],
1310
1343
  methods: ['setFocus']
1311
1344
  })
1312
1345
  ], SixTimepicker);
@@ -1317,7 +1350,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1317
1350
  changeDetection: ChangeDetectionStrategy.OnPush,
1318
1351
  template: '<ng-content></ng-content>',
1319
1352
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1320
- inputs: ['clearable', 'debounce', 'defaultTime', 'disabled', 'errorText', 'format', 'hoist', 'iconPosition', 'inline', 'interval', 'invalid', 'label', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'separator', 'size', 'timeout', 'value'],
1353
+ inputs: ['clearable', 'debounce', 'defaultTime', 'disabled', 'errorText', 'errorTextCount', 'format', 'hoist', 'iconPosition', 'inline', 'interval', 'invalid', 'label', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'separator', 'size', 'timeout', 'value'],
1321
1354
  }]
1322
1355
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1323
1356
  let SixTooltip = class SixTooltip {
@@ -1360,6 +1393,7 @@ const DIRECTIVES = [
1360
1393
  SixDialog,
1361
1394
  SixDrawer,
1362
1395
  SixDropdown,
1396
+ SixError,
1363
1397
  SixErrorPage,
1364
1398
  SixFileList,
1365
1399
  SixFileListItem,
@@ -1464,12 +1498,12 @@ class ValueAccessor {
1464
1498
  const element = this.el.nativeElement;
1465
1499
  const control = this.ngControl?.control;
1466
1500
  const invalid = !control.valid && control.dirty && control.touched;
1467
- let errorText;
1501
+ let errorTexts;
1468
1502
  if (invalid) {
1469
- errorText = this.initialErrorText || this.getErrorText(control);
1503
+ errorTexts = this.initialErrorText || this.getErrorTexts(control);
1470
1504
  }
1471
1505
  element.invalid = invalid;
1472
- element.errorText = errorText ?? '';
1506
+ element.errorText = errorTexts ?? '';
1473
1507
  });
1474
1508
  }
1475
1509
  setDisabledState(isDisabled) {
@@ -1513,18 +1547,20 @@ class ValueAccessor {
1513
1547
  });
1514
1548
  }
1515
1549
  }
1516
- getErrorText(control) {
1550
+ getErrorTexts(control) {
1517
1551
  if (control.errors == null) {
1518
1552
  console.warn('no errors for invalid control', control);
1519
- return '';
1553
+ return [];
1520
1554
  }
1521
- const firstError = Object.entries(control.errors).at(0);
1522
- if (firstError == null) {
1555
+ const errorList = Object.entries(control.errors);
1556
+ if (errorList.length <= 0) {
1523
1557
  console.warn('no errors for invalid control', control);
1524
- return '';
1558
+ return [];
1525
1559
  }
1526
- const [key, value] = firstError;
1527
- return (this.validationMessagesService.getErrorMessage(getLanguage(), { key: key, ...value }) ?? key);
1560
+ return errorList.map((error) => {
1561
+ const [key, value] = error;
1562
+ return (this.validationMessagesService.getErrorMessage(getLanguage(), { key: key, ...value }) ?? key);
1563
+ });
1528
1564
  }
1529
1565
  }
1530
1566
  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 });
@@ -1536,7 +1572,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1536
1572
  args: ['blur', ['$event.target']]
1537
1573
  }] } });
1538
1574
  function getLanguage() {
1539
- const languages = ['de', 'fr', 'it', 'en'];
1540
1575
  const documentLang = document.documentElement.lang;
1541
1576
  if (languages.includes(documentLang)) {
1542
1577
  return documentLang;
@@ -1715,49 +1750,134 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1715
1750
  args: ['change', ['$event.target']]
1716
1751
  }] } });
1717
1752
 
1753
+ /**
1754
+ * This directive intercepts the ngSubmit event of an Angular form and introduces
1755
+ * a supplementary event named sixSubmit. The sixSubmit event is triggered exclusively
1756
+ * when the form is valid. In cases where the form is considered invalid, this directive
1757
+ * takes proactive actions by marking all form controls as touched and dirty. Additionally,
1758
+ * it shifts the focus to the initial invalid form element, facilitating quick error
1759
+ * resolution.
1760
+ *
1761
+ * To utilize this directive, apply it to an Angular form.
1762
+ * ```html
1763
+ * <form [formGroup]="form" sixForm (sixSubmit)="onSubmit($event)">
1764
+ * <!-- form content -->
1765
+ * </form>
1766
+ * ```
1767
+ *
1768
+ * For users needing greater flexibility in determining when error messages are displayed,
1769
+ * or for those who prefer not to rely solely on the form submission event,
1770
+ * an alternative is to use the SixFormUtilDirective.
1771
+ */
1772
+ class SixFormDirective {
1773
+ onNgSubmit(event) {
1774
+ if (this.formGroupDirective.invalid) {
1775
+ focusInvalidField(this.formGroupDirective, this.elementRef);
1776
+ }
1777
+ else {
1778
+ this.sixSubmit.emit(event);
1779
+ }
1780
+ }
1781
+ constructor(elementRef, formGroupDirective) {
1782
+ this.elementRef = elementRef;
1783
+ this.formGroupDirective = formGroupDirective;
1784
+ /**
1785
+ * Emits an event when the form is valid and the form submission has been triggered.
1786
+ */
1787
+ this.sixSubmit = new EventEmitter();
1788
+ }
1789
+ }
1790
+ 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 });
1791
+ 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 });
1792
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixFormDirective, decorators: [{
1793
+ type: Directive,
1794
+ args: [{
1795
+ selector: 'form[sixForm]',
1796
+ }]
1797
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormGroupDirective }]; }, propDecorators: { sixSubmit: [{
1798
+ type: Output
1799
+ }], onNgSubmit: [{
1800
+ type: HostListener,
1801
+ args: ['ngSubmit', ['$event']]
1802
+ }] } });
1803
+ /**
1804
+ * This directive provides a utility method, that marks all form controls
1805
+ * as touched and dirty, and focuses the first invalid form element.
1806
+ *
1807
+ * To utilize this directive, apply it to an Angular form.
1808
+ * ```html
1809
+ * <form [formGroup]="form" sixFormUtil (ngSubmit)="onSubmit($event)">
1810
+ * <!-- form content -->
1811
+ * </form>
1812
+ * ```
1813
+ *
1814
+ * Then, get a reference to the directive and invoke `focusInvalidField()` if the
1815
+ * form is invalid:
1816
+ * ```ts
1817
+ * @ViewChild(SixFormUtilDirective) sixFormUtil!: SixFormUtilDirective;
1818
+ * // ...
1819
+ * onSubmit() {
1820
+ * if (this.form.invalid) {
1821
+ * this.sixFormUtil.focusInvalidField();
1822
+ * } else {
1823
+ * // ...
1824
+ * }
1825
+ * }
1826
+ * ```
1827
+ */
1718
1828
  class SixFormUtilDirective {
1719
- constructor(elementRef, injector) {
1829
+ constructor(elementRef, formGroupDirective) {
1720
1830
  this.elementRef = elementRef;
1721
- this.injector = injector;
1831
+ this.formGroupDirective = formGroupDirective;
1722
1832
  }
1833
+ /** markAllControlsAsDirty(Object.values(formGroup.controls));
1834
+ * Marks all form controls as touched and dirty, and focuses the first
1835
+ * invalid form element.
1836
+ */
1723
1837
  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
- }
1838
+ focusInvalidField(this.formGroupDirective, this.elementRef);
1736
1839
  }
1737
1840
  }
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 });
1841
+ 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 });
1739
1842
  SixFormUtilDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SixFormUtilDirective, selector: "[sixFormUtil]", ngImport: i0 });
1740
1843
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixFormUtilDirective, decorators: [{
1741
1844
  type: Directive,
1742
1845
  args: [{
1743
1846
  selector: '[sixFormUtil]',
1744
1847
  }]
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
- });
1848
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormGroupDirective }]; } });
1849
+ function focusInvalidField(formGroupDirective, formElement) {
1850
+ formGroupDirective.form.markAllAsTouched();
1851
+ markAllAsDirty([formGroupDirective.form]);
1852
+ const invalidElement = getInvalidElement(formElement.nativeElement);
1853
+ if ('setFocus' in invalidElement && typeof invalidElement?.setFocus === 'function') {
1854
+ invalidElement.setFocus();
1759
1855
  }
1760
- markAllControlsAsDirty(Object.values(formGroup.controls));
1856
+ if ('focus' in invalidElement && typeof invalidElement?.focus === 'function') {
1857
+ invalidElement.focus();
1858
+ }
1859
+ }
1860
+ function getInvalidElement(parent) {
1861
+ const invalidElement = parent.querySelector('.ng-invalid');
1862
+ if (invalidElement == null) {
1863
+ return parent;
1864
+ }
1865
+ return getInvalidElement(invalidElement);
1866
+ }
1867
+ function markAllAsDirty(controls) {
1868
+ controls.forEach((control) => {
1869
+ if (control instanceof FormControl) {
1870
+ control.markAsDirty({ onlySelf: true });
1871
+ }
1872
+ else if (control instanceof FormGroup) {
1873
+ control.markAsDirty({ onlySelf: true });
1874
+ markAllAsDirty(Object.values(control.controls));
1875
+ }
1876
+ else if (control instanceof FormArray) {
1877
+ control.markAsDirty({ onlySelf: true });
1878
+ markAllAsDirty(control.controls);
1879
+ }
1880
+ });
1761
1881
  }
1762
1882
 
1763
1883
  class SixUiLibraryValidators {
@@ -1788,34 +1908,40 @@ class SixUiLibraryValidators {
1788
1908
  }
1789
1909
  class MinDateValidator {
1790
1910
  validate(control) {
1791
- return SixUiLibraryValidators.minDate(this.mindate);
1911
+ if (this.min != null) {
1912
+ return SixUiLibraryValidators.minDate(this.min)(control);
1913
+ }
1914
+ return null;
1792
1915
  }
1793
1916
  }
1794
1917
  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 });
1918
+ MinDateValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: MinDateValidator, selector: "six-datepicker[min]", inputs: { min: "min" }, providers: [{ provide: NG_VALIDATORS, useExisting: MinDateValidator, multi: true }], ngImport: i0 });
1796
1919
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MinDateValidator, decorators: [{
1797
1920
  type: Directive,
1798
1921
  args: [{
1799
1922
  selector: 'six-datepicker[min]',
1800
1923
  providers: [{ provide: NG_VALIDATORS, useExisting: MinDateValidator, multi: true }],
1801
1924
  }]
1802
- }], propDecorators: { mindate: [{
1925
+ }], propDecorators: { min: [{
1803
1926
  type: Input
1804
1927
  }] } });
1805
1928
  class MaxDateValidator {
1806
1929
  validate(control) {
1807
- return SixUiLibraryValidators.maxDate(this.maxdate);
1930
+ if (this.max != null) {
1931
+ return SixUiLibraryValidators.maxDate(this.max)(control);
1932
+ }
1933
+ return null;
1808
1934
  }
1809
1935
  }
1810
1936
  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 });
1937
+ MaxDateValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: MaxDateValidator, selector: "six-datepicker[max]", inputs: { max: "max" }, providers: [{ provide: NG_VALIDATORS, useExisting: MaxDateValidator, multi: true }], ngImport: i0 });
1812
1938
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MaxDateValidator, decorators: [{
1813
1939
  type: Directive,
1814
1940
  args: [{
1815
1941
  selector: 'six-datepicker[max]',
1816
1942
  providers: [{ provide: NG_VALIDATORS, useExisting: MaxDateValidator, multi: true }],
1817
1943
  }]
1818
- }], propDecorators: { maxdate: [{
1944
+ }], propDecorators: { max: [{
1819
1945
  type: Input
1820
1946
  }] } });
1821
1947
  class AllowedDatesValidator {
@@ -2051,6 +2177,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2051
2177
  args: ['change', ['$event.target']]
2052
2178
  }] } });
2053
2179
 
2180
+ /**
2181
+ * Forked from https://github.com/ionic-team/ionic-framework/blob/main/packages/angular/common/src/directives/navigation/router-link-delegate.ts.
2182
+ */
2183
+ class SixRouterLinkDirective {
2184
+ constructor(locationStrategy, elementRef, router, routerLinkDirective) {
2185
+ this.locationStrategy = locationStrategy;
2186
+ this.elementRef = elementRef;
2187
+ this.router = router;
2188
+ this.routerLinkDirective = routerLinkDirective;
2189
+ }
2190
+ ngOnInit() {
2191
+ this.updateTargetUrlAndHref();
2192
+ }
2193
+ ngOnChanges() {
2194
+ this.updateTargetUrlAndHref();
2195
+ }
2196
+ updateTargetUrlAndHref() {
2197
+ if (this.routerLinkDirective?.urlTree) {
2198
+ this.elementRef.nativeElement.href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.routerLinkDirective.urlTree));
2199
+ }
2200
+ }
2201
+ }
2202
+ SixRouterLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixRouterLinkDirective, deps: [{ token: i1$1.LocationStrategy }, { token: i0.ElementRef }, { token: i2.Router }, { token: i2.RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
2203
+ SixRouterLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SixRouterLinkDirective, selector: "six-sidebar-item[routerLink],six-sidebar-item-group[routerLink],six-button[routerLink]", inputs: { routerLink: "routerLink", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", relativeTo: "relativeTo" }, usesOnChanges: true, ngImport: i0 });
2204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixRouterLinkDirective, decorators: [{
2205
+ type: Directive,
2206
+ args: [{
2207
+ selector: 'six-sidebar-item[routerLink],six-sidebar-item-group[routerLink],six-button[routerLink]',
2208
+ }]
2209
+ }], ctorParameters: function () { return [{ type: i1$1.LocationStrategy }, { type: i0.ElementRef }, { type: i2.Router }, { type: i2.RouterLink, decorators: [{
2210
+ type: Optional
2211
+ }] }]; }, propDecorators: { routerLink: [{
2212
+ type: Input
2213
+ }], queryParams: [{
2214
+ type: Input
2215
+ }], fragment: [{
2216
+ type: Input
2217
+ }], queryParamsHandling: [{
2218
+ type: Input
2219
+ }], relativeTo: [{
2220
+ type: Input
2221
+ }] } });
2222
+
2054
2223
  class UiLibraryAngularModule {
2055
2224
  static forRoot(customValidationMessagesService) {
2056
2225
  return {
@@ -2058,9 +2227,8 @@ class UiLibraryAngularModule {
2058
2227
  providers: [
2059
2228
  {
2060
2229
  provide: APP_INITIALIZER,
2061
- useFactory: () => {
2062
- return defineCustomElements();
2063
- },
2230
+ useFactory: () => async () => defineCustomElements(),
2231
+ multi: true,
2064
2232
  },
2065
2233
  { provide: ValidationMessagesService, useClass: customValidationMessagesService ?? ValidationMessagesService },
2066
2234
  ],
@@ -2068,7 +2236,7 @@ class UiLibraryAngularModule {
2068
2236
  }
2069
2237
  }
2070
2238
  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,
2239
+ 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, SixError, 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
2240
  // value accessors
2073
2241
  TextValueAccessor,
2074
2242
  NumericValueAccessor,
@@ -2086,7 +2254,10 @@ UiLibraryAngularModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
2086
2254
  MaxDateValidator,
2087
2255
  AllowedDatesValidator,
2088
2256
  // 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,
2257
+ SixFormDirective,
2258
+ SixFormUtilDirective,
2259
+ // router link directive
2260
+ SixRouterLinkDirective], exports: [SetAttributes, SixAlert, SixAvatar, SixBadge, SixButton, SixCard, SixCheckbox, SixDatepicker, SixDetails, SixDialog, SixDrawer, SixDropdown, SixError, 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
2261
  // value accessors
2091
2262
  TextValueAccessor,
2092
2263
  NumericValueAccessor,
@@ -2104,7 +2275,10 @@ UiLibraryAngularModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
2104
2275
  MaxDateValidator,
2105
2276
  AllowedDatesValidator,
2106
2277
  // form helpers
2107
- SixFormUtilDirective] });
2278
+ SixFormDirective,
2279
+ SixFormUtilDirective,
2280
+ // router link directive
2281
+ SixRouterLinkDirective] });
2108
2282
  UiLibraryAngularModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule });
2109
2283
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule, decorators: [{
2110
2284
  type: NgModule,
@@ -2129,7 +2303,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2129
2303
  MaxDateValidator,
2130
2304
  AllowedDatesValidator,
2131
2305
  // form helpers
2306
+ SixFormDirective,
2132
2307
  SixFormUtilDirective,
2308
+ // router link directive
2309
+ SixRouterLinkDirective,
2133
2310
  ],
2134
2311
  imports: [],
2135
2312
  exports: [
@@ -2152,7 +2329,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2152
2329
  MaxDateValidator,
2153
2330
  AllowedDatesValidator,
2154
2331
  // form helpers
2332
+ SixFormDirective,
2155
2333
  SixFormUtilDirective,
2334
+ // router link directive
2335
+ SixRouterLinkDirective,
2156
2336
  ],
2157
2337
  }]
2158
2338
  }] });
@@ -2165,5 +2345,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2165
2345
  * Generated bundle index. Do not edit.
2166
2346
  */
2167
2347
 
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 };
2348
+ 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, SixError, 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, SixRouterLinkDirective, SixSearchField, SixSelect, SixSidebar, SixSidebarItem, SixSidebarItemGroup, SixSpinner, SixStageIndicator, SixSwitch, SixTab, SixTabGroup, SixTabPanel, SixTag, SixTextarea, SixTile, SixTimepicker, SixTooltip, SixUiLibraryValidators, SwitchValueAccessor, TextValueAccessor, TimepickerValueAccessor, UiLibraryAngularModule, ValidationMessagesService, ValueAccessor };
2169
2349
  //# sourceMappingURL=six-group-ui-library-angular.mjs.map