@wlcm/angular 17.5.34 → 17.6.0
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.
- package/forms/esm2022/lib/forms/components/checkbox/checkbox.component.mjs +14 -5
- package/forms/esm2022/lib/forms/components/checkbox-group/checkbox-group.component.mjs +87 -0
- package/forms/esm2022/lib/forms/components/index.mjs +2 -1
- package/forms/esm2022/lib/forms/forms.module.mjs +5 -2
- package/forms/fesm2022/wlcm-angular-forms.mjs +95 -5
- package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -1
- package/forms/lib/forms/components/checkbox/checkbox.component.d.ts +6 -3
- package/forms/lib/forms/components/checkbox-group/checkbox-group.component.d.ts +25 -0
- package/forms/lib/forms/components/index.d.ts +1 -0
- package/forms/lib/forms/forms.module.d.ts +11 -10
- package/package.json +1 -1
- package/styles/components/forms/_checkbox-group.scss +13 -0
- package/styles/components/forms/index.scss +2 -0
- package/table/esm2022/lib/components/table-head-actions/table-head-actions.component.mjs +2 -2
- package/table/esm2022/lib/components/table-row-actions/table-row-actions.component.mjs +2 -2
- package/table/fesm2022/wlcm-angular-table.mjs +2 -2
- package/table/fesm2022/wlcm-angular-table.mjs.map +1 -1
@@ -1,5 +1,5 @@
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
2
|
-
import { ChangeDetectorRef, Component, Inject, Optional, forwardRef,
|
2
|
+
import { ChangeDetectorRef, Component, EventEmitter, Inject, Optional, Output, forwardRef, input, } from '@angular/core';
|
3
3
|
import { WLCM_FORM_CONTROL, WLCM_FORM_CONTROL_PROVIDER } from '../../constants';
|
4
4
|
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
5
5
|
import { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms';
|
@@ -12,7 +12,8 @@ let WlcmCheckboxComponent = class WlcmCheckboxComponent {
|
|
12
12
|
constructor(changeDetectorRef, parentFormMember) {
|
13
13
|
this.changeDetectorRef = changeDetectorRef;
|
14
14
|
this.parentFormMember = parentFormMember;
|
15
|
-
this.
|
15
|
+
this.value = input();
|
16
|
+
this.changed = new EventEmitter();
|
16
17
|
this.control = new FormControl(false);
|
17
18
|
this.validate = () => null;
|
18
19
|
if (this.parentFormMember) {
|
@@ -42,6 +43,12 @@ let WlcmCheckboxComponent = class WlcmCheckboxComponent {
|
|
42
43
|
}
|
43
44
|
this.control.enable();
|
44
45
|
}
|
46
|
+
get checked() {
|
47
|
+
return this.control.value;
|
48
|
+
}
|
49
|
+
set checked(value) {
|
50
|
+
this.control.setValue(value);
|
51
|
+
}
|
45
52
|
handleStateChange() {
|
46
53
|
this.parentFormMember.stateChanges$.pipe(untilDestroyed(this)).subscribe(() => {
|
47
54
|
this._validatorChanged?.();
|
@@ -49,7 +56,7 @@ let WlcmCheckboxComponent = class WlcmCheckboxComponent {
|
|
49
56
|
});
|
50
57
|
}
|
51
58
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: WLCM_FORM_CONTROL, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
59
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.5", type: WlcmCheckboxComponent, isStandalone: true, selector: "wlcm-checkbox", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changed: "changed" }, host: { classAttribute: "wlcm-checkbox" }, providers: [
|
53
60
|
WLCM_FORM_CONTROL_PROVIDER,
|
54
61
|
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmCheckboxComponent), multi: true },
|
55
62
|
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmCheckboxComponent), multi: true },
|
@@ -72,5 +79,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
72
79
|
}, {
|
73
80
|
type: Inject,
|
74
81
|
args: [WLCM_FORM_CONTROL]
|
75
|
-
}] }]
|
76
|
-
|
82
|
+
}] }], propDecorators: { changed: [{
|
83
|
+
type: Output
|
84
|
+
}] } });
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9mb3Jtcy9zcmMvbGliL2Zvcm1zL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9mb3Jtcy9zcmMvbGliL2Zvcm1zL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBRU4sUUFBUSxFQUNSLE1BQU0sRUFDTixVQUFVLEVBQ1YsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUVMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLG1CQUFtQixHQUdwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFnQnhDLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBYWhDLFlBQ1UsaUJBQW9DLEVBQ0csZ0JBQWlDO1FBRHhFLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDRyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBZGxGLFVBQUssR0FBb0MsS0FBSyxFQUFFLENBQUM7UUFFdkMsWUFBTyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBUXBELFlBQU8sR0FBZ0Is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QUksRUFBRTt3QkFDN0YsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3FCQUNsRzs7MEJBaUJFLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCO3lDQVo3QixPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0U2lnbmFsLFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBmb3J3YXJkUmVmLFxuICBpbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXTENNX0ZPUk1fQ09OVFJPTCwgV0xDTV9GT1JNX0NPTlRST0xfUFJPVklERVIgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybUNvbnRyb2wsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlLCBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IFdsY21Gb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLm1vZGVscyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dsY20tY2hlY2tib3gnLFxuICBob3N0OiB7IGNsYXNzOiAnd2xjbS1jaGVja2JveCcgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0Q2hlY2tib3hNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnLFxuICBwcm92aWRlcnM6IFtcbiAgICBXTENNX0ZPUk1fQ09OVFJPTF9QUk9WSURFUixcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFdsY21DaGVja2JveENvbXBvbmVudCksIG11bHRpOiB0cnVlIH0sXG4gICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2xjbUNoZWNrYm94Q29tcG9uZW50KSwgbXVsdGk6IHRydWUgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgV2xjbUNoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciB7XG4gIHZhbHVlOiBJbnB1dFNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gaW5wdXQoKTtcblxuICBAT3V0cHV0KCkgY2hhbmdlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgX2NoYW5nZWQ/OiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSBfdG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSBfdmFsaWRhdG9yQ2hhbmdlZD86ICgpID0+IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIGNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFdMQ01fRk9STV9DT05UUk9MKSBwcml2YXRlIHBhcmVudEZvcm1NZW1iZXI6IFdsY21Gb3JtQ29udHJvbCxcbiAgKSB7XG4gICAgaWYgKHRoaXMucGFyZW50Rm9ybU1lbWJlcikge1xuICAgICAgdGhpcy5oYW5kbGVTdGF0ZUNoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUNoYW5nZSh2YWx1ZTogTWF0Q2hlY2tib3hDaGFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZWQuZW1pdCh2YWx1ZS5jaGVja2VkKTtcblxuICAgIHRoaXMuX2NoYW5nZWQ/Lih2YWx1ZS5jaGVja2VkKTtcblxuICAgIHRoaXMuX3RvdWNoZWQ/LigpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICB2YWxpZGF0ZSA9ICgpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiBudWxsO1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoY2FsbGJhY2s6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZWQgPSBjYWxsYmFjaztcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fdG91Y2hlZCA9IGNhbGxiYWNrO1xuICB9XG5cbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShjYWxsYmFjazogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbGlkYXRvckNoYW5nZWQgPSBjYWxsYmFjaztcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb250cm9sLmRpc2FibGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRyb2wuZW5hYmxlKCk7XG4gIH1cblxuICBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLnZhbHVlO1xuICB9XG5cbiAgc2V0IGNoZWNrZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTdGF0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmVudEZvcm1NZW1iZXIuc3RhdGVDaGFuZ2VzJC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fdmFsaWRhdG9yQ2hhbmdlZD8uKCk7XG5cbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxtYXQtY2hlY2tib3ggW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbWF0LWNoZWNrYm94PlxuIl19
|
@@ -0,0 +1,87 @@
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { Component, computed, contentChildren, effect, forwardRef, signal, } from '@angular/core';
|
4
|
+
import { WlcmCheckboxComponent } from '../checkbox/checkbox.component';
|
5
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
6
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
7
|
+
import { Subject, merge, takeUntil, tap } from 'rxjs';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
let WlcmCheckboxGroupComponent = class WlcmCheckboxGroupComponent {
|
10
|
+
constructor() {
|
11
|
+
this.checkboxes = contentChildren(WlcmCheckboxComponent);
|
12
|
+
this.checkboxesMap = computed(() => {
|
13
|
+
return new Map(this.checkboxes().map((checkbox) => [checkbox.value(), checkbox]));
|
14
|
+
});
|
15
|
+
this.values = signal(new Set());
|
16
|
+
this.checkboxesListUpdated = new Subject();
|
17
|
+
this.validate = () => null;
|
18
|
+
effect(() => this.handleCheckboxesToggle(this.checkboxes()));
|
19
|
+
}
|
20
|
+
ngAfterContentInit() {
|
21
|
+
this.updateCheckboxes(this.values());
|
22
|
+
}
|
23
|
+
writeValue(value) {
|
24
|
+
this.values.set(new Set(value));
|
25
|
+
if (this.checkboxes())
|
26
|
+
this.updateCheckboxes(this.values());
|
27
|
+
}
|
28
|
+
registerOnChange(callback) {
|
29
|
+
this._changed = callback;
|
30
|
+
}
|
31
|
+
registerOnTouched(callback) {
|
32
|
+
this._touched = callback;
|
33
|
+
}
|
34
|
+
registerOnValidatorChange(callback) {
|
35
|
+
this._validatorChanged = callback;
|
36
|
+
}
|
37
|
+
updateControl(values) {
|
38
|
+
this._changed?.(Array.from(values.values()));
|
39
|
+
this._touched?.();
|
40
|
+
}
|
41
|
+
updateCheckboxes(values) {
|
42
|
+
const checkboxesMap = this.checkboxesMap();
|
43
|
+
for (const checkbox of checkboxesMap.values()) {
|
44
|
+
checkbox.checked = values.has(checkbox.value());
|
45
|
+
}
|
46
|
+
}
|
47
|
+
handleCheckboxesToggle(checkboxes) {
|
48
|
+
this.checkboxesListUpdated.next();
|
49
|
+
const handleCheck = (checkbox) => {
|
50
|
+
this.values.update((values) => {
|
51
|
+
if (checkbox.checked) {
|
52
|
+
values.add(checkbox.value());
|
53
|
+
}
|
54
|
+
else {
|
55
|
+
values.delete(checkbox.value());
|
56
|
+
}
|
57
|
+
this.updateControl(values);
|
58
|
+
return values;
|
59
|
+
});
|
60
|
+
};
|
61
|
+
const changeHandlers = Array.from(checkboxes.values()).map((checkbox) => {
|
62
|
+
return checkbox.changed.asObservable().pipe(tap(() => handleCheck(checkbox)));
|
63
|
+
});
|
64
|
+
merge(...changeHandlers)
|
65
|
+
.pipe(untilDestroyed(this))
|
66
|
+
.pipe(takeUntil(this.checkboxesListUpdated))
|
67
|
+
.subscribe();
|
68
|
+
}
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmCheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
70
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.5", type: WlcmCheckboxGroupComponent, isStandalone: true, selector: "wlcm-checkbox-group", host: { classAttribute: "wlcm-checkbox-group" }, providers: [
|
71
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmCheckboxGroupComponent), multi: true },
|
72
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmCheckboxGroupComponent), multi: true },
|
73
|
+
], queries: [{ propertyName: "checkboxes", predicate: WlcmCheckboxComponent, isSignal: true }], ngImport: i0, template: "<ng-content select=\"wlcm-checkbox\"></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
74
|
+
};
|
75
|
+
WlcmCheckboxGroupComponent = __decorate([
|
76
|
+
UntilDestroy(),
|
77
|
+
__metadata("design:paramtypes", [])
|
78
|
+
], WlcmCheckboxGroupComponent);
|
79
|
+
export { WlcmCheckboxGroupComponent };
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmCheckboxGroupComponent, decorators: [{
|
81
|
+
type: Component,
|
82
|
+
args: [{ selector: 'wlcm-checkbox-group', host: { class: 'wlcm-checkbox-group' }, standalone: true, imports: [CommonModule], providers: [
|
83
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmCheckboxGroupComponent), multi: true },
|
84
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmCheckboxGroupComponent), multi: true },
|
85
|
+
], template: "<ng-content select=\"wlcm-checkbox\"></ng-content>\n" }]
|
86
|
+
}], ctorParameters: () => [] });
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9mb3Jtcy9zcmMvbGliL2Zvcm1zL2NvbXBvbmVudHMvY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9mb3Jtcy9zcmMvbGliL2Zvcm1zL2NvbXBvbmVudHMvY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsU0FBUyxFQUdULFFBQVEsRUFDUixlQUFlLEVBQ2YsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUF3QixhQUFhLEVBQUUsaUJBQWlCLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFDckgsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQWMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQWUzRCxJQUFNLDBCQUEwQixHQUFoQyxNQUFNLDBCQUEwQjtJQWlCckM7UUFoQkEsZUFBVSxHQUE2QyxlQUFlLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV0RixrQkFBYSxHQUErQyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2hGLE9BQU8sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQStCLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFB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IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIFNpZ25hbCxcbiAgV3JpdGFibGVTaWduYWwsXG4gIGNvbXB1dGVkLFxuICBjb250ZW50Q2hpbGRyZW4sXG4gIGVmZmVjdCxcbiAgZm9yd2FyZFJlZixcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdsY21DaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgbWVyZ2UsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2xjbS1jaGVja2JveC1ncm91cCcsXG4gIGhvc3Q6IHsgY2xhc3M6ICd3bGNtLWNoZWNrYm94LWdyb3VwJyB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5zY3NzJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBXbGNtQ2hlY2tib3hHcm91cENvbXBvbmVudCksIG11bHRpOiB0cnVlIH0sXG4gICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2xjbUNoZWNrYm94R3JvdXBDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtQ2hlY2tib3hHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuICBjaGVja2JveGVzOiBTaWduYWw8cmVhZG9ubHkgV2xjbUNoZWNrYm94Q29tcG9uZW50W10+ID0gY29udGVudENoaWxkcmVuKFdsY21DaGVja2JveENvbXBvbmVudCk7XG5cbiAgcHJpdmF0ZSBjaGVja2JveGVzTWFwOiBTaWduYWw8TWFwPHN0cmluZywgV2xjbUNoZWNrYm94Q29tcG9uZW50Pj4gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBNYXAodGhpcy5jaGVja2JveGVzKCkubWFwKChjaGVja2JveDogV2xjbUNoZWNrYm94Q29tcG9uZW50KSA9PiBbY2hlY2tib3gudmFsdWUoKSEsIGNoZWNrYm94XSkpO1xuICB9KTtcblxuICBwcml2YXRlIHZhbHVlczogV3JpdGFibGVTaWduYWw8U2V0PHN0cmluZz4+ID0gc2lnbmFsKG5ldyBTZXQoKSk7XG5cbiAgcHJpdmF0ZSBjaGVja2JveGVzTGlzdFVwZGF0ZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgX2NoYW5nZWQ/OiAodmFsdWU6IHN0cmluZ1tdKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgX3RvdWNoZWQ/OiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgX3ZhbGlkYXRvckNoYW5nZWQ/OiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB0aGlzLmhhbmRsZUNoZWNrYm94ZXNUb2dnbGUodGhpcy5jaGVja2JveGVzKCkpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUNoZWNrYm94ZXModGhpcy52YWx1ZXMoKSk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVzLnNldChuZXcgU2V0KHZhbHVlKSk7XG5cbiAgICBpZiAodGhpcy5jaGVja2JveGVzKCkpIHRoaXMudXBkYXRlQ2hlY2tib3hlcyh0aGlzLnZhbHVlcygpKTtcbiAgfVxuXG4gIHZhbGlkYXRlID0gKCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IG51bGw7XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShjYWxsYmFjazogKHZhbHVlOiBzdHJpbmdbXSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZWQgPSBjYWxsYmFjaztcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fdG91Y2hlZCA9IGNhbGxiYWNrO1xuICB9XG5cbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShjYWxsYmFjazogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbGlkYXRvckNoYW5nZWQgPSBjYWxsYmFjaztcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29udHJvbCh2YWx1ZXM6IFNldDxzdHJpbmc+KTogdm9pZCB7XG4gICAgdGhpcy5fY2hhbmdlZD8uKEFycmF5LmZyb20odmFsdWVzLnZhbHVlcygpKSk7XG5cbiAgICB0aGlzLl90b3VjaGVkPy4oKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ2hlY2tib3hlcyh2YWx1ZXM6IFNldDxzdHJpbmc+KTogdm9pZCB7XG4gICAgY29uc3QgY2hlY2tib3hlc01hcDogTWFwPHN0cmluZywgV2xjbUNoZWNrYm94Q29tcG9uZW50PiA9IHRoaXMuY2hlY2tib3hlc01hcCgpO1xuXG4gICAgZm9yIChjb25zdCBjaGVja2JveCBvZiBjaGVja2JveGVzTWFwLnZhbHVlcygpKSB7XG4gICAgICBjaGVja2JveC5jaGVja2VkID0gdmFsdWVzLmhhcyhjaGVja2JveC52YWx1ZSgpISk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDaGVja2JveGVzVG9nZ2xlKGNoZWNrYm94ZXM6IHJlYWRvbmx5IFdsY21DaGVja2JveENvbXBvbmVudFtdKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2JveGVzTGlzdFVwZGF0ZWQubmV4dCgpO1xuXG4gICAgY29uc3QgaGFuZGxlQ2hlY2sgPSAoY2hlY2tib3g6IFdsY21DaGVja2JveENvbXBvbmVudCkgPT4ge1xuICAgICAgdGhpcy52YWx1ZXMudXBkYXRlKCh2YWx1ZXM6IFNldDxzdHJpbmc+KSA9PiB7XG4gICAgICAgIGlmIChjaGVja2JveC5jaGVja2VkKSB7XG4gICAgICAgICAgdmFsdWVzLmFkZChjaGVja2JveC52YWx1ZSgpISk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFsdWVzLmRlbGV0ZShjaGVja2JveC52YWx1ZSgpISk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUNvbnRyb2wodmFsdWVzKTtcblxuICAgICAgICByZXR1cm4gdmFsdWVzO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGNoYW5nZUhhbmRsZXJzOiBPYnNlcnZhYmxlPHVua25vd24+W10gPSBBcnJheS5mcm9tKGNoZWNrYm94ZXMudmFsdWVzKCkpLm1hcChcbiAgICAgIChjaGVja2JveDogV2xjbUNoZWNrYm94Q29tcG9uZW50KSA9PiB7XG4gICAgICAgIHJldHVybiBjaGVja2JveC5jaGFuZ2VkLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFwKCgpID0+IGhhbmRsZUNoZWNrKGNoZWNrYm94KSkpO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgbWVyZ2UoLi4uY2hhbmdlSGFuZGxlcnMpXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNoZWNrYm94ZXNMaXN0VXBkYXRlZCkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cIndsY20tY2hlY2tib3hcIj48L25nLWNvbnRlbnQ+XG4iXX0=
|
@@ -1,8 +1,9 @@
|
|
1
1
|
export * from './autocomplete/autocomplete.component';
|
2
|
+
export * from './checkbox-group/checkbox-group.component';
|
2
3
|
export * from './form-field/form-field.component';
|
3
4
|
export * from './checkbox/checkbox.component';
|
4
5
|
export * from './select/select.component';
|
5
6
|
export * from './error/error.component';
|
6
7
|
export * from './label/label.component';
|
7
8
|
export * from './partials';
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2Zvcm1zL3NyYy9saWIvZm9ybXMvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NoZWNrYm94LWdyb3VwL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9yL2Vycm9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xhYmVsL2xhYmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BhcnRpYWxzJztcbiJdfQ==
|
@@ -9,8 +9,8 @@ import { WlcmFormFieldSuffixDirective } from './directives/form-field-suffix.dir
|
|
9
9
|
import { WlcmFormFieldHintDirective } from './directives/form-field-hint.directive';
|
10
10
|
import { WlcmFormFieldPrefixDirective } from './directives/form-field-prefix.directive';
|
11
11
|
import { MAT_RADIO_DEFAULT_OPTIONS, MatRadioModule } from '@angular/material/radio';
|
12
|
+
import { WlcmCheckboxComponent, WlcmCheckboxGroupComponent } from './components';
|
12
13
|
import { WlcmAutocompleteSuffixComponent } from './components/partials';
|
13
|
-
import { WlcmCheckboxComponent } from './components';
|
14
14
|
import * as i0 from "@angular/core";
|
15
15
|
const directives = [
|
16
16
|
WlcmInputDirective,
|
@@ -23,6 +23,7 @@ const components = [
|
|
23
23
|
WlcmFormFieldComponent,
|
24
24
|
WlcmAutocompleteComponent,
|
25
25
|
WlcmAutocompleteSuffixComponent,
|
26
|
+
WlcmCheckboxGroupComponent,
|
26
27
|
WlcmCheckboxComponent,
|
27
28
|
WlcmSelectComponent,
|
28
29
|
WlcmLabelComponent,
|
@@ -32,6 +33,7 @@ export class WlcmFormsModule {
|
|
32
33
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: WlcmFormsModule, imports: [WlcmFormFieldComponent,
|
33
34
|
WlcmAutocompleteComponent,
|
34
35
|
WlcmAutocompleteSuffixComponent,
|
36
|
+
WlcmCheckboxGroupComponent,
|
35
37
|
WlcmCheckboxComponent,
|
36
38
|
WlcmSelectComponent,
|
37
39
|
WlcmLabelComponent, WlcmInputDirective,
|
@@ -41,6 +43,7 @@ export class WlcmFormsModule {
|
|
41
43
|
WlcmFormFieldHintDirective, MatRadioModule], exports: [WlcmFormFieldComponent,
|
42
44
|
WlcmAutocompleteComponent,
|
43
45
|
WlcmAutocompleteSuffixComponent,
|
46
|
+
WlcmCheckboxGroupComponent,
|
44
47
|
WlcmCheckboxComponent,
|
45
48
|
WlcmSelectComponent,
|
46
49
|
WlcmLabelComponent, WlcmInputDirective,
|
@@ -58,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
58
61
|
providers: [{ provide: MAT_RADIO_DEFAULT_OPTIONS, useValue: { color: 'primary' } }],
|
59
62
|
}]
|
60
63
|
}] });
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9mb3Jtcy9zcmMvbGliL2Zvcm1zL2Zvcm1zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRXhFLE1BQU0sVUFBVSxHQUFvQjtJQUNsQyxrQkFBa0I7SUFDbEIscUNBQXFDO0lBQ3JDLDRCQUE0QjtJQUM1Qiw0QkFBNEI7SUFDNUIsMEJBQTBCO0NBQzNCLENBQUM7QUFFRixNQUFNLFVBQVUsR0FBb0I7SUFDbEMsc0JBQXNCO0lBQ3RCLHlCQUF5QjtJQUN6QiwrQkFBK0I7SUFDL0IsMEJBQTBCO0lBQzFCLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsa0JBQWtCO0NBQ25CLENBQUM7QUFPRixNQUFNLE9BQU8sZUFBZTs4R0FBZixlQUFlOytHQUFmLGVBQWUsWUFkMUIsc0JBQXNCO1lBQ3RCLHlCQUF5QjtZQUN6QiwrQkFBK0I7WUFDL0IsMEJBQTBCO1lBQzFCLHFCQUFxQjtZQUNyQixtQkFBbUI7WUFDbkIsa0JBQWtCLEVBZGxCLGtCQUFrQjtZQUNsQixxQ0FBcUM7WUFDckMsNEJBQTRCO1lBQzVCLDRCQUE0QjtZQUM1QiwwQkFBMEIsRUFjYyxjQUFjLGFBVnRELHNCQUFzQjtZQUN0Qix5QkFBeUI7WUFDekIsK0JBQStCO1lBQy9CLDBCQUEwQjtZQUMxQixxQkFBcUI7WUFDckIsbUJBQW1CO1lBQ25CLGtCQUFrQixFQWRsQixrQkFBa0I7WUFDbEIscUNBQXFDO1lBQ3JDLDRCQUE0QjtZQUM1Qiw0QkFBNEI7WUFDNUIsMEJBQTBCLEVBZWMsY0FBYzsrR0FHM0MsZUFBZSxhQUZmLENBQUMsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsWUFGdEUsVUFBVSxFQUFpQixjQUFjLEVBQ2QsY0FBYzs7MkZBRzNDLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxVQUFVLEVBQUUsY0FBYyxDQUFDO29CQUN2RCxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLFVBQVUsRUFBRSxjQUFjLENBQUM7b0JBQ3ZELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDO2lCQUNwRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXbGNtRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2xjbUlucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2lucHV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBXbGNtTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGFiZWwvbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFdsY21TZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2xjbUZvcm1GaWVsZEN1c3RvbUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtLWZpZWxkLWN1c3RvbS1jb250YWluZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFdsY21BdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2xjbUZvcm1GaWVsZFN1ZmZpeERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtLWZpZWxkLXN1ZmZpeC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgV2xjbUZvcm1GaWVsZEhpbnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1maWVsZC1oaW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBXbGNtRm9ybUZpZWxkUHJlZml4RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0tZmllbGQtcHJlZml4LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNQVRfUkFESU9fREVGQVVMVF9PUFRJT05TLCBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcbmltcG9ydCB7IFdsY21DaGVja2JveENvbXBvbmVudCwgV2xjbUNoZWNrYm94R3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgV2xjbUF1dG9jb21wbGV0ZVN1ZmZpeENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXJ0aWFscyc7XG5cbmNvbnN0IGRpcmVjdGl2ZXM6IFR5cGU8dW5rbm93bj5bXSA9IFtcbiAgV2xjbUlucHV0RGlyZWN0aXZlLFxuICBXbGNtRm9ybUZpZWxkQ3VzdG9tQ29udGFpbmVyRGlyZWN0aXZlLFxuICBXbGNtRm9ybUZpZWxkU3VmZml4RGlyZWN0aXZlLFxuICBXbGNtRm9ybUZpZWxkUHJlZml4RGlyZWN0aXZlLFxuICBXbGNtRm9ybUZpZWxkSGludERpcmVjdGl2ZSxcbl07XG5cbmNvbnN0IGNvbXBvbmVudHM6IFR5cGU8dW5rbm93bj5bXSA9IFtcbiAgV2xjbUZvcm1GaWVsZENvbXBvbmVudCxcbiAgV2xjbUF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgV2xjbUF1dG9jb21wbGV0ZVN1ZmZpeENvbXBvbmVudCxcbiAgV2xjbUNoZWNrYm94R3JvdXBDb21wb25lbnQsXG4gIFdsY21DaGVja2JveENvbXBvbmVudCxcbiAgV2xjbVNlbGVjdENvbXBvbmVudCxcbiAgV2xjbUxhYmVsQ29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogWy4uLmNvbXBvbmVudHMsIC4uLmRpcmVjdGl2ZXMsIE1hdFJhZGlvTW9kdWxlXSxcbiAgZXhwb3J0czogWy4uLmNvbXBvbmVudHMsIC4uLmRpcmVjdGl2ZXMsIE1hdFJhZGlvTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBNQVRfUkFESU9fREVGQVVMVF9PUFRJT05TLCB1c2VWYWx1ZTogeyBjb2xvcjogJ3ByaW1hcnknIH0gfV0sXG59KVxuZXhwb3J0IGNsYXNzIFdsY21Gb3Jtc01vZHVsZSB7fVxuIl19
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { Component, ChangeDetectionStrategy, Injectable, InjectionToken, inject, Directive, Pipe, Inject, HostListener, forwardRef, ChangeDetectorRef, Optional, Input, ContentChild, ViewChild, HostBinding, EventEmitter, NgZone, Host, Output, input, output, ElementRef,
|
2
|
+
import { Component, ChangeDetectionStrategy, Injectable, InjectionToken, inject, Directive, Pipe, Inject, HostListener, forwardRef, ChangeDetectorRef, Optional, Input, ContentChild, ViewChild, HostBinding, EventEmitter, NgZone, Host, Output, input, output, ElementRef, contentChildren, computed, signal, effect, viewChildren, NgModule } from '@angular/core';
|
3
3
|
import { __decorate, __metadata } from 'tslib';
|
4
4
|
import * as i4 from '@angular/forms';
|
5
5
|
import { Validators, NgControl, ControlContainer, FormControl, NG_VALUE_ACCESSOR, NG_VALIDATORS, ReactiveFormsModule } from '@angular/forms';
|
@@ -667,7 +667,8 @@ let WlcmCheckboxComponent = class WlcmCheckboxComponent {
|
|
667
667
|
constructor(changeDetectorRef, parentFormMember) {
|
668
668
|
this.changeDetectorRef = changeDetectorRef;
|
669
669
|
this.parentFormMember = parentFormMember;
|
670
|
-
this.
|
670
|
+
this.value = input();
|
671
|
+
this.changed = new EventEmitter();
|
671
672
|
this.control = new FormControl(false);
|
672
673
|
this.validate = () => null;
|
673
674
|
if (this.parentFormMember) {
|
@@ -697,6 +698,12 @@ let WlcmCheckboxComponent = class WlcmCheckboxComponent {
|
|
697
698
|
}
|
698
699
|
this.control.enable();
|
699
700
|
}
|
701
|
+
get checked() {
|
702
|
+
return this.control.value;
|
703
|
+
}
|
704
|
+
set checked(value) {
|
705
|
+
this.control.setValue(value);
|
706
|
+
}
|
700
707
|
handleStateChange() {
|
701
708
|
this.parentFormMember.stateChanges$.pipe(untilDestroyed(this)).subscribe(() => {
|
702
709
|
this._validatorChanged?.();
|
@@ -704,7 +711,7 @@ let WlcmCheckboxComponent = class WlcmCheckboxComponent {
|
|
704
711
|
});
|
705
712
|
}
|
706
713
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: WLCM_FORM_CONTROL, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
707
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
714
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.5", type: WlcmCheckboxComponent, isStandalone: true, selector: "wlcm-checkbox", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changed: "changed" }, host: { classAttribute: "wlcm-checkbox" }, providers: [
|
708
715
|
WLCM_FORM_CONTROL_PROVIDER,
|
709
716
|
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmCheckboxComponent), multi: true },
|
710
717
|
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmCheckboxComponent), multi: true },
|
@@ -726,7 +733,87 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
726
733
|
}, {
|
727
734
|
type: Inject,
|
728
735
|
args: [WLCM_FORM_CONTROL]
|
729
|
-
}] }]
|
736
|
+
}] }], propDecorators: { changed: [{
|
737
|
+
type: Output
|
738
|
+
}] } });
|
739
|
+
|
740
|
+
let WlcmCheckboxGroupComponent = class WlcmCheckboxGroupComponent {
|
741
|
+
constructor() {
|
742
|
+
this.checkboxes = contentChildren(WlcmCheckboxComponent);
|
743
|
+
this.checkboxesMap = computed(() => {
|
744
|
+
return new Map(this.checkboxes().map((checkbox) => [checkbox.value(), checkbox]));
|
745
|
+
});
|
746
|
+
this.values = signal(new Set());
|
747
|
+
this.checkboxesListUpdated = new Subject();
|
748
|
+
this.validate = () => null;
|
749
|
+
effect(() => this.handleCheckboxesToggle(this.checkboxes()));
|
750
|
+
}
|
751
|
+
ngAfterContentInit() {
|
752
|
+
this.updateCheckboxes(this.values());
|
753
|
+
}
|
754
|
+
writeValue(value) {
|
755
|
+
this.values.set(new Set(value));
|
756
|
+
if (this.checkboxes())
|
757
|
+
this.updateCheckboxes(this.values());
|
758
|
+
}
|
759
|
+
registerOnChange(callback) {
|
760
|
+
this._changed = callback;
|
761
|
+
}
|
762
|
+
registerOnTouched(callback) {
|
763
|
+
this._touched = callback;
|
764
|
+
}
|
765
|
+
registerOnValidatorChange(callback) {
|
766
|
+
this._validatorChanged = callback;
|
767
|
+
}
|
768
|
+
updateControl(values) {
|
769
|
+
this._changed?.(Array.from(values.values()));
|
770
|
+
this._touched?.();
|
771
|
+
}
|
772
|
+
updateCheckboxes(values) {
|
773
|
+
const checkboxesMap = this.checkboxesMap();
|
774
|
+
for (const checkbox of checkboxesMap.values()) {
|
775
|
+
checkbox.checked = values.has(checkbox.value());
|
776
|
+
}
|
777
|
+
}
|
778
|
+
handleCheckboxesToggle(checkboxes) {
|
779
|
+
this.checkboxesListUpdated.next();
|
780
|
+
const handleCheck = (checkbox) => {
|
781
|
+
this.values.update((values) => {
|
782
|
+
if (checkbox.checked) {
|
783
|
+
values.add(checkbox.value());
|
784
|
+
}
|
785
|
+
else {
|
786
|
+
values.delete(checkbox.value());
|
787
|
+
}
|
788
|
+
this.updateControl(values);
|
789
|
+
return values;
|
790
|
+
});
|
791
|
+
};
|
792
|
+
const changeHandlers = Array.from(checkboxes.values()).map((checkbox) => {
|
793
|
+
return checkbox.changed.asObservable().pipe(tap(() => handleCheck(checkbox)));
|
794
|
+
});
|
795
|
+
merge(...changeHandlers)
|
796
|
+
.pipe(untilDestroyed(this))
|
797
|
+
.pipe(takeUntil(this.checkboxesListUpdated))
|
798
|
+
.subscribe();
|
799
|
+
}
|
800
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmCheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
801
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.5", type: WlcmCheckboxGroupComponent, isStandalone: true, selector: "wlcm-checkbox-group", host: { classAttribute: "wlcm-checkbox-group" }, providers: [
|
802
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmCheckboxGroupComponent), multi: true },
|
803
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmCheckboxGroupComponent), multi: true },
|
804
|
+
], queries: [{ propertyName: "checkboxes", predicate: WlcmCheckboxComponent, isSignal: true }], ngImport: i0, template: "<ng-content select=\"wlcm-checkbox\"></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
805
|
+
};
|
806
|
+
WlcmCheckboxGroupComponent = __decorate([
|
807
|
+
UntilDestroy(),
|
808
|
+
__metadata("design:paramtypes", [])
|
809
|
+
], WlcmCheckboxGroupComponent);
|
810
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmCheckboxGroupComponent, decorators: [{
|
811
|
+
type: Component,
|
812
|
+
args: [{ selector: 'wlcm-checkbox-group', host: { class: 'wlcm-checkbox-group' }, standalone: true, imports: [CommonModule], providers: [
|
813
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmCheckboxGroupComponent), multi: true },
|
814
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmCheckboxGroupComponent), multi: true },
|
815
|
+
], template: "<ng-content select=\"wlcm-checkbox\"></ng-content>\n" }]
|
816
|
+
}], ctorParameters: () => [] });
|
730
817
|
|
731
818
|
class WlcmAutocompleteSuffixComponent {
|
732
819
|
constructor() {
|
@@ -958,6 +1045,7 @@ const components = [
|
|
958
1045
|
WlcmFormFieldComponent,
|
959
1046
|
WlcmAutocompleteComponent,
|
960
1047
|
WlcmAutocompleteSuffixComponent,
|
1048
|
+
WlcmCheckboxGroupComponent,
|
961
1049
|
WlcmCheckboxComponent,
|
962
1050
|
WlcmSelectComponent,
|
963
1051
|
WlcmLabelComponent,
|
@@ -967,6 +1055,7 @@ class WlcmFormsModule {
|
|
967
1055
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: WlcmFormsModule, imports: [WlcmFormFieldComponent,
|
968
1056
|
WlcmAutocompleteComponent,
|
969
1057
|
WlcmAutocompleteSuffixComponent,
|
1058
|
+
WlcmCheckboxGroupComponent,
|
970
1059
|
WlcmCheckboxComponent,
|
971
1060
|
WlcmSelectComponent,
|
972
1061
|
WlcmLabelComponent, WlcmInputDirective,
|
@@ -976,6 +1065,7 @@ class WlcmFormsModule {
|
|
976
1065
|
WlcmFormFieldHintDirective, MatRadioModule], exports: [WlcmFormFieldComponent,
|
977
1066
|
WlcmAutocompleteComponent,
|
978
1067
|
WlcmAutocompleteSuffixComponent,
|
1068
|
+
WlcmCheckboxGroupComponent,
|
979
1069
|
WlcmCheckboxComponent,
|
980
1070
|
WlcmSelectComponent,
|
981
1071
|
WlcmLabelComponent, WlcmInputDirective,
|
@@ -998,5 +1088,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
998
1088
|
* Generated bundle index. Do not edit.
|
999
1089
|
*/
|
1000
1090
|
|
1001
|
-
export { WLCM_ERRORS, WLCM_FORM, WLCM_FORM_CONTROL, WLCM_FORM_CONTROL_PROVIDER, WLCM_FORM_FIELD, WLCM_FORM_FIELD_INPUT_CLASS, WLCM_FORM_PROVIDER, WLCM_INPUT, WLCM_INPUT_BINDER, WLCM_MAPS_API_ERROR, WLCM_PRIORITY_ERRORS, WLCM_SELECT_CONFIG, WlcmAutocomplete, WlcmAutocompleteComponent, WlcmAutocompleteSuffixComponent, WlcmCheckboxComponent, WlcmErrorComponent, WlcmFormFieldComponent, WlcmFormFieldCustomContainerDirective, WlcmFormFieldHintDirective, WlcmFormFieldPrefixDirective, WlcmFormFieldSuffixDirective, WlcmFormsModule, WlcmInputDirective, WlcmLabelComponent, WlcmPlacesApi, WlcmSelectComponent, WlcmSelectInputBinderDirective };
|
1091
|
+
export { WLCM_ERRORS, WLCM_FORM, WLCM_FORM_CONTROL, WLCM_FORM_CONTROL_PROVIDER, WLCM_FORM_FIELD, WLCM_FORM_FIELD_INPUT_CLASS, WLCM_FORM_PROVIDER, WLCM_INPUT, WLCM_INPUT_BINDER, WLCM_MAPS_API_ERROR, WLCM_PRIORITY_ERRORS, WLCM_SELECT_CONFIG, WlcmAutocomplete, WlcmAutocompleteComponent, WlcmAutocompleteSuffixComponent, WlcmCheckboxComponent, WlcmCheckboxGroupComponent, WlcmErrorComponent, WlcmFormFieldComponent, WlcmFormFieldCustomContainerDirective, WlcmFormFieldHintDirective, WlcmFormFieldPrefixDirective, WlcmFormFieldSuffixDirective, WlcmFormsModule, WlcmInputDirective, WlcmLabelComponent, WlcmPlacesApi, WlcmSelectComponent, WlcmSelectInputBinderDirective };
|
1002
1092
|
//# sourceMappingURL=wlcm-angular-forms.mjs.map
|