@six-group/ui-library-angular 0.0.0-insider.e148618 → 0.0.0-insider.f058d60

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.
@@ -0,0 +1,134 @@
1
+ import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
2
+ import { FormArray, FormControl, FormGroup } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/forms";
5
+ /**
6
+ * This directive intercepts the ngSubmit event of an Angular form and introduces
7
+ * a supplementary event named sixSubmit. The sixSubmit event is triggered exclusively
8
+ * when the form is valid. In cases where the form is considered invalid, this directive
9
+ * takes proactive actions by marking all form controls as touched and dirty. Additionally,
10
+ * it shifts the focus to the initial invalid form element, facilitating quick error
11
+ * resolution.
12
+ *
13
+ * To utilize this directive, apply it to an Angular form.
14
+ * ```html
15
+ * <form [formGroup]="form" sixForm (sixSubmit)="onSubmit($event)">
16
+ * <!-- form content -->
17
+ * </form>
18
+ * ```
19
+ *
20
+ * For users needing greater flexibility in determining when error messages are displayed,
21
+ * or for those who prefer not to rely solely on the form submission event,
22
+ * an alternative is to use the SixFormUtilDirective.
23
+ */
24
+ export class SixFormDirective {
25
+ onNgSubmit(event) {
26
+ if (this.formGroupDirective.invalid) {
27
+ focusInvalidField(this.formGroupDirective, this.elementRef);
28
+ }
29
+ else {
30
+ this.sixSubmit.emit(event);
31
+ }
32
+ }
33
+ constructor(elementRef, formGroupDirective) {
34
+ this.elementRef = elementRef;
35
+ this.formGroupDirective = formGroupDirective;
36
+ /**
37
+ * Emits an event when the form is valid and the form submission has been triggered.
38
+ */
39
+ this.sixSubmit = new EventEmitter();
40
+ }
41
+ }
42
+ 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 });
43
+ 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 });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixFormDirective, decorators: [{
45
+ type: Directive,
46
+ args: [{
47
+ selector: 'form[sixForm]',
48
+ }]
49
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormGroupDirective }]; }, propDecorators: { sixSubmit: [{
50
+ type: Output
51
+ }], onNgSubmit: [{
52
+ type: HostListener,
53
+ args: ['ngSubmit', ['$event']]
54
+ }] } });
55
+ /**
56
+ * This directive provides a utility method, that marks all form controls
57
+ * as touched and dirty, and focuses the first invalid form element.
58
+ *
59
+ * To utilize this directive, apply it to an Angular form.
60
+ * ```html
61
+ * <form [formGroup]="form" sixFormUtil (ngSubmit)="onSubmit($event)">
62
+ * <!-- form content -->
63
+ * </form>
64
+ * ```
65
+ *
66
+ * Then, get a reference to the directive and invoke `focusInvalidField()` if the
67
+ * form is invalid:
68
+ * ```ts
69
+ * @ViewChild(SixFormUtilDirective) sixFormUtil!: SixFormUtilDirective;
70
+ * // ...
71
+ * onSubmit() {
72
+ * if (this.form.invalid) {
73
+ * this.sixFormUtil.focusInvalidField();
74
+ * } else {
75
+ * // ...
76
+ * }
77
+ * }
78
+ * ```
79
+ */
80
+ export class SixFormUtilDirective {
81
+ constructor(elementRef, formGroupDirective) {
82
+ this.elementRef = elementRef;
83
+ this.formGroupDirective = formGroupDirective;
84
+ }
85
+ /** markAllControlsAsDirty(Object.values(formGroup.controls));
86
+ * Marks all form controls as touched and dirty, and focuses the first
87
+ * invalid form element.
88
+ */
89
+ focusInvalidField() {
90
+ focusInvalidField(this.formGroupDirective, this.elementRef);
91
+ }
92
+ }
93
+ 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 });
94
+ SixFormUtilDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SixFormUtilDirective, selector: "[sixFormUtil]", ngImport: i0 });
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixFormUtilDirective, decorators: [{
96
+ type: Directive,
97
+ args: [{
98
+ selector: '[sixFormUtil]',
99
+ }]
100
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormGroupDirective }]; } });
101
+ function focusInvalidField(formGroupDirective, formElement) {
102
+ formGroupDirective.form.markAllAsTouched();
103
+ markAllAsDirty([formGroupDirective.form]);
104
+ const invalidElement = getInvalidElement(formElement.nativeElement);
105
+ if ('setFocus' in invalidElement && typeof invalidElement?.setFocus === 'function') {
106
+ invalidElement.setFocus();
107
+ }
108
+ if ('focus' in invalidElement && typeof invalidElement?.focus === 'function') {
109
+ invalidElement.focus();
110
+ }
111
+ }
112
+ function getInvalidElement(parent) {
113
+ const invalidElement = parent.querySelector('.ng-invalid');
114
+ if (invalidElement == null) {
115
+ return parent;
116
+ }
117
+ return getInvalidElement(invalidElement);
118
+ }
119
+ function markAllAsDirty(controls) {
120
+ controls.forEach((control) => {
121
+ if (control instanceof FormControl) {
122
+ control.markAsDirty({ onlySelf: true });
123
+ }
124
+ else if (control instanceof FormGroup) {
125
+ control.markAsDirty({ onlySelf: true });
126
+ markAllAsDirty(Object.values(control.controls));
127
+ }
128
+ else if (control instanceof FormArray) {
129
+ control.markAsDirty({ onlySelf: true });
130
+ markAllAsDirty(control.controls);
131
+ }
132
+ });
133
+ }
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l4LWZvcm0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mb3JtL3NpeC1mb3JtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBbUIsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV4Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQixVQUFVLENBQUMsS0FBa0I7UUFDM0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFO1lBQ25DLGlCQUFpQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDN0Q7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELFlBQW9CLFVBQW1DLEVBQVUsa0JBQXNDO1FBQW5GLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQWR2Rzs7V0FFRztRQUNPLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0lBV29ELENBQUM7OzZHQWZoRyxnQkFBZ0I7aUdBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjtrSUFLVyxTQUFTO3NCQUFsQixNQUFNO2dCQUdQLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0FBWXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW9CLFVBQW1DLEVBQVUsa0JBQXNDO1FBQW5GLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7SUFFM0c7OztPQUdHO0lBQ0ksaUJBQWlCO1FBQ3RCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUQsQ0FBQzs7aUhBVFUsb0JBQW9CO3FHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7O0FBYUQsU0FBUyxpQkFBaUIsQ0FBQyxrQkFBc0MsRUFBRSxXQUFvQztJQUNyRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMzQyxjQUFjLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRTFDLE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRSxJQUFJLFVBQVUsSUFBSSxjQUFjLElBQUksT0FBTyxjQUFjLEVBQUUsUUFBUSxLQUFLLFVBQVUsRUFBRTtRQUNsRixjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDM0I7SUFDRCxJQUFJLE9BQU8sSUFBSSxjQUFjLElBQUksT0FBTyxjQUFjLEVBQUUsS0FBSyxLQUFLLFVBQVUsRUFBRTtRQUM1RSxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7S0FDeEI7QUFDSCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxNQUFlO0lBQ3hDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0QsSUFBSSxjQUFjLElBQUksSUFBSSxFQUFFO1FBQzFCLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFDRCxPQUFPLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxRQUEyQjtJQUNqRCxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDM0IsSUFBSSxPQUFPLFlBQVksV0FBVyxFQUFFO1lBQ2xDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN6QzthQUFNLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRTtZQUN2QyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDeEMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDakQ7YUFBTSxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUU7WUFDdkMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3hDLGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3JtR3JvdXBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogVGhpcyBkaXJlY3RpdmUgaW50ZXJjZXB0cyB0aGUgbmdTdWJtaXQgZXZlbnQgb2YgYW4gQW5ndWxhciBmb3JtIGFuZCBpbnRyb2R1Y2VzXG4gKiBhIHN1cHBsZW1lbnRhcnkgZXZlbnQgbmFtZWQgc2l4U3VibWl0LiBUaGUgc2l4U3VibWl0IGV2ZW50IGlzIHRyaWdnZXJlZCBleGNsdXNpdmVseVxuICogd2hlbiB0aGUgZm9ybSBpcyB2YWxpZC4gSW4gY2FzZXMgd2hlcmUgdGhlIGZvcm0gaXMgY29uc2lkZXJlZCBpbnZhbGlkLCB0aGlzIGRpcmVjdGl2ZVxuICogdGFrZXMgcHJvYWN0aXZlIGFjdGlvbnMgYnkgbWFya2luZyBhbGwgZm9ybSBjb250cm9scyBhcyB0b3VjaGVkIGFuZCBkaXJ0eS4gQWRkaXRpb25hbGx5LFxuICogaXQgc2hpZnRzIHRoZSBmb2N1cyB0byB0aGUgaW5pdGlhbCBpbnZhbGlkIGZvcm0gZWxlbWVudCwgZmFjaWxpdGF0aW5nIHF1aWNrIGVycm9yXG4gKiByZXNvbHV0aW9uLlxuICpcbiAqIFRvIHV0aWxpemUgdGhpcyBkaXJlY3RpdmUsIGFwcGx5IGl0IHRvIGFuIEFuZ3VsYXIgZm9ybS5cbiAqIGBgYGh0bWxcbiAqIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIHNpeEZvcm0gKHNpeFN1Ym1pdCk9XCJvblN1Ym1pdCgkZXZlbnQpXCI+XG4gKiAgIDwhLS0gZm9ybSBjb250ZW50IC0tPlxuICogPC9mb3JtPlxuICogYGBgXG4gKlxuICogRm9yIHVzZXJzIG5lZWRpbmcgZ3JlYXRlciBmbGV4aWJpbGl0eSBpbiBkZXRlcm1pbmluZyB3aGVuIGVycm9yIG1lc3NhZ2VzIGFyZSBkaXNwbGF5ZWQsXG4gKiBvciBmb3IgdGhvc2Ugd2hvIHByZWZlciBub3QgdG8gcmVseSBzb2xlbHkgb24gdGhlIGZvcm0gc3VibWlzc2lvbiBldmVudCxcbiAqIGFuIGFsdGVybmF0aXZlIGlzIHRvIHVzZSB0aGUgU2l4Rm9ybVV0aWxEaXJlY3RpdmUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2Zvcm1bc2l4Rm9ybV0nLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhGb3JtRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIEVtaXRzIGFuIGV2ZW50IHdoZW4gdGhlIGZvcm0gaXMgdmFsaWQgYW5kIHRoZSBmb3JtIHN1Ym1pc3Npb24gaGFzIGJlZW4gdHJpZ2dlcmVkLlxuICAgKi9cbiAgQE91dHB1dCgpIHNpeFN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8U3VibWl0RXZlbnQ+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcignbmdTdWJtaXQnLCBbJyRldmVudCddKVxuICBvbk5nU3VibWl0KGV2ZW50OiBTdWJtaXRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm1Hcm91cERpcmVjdGl2ZS5pbnZhbGlkKSB7XG4gICAgICBmb2N1c0ludmFsaWRGaWVsZCh0aGlzLmZvcm1Hcm91cERpcmVjdGl2ZSwgdGhpcy5lbGVtZW50UmVmKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaXhTdWJtaXQuZW1pdChldmVudCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJpdmF0ZSBmb3JtR3JvdXBEaXJlY3RpdmU6IEZvcm1Hcm91cERpcmVjdGl2ZSkge31cbn1cblxuLyoqXG4gKiBUaGlzIGRpcmVjdGl2ZSBwcm92aWRlcyBhIHV0aWxpdHkgbWV0aG9kLCB0aGF0IG1hcmtzIGFsbCBmb3JtIGNvbnRyb2xzXG4gKiBhcyB0b3VjaGVkIGFuZCBkaXJ0eSwgYW5kIGZvY3VzZXMgdGhlIGZpcnN0IGludmFsaWQgZm9ybSBlbGVtZW50LlxuICpcbiAqIFRvIHV0aWxpemUgdGhpcyBkaXJlY3RpdmUsIGFwcGx5IGl0IHRvIGFuIEFuZ3VsYXIgZm9ybS5cbiAqIGBgYGh0bWxcbiAqIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIHNpeEZvcm1VdGlsIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgkZXZlbnQpXCI+XG4gKiAgIDwhLS0gZm9ybSBjb250ZW50IC0tPlxuICogPC9mb3JtPlxuICogYGBgXG4gKlxuICogVGhlbiwgZ2V0IGEgcmVmZXJlbmNlIHRvIHRoZSBkaXJlY3RpdmUgYW5kIGludm9rZSBgZm9jdXNJbnZhbGlkRmllbGQoKWAgaWYgdGhlXG4gKiBmb3JtIGlzIGludmFsaWQ6XG4gKiBgYGB0c1xuICogQFZpZXdDaGlsZChTaXhGb3JtVXRpbERpcmVjdGl2ZSkgc2l4Rm9ybVV0aWwhOiBTaXhGb3JtVXRpbERpcmVjdGl2ZTtcbiAqIC8vIC4uLlxuICogb25TdWJtaXQoKSB7XG4gKiAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xuICogICAgIHRoaXMuc2l4Rm9ybVV0aWwuZm9jdXNJbnZhbGlkRmllbGQoKTtcbiAqICAgfSBlbHNlIHtcbiAqICAgICAgLy8gLi4uXG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2l4Rm9ybVV0aWxdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2l4Rm9ybVV0aWxEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIGZvcm1Hcm91cERpcmVjdGl2ZTogRm9ybUdyb3VwRGlyZWN0aXZlKSB7fVxuXG4gIC8qKiBtYXJrQWxsQ29udHJvbHNBc0RpcnR5KE9iamVjdC52YWx1ZXMoZm9ybUdyb3VwLmNvbnRyb2xzKSk7XG4gICAqIE1hcmtzIGFsbCBmb3JtIGNvbnRyb2xzIGFzIHRvdWNoZWQgYW5kIGRpcnR5LCBhbmQgZm9jdXNlcyB0aGUgZmlyc3RcbiAgICogaW52YWxpZCBmb3JtIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZm9jdXNJbnZhbGlkRmllbGQoKSB7XG4gICAgZm9jdXNJbnZhbGlkRmllbGQodGhpcy5mb3JtR3JvdXBEaXJlY3RpdmUsIHRoaXMuZWxlbWVudFJlZik7XG4gIH1cbn1cblxuZnVuY3Rpb24gZm9jdXNJbnZhbGlkRmllbGQoZm9ybUdyb3VwRGlyZWN0aXZlOiBGb3JtR3JvdXBEaXJlY3RpdmUsIGZvcm1FbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICBmb3JtR3JvdXBEaXJlY3RpdmUuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gIG1hcmtBbGxBc0RpcnR5KFtmb3JtR3JvdXBEaXJlY3RpdmUuZm9ybV0pO1xuXG4gIGNvbnN0IGludmFsaWRFbGVtZW50ID0gZ2V0SW52YWxpZEVsZW1lbnQoZm9ybUVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gIGlmICgnc2V0Rm9jdXMnIGluIGludmFsaWRFbGVtZW50ICYmIHR5cGVvZiBpbnZhbGlkRWxlbWVudD8uc2V0Rm9jdXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpbnZhbGlkRWxlbWVudC5zZXRGb2N1cygpO1xuICB9XG4gIGlmICgnZm9jdXMnIGluIGludmFsaWRFbGVtZW50ICYmIHR5cGVvZiBpbnZhbGlkRWxlbWVudD8uZm9jdXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpbnZhbGlkRWxlbWVudC5mb2N1cygpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEludmFsaWRFbGVtZW50KHBhcmVudDogRWxlbWVudCk6IEVsZW1lbnQge1xuICBjb25zdCBpbnZhbGlkRWxlbWVudCA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKCcubmctaW52YWxpZCcpO1xuICBpZiAoaW52YWxpZEVsZW1lbnQgPT0gbnVsbCkge1xuICAgIHJldHVybiBwYXJlbnQ7XG4gIH1cbiAgcmV0dXJuIGdldEludmFsaWRFbGVtZW50KGludmFsaWRFbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gbWFya0FsbEFzRGlydHkoY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdKTogdm9pZCB7XG4gIGNvbnRyb2xzLmZvckVhY2goKGNvbnRyb2wpID0+IHtcbiAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XG4gICAgICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgICBtYXJrQWxsQXNEaXJ0eShPYmplY3QudmFsdWVzKGNvbnRyb2wuY29udHJvbHMpKTtcbiAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcbiAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICAgIG1hcmtBbGxBc0RpcnR5KGNvbnRyb2wuY29udHJvbHMpO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=
@@ -5,7 +5,7 @@ import { TextValueAccessor } from './control-value-accessors/text-value-accessor
5
5
  import { NumericValueAccessor } from './control-value-accessors/numeric-value-accessor';
6
6
  import { RadioValueAccessor } from './control-value-accessors/radio-value-accessor';
7
7
  import { DatepickerValueAccessor } from './control-value-accessors/datepicker-value-accessor';
8
- import { SixFormUtilDirective } from './util/six-form-util.directive';
8
+ import { SixFormDirective, SixFormUtilDirective } from './form/six-form.directive';
9
9
  import { AllowedDatesValidator, MaxDateValidator, MaxValidator, MinDateValidator, MinValidator, } from './validators/six-ui-library-validators';
10
10
  import { SelectValueAccessor } from './control-value-accessors/select-value-accessor';
11
11
  import { CheckboxValueAccessor } from './control-value-accessors/checkbox-value-accessor';
@@ -50,6 +50,7 @@ UiLibraryAngularModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
50
50
  MaxDateValidator,
51
51
  AllowedDatesValidator,
52
52
  // form helpers
53
+ SixFormDirective,
53
54
  SixFormUtilDirective], exports: [i1.SetAttributes, i1.SixAlert, i1.SixAvatar, i1.SixBadge, i1.SixButton, i1.SixCard, i1.SixCheckbox, i1.SixDatepicker, i1.SixDetails, i1.SixDialog, i1.SixDrawer, i1.SixDropdown, i1.SixErrorPage, i1.SixFileList, i1.SixFileListItem, i1.SixFileUpload, i1.SixFooter, i1.SixGroupLabel, i1.SixHeader, i1.SixIcon, i1.SixIconButton, i1.SixInput, i1.SixItemPicker, i1.SixLanguageSwitcher, i1.SixLayoutGrid, i1.SixMainContainer, i1.SixMenu, i1.SixMenuDivider, i1.SixMenuItem, i1.SixMenuLabel, i1.SixPicto, i1.SixProgressBar, i1.SixProgressRing, i1.SixRadio, i1.SixRange, i1.SixRoot, i1.SixSearchField, i1.SixSelect, i1.SixSidebar, i1.SixSidebarItem, i1.SixSidebarItemGroup, i1.SixSpinner, i1.SixStageIndicator, i1.SixSwitch, i1.SixTab, i1.SixTabGroup, i1.SixTabPanel, i1.SixTag, i1.SixTextarea, i1.SixTile, i1.SixTimepicker, i1.SixTooltip,
54
55
  // value accessors
55
56
  TextValueAccessor,
@@ -68,6 +69,7 @@ UiLibraryAngularModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
68
69
  MaxDateValidator,
69
70
  AllowedDatesValidator,
70
71
  // form helpers
72
+ SixFormDirective,
71
73
  SixFormUtilDirective] });
72
74
  UiLibraryAngularModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule });
73
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule, decorators: [{
@@ -93,6 +95,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
93
95
  MaxDateValidator,
94
96
  AllowedDatesValidator,
95
97
  // form helpers
98
+ SixFormDirective,
96
99
  SixFormUtilDirective,
97
100
  ],
98
101
  imports: [],
@@ -116,8 +119,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
116
119
  MaxDateValidator,
117
120
  AllowedDatesValidator,
118
121
  // form helpers
122
+ SixFormDirective,
119
123
  SixFormUtilDirective,
120
124
  ],
121
125
  }]
122
126
  }] });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbGlicmFyeS1hbmd1bGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdWktbGlicmFyeS1hbmd1bGFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUF1QixRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsWUFBWSxHQUNiLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDOUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQXVEbkYsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsT0FBTyxDQUNaLCtCQUF5QztRQUV6QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFVBQVUsRUFBRSxHQUFHLEVBQUU7d0JBQ2YsT0FBTyxvQkFBb0IsRUFBRSxDQUFDO29CQUNoQyxDQUFDO2lCQUNGO2dCQUVELEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFFBQVEsRUFBRSwrQkFBK0IsSUFBSSx5QkFBeUIsRUFBRTthQUMvRztTQUNGLENBQUM7SUFDSixDQUFDOzttSEFqQlUsc0JBQXNCO29IQUF0QixzQkFBc0I7UUFoRC9CLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQix1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLG1CQUFtQjtRQUNuQixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUVsQixhQUFhO1FBQ2IsWUFBWTtRQUNaLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUVyQixlQUFlO1FBQ2Ysb0JBQW9CO1FBT3BCLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQix1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLG1CQUFtQjtRQUNuQixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUVsQixhQUFhO1FBQ2IsWUFBWTtRQUNaLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUVyQixlQUFlO1FBQ2Ysb0JBQW9CO29IQUdYLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQXJEbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osVUFBVTt3QkFDVixHQUFHLFVBQVU7d0JBRWIsa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUVsQixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUVyQixlQUFlO3dCQUNmLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFO3dCQUNQLFVBQVU7d0JBQ1YsR0FBRyxVQUFVO3dCQUViLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFFbEIsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFFckIsZUFBZTt3QkFDZixvQkFBb0I7cUJBQ3JCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRElSRUNUSVZFUyB9IGZyb20gJy4vc3RlbmNpbC1nZW5lcmF0ZWQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudHMgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnkvbG9hZGVyJztcbmltcG9ydCB7IFRleHRWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9jb250cm9sLXZhbHVlLWFjY2Vzc29ycy90ZXh0LXZhbHVlLWFjY2Vzc29yJztcbmltcG9ydCB7IE51bWVyaWNWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9jb250cm9sLXZhbHVlLWFjY2Vzc29ycy9udW1lcmljLXZhbHVlLWFjY2Vzc29yJztcbmltcG9ydCB7IFJhZGlvVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvcmFkaW8tdmFsdWUtYWNjZXNzb3InO1xuaW1wb3J0IHsgRGF0ZXBpY2tlclZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL2RhdGVwaWNrZXItdmFsdWUtYWNjZXNzb3InO1xuaW1wb3J0IHsgU2l4Rm9ybVV0aWxEaXJlY3RpdmUgfSBmcm9tICcuL3V0aWwvc2l4LWZvcm0tdXRpbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgQWxsb3dlZERhdGVzVmFsaWRhdG9yLFxuICBNYXhEYXRlVmFsaWRhdG9yLFxuICBNYXhWYWxpZGF0b3IsXG4gIE1pbkRhdGVWYWxpZGF0b3IsXG4gIE1pblZhbGlkYXRvcixcbn0gZnJvbSAnLi92YWxpZGF0b3JzL3NpeC11aS1saWJyYXJ5LXZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgU2VsZWN0VmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvc2VsZWN0LXZhbHVlLWFjY2Vzc29yJztcbmltcG9ydCB7IENoZWNrYm94VmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvY2hlY2tib3gtdmFsdWUtYWNjZXNzb3InO1xuaW1wb3J0IHsgUmFuZ2VWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9jb250cm9sLXZhbHVlLWFjY2Vzc29ycy9yYW5nZS12YWx1ZS1hY2Nlc3Nvcic7XG5pbXBvcnQgeyBTd2l0Y2hWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9jb250cm9sLXZhbHVlLWFjY2Vzc29ycy9zd2l0Y2gtdmFsdWUtYWNjZXNzb3InO1xuaW1wb3J0IHsgVGltZXBpY2tlclZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL3RpbWVwaWNrZXItdmFsdWUtYWNjZXNzb3InO1xuaW1wb3J0IHsgVmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdmFsaWRhdGlvbi1tZXNzYWdlcy5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgLy8gcHJveGllc1xuICAgIC4uLkRJUkVDVElWRVMsXG5cbiAgICAvLyB2YWx1ZSBhY2Nlc3NvcnNcbiAgICBUZXh0VmFsdWVBY2Nlc3NvcixcbiAgICBOdW1lcmljVmFsdWVBY2Nlc3NvcixcbiAgICBSYWRpb1ZhbHVlQWNjZXNzb3IsXG4gICAgRGF0ZXBpY2tlclZhbHVlQWNjZXNzb3IsXG4gICAgVGltZXBpY2tlclZhbHVlQWNjZXNzb3IsXG4gICAgU2VsZWN0VmFsdWVBY2Nlc3NvcixcbiAgICBDaGVja2JveFZhbHVlQWNjZXNzb3IsXG4gICAgU3dpdGNoVmFsdWVBY2Nlc3NvcixcbiAgICBSYW5nZVZhbHVlQWNjZXNzb3IsXG5cbiAgICAvLyB2YWxpZGF0b3JzXG4gICAgTWluVmFsaWRhdG9yLFxuICAgIE1heFZhbGlkYXRvcixcbiAgICBNaW5EYXRlVmFsaWRhdG9yLFxuICAgIE1heERhdGVWYWxpZGF0b3IsXG4gICAgQWxsb3dlZERhdGVzVmFsaWRhdG9yLFxuXG4gICAgLy8gZm9ybSBoZWxwZXJzXG4gICAgU2l4Rm9ybVV0aWxEaXJlY3RpdmUsXG4gIF0sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbXG4gICAgLy8gcHJveGllc1xuICAgIC4uLkRJUkVDVElWRVMsXG5cbiAgICAvLyB2YWx1ZSBhY2Nlc3NvcnNcbiAgICBUZXh0VmFsdWVBY2Nlc3NvcixcbiAgICBOdW1lcmljVmFsdWVBY2Nlc3NvcixcbiAgICBSYWRpb1ZhbHVlQWNjZXNzb3IsXG4gICAgRGF0ZXBpY2tlclZhbHVlQWNjZXNzb3IsXG4gICAgVGltZXBpY2tlclZhbHVlQWNjZXNzb3IsXG4gICAgU2VsZWN0VmFsdWVBY2Nlc3NvcixcbiAgICBDaGVja2JveFZhbHVlQWNjZXNzb3IsXG4gICAgU3dpdGNoVmFsdWVBY2Nlc3NvcixcbiAgICBSYW5nZVZhbHVlQWNjZXNzb3IsXG5cbiAgICAvLyB2YWxpZGF0b3JzXG4gICAgTWluVmFsaWRhdG9yLFxuICAgIE1heFZhbGlkYXRvcixcbiAgICBNaW5EYXRlVmFsaWRhdG9yLFxuICAgIE1heERhdGVWYWxpZGF0b3IsXG4gICAgQWxsb3dlZERhdGVzVmFsaWRhdG9yLFxuXG4gICAgLy8gZm9ybSBoZWxwZXJzXG4gICAgU2l4Rm9ybVV0aWxEaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFVpTGlicmFyeUFuZ3VsYXJNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdDxUIGV4dGVuZHMgVmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZT4oXG4gICAgY3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZT86IFR5cGU8VD5cbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxVaUxpYnJhcnlBbmd1bGFyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBVaUxpYnJhcnlBbmd1bGFyTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGRlZmluZUN1c3RvbUVsZW1lbnRzKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcblxuICAgICAgICB7IHByb3ZpZGU6IFZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2UsIHVzZUNsYXNzOiBjdXN0b21WYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlID8/IFZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2UgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbGlicmFyeS1hbmd1bGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdWktbGlicmFyeS1hbmd1bGFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUF1QixRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25GLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsWUFBWSxHQUNiLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDOUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQXlEbkYsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsT0FBTyxDQUNaLCtCQUF5QztRQUV6QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFVBQVUsRUFBRSxHQUFHLEVBQUU7d0JBQ2YsT0FBTyxvQkFBb0IsRUFBRSxDQUFDO29CQUNoQyxDQUFDO2lCQUNGO2dCQUVELEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFFBQVEsRUFBRSwrQkFBK0IsSUFBSSx5QkFBeUIsRUFBRTthQUMvRztTQUNGLENBQUM7SUFDSixDQUFDOzttSEFqQlUsc0JBQXNCO29IQUF0QixzQkFBc0I7UUFsRC9CLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQix1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLG1CQUFtQjtRQUNuQixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUVsQixhQUFhO1FBQ2IsWUFBWTtRQUNaLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUVyQixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLG9CQUFvQjtRQU9wQixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLG9CQUFvQjtRQUNwQixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLHVCQUF1QjtRQUN2QixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFFbEIsYUFBYTtRQUNiLFlBQVk7UUFDWixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFFckIsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixvQkFBb0I7b0hBR1gsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBdkRsQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixVQUFVO3dCQUNWLEdBQUcsVUFBVTt3QkFFYixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBRWxCLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBRXJCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRTt3QkFDUCxVQUFVO3dCQUNWLEdBQUcsVUFBVTt3QkFFYixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBRWxCLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBRXJCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixvQkFBb0I7cUJBQ3JCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRElSRUNUSVZFUyB9IGZyb20gJy4vc3RlbmNpbC1nZW5lcmF0ZWQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudHMgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnkvbG9hZGVyJztcbmltcG9ydCB7IFRleHRWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9jb250cm9sLXZhbHVlLWFjY2Vzc29ycy90ZXh0LXZhbHVlLWFjY2Vzc29yJztcbmltcG9ydCB7IE51bWVyaWNWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9jb250cm9sLXZhbHVlLWFjY2Vzc29ycy9udW1lcmljLXZhbHVlLWFjY2Vzc29yJztcbmltcG9ydCB7IFJhZGlvVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvcmFkaW8tdmFsdWUtYWNjZXNzb3InO1xuaW1wb3J0IHsgRGF0ZXBpY2tlclZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL2RhdGVwaWNrZXItdmFsdWUtYWNjZXNzb3InO1xuaW1wb3J0IHsgU2l4Rm9ybURpcmVjdGl2ZSwgU2l4Rm9ybVV0aWxEaXJlY3RpdmUgfSBmcm9tICcuL2Zvcm0vc2l4LWZvcm0uZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gIEFsbG93ZWREYXRlc1ZhbGlkYXRvcixcbiAgTWF4RGF0ZVZhbGlkYXRvcixcbiAgTWF4VmFsaWRhdG9yLFxuICBNaW5EYXRlVmFsaWRhdG9yLFxuICBNaW5WYWxpZGF0b3IsXG59IGZyb20gJy4vdmFsaWRhdG9ycy9zaXgtdWktbGlicmFyeS12YWxpZGF0b3JzJztcbmltcG9ydCB7IFNlbGVjdFZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL3NlbGVjdC12YWx1ZS1hY2Nlc3Nvcic7XG5pbXBvcnQgeyBDaGVja2JveFZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL2NoZWNrYm94LXZhbHVlLWFjY2Vzc29yJztcbmltcG9ydCB7IFJhbmdlVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvcmFuZ2UtdmFsdWUtYWNjZXNzb3InO1xuaW1wb3J0IHsgU3dpdGNoVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvc3dpdGNoLXZhbHVlLWFjY2Vzc29yJztcbmltcG9ydCB7IFRpbWVwaWNrZXJWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9jb250cm9sLXZhbHVlLWFjY2Vzc29ycy90aW1lcGlja2VyLXZhbHVlLWFjY2Vzc29yJztcbmltcG9ydCB7IFZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3ZhbGlkYXRpb24tbWVzc2FnZXMuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIC8vIHByb3hpZXNcbiAgICAuLi5ESVJFQ1RJVkVTLFxuXG4gICAgLy8gdmFsdWUgYWNjZXNzb3JzXG4gICAgVGV4dFZhbHVlQWNjZXNzb3IsXG4gICAgTnVtZXJpY1ZhbHVlQWNjZXNzb3IsXG4gICAgUmFkaW9WYWx1ZUFjY2Vzc29yLFxuICAgIERhdGVwaWNrZXJWYWx1ZUFjY2Vzc29yLFxuICAgIFRpbWVwaWNrZXJWYWx1ZUFjY2Vzc29yLFxuICAgIFNlbGVjdFZhbHVlQWNjZXNzb3IsXG4gICAgQ2hlY2tib3hWYWx1ZUFjY2Vzc29yLFxuICAgIFN3aXRjaFZhbHVlQWNjZXNzb3IsXG4gICAgUmFuZ2VWYWx1ZUFjY2Vzc29yLFxuXG4gICAgLy8gdmFsaWRhdG9yc1xuICAgIE1pblZhbGlkYXRvcixcbiAgICBNYXhWYWxpZGF0b3IsXG4gICAgTWluRGF0ZVZhbGlkYXRvcixcbiAgICBNYXhEYXRlVmFsaWRhdG9yLFxuICAgIEFsbG93ZWREYXRlc1ZhbGlkYXRvcixcblxuICAgIC8vIGZvcm0gaGVscGVyc1xuICAgIFNpeEZvcm1EaXJlY3RpdmUsXG4gICAgU2l4Rm9ybVV0aWxEaXJlY3RpdmUsXG4gIF0sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbXG4gICAgLy8gcHJveGllc1xuICAgIC4uLkRJUkVDVElWRVMsXG5cbiAgICAvLyB2YWx1ZSBhY2Nlc3NvcnNcbiAgICBUZXh0VmFsdWVBY2Nlc3NvcixcbiAgICBOdW1lcmljVmFsdWVBY2Nlc3NvcixcbiAgICBSYWRpb1ZhbHVlQWNjZXNzb3IsXG4gICAgRGF0ZXBpY2tlclZhbHVlQWNjZXNzb3IsXG4gICAgVGltZXBpY2tlclZhbHVlQWNjZXNzb3IsXG4gICAgU2VsZWN0VmFsdWVBY2Nlc3NvcixcbiAgICBDaGVja2JveFZhbHVlQWNjZXNzb3IsXG4gICAgU3dpdGNoVmFsdWVBY2Nlc3NvcixcbiAgICBSYW5nZVZhbHVlQWNjZXNzb3IsXG5cbiAgICAvLyB2YWxpZGF0b3JzXG4gICAgTWluVmFsaWRhdG9yLFxuICAgIE1heFZhbGlkYXRvcixcbiAgICBNaW5EYXRlVmFsaWRhdG9yLFxuICAgIE1heERhdGVWYWxpZGF0b3IsXG4gICAgQWxsb3dlZERhdGVzVmFsaWRhdG9yLFxuXG4gICAgLy8gZm9ybSBoZWxwZXJzXG4gICAgU2l4Rm9ybURpcmVjdGl2ZSxcbiAgICBTaXhGb3JtVXRpbERpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVWlMaWJyYXJ5QW5ndWxhck1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290PFQgZXh0ZW5kcyBWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlPihcbiAgICBjdXN0b21WYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlPzogVHlwZTxUPlxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFVpTGlicmFyeUFuZ3VsYXJNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFVpTGlicmFyeUFuZ3VsYXJNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZGVmaW5lQ3VzdG9tRWxlbWVudHMoKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuXG4gICAgICAgIHsgcHJvdmlkZTogVmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZSwgdXNlQ2xhc3M6IGN1c3RvbVZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2UgPz8gVmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZSB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -19,7 +19,7 @@ export * from './lib/control-value-accessors/range-value-accessor';
19
19
  // validators
20
20
  export * from './lib/validators/six-ui-library-validators';
21
21
  // from helpers
22
- export * from './lib/util/six-form-util.directive';
22
+ export * from './lib/form/six-form.directive';
23
23
  // services
24
24
  export * from './lib/services/validation-messages.service';
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxVQUFVO0FBQ1YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsa0JBQWtCO0FBQ2xCLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsYUFBYTtBQUNiLGNBQWMsNENBQTRDLENBQUM7QUFFM0QsZUFBZTtBQUNmLGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsV0FBVztBQUNYLGNBQWMsNENBQTRDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHVpLWxpYnJhcnktYW5ndWxhclxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWxpYnJhcnktYW5ndWxhci5tb2R1bGUnO1xuXG4vLyBwcm94aWVzXG5leHBvcnQgeyBESVJFQ1RJVkVTIH0gZnJvbSAnLi9saWIvc3RlbmNpbC1nZW5lcmF0ZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlbmNpbC1nZW5lcmF0ZWQvY29tcG9uZW50cyc7XG5cbi8vIHZhbHVlIGFjY2Vzc29yc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvdmFsdWUtYWNjZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvdGV4dC12YWx1ZS1hY2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9sLXZhbHVlLWFjY2Vzc29ycy9udW1lcmljLXZhbHVlLWFjY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL3JhZGlvLXZhbHVlLWFjY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL2RhdGVwaWNrZXItdmFsdWUtYWNjZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvdGltZXBpY2tlci12YWx1ZS1hY2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9sLXZhbHVlLWFjY2Vzc29ycy9zZWxlY3QtdmFsdWUtYWNjZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvY2hlY2tib3gtdmFsdWUtYWNjZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvc3dpdGNoLXZhbHVlLWFjY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL3JhbmdlLXZhbHVlLWFjY2Vzc29yJztcblxuLy8gdmFsaWRhdG9yc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmFsaWRhdG9ycy9zaXgtdWktbGlicmFyeS12YWxpZGF0b3JzJztcblxuLy8gZnJvbSBoZWxwZXJzXG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsL3NpeC1mb3JtLXV0aWwuZGlyZWN0aXZlJztcblxuLy8gc2VydmljZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3ZhbGlkYXRpb24tbWVzc2FnZXMuc2VydmljZSc7XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxVQUFVO0FBQ1YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsa0JBQWtCO0FBQ2xCLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsYUFBYTtBQUNiLGNBQWMsNENBQTRDLENBQUM7QUFFM0QsZUFBZTtBQUNmLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsV0FBVztBQUNYLGNBQWMsNENBQTRDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHVpLWxpYnJhcnktYW5ndWxhclxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWxpYnJhcnktYW5ndWxhci5tb2R1bGUnO1xuXG4vLyBwcm94aWVzXG5leHBvcnQgeyBESVJFQ1RJVkVTIH0gZnJvbSAnLi9saWIvc3RlbmNpbC1nZW5lcmF0ZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlbmNpbC1nZW5lcmF0ZWQvY29tcG9uZW50cyc7XG5cbi8vIHZhbHVlIGFjY2Vzc29yc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvdmFsdWUtYWNjZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvdGV4dC12YWx1ZS1hY2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9sLXZhbHVlLWFjY2Vzc29ycy9udW1lcmljLXZhbHVlLWFjY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL3JhZGlvLXZhbHVlLWFjY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL2RhdGVwaWNrZXItdmFsdWUtYWNjZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvdGltZXBpY2tlci12YWx1ZS1hY2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9sLXZhbHVlLWFjY2Vzc29ycy9zZWxlY3QtdmFsdWUtYWNjZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvY2hlY2tib3gtdmFsdWUtYWNjZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvc3dpdGNoLXZhbHVlLWFjY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL3JhbmdlLXZhbHVlLWFjY2Vzc29yJztcblxuLy8gdmFsaWRhdG9yc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmFsaWRhdG9ycy9zaXgtdWktbGlicmFyeS12YWxpZGF0b3JzJztcblxuLy8gZnJvbSBoZWxwZXJzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtL3NpeC1mb3JtLmRpcmVjdGl2ZSc7XG5cbi8vIHNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy92YWxpZGF0aW9uLW1lc3NhZ2VzLnNlcnZpY2UnO1xuIl19
@@ -1,9 +1,10 @@
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, 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';
6
+ import * as i1 from '@angular/forms';
7
+ import { NgControl, NG_VALUE_ACCESSOR, FormControl, FormGroup, FormArray, NG_VALIDATORS, Validators } from '@angular/forms';
7
8
  import { getErrorMessage } from '@six-group/ui-library';
8
9
 
9
10
  /* eslint-disable */
@@ -1718,49 +1719,134 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1718
1719
  args: ['change', ['$event.target']]
1719
1720
  }] } });
1720
1721
 
1722
+ /**
1723
+ * This directive intercepts the ngSubmit event of an Angular form and introduces
1724
+ * a supplementary event named sixSubmit. The sixSubmit event is triggered exclusively
1725
+ * when the form is valid. In cases where the form is considered invalid, this directive
1726
+ * takes proactive actions by marking all form controls as touched and dirty. Additionally,
1727
+ * it shifts the focus to the initial invalid form element, facilitating quick error
1728
+ * resolution.
1729
+ *
1730
+ * To utilize this directive, apply it to an Angular form.
1731
+ * ```html
1732
+ * <form [formGroup]="form" sixForm (sixSubmit)="onSubmit($event)">
1733
+ * <!-- form content -->
1734
+ * </form>
1735
+ * ```
1736
+ *
1737
+ * For users needing greater flexibility in determining when error messages are displayed,
1738
+ * or for those who prefer not to rely solely on the form submission event,
1739
+ * an alternative is to use the SixFormUtilDirective.
1740
+ */
1741
+ class SixFormDirective {
1742
+ onNgSubmit(event) {
1743
+ if (this.formGroupDirective.invalid) {
1744
+ focusInvalidField(this.formGroupDirective, this.elementRef);
1745
+ }
1746
+ else {
1747
+ this.sixSubmit.emit(event);
1748
+ }
1749
+ }
1750
+ constructor(elementRef, formGroupDirective) {
1751
+ this.elementRef = elementRef;
1752
+ this.formGroupDirective = formGroupDirective;
1753
+ /**
1754
+ * Emits an event when the form is valid and the form submission has been triggered.
1755
+ */
1756
+ this.sixSubmit = new EventEmitter();
1757
+ }
1758
+ }
1759
+ 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 });
1760
+ 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 });
1761
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixFormDirective, decorators: [{
1762
+ type: Directive,
1763
+ args: [{
1764
+ selector: 'form[sixForm]',
1765
+ }]
1766
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormGroupDirective }]; }, propDecorators: { sixSubmit: [{
1767
+ type: Output
1768
+ }], onNgSubmit: [{
1769
+ type: HostListener,
1770
+ args: ['ngSubmit', ['$event']]
1771
+ }] } });
1772
+ /**
1773
+ * This directive provides a utility method, that marks all form controls
1774
+ * as touched and dirty, and focuses the first invalid form element.
1775
+ *
1776
+ * To utilize this directive, apply it to an Angular form.
1777
+ * ```html
1778
+ * <form [formGroup]="form" sixFormUtil (ngSubmit)="onSubmit($event)">
1779
+ * <!-- form content -->
1780
+ * </form>
1781
+ * ```
1782
+ *
1783
+ * Then, get a reference to the directive and invoke `focusInvalidField()` if the
1784
+ * form is invalid:
1785
+ * ```ts
1786
+ * @ViewChild(SixFormUtilDirective) sixFormUtil!: SixFormUtilDirective;
1787
+ * // ...
1788
+ * onSubmit() {
1789
+ * if (this.form.invalid) {
1790
+ * this.sixFormUtil.focusInvalidField();
1791
+ * } else {
1792
+ * // ...
1793
+ * }
1794
+ * }
1795
+ * ```
1796
+ */
1721
1797
  class SixFormUtilDirective {
1722
- constructor(elementRef, injector) {
1798
+ constructor(elementRef, formGroupDirective) {
1723
1799
  this.elementRef = elementRef;
1724
- this.injector = injector;
1800
+ this.formGroupDirective = formGroupDirective;
1725
1801
  }
1802
+ /** markAllControlsAsDirty(Object.values(formGroup.controls));
1803
+ * Marks all form controls as touched and dirty, and focuses the first
1804
+ * invalid form element.
1805
+ */
1726
1806
  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
- }
1807
+ focusInvalidField(this.formGroupDirective, this.elementRef);
1739
1808
  }
1740
1809
  }
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 });
1810
+ 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
1811
  SixFormUtilDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SixFormUtilDirective, selector: "[sixFormUtil]", ngImport: i0 });
1743
1812
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SixFormUtilDirective, decorators: [{
1744
1813
  type: Directive,
1745
1814
  args: [{
1746
1815
  selector: '[sixFormUtil]',
1747
1816
  }]
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
- });
1817
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormGroupDirective }]; } });
1818
+ function focusInvalidField(formGroupDirective, formElement) {
1819
+ formGroupDirective.form.markAllAsTouched();
1820
+ markAllAsDirty([formGroupDirective.form]);
1821
+ const invalidElement = getInvalidElement(formElement.nativeElement);
1822
+ if ('setFocus' in invalidElement && typeof (invalidElement === null || invalidElement === void 0 ? void 0 : invalidElement.setFocus) === 'function') {
1823
+ invalidElement.setFocus();
1762
1824
  }
1763
- markAllControlsAsDirty(Object.values(formGroup.controls));
1825
+ if ('focus' in invalidElement && typeof (invalidElement === null || invalidElement === void 0 ? void 0 : invalidElement.focus) === 'function') {
1826
+ invalidElement.focus();
1827
+ }
1828
+ }
1829
+ function getInvalidElement(parent) {
1830
+ const invalidElement = parent.querySelector('.ng-invalid');
1831
+ if (invalidElement == null) {
1832
+ return parent;
1833
+ }
1834
+ return getInvalidElement(invalidElement);
1835
+ }
1836
+ function markAllAsDirty(controls) {
1837
+ controls.forEach((control) => {
1838
+ if (control instanceof FormControl) {
1839
+ control.markAsDirty({ onlySelf: true });
1840
+ }
1841
+ else if (control instanceof FormGroup) {
1842
+ control.markAsDirty({ onlySelf: true });
1843
+ markAllAsDirty(Object.values(control.controls));
1844
+ }
1845
+ else if (control instanceof FormArray) {
1846
+ control.markAsDirty({ onlySelf: true });
1847
+ markAllAsDirty(control.controls);
1848
+ }
1849
+ });
1764
1850
  }
1765
1851
 
1766
1852
  class SixUiLibraryValidators {
@@ -2089,6 +2175,7 @@ UiLibraryAngularModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
2089
2175
  MaxDateValidator,
2090
2176
  AllowedDatesValidator,
2091
2177
  // form helpers
2178
+ SixFormDirective,
2092
2179
  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,
2093
2180
  // value accessors
2094
2181
  TextValueAccessor,
@@ -2107,6 +2194,7 @@ UiLibraryAngularModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
2107
2194
  MaxDateValidator,
2108
2195
  AllowedDatesValidator,
2109
2196
  // form helpers
2197
+ SixFormDirective,
2110
2198
  SixFormUtilDirective] });
2111
2199
  UiLibraryAngularModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule });
2112
2200
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UiLibraryAngularModule, decorators: [{
@@ -2132,6 +2220,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2132
2220
  MaxDateValidator,
2133
2221
  AllowedDatesValidator,
2134
2222
  // form helpers
2223
+ SixFormDirective,
2135
2224
  SixFormUtilDirective,
2136
2225
  ],
2137
2226
  imports: [],
@@ -2155,6 +2244,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2155
2244
  MaxDateValidator,
2156
2245
  AllowedDatesValidator,
2157
2246
  // form helpers
2247
+ SixFormDirective,
2158
2248
  SixFormUtilDirective,
2159
2249
  ],
2160
2250
  }]
@@ -2168,5 +2258,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2168
2258
  * Generated bundle index. Do not edit.
2169
2259
  */
2170
2260
 
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 };
2261
+ export { AllowedDatesValidator, CheckboxValueAccessor, DIRECTIVES, DatepickerValueAccessor, MaxDateValidator, MaxValidator, MinDateValidator, MinValidator, NumericValueAccessor, RadioValueAccessor, RangeValueAccessor, SelectValueAccessor, SetAttributes, SixAlert, SixAvatar, SixBadge, SixButton, SixCard, SixCheckbox, SixDatepicker, SixDetails, SixDialog, SixDrawer, SixDropdown, SixErrorPage, SixFileList, SixFileListItem, SixFileUpload, SixFooter, SixFormDirective, SixFormUtilDirective, SixGroupLabel, SixHeader, SixIcon, SixIconButton, SixInput, SixItemPicker, SixLanguageSwitcher, SixLayoutGrid, SixMainContainer, SixMenu, SixMenuDivider, SixMenuItem, SixMenuLabel, SixPicto, SixProgressBar, SixProgressRing, SixRadio, SixRange, SixRoot, SixSearchField, SixSelect, SixSidebar, SixSidebarItem, SixSidebarItemGroup, SixSpinner, SixStageIndicator, SixSwitch, SixTab, SixTabGroup, SixTabPanel, SixTag, SixTextarea, SixTile, SixTimepicker, SixTooltip, SixUiLibraryValidators, SwitchValueAccessor, TextValueAccessor, TimepickerValueAccessor, UiLibraryAngularModule, ValidationMessagesService, ValueAccessor };
2172
2262
  //# sourceMappingURL=six-group-ui-library-angular.mjs.map