@six-group/ui-library-angular 0.0.0-insider.73220e4 → 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
+ import { __decorate, __awaiter } from 'tslib';
1
2
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Injectable, inject, Directive, HostListener, Input, APP_INITIALIZER, NgModule } from '@angular/core';
3
- import { __decorate } from 'tslib';
3
+ import { Component, ChangeDetectionStrategy, Injectable, inject, Directive, HostListener, Input, EventEmitter, Output, Optional, APP_INITIALIZER, NgModule } from '@angular/core';
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,
@@ -1465,12 +1499,12 @@ class ValueAccessor {
1465
1499
  const element = this.el.nativeElement;
1466
1500
  const control = (_b = this.ngControl) === null || _b === void 0 ? void 0 : _b.control;
1467
1501
  const invalid = !control.valid && control.dirty && control.touched;
1468
- let errorText;
1502
+ let errorTexts;
1469
1503
  if (invalid) {
1470
- errorText = this.initialErrorText || this.getErrorText(control);
1504
+ errorTexts = this.initialErrorText || this.getErrorTexts(control);
1471
1505
  }
1472
1506
  element.invalid = invalid;
1473
- element.errorText = errorText !== null && errorText !== void 0 ? errorText : '';
1507
+ element.errorText = errorTexts !== null && errorTexts !== void 0 ? errorTexts : '';
1474
1508
  });
1475
1509
  }
1476
1510
  setDisabledState(isDisabled) {
@@ -1515,19 +1549,21 @@ class ValueAccessor {
1515
1549
  });
1516
1550
  }
1517
1551
  }
1518
- getErrorText(control) {
1519
- var _a;
1552
+ getErrorTexts(control) {
1520
1553
  if (control.errors == null) {
1521
1554
  console.warn('no errors for invalid control', control);
1522
- return '';
1555
+ return [];
1523
1556
  }
1524
- const firstError = Object.entries(control.errors).at(0);
1525
- if (firstError == null) {
1557
+ const errorList = Object.entries(control.errors);
1558
+ if (errorList.length <= 0) {
1526
1559
  console.warn('no errors for invalid control', control);
1527
- return '';
1560
+ return [];
1528
1561
  }
1529
- const [key, value] = firstError;
1530
- return ((_a = this.validationMessagesService.getErrorMessage(getLanguage(), Object.assign({ key: key }, value))) !== null && _a !== void 0 ? _a : key);
1562
+ return errorList.map((error) => {
1563
+ var _a;
1564
+ const [key, value] = error;
1565
+ return ((_a = this.validationMessagesService.getErrorMessage(getLanguage(), Object.assign({ key: key }, value))) !== null && _a !== void 0 ? _a : key);
1566
+ });
1531
1567
  }
1532
1568
  }
1533
1569
  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 });
@@ -1539,7 +1575,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1539
1575
  args: ['blur', ['$event.target']]
1540
1576
  }] } });
1541
1577
  function getLanguage() {
1542
- const languages = ['de', 'fr', 'it', 'en'];
1543
1578
  const documentLang = document.documentElement.lang;
1544
1579
  if (languages.includes(documentLang)) {
1545
1580
  return documentLang;
@@ -1718,49 +1753,134 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1718
1753
  args: ['change', ['$event.target']]
1719
1754
  }] } });
1720
1755
 
1756
+ /**
1757
+ * This directive intercepts the ngSubmit event of an Angular form and introduces
1758
+ * a supplementary event named sixSubmit. The sixSubmit event is triggered exclusively
1759
+ * when the form is valid. In cases where the form is considered invalid, this directive
1760
+ * takes proactive actions by marking all form controls as touched and dirty. Additionally,
1761
+ * it shifts the focus to the initial invalid form element, facilitating quick error
1762
+ * resolution.
1763
+ *
1764
+ * To utilize this directive, apply it to an Angular form.
1765
+ * ```html
1766
+ * <form [formGroup]="form" sixForm (sixSubmit)="onSubmit($event)">
1767
+ * <!-- form content -->
1768
+ * </form>
1769
+ * ```
1770
+ *
1771
+ * For users needing greater flexibility in determining when error messages are displayed,
1772
+ * or for those who prefer not to rely solely on the form submission event,
1773
+ * an alternative is to use the SixFormUtilDirective.
1774
+ */
1775
+ class SixFormDirective {
1776
+ onNgSubmit(event) {
1777
+ if (this.formGroupDirective.invalid) {
1778
+ focusInvalidField(this.formGroupDirective, this.elementRef);
1779
+ }
1780
+ else {
1781
+ this.sixSubmit.emit(event);
1782
+ }
1783
+ }
1784
+ constructor(elementRef, formGroupDirective) {
1785
+ this.elementRef = elementRef;
1786
+ this.formGroupDirective = formGroupDirective;
1787
+ /**
1788
+ * Emits an event when the form is valid and the form submission has been triggered.
1789
+ */
1790
+ this.sixSubmit = new EventEmitter();
1791
+ }
1792
+ }
1793
+ 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 });
1794
+ 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 });
1795
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixFormDirective, decorators: [{
1796
+ type: Directive,
1797
+ args: [{
1798
+ selector: 'form[sixForm]',
1799
+ }]
1800
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormGroupDirective }]; }, propDecorators: { sixSubmit: [{
1801
+ type: Output
1802
+ }], onNgSubmit: [{
1803
+ type: HostListener,
1804
+ args: ['ngSubmit', ['$event']]
1805
+ }] } });
1806
+ /**
1807
+ * This directive provides a utility method, that marks all form controls
1808
+ * as touched and dirty, and focuses the first invalid form element.
1809
+ *
1810
+ * To utilize this directive, apply it to an Angular form.
1811
+ * ```html
1812
+ * <form [formGroup]="form" sixFormUtil (ngSubmit)="onSubmit($event)">
1813
+ * <!-- form content -->
1814
+ * </form>
1815
+ * ```
1816
+ *
1817
+ * Then, get a reference to the directive and invoke `focusInvalidField()` if the
1818
+ * form is invalid:
1819
+ * ```ts
1820
+ * @ViewChild(SixFormUtilDirective) sixFormUtil!: SixFormUtilDirective;
1821
+ * // ...
1822
+ * onSubmit() {
1823
+ * if (this.form.invalid) {
1824
+ * this.sixFormUtil.focusInvalidField();
1825
+ * } else {
1826
+ * // ...
1827
+ * }
1828
+ * }
1829
+ * ```
1830
+ */
1721
1831
  class SixFormUtilDirective {
1722
- constructor(elementRef, injector) {
1832
+ constructor(elementRef, formGroupDirective) {
1723
1833
  this.elementRef = elementRef;
1724
- this.injector = injector;
1834
+ this.formGroupDirective = formGroupDirective;
1725
1835
  }
1836
+ /** markAllControlsAsDirty(Object.values(formGroup.controls));
1837
+ * Marks all form controls as touched and dirty, and focuses the first
1838
+ * invalid form element.
1839
+ */
1726
1840
  focusInvalidField() {
1727
- const formGroupDirective = this.injector.get(FormGroupDirective);
1728
- if (formGroupDirective) {
1729
- formGroupDirective.form.markAllAsTouched();
1730
- markAllAsDirty(formGroupDirective.form);
1731
- const invalidField = this.elementRef.nativeElement.querySelector('.ng-invalid');
1732
- if (typeof (invalidField === null || invalidField === void 0 ? void 0 : invalidField.setFocus) === 'function') {
1733
- invalidField.setFocus();
1734
- }
1735
- else if (typeof (invalidField === null || invalidField === void 0 ? void 0 : invalidField.focus) === 'function') {
1736
- invalidField === null || invalidField === void 0 ? void 0 : invalidField.focus();
1737
- }
1738
- }
1841
+ focusInvalidField(this.formGroupDirective, this.elementRef);
1739
1842
  }
1740
1843
  }
1741
- 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 });
1844
+ 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 });
1742
1845
  SixFormUtilDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SixFormUtilDirective, selector: "[sixFormUtil]", ngImport: i0 });
1743
1846
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixFormUtilDirective, decorators: [{
1744
1847
  type: Directive,
1745
1848
  args: [{
1746
1849
  selector: '[sixFormUtil]',
1747
1850
  }]
1748
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Injector }]; } });
1749
- function markAllAsDirty(formGroup) {
1750
- function markAllControlsAsDirty(controls) {
1751
- controls.forEach((control) => {
1752
- if (control instanceof FormControl) {
1753
- control.markAsDirty({ onlySelf: true });
1754
- }
1755
- else if (control instanceof FormGroup) {
1756
- markAllControlsAsDirty(Object.values(control.controls));
1757
- }
1758
- else if (control instanceof FormArray) {
1759
- markAllControlsAsDirty(control.controls);
1760
- }
1761
- });
1851
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormGroupDirective }]; } });
1852
+ function focusInvalidField(formGroupDirective, formElement) {
1853
+ formGroupDirective.form.markAllAsTouched();
1854
+ markAllAsDirty([formGroupDirective.form]);
1855
+ const invalidElement = getInvalidElement(formElement.nativeElement);
1856
+ if ('setFocus' in invalidElement && typeof (invalidElement === null || invalidElement === void 0 ? void 0 : invalidElement.setFocus) === 'function') {
1857
+ invalidElement.setFocus();
1762
1858
  }
1763
- markAllControlsAsDirty(Object.values(formGroup.controls));
1859
+ if ('focus' in invalidElement && typeof (invalidElement === null || invalidElement === void 0 ? void 0 : invalidElement.focus) === 'function') {
1860
+ invalidElement.focus();
1861
+ }
1862
+ }
1863
+ function getInvalidElement(parent) {
1864
+ const invalidElement = parent.querySelector('.ng-invalid');
1865
+ if (invalidElement == null) {
1866
+ return parent;
1867
+ }
1868
+ return getInvalidElement(invalidElement);
1869
+ }
1870
+ function markAllAsDirty(controls) {
1871
+ controls.forEach((control) => {
1872
+ if (control instanceof FormControl) {
1873
+ control.markAsDirty({ onlySelf: true });
1874
+ }
1875
+ else if (control instanceof FormGroup) {
1876
+ control.markAsDirty({ onlySelf: true });
1877
+ markAllAsDirty(Object.values(control.controls));
1878
+ }
1879
+ else if (control instanceof FormArray) {
1880
+ control.markAsDirty({ onlySelf: true });
1881
+ markAllAsDirty(control.controls);
1882
+ }
1883
+ });
1764
1884
  }
1765
1885
 
1766
1886
  class SixUiLibraryValidators {
@@ -1791,34 +1911,40 @@ class SixUiLibraryValidators {
1791
1911
  }
1792
1912
  class MinDateValidator {
1793
1913
  validate(control) {
1794
- return SixUiLibraryValidators.minDate(this.mindate);
1914
+ if (this.min != null) {
1915
+ return SixUiLibraryValidators.minDate(this.min)(control);
1916
+ }
1917
+ return null;
1795
1918
  }
1796
1919
  }
1797
1920
  MinDateValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MinDateValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1798
- 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 });
1921
+ 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 });
1799
1922
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MinDateValidator, decorators: [{
1800
1923
  type: Directive,
1801
1924
  args: [{
1802
1925
  selector: 'six-datepicker[min]',
1803
1926
  providers: [{ provide: NG_VALIDATORS, useExisting: MinDateValidator, multi: true }],
1804
1927
  }]
1805
- }], propDecorators: { mindate: [{
1928
+ }], propDecorators: { min: [{
1806
1929
  type: Input
1807
1930
  }] } });
1808
1931
  class MaxDateValidator {
1809
1932
  validate(control) {
1810
- return SixUiLibraryValidators.maxDate(this.maxdate);
1933
+ if (this.max != null) {
1934
+ return SixUiLibraryValidators.maxDate(this.max)(control);
1935
+ }
1936
+ return null;
1811
1937
  }
1812
1938
  }
1813
1939
  MaxDateValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MaxDateValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1814
- 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 });
1940
+ 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 });
1815
1941
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MaxDateValidator, decorators: [{
1816
1942
  type: Directive,
1817
1943
  args: [{
1818
1944
  selector: 'six-datepicker[max]',
1819
1945
  providers: [{ provide: NG_VALIDATORS, useExisting: MaxDateValidator, multi: true }],
1820
1946
  }]
1821
- }], propDecorators: { maxdate: [{
1947
+ }], propDecorators: { max: [{
1822
1948
  type: Input
1823
1949
  }] } });
1824
1950
  class AllowedDatesValidator {
@@ -2054,6 +2180,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2054
2180
  args: ['change', ['$event.target']]
2055
2181
  }] } });
2056
2182
 
2183
+ /**
2184
+ * Forked from https://github.com/ionic-team/ionic-framework/blob/main/packages/angular/common/src/directives/navigation/router-link-delegate.ts.
2185
+ */
2186
+ class SixRouterLinkDirective {
2187
+ constructor(locationStrategy, elementRef, router, routerLinkDirective) {
2188
+ this.locationStrategy = locationStrategy;
2189
+ this.elementRef = elementRef;
2190
+ this.router = router;
2191
+ this.routerLinkDirective = routerLinkDirective;
2192
+ }
2193
+ ngOnInit() {
2194
+ this.updateTargetUrlAndHref();
2195
+ }
2196
+ ngOnChanges() {
2197
+ this.updateTargetUrlAndHref();
2198
+ }
2199
+ updateTargetUrlAndHref() {
2200
+ var _a;
2201
+ if ((_a = this.routerLinkDirective) === null || _a === void 0 ? void 0 : _a.urlTree) {
2202
+ this.elementRef.nativeElement.href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.routerLinkDirective.urlTree));
2203
+ }
2204
+ }
2205
+ }
2206
+ 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 });
2207
+ 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 });
2208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixRouterLinkDirective, decorators: [{
2209
+ type: Directive,
2210
+ args: [{
2211
+ selector: 'six-sidebar-item[routerLink],six-sidebar-item-group[routerLink],six-button[routerLink]',
2212
+ }]
2213
+ }], ctorParameters: function () {
2214
+ return [{ type: i1$1.LocationStrategy }, { type: i0.ElementRef }, { type: i2.Router }, { type: i2.RouterLink, decorators: [{
2215
+ type: Optional
2216
+ }] }];
2217
+ }, propDecorators: { routerLink: [{
2218
+ type: Input
2219
+ }], queryParams: [{
2220
+ type: Input
2221
+ }], fragment: [{
2222
+ type: Input
2223
+ }], queryParamsHandling: [{
2224
+ type: Input
2225
+ }], relativeTo: [{
2226
+ type: Input
2227
+ }] } });
2228
+
2057
2229
  class UiLibraryAngularModule {
2058
2230
  static forRoot(customValidationMessagesService) {
2059
2231
  return {
@@ -2061,9 +2233,8 @@ class UiLibraryAngularModule {
2061
2233
  providers: [
2062
2234
  {
2063
2235
  provide: APP_INITIALIZER,
2064
- useFactory: () => {
2065
- return defineCustomElements();
2066
- },
2236
+ useFactory: () => () => __awaiter(this, void 0, void 0, function* () { return defineCustomElements(); }),
2237
+ multi: true,
2067
2238
  },
2068
2239
  { provide: ValidationMessagesService, useClass: customValidationMessagesService !== null && customValidationMessagesService !== void 0 ? customValidationMessagesService : ValidationMessagesService },
2069
2240
  ],
@@ -2071,7 +2242,7 @@ class UiLibraryAngularModule {
2071
2242
  }
2072
2243
  }
2073
2244
  UiLibraryAngularModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2074
- 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,
2245
+ 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,
2075
2246
  // value accessors
2076
2247
  TextValueAccessor,
2077
2248
  NumericValueAccessor,
@@ -2089,7 +2260,10 @@ UiLibraryAngularModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
2089
2260
  MaxDateValidator,
2090
2261
  AllowedDatesValidator,
2091
2262
  // form helpers
2092
- 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,
2263
+ SixFormDirective,
2264
+ SixFormUtilDirective,
2265
+ // router link directive
2266
+ 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,
2093
2267
  // value accessors
2094
2268
  TextValueAccessor,
2095
2269
  NumericValueAccessor,
@@ -2107,7 +2281,10 @@ UiLibraryAngularModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
2107
2281
  MaxDateValidator,
2108
2282
  AllowedDatesValidator,
2109
2283
  // form helpers
2110
- SixFormUtilDirective] });
2284
+ SixFormDirective,
2285
+ SixFormUtilDirective,
2286
+ // router link directive
2287
+ SixRouterLinkDirective] });
2111
2288
  UiLibraryAngularModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule });
2112
2289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule, decorators: [{
2113
2290
  type: NgModule,
@@ -2132,7 +2309,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2132
2309
  MaxDateValidator,
2133
2310
  AllowedDatesValidator,
2134
2311
  // form helpers
2312
+ SixFormDirective,
2135
2313
  SixFormUtilDirective,
2314
+ // router link directive
2315
+ SixRouterLinkDirective,
2136
2316
  ],
2137
2317
  imports: [],
2138
2318
  exports: [
@@ -2155,7 +2335,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2155
2335
  MaxDateValidator,
2156
2336
  AllowedDatesValidator,
2157
2337
  // form helpers
2338
+ SixFormDirective,
2158
2339
  SixFormUtilDirective,
2340
+ // router link directive
2341
+ SixRouterLinkDirective,
2159
2342
  ],
2160
2343
  }]
2161
2344
  }] });
@@ -2168,5 +2351,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2168
2351
  * Generated bundle index. Do not edit.
2169
2352
  */
2170
2353
 
2171
- 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 };
2354
+ 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 };
2172
2355
  //# sourceMappingURL=six-group-ui-library-angular.mjs.map