@3kles/kles-material-dynamicforms 18.1.2 → 19.0.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.
Files changed (138) hide show
  1. package/README.md +0 -1
  2. package/fesm2022/3kles-kles-material-dynamicforms.mjs +1735 -1880
  3. package/fesm2022/3kles-kles-material-dynamicforms.mjs.map +1 -1
  4. package/lib/directive/dynamic-component.directive.d.ts +1 -1
  5. package/lib/directive/dynamic-field.directive.d.ts +2 -2
  6. package/lib/directive/mat-error-form.directive.d.ts +1 -1
  7. package/lib/directive/mat-error-message.directive.d.ts +1 -1
  8. package/lib/dynamic-form-intl.d.ts +7 -0
  9. package/lib/dynamic-form.component.d.ts +1 -1
  10. package/lib/fields/array.component.d.ts +1 -1
  11. package/lib/fields/badge.component.d.ts +1 -1
  12. package/lib/fields/button-fab.component.d.ts +1 -1
  13. package/lib/fields/button-form.component.d.ts +1 -1
  14. package/lib/fields/button-icon.component.d.ts +1 -1
  15. package/lib/fields/button-mini-fab.component.d.ts +1 -1
  16. package/lib/fields/button-toogle-group.component.d.ts +1 -1
  17. package/lib/fields/buttonchecker-form.component.d.ts +1 -1
  18. package/lib/fields/buttonfile-form.component.d.ts +1 -1
  19. package/lib/fields/checkbox-indeterminate.component.d.ts +1 -1
  20. package/lib/fields/checkbox.component.d.ts +1 -1
  21. package/lib/fields/chip.component.d.ts +1 -1
  22. package/lib/fields/clear.component.d.ts +1 -1
  23. package/lib/fields/color.component.d.ts +1 -1
  24. package/lib/fields/copy.component.d.ts +6 -6
  25. package/lib/fields/date.component.d.ts +1 -1
  26. package/lib/fields/field.abstract.d.ts +1 -1
  27. package/lib/fields/file.component.d.ts +1 -1
  28. package/lib/fields/group.component.d.ts +1 -1
  29. package/lib/fields/icon.component.d.ts +1 -1
  30. package/lib/fields/input.clearable.component.d.ts +6 -2
  31. package/lib/fields/input.component.d.ts +6 -2
  32. package/lib/fields/label.component.d.ts +1 -1
  33. package/lib/fields/line-break.component.d.ts +1 -1
  34. package/lib/fields/link.component.d.ts +3 -3
  35. package/lib/fields/list-field.component.d.ts +1 -1
  36. package/lib/fields/radio.component.d.ts +1 -1
  37. package/lib/fields/range.component.d.ts +2 -2
  38. package/lib/fields/select.component.d.ts +4 -2
  39. package/lib/fields/select.lazy-search.component.d.ts +4 -2
  40. package/lib/fields/select.search.component.d.ts +4 -2
  41. package/lib/fields/selection-list.component.d.ts +1 -1
  42. package/lib/fields/selection-list.search.component.d.ts +1 -1
  43. package/lib/fields/slide-toggle.component.d.ts +2 -2
  44. package/lib/fields/text.component.d.ts +1 -1
  45. package/lib/fields/textarea.component.d.ts +1 -1
  46. package/lib/forms/button-control-base.d.ts +1 -1
  47. package/lib/forms/button-control.component.d.ts +1 -1
  48. package/lib/forms/buttonchecker-control.component.d.ts +1 -1
  49. package/lib/forms/buttonfile-control.component.d.ts +1 -1
  50. package/lib/forms/fab-control.component.d.ts +1 -1
  51. package/lib/forms/file-control.component.d.ts +1 -1
  52. package/lib/forms/icon-button-control.component.d.ts +1 -1
  53. package/lib/forms/indeterminate-checkbox.d.ts +2 -1
  54. package/lib/forms/mini-fab-control.component.d.ts +1 -1
  55. package/lib/kles-material-dynamicforms.module.d.ts +58 -60
  56. package/lib/modules/material.module.d.ts +4 -5
  57. package/lib/pipe/array.pipe.d.ts +1 -1
  58. package/lib/pipe/transform.pipe.d.ts +1 -1
  59. package/package.json +13 -22
  60. package/public-api.d.ts +2 -1
  61. package/esm2022/3kles-kles-material-dynamicforms.mjs +0 -5
  62. package/esm2022/lib/controls/array.control.mjs +0 -57
  63. package/esm2022/lib/controls/control.abstract.mjs +0 -31
  64. package/esm2022/lib/controls/control.interface.mjs +0 -2
  65. package/esm2022/lib/controls/default.control.mjs +0 -34
  66. package/esm2022/lib/controls/group.control.mjs +0 -49
  67. package/esm2022/lib/controls/range.control.mjs +0 -18
  68. package/esm2022/lib/decorators/component.decorator.mjs +0 -12
  69. package/esm2022/lib/directive/dynamic-component.directive.mjs +0 -44
  70. package/esm2022/lib/directive/dynamic-field.directive.mjs +0 -109
  71. package/esm2022/lib/directive/mat-error-form.directive.mjs +0 -54
  72. package/esm2022/lib/directive/mat-error-message.directive.mjs +0 -53
  73. package/esm2022/lib/dynamic-form.component.mjs +0 -214
  74. package/esm2022/lib/enums/button-attribute.enum.mjs +0 -8
  75. package/esm2022/lib/enums/type.enum.mjs +0 -21
  76. package/esm2022/lib/factories/field.factory.mjs +0 -6
  77. package/esm2022/lib/fields/array.component.mjs +0 -61
  78. package/esm2022/lib/fields/badge.component.mjs +0 -39
  79. package/esm2022/lib/fields/button-fab.component.mjs +0 -48
  80. package/esm2022/lib/fields/button-form.component.mjs +0 -50
  81. package/esm2022/lib/fields/button-icon.component.mjs +0 -48
  82. package/esm2022/lib/fields/button-mini-fab.component.mjs +0 -48
  83. package/esm2022/lib/fields/button-toogle-group.component.mjs +0 -55
  84. package/esm2022/lib/fields/buttonchecker-form.component.mjs +0 -48
  85. package/esm2022/lib/fields/buttonfile-form.component.mjs +0 -51
  86. package/esm2022/lib/fields/checkbox-indeterminate.component.mjs +0 -42
  87. package/esm2022/lib/fields/checkbox.component.mjs +0 -42
  88. package/esm2022/lib/fields/chip.component.mjs +0 -44
  89. package/esm2022/lib/fields/clear.component.mjs +0 -35
  90. package/esm2022/lib/fields/color.component.mjs +0 -134
  91. package/esm2022/lib/fields/copy.component.mjs +0 -45
  92. package/esm2022/lib/fields/date-time.component.mjs +0 -61
  93. package/esm2022/lib/fields/date.component.mjs +0 -60
  94. package/esm2022/lib/fields/field.abstract.mjs +0 -88
  95. package/esm2022/lib/fields/file.component.mjs +0 -41
  96. package/esm2022/lib/fields/group.component.mjs +0 -80
  97. package/esm2022/lib/fields/icon.component.mjs +0 -27
  98. package/esm2022/lib/fields/input.clearable.component.mjs +0 -144
  99. package/esm2022/lib/fields/input.component.mjs +0 -252
  100. package/esm2022/lib/fields/label.component.mjs +0 -39
  101. package/esm2022/lib/fields/line-break.component.mjs +0 -26
  102. package/esm2022/lib/fields/link.component.mjs +0 -31
  103. package/esm2022/lib/fields/list-field.component.mjs +0 -157
  104. package/esm2022/lib/fields/radio.component.mjs +0 -50
  105. package/esm2022/lib/fields/range.component.mjs +0 -81
  106. package/esm2022/lib/fields/select.component.mjs +0 -358
  107. package/esm2022/lib/fields/select.lazy-search.component.mjs +0 -303
  108. package/esm2022/lib/fields/select.search.component.mjs +0 -475
  109. package/esm2022/lib/fields/selection-list.component.mjs +0 -149
  110. package/esm2022/lib/fields/selection-list.search.component.mjs +0 -193
  111. package/esm2022/lib/fields/slide-toggle.component.mjs +0 -29
  112. package/esm2022/lib/fields/text.component.mjs +0 -42
  113. package/esm2022/lib/fields/textarea.component.mjs +0 -64
  114. package/esm2022/lib/forms/button-control-base.mjs +0 -89
  115. package/esm2022/lib/forms/button-control.component.mjs +0 -91
  116. package/esm2022/lib/forms/buttonchecker-control.component.mjs +0 -98
  117. package/esm2022/lib/forms/buttonfile-control.component.mjs +0 -124
  118. package/esm2022/lib/forms/fab-control.component.mjs +0 -60
  119. package/esm2022/lib/forms/file-control.component.mjs +0 -72
  120. package/esm2022/lib/forms/icon-button-control.component.mjs +0 -55
  121. package/esm2022/lib/forms/indeterminate-checkbox.mjs +0 -91
  122. package/esm2022/lib/forms/mini-fab-control.component.mjs +0 -60
  123. package/esm2022/lib/interfaces/clear-control.interface.mjs +0 -2
  124. package/esm2022/lib/interfaces/component.interface.mjs +0 -2
  125. package/esm2022/lib/interfaces/directive.interface.mjs +0 -2
  126. package/esm2022/lib/interfaces/field.config.interface.mjs +0 -2
  127. package/esm2022/lib/interfaces/field.interface.mjs +0 -2
  128. package/esm2022/lib/interfaces/validator.interface.mjs +0 -2
  129. package/esm2022/lib/kles-material-dynamicforms.module.mjs +0 -261
  130. package/esm2022/lib/matcher/form-error.matcher.mjs +0 -16
  131. package/esm2022/lib/modules/material.module.mjs +0 -279
  132. package/esm2022/lib/pipe/array.pipe.mjs +0 -22
  133. package/esm2022/lib/pipe/transform.pipe.mjs +0 -28
  134. package/esm2022/lib/selection/selection-model.mjs +0 -231
  135. package/esm2022/lib/utils/destroyable.guard.mjs +0 -5
  136. package/esm2022/lib/validators/autocomplete.validator.mjs +0 -23
  137. package/esm2022/public-api.mjs +0 -92
  138. package/lib/fields/date-time.component.d.ts +0 -9
@@ -1,149 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { Observable, of } from 'rxjs';
3
- import { KlesFieldAbstract } from './field.abstract';
4
- import { takeUntil } from 'rxjs/operators';
5
- import { KlesSelectionModel } from '../selection/selection-model';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "@angular/forms";
9
- import * as i3 from "@angular/material/list";
10
- import * as i4 from "@angular/material/progress-spinner";
11
- import * as i5 from "@angular/cdk/scrolling";
12
- import * as i6 from "../directive/dynamic-component.directive";
13
- import * as i7 from "../pipe/transform.pipe";
14
- export class KlesFormSelectionListComponent extends KlesFieldAbstract {
15
- ngOnInit() {
16
- super.ngOnInit();
17
- this.selection = new KlesSelectionModel(this.field.multiple || false, [], true, ((o1, o2) => {
18
- if (this.field.property) {
19
- return o1?.[this.field.property] === o2?.[this.field.property];
20
- }
21
- else {
22
- return o1 === o2;
23
- }
24
- }));
25
- if (this.field.value) {
26
- this.selection.select(Array.isArray(this.field.value) ? this.field.value : [this.field.value]);
27
- }
28
- if (this.field.options instanceof Observable) {
29
- this.options$ = this.field.options;
30
- }
31
- else if (this.field.options instanceof Function) {
32
- this.options$ = this.field.options();
33
- }
34
- else {
35
- this.options$ = of(this.field.options);
36
- }
37
- this.group.controls[this.field.name].valueChanges
38
- .pipe(takeUntil(this._onDestroy)).subscribe((value) => {
39
- this.selection.setSelection(Array.isArray(value) ? value : [value], { emitEvent: false });
40
- });
41
- this.selection.changed.pipe(takeUntil(this._onDestroy)).subscribe(change => {
42
- this.group.controls[this.field.name].patchValue(change.source.selected);
43
- this.group.controls[this.field.name].markAllAsTouched();
44
- this.group.controls[this.field.name].markAsDirty();
45
- });
46
- }
47
- ngOnDestroy() {
48
- super.ngOnDestroy();
49
- }
50
- onSelectionChange(selection) {
51
- selection.options.forEach(option => {
52
- option.selected ? this.selection.select([option.value])
53
- : this.selection.deselect([option.value]);
54
- });
55
- }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormSelectionListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KlesFormSelectionListComponent, selector: "kles-form-selection-list", usesInheritance: true, ngImport: i0, template: `
58
- <div class="margin-top" [formGroup]="group">
59
- <mat-selection-list [attr.id]="field.id" [multiple]="field.multiple" [ngClass]="field.ngClass"
60
- (selectionChange)="onSelectionChange($event)">
61
- @if(options$ | async; as options){
62
- @if(field.virtualScroll){
63
- <cdk-virtual-scroll-viewport [itemSize]="field.itemSize || 20" style="height:100%">
64
- @if (!field.autocompleteComponent) {
65
- <mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
66
- [value]="item" [selected]="selection.isSelected(item)">
67
- {{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
68
- </mat-list-option>
69
- }
70
- @else{
71
- <mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
72
- [value]="item" [selected]="selection.isSelected(item)">
73
- <ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
74
- </mat-list-option>
75
- }
76
- </cdk-virtual-scroll-viewport>
77
- }
78
- @else{
79
- @if (!field.autocompleteComponent) {
80
- @for (item of options; track item) {
81
- <mat-list-option [value]="item" [selected]="selection.isSelected(item)">
82
- {{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
83
- </mat-list-option>
84
- }
85
- }
86
- @else {
87
- @for (item of options; track item) {
88
- <mat-list-option [value]="item" [selected]="selection.isSelected(item)">
89
- <ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
90
- </mat-list-option>
91
- }
92
- }
93
- }
94
-
95
- }@else{
96
- <mat-spinner></mat-spinner>
97
- }
98
- </mat-selection-list>
99
- </div>
100
- `, isInline: true, styles: ["mat-selection-list{width:100%;height:250px;overflow:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i3.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i5.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i5.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i6.KlesComponentDirective, selector: "[klesComponent]", inputs: ["component", "value", "field"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.KlesTransformPipe, name: "klesTransform" }] }); }
101
- }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormSelectionListComponent, decorators: [{
103
- type: Component,
104
- args: [{ selector: 'kles-form-selection-list', template: `
105
- <div class="margin-top" [formGroup]="group">
106
- <mat-selection-list [attr.id]="field.id" [multiple]="field.multiple" [ngClass]="field.ngClass"
107
- (selectionChange)="onSelectionChange($event)">
108
- @if(options$ | async; as options){
109
- @if(field.virtualScroll){
110
- <cdk-virtual-scroll-viewport [itemSize]="field.itemSize || 20" style="height:100%">
111
- @if (!field.autocompleteComponent) {
112
- <mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
113
- [value]="item" [selected]="selection.isSelected(item)">
114
- {{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
115
- </mat-list-option>
116
- }
117
- @else{
118
- <mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
119
- [value]="item" [selected]="selection.isSelected(item)">
120
- <ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
121
- </mat-list-option>
122
- }
123
- </cdk-virtual-scroll-viewport>
124
- }
125
- @else{
126
- @if (!field.autocompleteComponent) {
127
- @for (item of options; track item) {
128
- <mat-list-option [value]="item" [selected]="selection.isSelected(item)">
129
- {{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
130
- </mat-list-option>
131
- }
132
- }
133
- @else {
134
- @for (item of options; track item) {
135
- <mat-list-option [value]="item" [selected]="selection.isSelected(item)">
136
- <ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
137
- </mat-list-option>
138
- }
139
- }
140
- }
141
-
142
- }@else{
143
- <mat-spinner></mat-spinner>
144
- }
145
- </mat-selection-list>
146
- </div>
147
- `, styles: ["mat-selection-list{width:100%;height:250px;overflow:auto}\n"] }]
148
- }] });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMvc3JjL2xpYi9maWVsZHMvc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7O0FBbURsRSxNQUFNLE9BQU8sOEJBQStCLFNBQVEsaUJBQWlCO0lBS2pFLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGtCQUFrQixDQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUMvRSxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQU8sRUFBRSxFQUFFO1lBQ2xCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDdEIsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkUsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNyQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVSLElB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MEIsWUFDMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0EyQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTZWxlY3Rpb25MaXN0Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgS2xlc0ZpZWxkQWJzdHJhY3QgfSBmcm9tICcuL2ZpZWxkLmFic3RyYWN0JztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEtsZXNTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJy4uL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrbGVzLWZvcm0tc2VsZWN0aW9uLWxpc3QnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIm1hcmdpbi10b3BcIiBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG4gICAgICAgIDxtYXQtc2VsZWN0aW9uLWxpc3QgW2F0dHIuaWRdPVwiZmllbGQuaWRcIiBbbXVsdGlwbGVdPVwiZmllbGQubXVsdGlwbGVcIiBbbmdDbGFzc109XCJmaWVsZC5uZ0NsYXNzXCJcbiAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICBAaWYob3B0aW9ucyQgfCBhc3luYzsgYXMgb3B0aW9ucyl7XG4gICAgICAgICAgICAgICAgQGlmKGZpZWxkLnZpcnR1YWxTY3JvbGwpe1xuICAgICAgICAgICAgICAgICAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IFtpdGVtU2l6ZV09XCJmaWVsZC5pdGVtU2l6ZSB8fCAyMFwiIHN0eWxlPVwiaGVpZ2h0OjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIWZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gKmNka1ZpcnR1YWxGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zOyB0ZW1wbGF0ZUNhY2hlU2l6ZTogMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1cIiBbc2VsZWN0ZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3soZmllbGQucHJvcGVydHkgPyBpdGVtW2ZpZWxkLnByb3BlcnR5XSA6IGl0ZW0pIHwga2xlc1RyYW5zZm9ybTpmaWVsZC5waXBlVHJhbnNmb3JtfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBlbHNle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gKmNka1ZpcnR1YWxGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zOyB0ZW1wbGF0ZUNhY2hlU2l6ZTogMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1cIiBbc2VsZWN0ZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBrbGVzQ29tcG9uZW50IFtjb21wb25lbnRdPVwiZmllbGQuYXV0b2NvbXBsZXRlQ29tcG9uZW50XCIgW3ZhbHVlXT1cIml0ZW1cIiBbZmllbGRdPVwiZmllbGRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlbHNle1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCFmaWVsZC5hdXRvY29tcGxldGVDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygb3B0aW9uczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW1cIiBbc2VsZWN0ZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3soZmllbGQucHJvcGVydHkgPyBpdGVtW2ZpZWxkLnByb3BlcnR5XSA6IGl0ZW0pIHwga2xlc1RyYW5zZm9ybTpmaWVsZC5waXBlVHJhbnNmb3JtfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIG9wdGlvbnM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxpc3Qtb3B0aW9uIFt2YWx1ZV09XCJpdGVtXCIgW3NlbGVjdGVkXT1cInNlbGVjdGlvbi5pc1NlbGVjdGVkKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIga2xlc0NvbXBvbmVudCBbY29tcG9uZW50XT1cImZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudFwiIFt2YWx1ZV09XCJpdGVtXCIgW2ZpZWxkXT1cImZpZWxkXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9ICAgXG5cbiAgICAgICAgICAgIH1AZWxzZXtcbiAgICAgICAgICAgICAgICA8bWF0LXNwaW5uZXI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9tYXQtc2VsZWN0aW9uLWxpc3Q+XG4gICAgPC9kaXY+XG5gLFxuICAgIHN0eWxlczogW2BcbiAgICAgICAgbWF0LXNlbGVjdGlvbi1saXN0IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDI1MHB4OyBvdmVyZmxvdzphdXRvfWBcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBLbGVzRm9ybVNlbGVjdGlvbkxpc3RDb21wb25lbnQgZXh0ZW5kcyBLbGVzRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIHNlbGVjdGlvbjogS2xlc1NlbGVjdGlvbk1vZGVsPGFueT47XG4gICAgb3B0aW9ucyQ6IE9ic2VydmFibGU8YW55W10+O1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSBuZXcgS2xlc1NlbGVjdGlvbk1vZGVsPGFueT4odGhpcy5maWVsZC5tdWx0aXBsZSB8fCBmYWxzZSwgW10sIHRydWUsXG4gICAgICAgICAgICAoKG8xOiBhbnksIG8yOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maWVsZC5wcm9wZXJ0eSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbzE/Llt0aGlzLmZpZWxkLnByb3BlcnR5XSA9PT0gbzI/Llt0aGlzLmZpZWxkLnByb3BlcnR5XTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbzEgPT09IG8yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKTtcblxuICAgICAgICBpZiAodGhpcy5maWVsZC52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KEFycmF5LmlzQXJyYXkodGhpcy5maWVsZC52YWx1ZSkgPyB0aGlzLmZpZWxkLnZhbHVlIDogW3RoaXMuZmllbGQudmFsdWVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZpZWxkLm9wdGlvbnMgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMkID0gdGhpcy5maWVsZC5vcHRpb25zO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHRoaXMuZmllbGQub3B0aW9ucyBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMkID0gdGhpcy5maWVsZC5vcHRpb25zKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMkID0gb2YodGhpcy5maWVsZC5vcHRpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpLFxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2V0U2VsZWN0aW9uKEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpLnN1YnNjcmliZShjaGFuZ2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnBhdGNoVmFsdWUoY2hhbmdlLnNvdXJjZS5zZWxlY3RlZCk7XG4gICAgICAgICAgICB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgICAgICAgdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb246IE1hdFNlbGVjdGlvbkxpc3RDaGFuZ2UpIHtcbiAgICAgICAgc2VsZWN0aW9uLm9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4ge1xuICAgICAgICAgICAgb3B0aW9uLnNlbGVjdGVkID8gdGhpcy5zZWxlY3Rpb24uc2VsZWN0KFtvcHRpb24udmFsdWVdKVxuICAgICAgICAgICAgICAgIDogdGhpcy5zZWxlY3Rpb24uZGVzZWxlY3QoW29wdGlvbi52YWx1ZV0pXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,193 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { Observable, of } from 'rxjs';
3
- import { KlesFieldAbstract } from './field.abstract';
4
- import { debounceTime, distinctUntilChanged, map, shareReplay, startWith, switchMap, takeUntil } from 'rxjs/operators';
5
- import { KlesSelectionModel } from '../selection/selection-model';
6
- import { FormControl } from '@angular/forms';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- import * as i2 from "@angular/forms";
10
- import * as i3 from "@angular/material/button";
11
- import * as i4 from "@angular/material/icon";
12
- import * as i5 from "@angular/material/list";
13
- import * as i6 from "@angular/material/input";
14
- import * as i7 from "@angular/material/form-field";
15
- import * as i8 from "@angular/material/progress-spinner";
16
- import * as i9 from "@angular/cdk/scrolling";
17
- import * as i10 from "../directive/dynamic-component.directive";
18
- import * as i11 from "../pipe/transform.pipe";
19
- export class KlesFormSelectionListSearchComponent extends KlesFieldAbstract {
20
- constructor() {
21
- super(...arguments);
22
- this.searchControl = new FormControl();
23
- }
24
- ngOnInit() {
25
- if (!this.field.subscriptSizing) {
26
- this.field.subscriptSizing = 'dynamic';
27
- }
28
- super.ngOnInit();
29
- this.selection = new KlesSelectionModel(this.field.multiple || false, [], true, ((o1, o2) => {
30
- if (this.field.property) {
31
- return o1?.[this.field.property] === o2?.[this.field.property];
32
- }
33
- else {
34
- return o1 === o2;
35
- }
36
- }));
37
- if (this.field.value) {
38
- this.selection.select(Array.isArray(this.field.value) ? this.field.value : [this.field.value]);
39
- }
40
- if (this.field.options instanceof Observable) {
41
- this.options$ = this.field.options.pipe(shareReplay(1));
42
- }
43
- this.group.controls[this.field.name].valueChanges
44
- .pipe(takeUntil(this._onDestroy)).subscribe((value) => {
45
- this.selection.setSelection(Array.isArray(value) ? value : [value], { emitEvent: false });
46
- });
47
- this.selection.changed.pipe(takeUntil(this._onDestroy)).subscribe(change => {
48
- this.group.controls[this.field.name].patchValue(change.source.selected);
49
- this.group.controls[this.field.name].markAllAsTouched();
50
- this.group.controls[this.field.name].markAsDirty();
51
- });
52
- this.optionFiltered$ = this.searchControl.valueChanges
53
- .pipe(takeUntil(this._onDestroy), startWith(null), debounceTime(this.field.debounceTime || 0), distinctUntilChanged(), map((value) => value?.toLowerCase()), switchMap((value) => {
54
- if (this.field.options instanceof Function) {
55
- return this.field.options(value);
56
- }
57
- else {
58
- return ((this.field.options instanceof Observable) ? this.options$ : of(this.field.options)).pipe(map((options) => {
59
- if (!value) {
60
- return options;
61
- }
62
- return options.filter(option => {
63
- return (!this.field.property && option?.toString().toLowerCase().includes(value))
64
- || (this.field.property && option?.[this.field.property]?.toString().toLowerCase().includes(value))
65
- || (this.field.searchKeys && this.field.searchKeys.some(key => option?.[key].toString().toLowerCase().includes(value)));
66
- });
67
- }));
68
- }
69
- }));
70
- }
71
- ngOnDestroy() {
72
- super.ngOnDestroy();
73
- }
74
- onSelectionChange(selection) {
75
- selection.options.forEach(option => {
76
- option.selected ? this.selection.select([option.value])
77
- : this.selection.deselect([option.value]);
78
- });
79
- }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormSelectionListSearchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KlesFormSelectionListSearchComponent, selector: "kles-form-selection-list-search", usesInheritance: true, ngImport: i0, template: `
82
- <div class="selection-list" [formGroup]="group">
83
- <mat-form-field [subscriptSizing]="field.subscriptSizing" [appearance]="field.appearance">
84
- @if (field.label) {
85
- <mat-label>{{field.label}}</mat-label>
86
- }
87
- <input matInput [placeholder]="field.placeholder" [formControl]="searchControl">
88
- <button matSuffix mat-icon-button aria-label="Clear" (click)="searchControl.reset();$event.stopPropagation();">
89
- <mat-icon>close</mat-icon>
90
- </button>
91
- </mat-form-field>
92
-
93
- <mat-selection-list [attr.id]="field.id" [multiple]="field.multiple" [ngClass]="field.ngClass"
94
- (selectionChange)="onSelectionChange($event)">
95
- @if(optionFiltered$ | async; as options){
96
- @if(field.virtualScroll){
97
- <cdk-virtual-scroll-viewport [itemSize]="field.itemSize || 20" style="height:100%">
98
- @if (!field.autocompleteComponent) {
99
- <mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
100
- [value]="item" [selected]="selection.isSelected(item)">
101
- {{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
102
- </mat-list-option>
103
- }
104
- @else{
105
- <mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
106
- [value]="item" [selected]="selection.isSelected(item)">
107
- <ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
108
- </mat-list-option>
109
- }
110
- </cdk-virtual-scroll-viewport>
111
- }
112
- @else{
113
- @if (!field.autocompleteComponent) {
114
- @for (item of options; track item) {
115
- <mat-list-option [value]="item" [selected]="selection.isSelected(item)">
116
- {{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
117
- </mat-list-option>
118
- }
119
- }
120
- @else {
121
- @for (item of options; track item) {
122
- <mat-list-option [value]="item" [selected]="selection.isSelected(item)">
123
- <ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
124
- </mat-list-option>
125
- }
126
- }
127
- }
128
-
129
- }@else{
130
- <mat-spinner></mat-spinner>
131
- }
132
- </mat-selection-list>
133
- </div>
134
- `, isInline: true, styles: [".selection-list{display:flex;flex-direction:column;gap:5px}\n", "mat-selection-list{width:100%;height:250px;overflow:auto;flex-grow:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i5.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i9.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i9.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i9.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i10.KlesComponentDirective, selector: "[klesComponent]", inputs: ["component", "value", "field"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.KlesTransformPipe, name: "klesTransform" }] }); }
135
- }
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormSelectionListSearchComponent, decorators: [{
137
- type: Component,
138
- args: [{ selector: 'kles-form-selection-list-search', template: `
139
- <div class="selection-list" [formGroup]="group">
140
- <mat-form-field [subscriptSizing]="field.subscriptSizing" [appearance]="field.appearance">
141
- @if (field.label) {
142
- <mat-label>{{field.label}}</mat-label>
143
- }
144
- <input matInput [placeholder]="field.placeholder" [formControl]="searchControl">
145
- <button matSuffix mat-icon-button aria-label="Clear" (click)="searchControl.reset();$event.stopPropagation();">
146
- <mat-icon>close</mat-icon>
147
- </button>
148
- </mat-form-field>
149
-
150
- <mat-selection-list [attr.id]="field.id" [multiple]="field.multiple" [ngClass]="field.ngClass"
151
- (selectionChange)="onSelectionChange($event)">
152
- @if(optionFiltered$ | async; as options){
153
- @if(field.virtualScroll){
154
- <cdk-virtual-scroll-viewport [itemSize]="field.itemSize || 20" style="height:100%">
155
- @if (!field.autocompleteComponent) {
156
- <mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
157
- [value]="item" [selected]="selection.isSelected(item)">
158
- {{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
159
- </mat-list-option>
160
- }
161
- @else{
162
- <mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
163
- [value]="item" [selected]="selection.isSelected(item)">
164
- <ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
165
- </mat-list-option>
166
- }
167
- </cdk-virtual-scroll-viewport>
168
- }
169
- @else{
170
- @if (!field.autocompleteComponent) {
171
- @for (item of options; track item) {
172
- <mat-list-option [value]="item" [selected]="selection.isSelected(item)">
173
- {{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
174
- </mat-list-option>
175
- }
176
- }
177
- @else {
178
- @for (item of options; track item) {
179
- <mat-list-option [value]="item" [selected]="selection.isSelected(item)">
180
- <ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
181
- </mat-list-option>
182
- }
183
- }
184
- }
185
-
186
- }@else{
187
- <mat-spinner></mat-spinner>
188
- }
189
- </mat-selection-list>
190
- </div>
191
- `, styles: [".selection-list{display:flex;flex-direction:column;gap:5px}\n", "mat-selection-list{width:100%;height:250px;overflow:auto;flex-grow:1}\n"] }]
192
- }] });
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWxpc3Quc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZmllbGRzL3NlbGVjdGlvbi1saXN0LnNlYXJjaC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBOEQ3QyxNQUFNLE9BQU8sb0NBQXFDLFNBQVEsaUJBQWlCO0lBN0QzRTs7UUFpRUUsa0JBQWEsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0tBNkVuQztJQXpFQyxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGtCQUFrQixDQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUNqRixDQUFDLENB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Q0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNMLENBQUM7SUFDRCxXQUFXO1FBQ1QsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFpQztRQUNqRCxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNqQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckQsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQWhGVSxvQ0FBb0M7bUdBQXBDLG9DQUFvQyw4RkEzRHJDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXFEWDs7NEZBTVksb0NBQW9DO2tCQTdEaEQsU0FBUzsrQkFDRSxpQ0FBaUMsWUFDakM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcURYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2VsZWN0aW9uTGlzdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEtsZXNGaWVsZEFic3RyYWN0IH0gZnJvbSAnLi9maWVsZC5hYnN0cmFjdCc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgS2xlc1NlbGVjdGlvbk1vZGVsIH0gZnJvbSAnLi4vc2VsZWN0aW9uL3NlbGVjdGlvbi1tb2RlbCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tsZXMtZm9ybS1zZWxlY3Rpb24tbGlzdC1zZWFyY2gnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Rpb24tbGlzdFwiIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIFtzdWJzY3JpcHRTaXppbmddPVwiZmllbGQuc3Vic2NyaXB0U2l6aW5nXCIgW2FwcGVhcmFuY2VdPVwiZmllbGQuYXBwZWFyYW5jZVwiPlxuICAgICAgICAgICAgQGlmIChmaWVsZC5sYWJlbCkge1xuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3tmaWVsZC5sYWJlbH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiQ2xlYXJcIiAoY2xpY2spPVwic2VhcmNoQ29udHJvbC5yZXNldCgpOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1zZWxlY3Rpb24tbGlzdCBbYXR0ci5pZF09XCJmaWVsZC5pZFwiIFttdWx0aXBsZV09XCJmaWVsZC5tdWx0aXBsZVwiIFtuZ0NsYXNzXT1cImZpZWxkLm5nQ2xhc3NcIlxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgIEBpZihvcHRpb25GaWx0ZXJlZCQgfCBhc3luYzsgYXMgb3B0aW9ucyl7XG4gICAgICAgICAgICAgICAgQGlmKGZpZWxkLnZpcnR1YWxTY3JvbGwpe1xuICAgICAgICAgICAgICAgICAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IFtpdGVtU2l6ZV09XCJmaWVsZC5pdGVtU2l6ZSB8fCAyMFwiIHN0eWxlPVwiaGVpZ2h0OjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIWZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gKmNka1ZpcnR1YWxGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zOyB0ZW1wbGF0ZUNhY2hlU2l6ZTogMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1cIiBbc2VsZWN0ZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3soZmllbGQucHJvcGVydHkgPyBpdGVtW2ZpZWxkLnByb3BlcnR5XSA6IGl0ZW0pIHwga2xlc1RyYW5zZm9ybTpmaWVsZC5waXBlVHJhbnNmb3JtfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBlbHNle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gKmNka1ZpcnR1YWxGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zOyB0ZW1wbGF0ZUNhY2hlU2l6ZTogMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1cIiBbc2VsZWN0ZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBrbGVzQ29tcG9uZW50IFtjb21wb25lbnRdPVwiZmllbGQuYXV0b2NvbXBsZXRlQ29tcG9uZW50XCIgW3ZhbHVlXT1cIml0ZW1cIiBbZmllbGRdPVwiZmllbGRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlbHNle1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCFmaWVsZC5hdXRvY29tcGxldGVDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygb3B0aW9uczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW1cIiBbc2VsZWN0ZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3soZmllbGQucHJvcGVydHkgPyBpdGVtW2ZpZWxkLnByb3BlcnR5XSA6IGl0ZW0pIHwga2xlc1RyYW5zZm9ybTpmaWVsZC5waXBlVHJhbnNmb3JtfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIG9wdGlvbnM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxpc3Qtb3B0aW9uIFt2YWx1ZV09XCJpdGVtXCIgW3NlbGVjdGVkXT1cInNlbGVjdGlvbi5pc1NlbGVjdGVkKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIga2xlc0NvbXBvbmVudCBbY29tcG9uZW50XT1cImZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudFwiIFt2YWx1ZV09XCJpdGVtXCIgW2ZpZWxkXT1cImZpZWxkXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1AZWxzZXtcbiAgICAgICAgICAgICAgICA8bWF0LXNwaW5uZXI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9tYXQtc2VsZWN0aW9uLWxpc3Q+XG4gICAgPC9kaXY+XG5gLFxuICBzdHlsZXM6IFtcbiAgICBgLnNlbGVjdGlvbi1saXN0IHtkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsgZ2FwOjVweH1gLFxuICAgIGBtYXQtc2VsZWN0aW9uLWxpc3Qge3dpZHRoOiAxMDAlO2hlaWdodDogMjUwcHg7IG92ZXJmbG93OmF1dG87IGZsZXgtZ3JvdzogMTt9YFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBLbGVzRm9ybVNlbGVjdGlvbkxpc3RTZWFyY2hDb21wb25lbnQgZXh0ZW5kcyBLbGVzRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBzZWxlY3Rpb246IEtsZXNTZWxlY3Rpb25Nb2RlbDxhbnk+O1xuICBvcHRpb25zJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gIHNlYXJjaENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcblxuICBvcHRpb25GaWx0ZXJlZCQ6IE9ic2VydmFibGU8YW55W10+O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5maWVsZC5zdWJzY3JpcHRTaXppbmcpIHtcbiAgICAgIHRoaXMuZmllbGQuc3Vic2NyaXB0U2l6aW5nID0gJ2R5bmFtaWMnO1xuICAgIH1cbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgdGhpcy5zZWxlY3Rpb24gPSBuZXcgS2xlc1NlbGVjdGlvbk1vZGVsPGFueT4odGhpcy5maWVsZC5tdWx0aXBsZSB8fCBmYWxzZSwgW10sIHRydWUsXG4gICAgICAoKG8xOiBhbnksIG8yOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQucHJvcGVydHkpIHtcbiAgICAgICAgICByZXR1cm4gbzE/Llt0aGlzLmZpZWxkLnByb3BlcnR5XSA9PT0gbzI/Llt0aGlzLmZpZWxkLnByb3BlcnR5XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gbzEgPT09IG8yO1xuICAgICAgICB9XG4gICAgICB9KSk7XG5cbiAgICBpZiAodGhpcy5maWVsZC52YWx1ZSkge1xuICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KEFycmF5LmlzQXJyYXkodGhpcy5maWVsZC52YWx1ZSkgPyB0aGlzLmZpZWxkLnZhbHVlIDogW3RoaXMuZmllbGQudmFsdWVdKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5maWVsZC5vcHRpb25zIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgdGhpcy5vcHRpb25zJCA9IHRoaXMuZmllbGQub3B0aW9ucy5waXBlKHNoYXJlUmVwbGF5KDEpKTtcbiAgICB9XG5cbiAgICB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSksXG4gICAgICApLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2V0U2VsZWN0aW9uKEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuc2VsZWN0aW9uLmNoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSkuc3Vic2NyaWJlKGNoYW5nZSA9PiB7XG4gICAgICB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0ucGF0Y2hWYWx1ZShjaGFuZ2Uuc291cmNlLnNlbGVjdGVkKTtcbiAgICAgIHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0ubWFya0FzRGlydHkoKTtcbiAgICB9KTtcblxuICAgIHRoaXMub3B0aW9uRmlsdGVyZWQkID0gdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpLFxuICAgICAgICBzdGFydFdpdGgobnVsbCBhcyBzdHJpbmcpLFxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5maWVsZC5kZWJvdW5jZVRpbWUgfHwgMCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIG1hcCgodmFsdWUpID0+IHZhbHVlPy50b0xvd2VyQ2FzZSgpKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmZpZWxkLm9wdGlvbnMgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQub3B0aW9ucyh2YWx1ZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAoKHRoaXMuZmllbGQub3B0aW9ucyBpbnN0YW5jZW9mIE9ic2VydmFibGUpID8gdGhpcy5vcHRpb25zJCA6IG9mKHRoaXMuZmllbGQub3B0aW9ucykpLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgob3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25zO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoIXRoaXMuZmllbGQucHJvcGVydHkgJiYgb3B0aW9uPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsdWUpKVxuICAgICAgICAgICAgICAgICAgICB8fCAodGhpcy5maWVsZC5wcm9wZXJ0eSAmJiBvcHRpb24/Llt0aGlzLmZpZWxkLnByb3BlcnR5XT8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbHVlKSlcbiAgICAgICAgICAgICAgICAgICAgfHwgKHRoaXMuZmllbGQuc2VhcmNoS2V5cyAmJiB0aGlzLmZpZWxkLnNlYXJjaEtleXMuc29tZShrZXkgPT4gb3B0aW9uPy5ba2V5XS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsdWUpKSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICB9XG5cbiAgb25TZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0aW9uOiBNYXRTZWxlY3Rpb25MaXN0Q2hhbmdlKSB7XG4gICAgc2VsZWN0aW9uLm9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4ge1xuICAgICAgb3B0aW9uLnNlbGVjdGVkID8gdGhpcy5zZWxlY3Rpb24uc2VsZWN0KFtvcHRpb24udmFsdWVdKVxuICAgICAgICA6IHRoaXMuc2VsZWN0aW9uLmRlc2VsZWN0KFtvcHRpb24udmFsdWVdKVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,29 +0,0 @@
1
- import { Component } from "@angular/core";
2
- import { KlesFieldAbstract } from './field.abstract';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "@angular/material/tooltip";
7
- import * as i4 from "@angular/material/slide-toggle";
8
- import * as i5 from "@ngx-translate/core";
9
- export class KlesFormSlideToggleComponent extends KlesFieldAbstract {
10
- ngOnInit() { super.ngOnInit(); }
11
- ngOnDestroy() {
12
- super.ngOnDestroy();
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormSlideToggleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: KlesFormSlideToggleComponent, selector: "kles-form-slide-toggle", usesInheritance: true, ngImport: i0, template: `
16
- <div [formGroup]="group" >
17
- <mat-slide-toggle matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [color]="field.color" [formControlName]="field.name">{{field.label | translate}}</mat-slide-toggle>
18
- </div>
19
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormSlideToggleComponent, decorators: [{
22
- type: Component,
23
- args: [{ selector: 'kles-form-slide-toggle', template: `
24
- <div [formGroup]="group" >
25
- <mat-slide-toggle matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [color]="field.color" [formControlName]="field.name">{{field.label | translate}}</mat-slide-toggle>
26
- </div>
27
- ` }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZmllbGRzL3NsaWRlLXRvZ2dsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7QUFZckQsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGlCQUFpQjtJQUMvRCxRQUFRLEtBQUssS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoQyxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBSlEsNEJBQTRCO21HQUE1Qiw0QkFBNEIscUZBUDNCOzs7O0NBSWI7OzRGQUdZLDRCQUE0QjtrQkFUeEMsU0FBUzsrQkFDSSx3QkFBd0IsWUFDeEI7Ozs7Q0FJYiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBLbGVzRmllbGRBYnN0cmFjdCB9IGZyb20gJy4vZmllbGQuYWJzdHJhY3QnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2xlcy1mb3JtLXNsaWRlLXRvZ2dsZScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiA+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIG1hdFRvb2x0aXA9XCJ7e2ZpZWxkLnRvb2x0aXB9fVwiIFthdHRyLmlkXT1cImZpZWxkLmlkXCIgW25nQ2xhc3NdPVwiZmllbGQubmdDbGFzc1wiIFtjb2xvcl09XCJmaWVsZC5jb2xvclwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQubmFtZVwiPnt7ZmllbGQubGFiZWwgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbmAsXG4gICAgc3R5bGVzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBLbGVzRm9ybVNsaWRlVG9nZ2xlQ29tcG9uZW50IGV4dGVuZHMgS2xlc0ZpZWxkQWJzdHJhY3QgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgbmdPbkluaXQoKSB7IHN1cGVyLm5nT25Jbml0KCk7IH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
@@ -1,42 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component } from '@angular/core';
3
- import { FieldMapper } from '../decorators/component.decorator';
4
- import { EnumType } from '../enums/type.enum';
5
- import { KlesFieldAbstract } from './field.abstract';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "@angular/material/tooltip";
9
- import * as i3 from "../pipe/transform.pipe";
10
- let KlesFormTextComponent = class KlesFormTextComponent extends KlesFieldAbstract {
11
- ngOnInit() {
12
- super.ngOnInit();
13
- }
14
- ngOnDestroy() {
15
- super.ngOnDestroy();
16
- }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KlesFormTextComponent, selector: "kles-form-text", usesInheritance: true, ngImport: i0, template: `
19
- <span matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [ngStyle]="field.ngStyle">
20
- {{((field.property && group.controls[field.name].value) ? group.controls[field.name].value[field.property] : group.controls[field.name].value) | klesTransform:field.pipeTransform}}
21
- </span>
22
- @if (field.subComponents || isPending()) {
23
- <ng-content></ng-content>
24
- }
25
- `, isInline: true, styles: [":host{display:flex;align-items:center;flex-direction:row;justify-content:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i3.KlesTransformPipe, name: "klesTransform" }] }); }
26
- };
27
- KlesFormTextComponent = __decorate([
28
- FieldMapper({ type: EnumType.text })
29
- ], KlesFormTextComponent);
30
- export { KlesFormTextComponent };
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormTextComponent, decorators: [{
32
- type: Component,
33
- args: [{ selector: 'kles-form-text', template: `
34
- <span matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [ngStyle]="field.ngStyle">
35
- {{((field.property && group.controls[field.name].value) ? group.controls[field.name].value[field.property] : group.controls[field.name].value) | klesTransform:field.pipeTransform}}
36
- </span>
37
- @if (field.subComponents || isPending()) {
38
- <ng-content></ng-content>
39
- }
40
- `, styles: [":host{display:flex;align-items:center;flex-direction:row;justify-content:inherit}\n"] }]
41
- }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy9zcmMvbGliL2ZpZWxkcy90ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7QUFxQjlDLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXNCLFNBQVEsaUJBQWlCO0lBRXhELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FQUSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw2RUFoQnBCOzs7Ozs7O0NBT2I7O0FBU1kscUJBQXFCO0lBbkJqQyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0dBbUJ4QixxQkFBcUIsQ0FRakM7OzRGQVJZLHFCQUFxQjtrQkFsQmpDLFNBQVM7K0JBQ0ksZ0JBQWdCLFlBQ2hCOzs7Ozs7O0NBT2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZE1hcHBlciB9IGZyb20gJy4uL2RlY29yYXRvcnMvY29tcG9uZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBFbnVtVHlwZSB9IGZyb20gJy4uL2VudW1zL3R5cGUuZW51bSc7XG5pbXBvcnQgeyBLbGVzRmllbGRBYnN0cmFjdCB9IGZyb20gJy4vZmllbGQuYWJzdHJhY3QnO1xuXG5ARmllbGRNYXBwZXIoeyB0eXBlOiBFbnVtVHlwZS50ZXh0IH0pXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2tsZXMtZm9ybS10ZXh0JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8c3BhbiBtYXRUb29sdGlwPVwie3tmaWVsZC50b29sdGlwfX1cIiBbYXR0ci5pZF09XCJmaWVsZC5pZFwiIFtuZ0NsYXNzXT1cImZpZWxkLm5nQ2xhc3NcIiBbbmdTdHlsZV09XCJmaWVsZC5uZ1N0eWxlXCI+XG4gICAgICAgICAgICAgICAge3soKGZpZWxkLnByb3BlcnR5ICYmIGdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlKSA/IGdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlW2ZpZWxkLnByb3BlcnR5XSA6IGdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlKSB8IGtsZXNUcmFuc2Zvcm06ZmllbGQucGlwZVRyYW5zZm9ybX19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgQGlmIChmaWVsZC5zdWJDb21wb25lbnRzIHx8IGlzUGVuZGluZygpKSB7XG4gICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgfVxuYCxcbnN0eWxlczogW2A6aG9zdHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogaW5oZXJpdDtcbiAgICAgICAgfWBcbl1cbn0pXG5leHBvcnQgY2xhc3MgS2xlc0Zvcm1UZXh0Q29tcG9uZW50IGV4dGVuZHMgS2xlc0ZpZWxkQWJzdHJhY3QgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIl19
@@ -1,64 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { KlesFieldAbstract } from './field.abstract';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "@angular/material/input";
7
- import * as i4 from "@angular/material/form-field";
8
- import * as i5 from "@angular/cdk/text-field";
9
- import * as i6 from "@angular/material/tooltip";
10
- import * as i7 from "../directive/mat-error-message.directive";
11
- import * as i8 from "@ngx-translate/core";
12
- export class KlesFormTextareaComponent extends KlesFieldAbstract {
13
- ngOnInit() {
14
- super.ngOnInit();
15
- }
16
- ngOnDestroy() {
17
- super.ngOnDestroy();
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KlesFormTextareaComponent, selector: "kles-form-textarea", usesInheritance: true, ngImport: i0, template: `
21
- <mat-form-field [subscriptSizing]="field.subscriptSizing" [formGroup]="group" [color]="field.color" class="form-element" [appearance]="field.appearance">
22
- @if (field.label) {
23
- <mat-label>{{field.label}}</mat-label>
24
- }
25
-
26
- <textarea matInput matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass"
27
- [formControlName]="field.name" cdkTextareaAutosize [placeholder]="field.placeholder | translate"
28
- [cdkAutosizeMinRows]="field.textareaAutoSize?.minRows" [cdkAutosizeMaxRows]="field.textareaAutoSize?.maxRows" [maxlength]="field.maxLength">
29
- </textarea>
30
-
31
- @if (field.subComponents || field.clearable) {
32
- <div matSuffix>
33
- <ng-content></ng-content>
34
- </div>
35
- }
36
-
37
- <mat-error matErrorMessage [validations]="field.validations" [asyncValidations]="field.asyncValidations"></mat-error>
38
- </mat-form-field>
39
- `, isInline: true, styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i7.MatErrorMessageDirective, selector: "[matErrorMessage]", inputs: ["validations", "asyncValidations"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormTextareaComponent, decorators: [{
42
- type: Component,
43
- args: [{ selector: 'kles-form-textarea', template: `
44
- <mat-form-field [subscriptSizing]="field.subscriptSizing" [formGroup]="group" [color]="field.color" class="form-element" [appearance]="field.appearance">
45
- @if (field.label) {
46
- <mat-label>{{field.label}}</mat-label>
47
- }
48
-
49
- <textarea matInput matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass"
50
- [formControlName]="field.name" cdkTextareaAutosize [placeholder]="field.placeholder | translate"
51
- [cdkAutosizeMinRows]="field.textareaAutoSize?.minRows" [cdkAutosizeMaxRows]="field.textareaAutoSize?.maxRows" [maxlength]="field.maxLength">
52
- </textarea>
53
-
54
- @if (field.subComponents || field.clearable) {
55
- <div matSuffix>
56
- <ng-content></ng-content>
57
- </div>
58
- }
59
-
60
- <mat-error matErrorMessage [validations]="field.validations" [asyncValidations]="field.asyncValidations"></mat-error>
61
- </mat-form-field>
62
- `, styles: ["mat-form-field{width:100%}\n"] }]
63
- }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMvc3JjL2xpYi9maWVsZHMvdGV4dGFyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7O0FBMEJyRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsaUJBQWlCO0lBQzVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FQUSx5QkFBeUI7bUdBQXpCLHlCQUF5QixpRkF0QnhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBbUJUOzs0RkFHUSx5QkFBeUI7a0JBeEJyQyxTQUFTOytCQUNJLG9CQUFvQixZQUNwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW1CVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtsZXNGaWVsZEFic3RyYWN0IH0gZnJvbSAnLi9maWVsZC5hYnN0cmFjdCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2xlcy1mb3JtLXRleHRhcmVhJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtZm9ybS1maWVsZCBbc3Vic2NyaXB0U2l6aW5nXT1cImZpZWxkLnN1YnNjcmlwdFNpemluZ1wiIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbY29sb3JdPVwiZmllbGQuY29sb3JcIiBjbGFzcz1cImZvcm0tZWxlbWVudFwiIFthcHBlYXJhbmNlXT1cImZpZWxkLmFwcGVhcmFuY2VcIj5cbiAgICAgICAgQGlmIChmaWVsZC5sYWJlbCkge1xuICAgICAgICAgICAgPG1hdC1sYWJlbD57e2ZpZWxkLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgICAgICAgfVxuXG4gICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBtYXRUb29sdGlwPVwie3tmaWVsZC50b29sdGlwfX1cIiBbYXR0ci5pZF09XCJmaWVsZC5pZFwiIFtuZ0NsYXNzXT1cImZpZWxkLm5nQ2xhc3NcIlxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLm5hbWVcIiBjZGtUZXh0YXJlYUF1dG9zaXplIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtjZGtBdXRvc2l6ZU1pblJvd3NdPVwiZmllbGQudGV4dGFyZWFBdXRvU2l6ZT8ubWluUm93c1wiIFtjZGtBdXRvc2l6ZU1heFJvd3NdPVwiZmllbGQudGV4dGFyZWFBdXRvU2l6ZT8ubWF4Um93c1wiICBbbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiPlxuICAgICAgICA8L3RleHRhcmVhPlxuXG4gICAgICAgIEBpZiAoZmllbGQuc3ViQ29tcG9uZW50cyB8fCBmaWVsZC5jbGVhcmFibGUpIHtcbiAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4PlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPG1hdC1lcnJvciBtYXRFcnJvck1lc3NhZ2UgW3ZhbGlkYXRpb25zXT1cImZpZWxkLnZhbGlkYXRpb25zXCIgW2FzeW5jVmFsaWRhdGlvbnNdPVwiZmllbGQuYXN5bmNWYWxpZGF0aW9uc1wiPjwvbWF0LWVycm9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgYCxcbiAgICBzdHlsZXM6IFsnbWF0LWZvcm0tZmllbGQge3dpZHRoOiBjYWxjKDEwMCUpfSddXG59KVxuZXhwb3J0IGNsYXNzIEtsZXNGb3JtVGV4dGFyZWFDb21wb25lbnQgZXh0ZW5kcyBLbGVzRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=