@kato-lee/components 1.1.3 → 2.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 (151) hide show
  1. package/README.md +1 -1
  2. package/assets/_fields.scss +82 -21
  3. package/assets/_grids.scss +8 -0
  4. package/assets/assets.scss +4 -0
  5. package/assets/bundle.css +1 -0
  6. package/assets/{themes/_default.scss → colors.scss} +7 -6
  7. package/assets/components/_checkbox.scss +11 -0
  8. package/assets/components/_fields.scss +53 -13
  9. package/assets/components/_scroll-bar.scss +8 -0
  10. package/assets/components/_snack-bar.scss +21 -10
  11. package/assets/components/_tables.scss +75 -84
  12. package/assets/components/main.scss +9 -10
  13. package/assets/material/theme.scss +91 -0
  14. package/box-form/index.d.ts +51 -3
  15. package/box-form/package.json +3 -0
  16. package/capsule/index.d.ts +25 -2
  17. package/capsule/package.json +3 -0
  18. package/cards/index.d.ts +18 -2
  19. package/cards/package.json +3 -0
  20. package/dialogs/index.d.ts +18 -2
  21. package/dialogs/package.json +3 -0
  22. package/fesm2022/kato-lee-components-box-form.mjs +9 -9
  23. package/fesm2022/kato-lee-components-box-form.mjs.map +1 -1
  24. package/fesm2022/kato-lee-components-capsule.mjs +20 -20
  25. package/fesm2022/kato-lee-components-capsule.mjs.map +1 -1
  26. package/fesm2022/kato-lee-components-cards.mjs +8 -8
  27. package/fesm2022/kato-lee-components-cards.mjs.map +1 -1
  28. package/fesm2022/kato-lee-components-dialogs.mjs +9 -9
  29. package/fesm2022/kato-lee-components-dialogs.mjs.map +1 -1
  30. package/fesm2022/kato-lee-components-fields.mjs +60 -64
  31. package/fesm2022/kato-lee-components-fields.mjs.map +1 -1
  32. package/fesm2022/kato-lee-components-modal.mjs +16 -12
  33. package/fesm2022/kato-lee-components-modal.mjs.map +1 -1
  34. package/fesm2022/kato-lee-components-pretty-box.mjs +5 -5
  35. package/fesm2022/kato-lee-components-pretty-box.mjs.map +1 -1
  36. package/fesm2022/kato-lee-components-tables.mjs +60 -20
  37. package/fesm2022/kato-lee-components-tables.mjs.map +1 -1
  38. package/fesm2022/kato-lee-components-toast.mjs +3 -3
  39. package/fesm2022/kato-lee-components-toast.mjs.map +1 -1
  40. package/fields/index.d.ts +464 -15
  41. package/fields/package.json +3 -0
  42. package/index.d.ts +2 -1
  43. package/modal/index.d.ts +66 -4
  44. package/modal/package.json +3 -0
  45. package/package.json +4 -24
  46. package/pretty-box/index.d.ts +27 -1
  47. package/pretty-box/package.json +3 -0
  48. package/tables/index.d.ts +27 -3
  49. package/tables/package.json +3 -0
  50. package/toast/index.d.ts +25 -1
  51. package/toast/package.json +3 -0
  52. package/assets/components/_material.scss +0 -15
  53. package/assets/main.scss +0 -4
  54. package/assets/material/themes/dark.scss +0 -52
  55. package/assets/material/themes/default.scss +0 -105
  56. package/assets/material/themes/main.scss +0 -2907
  57. package/assets/themes/_dark.scss +0 -16
  58. package/assets/themes/main.scss +0 -2
  59. package/assets/variables.scss +0 -7
  60. package/box-form/common.d.ts +0 -5
  61. package/box-form/component.d.ts +0 -34
  62. package/box-form/module.d.ts +0 -8
  63. package/capsule/component.d.ts +0 -14
  64. package/capsule/module.d.ts +0 -8
  65. package/cards/component.d.ts +0 -8
  66. package/cards/module.d.ts +0 -8
  67. package/dialogs/dismiss-dialog-button.component.d.ts +0 -8
  68. package/dialogs/module.d.ts +0 -8
  69. package/esm2022/box-form/common.mjs +0 -2
  70. package/esm2022/box-form/component.mjs +0 -112
  71. package/esm2022/box-form/index.mjs +0 -7
  72. package/esm2022/box-form/kato-lee-components-box-form.mjs +0 -5
  73. package/esm2022/box-form/module.mjs +0 -17
  74. package/esm2022/capsule/component.mjs +0 -78
  75. package/esm2022/capsule/index.mjs +0 -6
  76. package/esm2022/capsule/kato-lee-components-capsule.mjs +0 -5
  77. package/esm2022/capsule/module.mjs +0 -17
  78. package/esm2022/cards/component.mjs +0 -48
  79. package/esm2022/cards/index.mjs +0 -6
  80. package/esm2022/cards/kato-lee-components-cards.mjs +0 -5
  81. package/esm2022/cards/module.mjs +0 -18
  82. package/esm2022/dialogs/dismiss-dialog-button.component.mjs +0 -46
  83. package/esm2022/dialogs/index.mjs +0 -6
  84. package/esm2022/dialogs/kato-lee-components-dialogs.mjs +0 -5
  85. package/esm2022/dialogs/module.mjs +0 -18
  86. package/esm2022/fields/autocomplete/component.mjs +0 -259
  87. package/esm2022/fields/common.mjs +0 -11
  88. package/esm2022/fields/date/component.mjs +0 -163
  89. package/esm2022/fields/date-range/component.mjs +0 -85
  90. package/esm2022/fields/error/component.mjs +0 -57
  91. package/esm2022/fields/error/error-equals.pipe.mjs +0 -19
  92. package/esm2022/fields/error/error.msg.pipe.mjs +0 -19
  93. package/esm2022/fields/error/lang/_en.mjs +0 -12
  94. package/esm2022/fields/error/lang/_es.mjs +0 -12
  95. package/esm2022/fields/error/lang/index.mjs +0 -3
  96. package/esm2022/fields/general/component.mjs +0 -202
  97. package/esm2022/fields/index.mjs +0 -19
  98. package/esm2022/fields/kato-lee-components-fields.mjs +0 -5
  99. package/esm2022/fields/module.mjs +0 -82
  100. package/esm2022/fields/money/component.mjs +0 -202
  101. package/esm2022/fields/number/component.mjs +0 -179
  102. package/esm2022/fields/remote-autocomplete/component.mjs +0 -188
  103. package/esm2022/fields/select/component.mjs +0 -158
  104. package/esm2022/fields/text-area/component.mjs +0 -186
  105. package/esm2022/fields/validators.mjs +0 -11
  106. package/esm2022/index.mjs +0 -2
  107. package/esm2022/kato-lee-components.mjs +0 -5
  108. package/esm2022/modal/component.mjs +0 -66
  109. package/esm2022/modal/config.mjs +0 -2
  110. package/esm2022/modal/index.mjs +0 -8
  111. package/esm2022/modal/kato-lee-components-modal.mjs +0 -5
  112. package/esm2022/modal/module.mjs +0 -17
  113. package/esm2022/modal/service.mjs +0 -33
  114. package/esm2022/pretty-box/component.mjs +0 -94
  115. package/esm2022/pretty-box/index.mjs +0 -5
  116. package/esm2022/pretty-box/kato-lee-components-pretty-box.mjs +0 -5
  117. package/esm2022/tables/index.mjs +0 -7
  118. package/esm2022/tables/kato-lee-components-tables.mjs +0 -5
  119. package/esm2022/tables/mat-paginator.translation.mjs +0 -22
  120. package/esm2022/tables/module.mjs +0 -22
  121. package/esm2022/tables/no-records.component.mjs +0 -58
  122. package/esm2022/toast/index.mjs +0 -5
  123. package/esm2022/toast/kato-lee-components-toast.mjs +0 -5
  124. package/esm2022/toast/service.mjs +0 -42
  125. package/fields/autocomplete/component.d.ts +0 -65
  126. package/fields/common.d.ts +0 -8
  127. package/fields/date/component.d.ts +0 -46
  128. package/fields/date-range/component.d.ts +0 -23
  129. package/fields/error/component.d.ts +0 -22
  130. package/fields/error/error-equals.pipe.d.ts +0 -7
  131. package/fields/error/error.msg.pipe.d.ts +0 -7
  132. package/fields/error/lang/_en.d.ts +0 -1
  133. package/fields/error/lang/_es.d.ts +0 -1
  134. package/fields/error/lang/index.d.ts +0 -2
  135. package/fields/general/component.d.ts +0 -56
  136. package/fields/module.d.ts +0 -19
  137. package/fields/money/component.d.ts +0 -53
  138. package/fields/number/component.d.ts +0 -52
  139. package/fields/remote-autocomplete/component.d.ts +0 -43
  140. package/fields/select/component.d.ts +0 -44
  141. package/fields/text-area/component.d.ts +0 -55
  142. package/fields/validators.d.ts +0 -9
  143. package/modal/component.d.ts +0 -35
  144. package/modal/config.d.ts +0 -9
  145. package/modal/module.d.ts +0 -8
  146. package/modal/service.d.ts +0 -13
  147. package/pretty-box/component.d.ts +0 -24
  148. package/tables/mat-paginator.translation.d.ts +0 -2
  149. package/tables/module.d.ts +0 -10
  150. package/tables/no-records.component.d.ts +0 -12
  151. package/toast/service.d.ts +0 -21
@@ -1,188 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Output, EventEmitter, ViewEncapsulation, Input, } from '@angular/core';
2
- import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
3
- import { Subject, debounceTime, distinctUntilChanged, firstValueFrom, map, takeUntil, } from 'rxjs';
4
- import { CommonModule } from '@angular/common';
5
- import { MatProgressSpinnerModule } from '@kato-lee/material/progress-spinner';
6
- import { MatAutocompleteModule } from '@kato-lee/material/autocomplete';
7
- import { MatFormFieldModule } from '@kato-lee/material/form-field';
8
- import { MatButtonModule } from '@kato-lee/material/button';
9
- import { MatInputModule } from '@kato-lee/material/input';
10
- import { MatIconModule } from '@kato-lee/material/icon';
11
- import { TAK_PRESS_ESC_KEY } from '../common';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/common/http";
14
- import * as i2 from "@kato-lee/components/toast";
15
- import * as i3 from "@angular/forms";
16
- import * as i4 from "@kato-lee/material/progress-spinner";
17
- import * as i5 from "@kato-lee/material/form-field";
18
- import * as i6 from "@kato-lee/material/input";
19
- import * as i7 from "@kato-lee/material/autocomplete";
20
- import * as i8 from "@kato-lee/material/core";
21
- import * as i9 from "@kato-lee/material/icon";
22
- import * as i10 from "@kato-lee/material/button";
23
- import * as i11 from "@angular/common";
24
- export class TakRemoteAutocompleteFieldComponent {
25
- constructor(_http, _cd, _toast) {
26
- this._http = _http;
27
- this._cd = _cd;
28
- this._toast = _toast;
29
- this.remoteUrl = '';
30
- this.params = {};
31
- this.option = 'option';
32
- this.extraInfo = '';
33
- this.justOneLoad = false;
34
- this.onSelect = new EventEmitter();
35
- this.suggestions = [];
36
- this.autocomplete = new FormControl();
37
- this._isLoading = false;
38
- this.isValueSelected = false;
39
- this._unsubscribe$ = new Subject();
40
- this._isLoadingItem = false;
41
- this._isRequired = true;
42
- this._value = '';
43
- this._notSuggestions = false;
44
- this.wasLoaded = false;
45
- }
46
- async ngOnInit() {
47
- if (!this.justOneLoad) {
48
- this.autocomplete.valueChanges
49
- .pipe(takeUntil(this._unsubscribe$), debounceTime(500), distinctUntilChanged())
50
- .subscribe(async (value) => {
51
- if (value &&
52
- !this.suggestions.filter(suggestion => suggestion.getNombre() === value).length) {
53
- this._isLoading = true;
54
- this._cd.markForCheck();
55
- try {
56
- const result = await firstValueFrom(this._http.get(this.remoteUrl, {
57
- params: this.params,
58
- }));
59
- if (result.length !== 0) {
60
- this.suggestions = result;
61
- if (`${value}`.toLocaleLowerCase() ===
62
- `${this.suggestions[0][this.option]}`.toLocaleLowerCase()) {
63
- this.autocomplete.setValue(`${this.suggestions[0][this.option]}`, {
64
- emitEvent: false,
65
- });
66
- this.onSelect.emit(this.suggestions[0]);
67
- document.body.dispatchEvent(TAK_PRESS_ESC_KEY);
68
- }
69
- }
70
- else {
71
- this._toast.notification('No existen items que contengan esta palabra clave');
72
- }
73
- }
74
- catch (error) {
75
- this._toast.danger(error.error.message);
76
- }
77
- this._isLoading = false;
78
- this._cd.markForCheck();
79
- }
80
- });
81
- }
82
- else {
83
- try {
84
- const result = await firstValueFrom(this._http.get(this.remoteUrl, {
85
- params: this.params,
86
- }));
87
- this.suggestions = result;
88
- this.wasLoaded = true;
89
- this._cd.markForCheck();
90
- this._filteredOptions = this.autocomplete.valueChanges.pipe(takeUntil(this._unsubscribe$), map(() => this._filter()));
91
- }
92
- catch (error) {
93
- this._toast.danger(error.error.message);
94
- }
95
- }
96
- }
97
- _filter() {
98
- const value = typeof `${this.autocomplete.value}` === 'string'
99
- ? `${this.autocomplete.value}`.toLowerCase()
100
- : `${this.autocomplete.value[this.option]}`.toLowerCase();
101
- const option = this.suggestions.filter(res => `${res[this.option]}`.toLowerCase().includes(value));
102
- if (!option.length)
103
- this._notSuggestions = true;
104
- else
105
- this._notSuggestions = false;
106
- return option;
107
- }
108
- async refresh() {
109
- try {
110
- const result = await firstValueFrom(this._http.get(this.remoteUrl, {
111
- params: this.params,
112
- }));
113
- this.suggestions = result;
114
- this.autocomplete.setValue('');
115
- this._toast.notification('Data actualizada correctamente');
116
- this._cd.markForCheck();
117
- }
118
- catch (error) {
119
- this._toast.danger(error.error.message);
120
- }
121
- }
122
- reset() {
123
- if (!this.justOneLoad) {
124
- this.autocomplete.reset();
125
- }
126
- else {
127
- this.autocomplete.setValue('');
128
- }
129
- this.onSelect.emit(null);
130
- }
131
- emit(el, option) {
132
- if (el.isUserInput) {
133
- this.onSelect.emit(option);
134
- }
135
- }
136
- ngOnDestroy() {
137
- this._unsubscribe$.next();
138
- this._unsubscribe$.complete();
139
- }
140
- get isLoading() {
141
- return this._isLoading;
142
- }
143
- get isRequired() {
144
- return this._isRequired;
145
- }
146
- get isLoadingItem() {
147
- return this._isLoadingItem;
148
- }
149
- get filteredOptions() {
150
- return this._filteredOptions;
151
- }
152
- get value() {
153
- return `${this._value}`;
154
- }
155
- get notSuggestions() {
156
- return this._notSuggestions;
157
- }
158
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakRemoteAutocompleteFieldComponent, deps: [{ token: i1.HttpClient }, { token: i0.ChangeDetectorRef }, { token: i2.TakToast }], target: i0.ɵɵFactoryTarget.Component }); }
159
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: TakRemoteAutocompleteFieldComponent, isStandalone: true, selector: "tak-remote-autocomplete-field", inputs: { remoteUrl: "remoteUrl", params: "params", option: "option", extraInfo: "extraInfo", justOneLoad: "justOneLoad" }, outputs: { onSelect: "onSelect" }, ngImport: i0, template: "@if (!justOneLoad || (justOneLoad && wasLoaded)) {\r\n <mat-form-field appearance=\"standard\">\r\n <mat-label>\r\n <ng-content />{{ ' ' }}\r\n @if (isRequired) {\r\n <span class=\"gcm-field__danger-x\">*</span>\r\n }\r\n </mat-label>\r\n <input matInput [formControl]=\"autocomplete\" [matAutocomplete]=\"auto\" />\r\n\r\n @if (isLoading || (autocomplete.value === null && isLoadingItem)) {\r\n <mat-spinner\r\n mat-icon-button\r\n [diameter]=\"15\"\r\n mode=\"indeterminate\"\r\n class=\"spinner-loading\"\r\n ></mat-spinner>\r\n }\r\n <!---->\r\n\r\n @if (autocomplete.value) {\r\n <button mat-icon-button matSuffix (click)=\"reset()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n @if (justOneLoad && !autocomplete.value) {\r\n <button mat-icon-button matSuffix (click)=\"refresh()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n }\r\n\r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n @if (!justOneLoad) {\r\n @for (suggestion of suggestions; track $index) {\r\n <mat-option\r\n [value]=\"suggestion[option]\"\r\n title=\"{{ suggestion[option] }} {{\r\n extraInfo ? '(' + suggestion[extraInfo] + ')' : ''\r\n }}\"\r\n (onSelectionChange)=\"emit($event, suggestion)\"\r\n >\r\n <span>{{ suggestion[option] }}</span>\r\n @if (extraInfo) {\r\n <span class=\"mat-option-span-extra\">{{ suggestion[extraInfo] }}</span>\r\n }\r\n </mat-option>\r\n }\r\n @if (notSuggestions) {\r\n <mat-option>\r\n <span class=\"tak-autocomplete-not-records\"> No se encuentran resultados </span>\r\n </mat-option>\r\n }\r\n } @else {\r\n @for (suggestion of filteredOptions | async; track $index) {\r\n <mat-option\r\n [value]=\"suggestion[option]\"\r\n title=\"{{ suggestion[option] }} {{\r\n extraInfo ? '(' + suggestion[extraInfo] + ')' : ''\r\n }}\"\r\n (onSelectionChange)=\"emit($event, suggestion)\"\r\n >\r\n <span>{{ suggestion[option] }}</span>\r\n @if (extraInfo) {\r\n <span class=\"mat-option-span-extra\">{{ suggestion[extraInfo] }}</span>\r\n }\r\n </mat-option>\r\n }\r\n @if (notSuggestions) {\r\n <mat-option>\r\n <span class=\"tak-autocomplete-not-records\"> No se encuentran resultados </span>\r\n </mat-option>\r\n }\r\n }\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n}\r\n", styles: ["mat-spinner.spinner-loading{display:inline;margin-left:-10px}mat-spinner.spinner-loading>svg{margin-top:-5px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix]" }, { kind: "ngmodule", type: MatInputModule }, { 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: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i7.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i7.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i10.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i11.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
160
- }
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakRemoteAutocompleteFieldComponent, decorators: [{
162
- type: Component,
163
- args: [{ standalone: true, imports: [
164
- FormsModule,
165
- MatProgressSpinnerModule,
166
- MatFormFieldModule,
167
- MatFormFieldModule,
168
- MatInputModule,
169
- ReactiveFormsModule,
170
- MatAutocompleteModule,
171
- MatIconModule,
172
- MatButtonModule,
173
- CommonModule,
174
- ], selector: 'tak-remote-autocomplete-field', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!justOneLoad || (justOneLoad && wasLoaded)) {\r\n <mat-form-field appearance=\"standard\">\r\n <mat-label>\r\n <ng-content />{{ ' ' }}\r\n @if (isRequired) {\r\n <span class=\"gcm-field__danger-x\">*</span>\r\n }\r\n </mat-label>\r\n <input matInput [formControl]=\"autocomplete\" [matAutocomplete]=\"auto\" />\r\n\r\n @if (isLoading || (autocomplete.value === null && isLoadingItem)) {\r\n <mat-spinner\r\n mat-icon-button\r\n [diameter]=\"15\"\r\n mode=\"indeterminate\"\r\n class=\"spinner-loading\"\r\n ></mat-spinner>\r\n }\r\n <!---->\r\n\r\n @if (autocomplete.value) {\r\n <button mat-icon-button matSuffix (click)=\"reset()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n @if (justOneLoad && !autocomplete.value) {\r\n <button mat-icon-button matSuffix (click)=\"refresh()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n }\r\n\r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n @if (!justOneLoad) {\r\n @for (suggestion of suggestions; track $index) {\r\n <mat-option\r\n [value]=\"suggestion[option]\"\r\n title=\"{{ suggestion[option] }} {{\r\n extraInfo ? '(' + suggestion[extraInfo] + ')' : ''\r\n }}\"\r\n (onSelectionChange)=\"emit($event, suggestion)\"\r\n >\r\n <span>{{ suggestion[option] }}</span>\r\n @if (extraInfo) {\r\n <span class=\"mat-option-span-extra\">{{ suggestion[extraInfo] }}</span>\r\n }\r\n </mat-option>\r\n }\r\n @if (notSuggestions) {\r\n <mat-option>\r\n <span class=\"tak-autocomplete-not-records\"> No se encuentran resultados </span>\r\n </mat-option>\r\n }\r\n } @else {\r\n @for (suggestion of filteredOptions | async; track $index) {\r\n <mat-option\r\n [value]=\"suggestion[option]\"\r\n title=\"{{ suggestion[option] }} {{\r\n extraInfo ? '(' + suggestion[extraInfo] + ')' : ''\r\n }}\"\r\n (onSelectionChange)=\"emit($event, suggestion)\"\r\n >\r\n <span>{{ suggestion[option] }}</span>\r\n @if (extraInfo) {\r\n <span class=\"mat-option-span-extra\">{{ suggestion[extraInfo] }}</span>\r\n }\r\n </mat-option>\r\n }\r\n @if (notSuggestions) {\r\n <mat-option>\r\n <span class=\"tak-autocomplete-not-records\"> No se encuentran resultados </span>\r\n </mat-option>\r\n }\r\n }\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n}\r\n", styles: ["mat-spinner.spinner-loading{display:inline;margin-left:-10px}mat-spinner.spinner-loading>svg{margin-top:-5px}\n"] }]
175
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2.TakToast }], propDecorators: { remoteUrl: [{
176
- type: Input
177
- }], params: [{
178
- type: Input
179
- }], option: [{
180
- type: Input
181
- }], extraInfo: [{
182
- type: Input
183
- }], justOneLoad: [{
184
- type: Input
185
- }], onSelect: [{
186
- type: Output
187
- }] } });
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvbXBvbmVudHMvZmllbGRzL3JlbW90ZS1hdXRvY29tcGxldGUvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvbXBvbmVudHMvZmllbGRzL3JlbW90ZS1hdXRvY29tcGxldGUvY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsTUFBTSxFQUNOLFlBQVksRUFHWixpQkFBaUIsRUFDakIsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0UsT0FBTyxFQUVMLE9BQU8sRUFDUCxZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxHQUFHLEVBQ0gsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWdDOUMsTUFBTSxPQUFPLG1DQUFtQztJQXlCOUMsWUFDVSxLQUFp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O3dCQUNYLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixZQUFZO3FCQUNiLFlBQ1MsK0JBQStCLGlCQWExQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO3NJQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uSW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgSW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVGFrVG9hc3QgfSBmcm9tICdAa2F0by1sZWUvY29tcG9uZW50cy90b2FzdCc7XHJcbmltcG9ydCB7XHJcbiAgT2JzZXJ2YWJsZSxcclxuICBTdWJqZWN0LFxyXG4gIGRlYm91bmNlVGltZSxcclxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcclxuICBmaXJzdFZhbHVlRnJvbSxcclxuICBtYXAsXHJcbiAgdGFrZVVudGlsLFxyXG59IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAa2F0by1sZWUvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0BrYXRvLWxlZS9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAa2F0by1sZWUvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BrYXRvLWxlZS9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0BrYXRvLWxlZS9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAa2F0by1sZWUvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFRBS19QUkVTU19FU0NfS0VZIH0gZnJvbSAnLi4vY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gIF0sXHJcbiAgc2VsZWN0b3I6ICd0YWstcmVtb3RlLWF1dG9jb21wbGV0ZS1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZXM6IFtcclxuICAgIGBcclxuICAgICAgbWF0LXNwaW5uZXIuc3Bpbm5lci1sb2FkaW5nIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG4gICAgICAgICYgPiBzdmcge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIGAsXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFrUmVtb3RlQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgcmVtb3RlVXJsID0gJyc7XHJcbiAgQElucHV0KCkgcGFyYW1zOiBhbnkgPSB7fTtcclxuICBASW5wdXQoKSBvcHRpb24gPSAnb3B0aW9uJztcclxuICBASW5wdXQoKSBleHRyYUluZm8gPSAnJztcclxuICBASW5wdXQoKSBqdXN0T25lTG9hZCA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHVibGljIHN1Z2dlc3Rpb25zOiBhbnlbXSA9IFtdO1xyXG4gIHB1YmxpYyBhdXRvY29tcGxldGUgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuXHJcbiAgcHJpdmF0ZSBfaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgcHVibGljIGlzVmFsdWVTZWxlY3RlZCA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF91bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgX2lzTG9hZGluZ0l0ZW0gPSBmYWxzZTtcclxuICBwcml2YXRlIF9pc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgcHJpdmF0ZSBfZmlsdGVyZWRPcHRpb25zITogT2JzZXJ2YWJsZTxhbnlbXT47XHJcbiAgcHJpdmF0ZSBfdmFsdWUgPSAnJztcclxuICBwcml2YXRlIF9ub3RTdWdnZXN0aW9ucyA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgd2FzTG9hZGVkID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX3RvYXN0OiBUYWtUb2FzdFxyXG4gICkge31cclxuXHJcbiAgcHVibGljIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmp1c3RPbmVMb2FkKSB7XHJcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpLCBkZWJvdW5jZVRpbWUoNTAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcclxuICAgICAgICAuc3Vic2NyaWJlKGFzeW5jIHZhbHVlID0+IHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgdmFsdWUgJiZcclxuICAgICAgICAgICAgIXRoaXMuc3VnZ2VzdGlvbnMuZmlsdGVyKHN1Z2dlc3Rpb24gPT4gc3VnZ2VzdGlvbi5nZXROb21icmUoKSA9PT0gdmFsdWUpLmxlbmd0aFxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2lzTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG5cclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcclxuICAgICAgICAgICAgICAgIHRoaXMuX2h0dHAuZ2V0PGFueVtdPih0aGlzLnJlbW90ZVVybCwge1xyXG4gICAgICAgICAgICAgICAgICBwYXJhbXM6IHRoaXMucGFyYW1zLFxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdWdnZXN0aW9ucyA9IHJlc3VsdDtcclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgYCR7dmFsdWV9YC50b0xvY2FsZUxvd2VyQ2FzZSgpID09PVxyXG4gICAgICAgICAgICAgICAgICBgJHt0aGlzLnN1Z2dlc3Rpb25zWzBdW3RoaXMub3B0aW9uXX1gLnRvTG9jYWxlTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZS5zZXRWYWx1ZShgJHt0aGlzLnN1Z2dlc3Rpb25zWzBdW3RoaXMub3B0aW9uXX1gLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMub25TZWxlY3QuZW1pdCh0aGlzLnN1Z2dlc3Rpb25zWzBdKTtcclxuICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5kaXNwYXRjaEV2ZW50KFRBS19QUkVTU19FU0NfS0VZKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdG9hc3Qubm90aWZpY2F0aW9uKCdObyBleGlzdGVuIGl0ZW1zIHF1ZSBjb250ZW5nYW4gZXN0YSBwYWxhYnJhIGNsYXZlJyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fdG9hc3QuZGFuZ2VyKGVycm9yLmVycm9yLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxyXG4gICAgICAgICAgdGhpcy5faHR0cC5nZXQ8YW55W10+KHRoaXMucmVtb3RlVXJsLCB7XHJcbiAgICAgICAgICAgIHBhcmFtczogdGhpcy5wYXJhbXMsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSByZXN1bHQ7XHJcbiAgICAgICAgdGhpcy53YXNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG5cclxuICAgICAgICB0aGlzLl9maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLmF1dG9jb21wbGV0ZS52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpLFxyXG4gICAgICAgICAgbWFwKCgpID0+IHRoaXMuX2ZpbHRlcigpKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcclxuICAgICAgICB0aGlzLl90b2FzdC5kYW5nZXIoZXJyb3IuZXJyb3IubWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbHRlcigpOiBhbnlbXSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9XHJcbiAgICAgIHR5cGVvZiBgJHt0aGlzLmF1dG9jb21wbGV0ZS52YWx1ZX1gID09PSAnc3RyaW5nJ1xyXG4gICAgICAgID8gYCR7dGhpcy5hdXRvY29tcGxldGUudmFsdWV9YC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgOiBgJHt0aGlzLmF1dG9jb21wbGV0ZS52YWx1ZVt0aGlzLm9wdGlvbl19YC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgY29uc3Qgb3B0aW9uID0gdGhpcy5zdWdnZXN0aW9ucy5maWx0ZXIocmVzID0+XHJcbiAgICAgIGAke3Jlc1t0aGlzLm9wdGlvbl19YC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbHVlKVxyXG4gICAgKTtcclxuICAgIGlmICghb3B0aW9uLmxlbmd0aCkgdGhpcy5fbm90U3VnZ2VzdGlvbnMgPSB0cnVlO1xyXG4gICAgZWxzZSB0aGlzLl9ub3RTdWdnZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIG9wdGlvbjtcclxuICB9XHJcblxyXG4gIGFzeW5jIHJlZnJlc2goKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcclxuICAgICAgICB0aGlzLl9odHRwLmdldDxhbnlbXT4odGhpcy5yZW1vdGVVcmwsIHtcclxuICAgICAgICAgIHBhcmFtczogdGhpcy5wYXJhbXMsXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSByZXN1bHQ7XHJcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlLnNldFZhbHVlKCcnKTtcclxuICAgICAgdGhpcy5fdG9hc3Qubm90aWZpY2F0aW9uKCdEYXRhIGFjdHVhbGl6YWRhIGNvcnJlY3RhbWVudGUnKTtcclxuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XHJcbiAgICAgIHRoaXMuX3RvYXN0LmRhbmdlcihlcnJvci5lcnJvci5tZXNzYWdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyByZXNldCgpIHtcclxuICAgIGlmICghdGhpcy5qdXN0T25lTG9hZCkge1xyXG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZS5yZXNldCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hdXRvY29tcGxldGUuc2V0VmFsdWUoJycpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vblNlbGVjdC5lbWl0KG51bGwgYXMgYW55KTtcclxuICB9XHJcblxyXG4gIGVtaXQoZWw6IGFueSwgb3B0aW9uOiBhbnkpIHtcclxuICAgIGlmIChlbC5pc1VzZXJJbnB1dCkge1xyXG4gICAgICB0aGlzLm9uU2VsZWN0LmVtaXQob3B0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5uZXh0KCk7XHJcbiAgICB0aGlzLl91bnN1YnNjcmliZSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGdldCBpc0xvYWRpbmcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNMb2FkaW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzUmVxdWlyZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNSZXF1aXJlZDtcclxuICB9XHJcblxyXG4gIGdldCBpc0xvYWRpbmdJdGVtKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzTG9hZGluZ0l0ZW07XHJcbiAgfVxyXG5cclxuICBnZXQgZmlsdGVyZWRPcHRpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcmVkT3B0aW9ucztcclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZSgpIHtcclxuICAgIHJldHVybiBgJHt0aGlzLl92YWx1ZX1gO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG5vdFN1Z2dlc3Rpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX25vdFN1Z2dlc3Rpb25zO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKCFqdXN0T25lTG9hZCB8fCAoanVzdE9uZUxvYWQgJiYgd2FzTG9hZGVkKSkge1xyXG4gIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwic3RhbmRhcmRcIj5cclxuICAgIDxtYXQtbGFiZWw+XHJcbiAgICAgIDxuZy1jb250ZW50IC8+e3sgJyAnIH19XHJcbiAgICAgIEBpZiAoaXNSZXF1aXJlZCkge1xyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ2NtLWZpZWxkX19kYW5nZXIteFwiPio8L3NwYW4+XHJcbiAgICAgIH1cclxuICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJhdXRvY29tcGxldGVcIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIiAvPlxyXG5cclxuICAgIEBpZiAoaXNMb2FkaW5nIHx8IChhdXRvY29tcGxldGUudmFsdWUgPT09IG51bGwgJiYgaXNMb2FkaW5nSXRlbSkpIHtcclxuICAgICAgPG1hdC1zcGlubmVyXHJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgW2RpYW1ldGVyXT1cIjE1XCJcclxuICAgICAgICBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiXHJcbiAgICAgICAgY2xhc3M9XCJzcGlubmVyLWxvYWRpbmdcIlxyXG4gICAgICA+PC9tYXQtc3Bpbm5lcj5cclxuICAgIH1cclxuICAgIDwhLS0tLT5cclxuXHJcbiAgICBAaWYgKGF1dG9jb21wbGV0ZS52YWx1ZSkge1xyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggKGNsaWNrKT1cInJlc2V0KClcIj5cclxuICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIH1cclxuICAgIEBpZiAoanVzdE9uZUxvYWQgJiYgIWF1dG9jb21wbGV0ZS52YWx1ZSkge1xyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggKGNsaWNrKT1cInJlZnJlc2goKVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5yZWZyZXNoPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICB9XHJcblxyXG4gICAgPG1hdC1hdXRvY29tcGxldGUgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCI+XHJcbiAgICAgIEBpZiAoIWp1c3RPbmVMb2FkKSB7XHJcbiAgICAgICAgQGZvciAoc3VnZ2VzdGlvbiBvZiBzdWdnZXN0aW9uczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICAgICBbdmFsdWVdPVwic3VnZ2VzdGlvbltvcHRpb25dXCJcclxuICAgICAgICAgICAgdGl0bGU9XCJ7eyBzdWdnZXN0aW9uW29wdGlvbl0gfX0ge3tcclxuICAgICAgICAgICAgICBleHRyYUluZm8gPyAnKCcgKyBzdWdnZXN0aW9uW2V4dHJhSW5mb10gKyAnKScgOiAnJ1xyXG4gICAgICAgICAgICB9fVwiXHJcbiAgICAgICAgICAgIChvblNlbGVjdGlvbkNoYW5nZSk9XCJlbWl0KCRldmVudCwgc3VnZ2VzdGlvbilcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBzdWdnZXN0aW9uW29wdGlvbl0gfX08L3NwYW4+XHJcbiAgICAgICAgICAgIEBpZiAoZXh0cmFJbmZvKSB7XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtb3B0aW9uLXNwYW4tZXh0cmFcIj57eyBzdWdnZXN0aW9uW2V4dHJhSW5mb10gfX08L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChub3RTdWdnZXN0aW9ucykge1xyXG4gICAgICAgICAgPG1hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFrLWF1dG9jb21wbGV0ZS1ub3QtcmVjb3Jkc1wiPiBObyBzZSBlbmN1ZW50cmFuIHJlc3VsdGFkb3MgPC9zcGFuPlxyXG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIH1cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQGZvciAoc3VnZ2VzdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luYzsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICAgICBbdmFsdWVdPVwic3VnZ2VzdGlvbltvcHRpb25dXCJcclxuICAgICAgICAgICAgdGl0bGU9XCJ7eyBzdWdnZXN0aW9uW29wdGlvbl0gfX0ge3tcclxuICAgICAgICAgICAgICBleHRyYUluZm8gPyAnKCcgKyBzdWdnZXN0aW9uW2V4dHJhSW5mb10gKyAnKScgOiAnJ1xyXG4gICAgICAgICAgICB9fVwiXHJcbiAgICAgICAgICAgIChvblNlbGVjdGlvbkNoYW5nZSk9XCJlbWl0KCRldmVudCwgc3VnZ2VzdGlvbilcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBzdWdnZXN0aW9uW29wdGlvbl0gfX08L3NwYW4+XHJcbiAgICAgICAgICAgIEBpZiAoZXh0cmFJbmZvKSB7XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtb3B0aW9uLXNwYW4tZXh0cmFcIj57eyBzdWdnZXN0aW9uW2V4dHJhSW5mb10gfX08L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChub3RTdWdnZXN0aW9ucykge1xyXG4gICAgICAgICAgPG1hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFrLWF1dG9jb21wbGV0ZS1ub3QtcmVjb3Jkc1wiPiBObyBzZSBlbmN1ZW50cmFuIHJlc3VsdGFkb3MgPC9zcGFuPlxyXG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbn1cclxuIl19
@@ -1,158 +0,0 @@
1
- import { Component, Optional, Input, Self, EventEmitter, Output, } from '@angular/core';
2
- import { FormsModule, ReactiveFormsModule, } from '@angular/forms';
3
- import { takeUntil } from 'rxjs/operators';
4
- import { Subject } from 'rxjs';
5
- import { TAK_DEFAULT_APPEARANCE_FORM } from '../common';
6
- import { CommonModule } from '@angular/common';
7
- import { MatFormFieldModule } from '@kato-lee/material/form-field';
8
- import { MatTooltipModule } from '@kato-lee/material/tooltip';
9
- import { TakErrorComponent } from '../error/component';
10
- import { MatSelectModule } from '@kato-lee/material/select';
11
- import { MatButtonModule } from '@kato-lee/material/button';
12
- import { MatOptionModule } from '@kato-lee/material/core';
13
- import { MatInputModule } from '@kato-lee/material/input';
14
- import { MatIconModule } from '@kato-lee/material/icon';
15
- import { MatMenuModule } from '@kato-lee/material/menu';
16
- import * as i0 from "@angular/core";
17
- import * as i1 from "@angular/forms";
18
- import * as i2 from "@kato-lee/material/tooltip";
19
- import * as i3 from "@kato-lee/material/menu";
20
- import * as i4 from "@kato-lee/material/form-field";
21
- import * as i5 from "@kato-lee/material/select";
22
- import * as i6 from "@kato-lee/material/core";
23
- import * as i7 from "@kato-lee/material/button";
24
- import * as i8 from "@kato-lee/material/icon";
25
- export class TakSelectFieldComponent {
26
- constructor(_ngControl, _formGroupDirective, _cd) {
27
- this._ngControl = _ngControl;
28
- this._formGroupDirective = _formGroupDirective;
29
- this._cd = _cd;
30
- this.autocomplete = 'off';
31
- this.appearance = TAK_DEFAULT_APPEARANCE_FORM;
32
- this.color = 'primary';
33
- this.suggestions = [];
34
- this.disabled = false;
35
- this.type = 'select';
36
- this.tooltip = '';
37
- this.icon = 'filter_list';
38
- this.option = 'option';
39
- this.extraInfo = '';
40
- this.hasDefaultValue = false;
41
- this.onSelect = new EventEmitter();
42
- this.onChangeFn = (_) => { };
43
- this.onTouchFn = (_) => { };
44
- this.isInvalid = false;
45
- this.isSubmitted = false;
46
- this._unsubscribe$ = new Subject();
47
- if (_ngControl)
48
- this._ngControl.valueAccessor = this;
49
- if (_formGroupDirective) {
50
- _formGroupDirective.ngSubmit.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {
51
- this.isSubmitted = true;
52
- _cd.markForCheck();
53
- });
54
- }
55
- }
56
- ngOnInit() {
57
- if (this.suggestions.length && this.hasDefaultValue) {
58
- this._ngControl.control?.setValue(this.suggestions[0]);
59
- }
60
- if (this.disabled)
61
- this.control.disable();
62
- }
63
- writeValue(value) { }
64
- registerOnChange(fn) {
65
- this.onChangeFn = fn;
66
- }
67
- registerOnTouched(fn) {
68
- this.onTouchFn = fn;
69
- }
70
- onChange(event) {
71
- this.onChangeFn(event.target.value);
72
- if (this.control.touched)
73
- this._onValidate();
74
- }
75
- emit(el) {
76
- if (el.isUserInput) {
77
- this.onSelect.emit(el.source.value);
78
- this.isInvalid = false;
79
- }
80
- }
81
- justEmit(el) {
82
- this.control.setValue(el);
83
- this.onSelect.emit(el);
84
- this.isInvalid = false;
85
- }
86
- onFocusOut() {
87
- this._onValidate();
88
- }
89
- _onValidate() {
90
- if (this.control.invalid)
91
- this.isInvalid = true;
92
- else
93
- this.isInvalid = false;
94
- }
95
- ngOnDestroy() {
96
- this._unsubscribe$.next();
97
- this._unsubscribe$.complete();
98
- }
99
- get control() {
100
- return this._ngControl?.control;
101
- }
102
- get directive() {
103
- return this._formGroupDirective;
104
- }
105
- get isDisabled() {
106
- return this._ngControl.disabled;
107
- }
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakSelectFieldComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i1.FormGroupDirective, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
109
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: TakSelectFieldComponent, isStandalone: true, selector: "tak-select-field", inputs: { autocomplete: "autocomplete", appearance: "appearance", color: "color", suggestions: "suggestions", disabled: "disabled", type: "type", tooltip: "tooltip", icon: "icon", option: "option", extraInfo: "extraInfo", hasDefaultValue: "hasDefaultValue" }, outputs: { onSelect: "onSelect" }, ngImport: i0, template: "@if (type === 'select') {\r\n <div class=\"tak-form-container\">\r\n <mat-form-field [appearance]=\"appearance\" [color]=\"color\">\r\n <mat-label><ng-content /></mat-label>\r\n <mat-select [formControl]=\"control\" (focusout)=\"onFocusOut()\">\r\n @for (suggestion of suggestions; track suggestion) {\r\n <mat-option\r\n [value]=\"suggestion\"\r\n (onSelectionChange)=\"emit($event)\"\r\n title=\"{{ suggestion[option] }} {{\r\n extraInfo ? '(' + suggestion[extraInfo] + ')' : ''\r\n }}\"\r\n >\r\n {{ suggestion[option] }}\r\n @if (extraInfo) {\r\n <span class=\"tak-option-span-extra\">{{ suggestion[extraInfo] }}</span>\r\n }\r\n </mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n @if (isInvalid || (isSubmitted && control.invalid)) {\r\n <tak-error [control]=\"control\"></tak-error>\r\n }\r\n </div>\r\n} @else {\r\n <div [matTooltip]=\"tooltip\">\r\n @if (type === 'menu') {\r\n <span>\r\n <button mat-icon-button type=\"button\" [matMenuTriggerFor]=\"menu\" [disabled]=\"isDisabled\">\r\n <mat-icon>{{ icon }}</mat-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n @for (item of suggestions; track item) {\r\n <a tak-menu-item (click)=\"justEmit(item)\">\r\n {{ item[option] }}\r\n </a>\r\n }\r\n </mat-menu>\r\n </span>\r\n }\r\n </div>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "component", type: TakErrorComponent, selector: "tak-error", inputs: ["control", "start", "end", "isDateField", "isNumberField", "marginTop"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }] }); }
110
- }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TakSelectFieldComponent, decorators: [{
112
- type: Component,
113
- args: [{ standalone: true, imports: [
114
- MatTooltipModule,
115
- MatMenuModule,
116
- MatSelectModule,
117
- MatOptionModule,
118
- TakErrorComponent,
119
- FormsModule,
120
- CommonModule,
121
- ReactiveFormsModule,
122
- MatFormFieldModule,
123
- MatButtonModule,
124
- MatIconModule,
125
- MatInputModule,
126
- ], selector: 'tak-select-field', template: "@if (type === 'select') {\r\n <div class=\"tak-form-container\">\r\n <mat-form-field [appearance]=\"appearance\" [color]=\"color\">\r\n <mat-label><ng-content /></mat-label>\r\n <mat-select [formControl]=\"control\" (focusout)=\"onFocusOut()\">\r\n @for (suggestion of suggestions; track suggestion) {\r\n <mat-option\r\n [value]=\"suggestion\"\r\n (onSelectionChange)=\"emit($event)\"\r\n title=\"{{ suggestion[option] }} {{\r\n extraInfo ? '(' + suggestion[extraInfo] + ')' : ''\r\n }}\"\r\n >\r\n {{ suggestion[option] }}\r\n @if (extraInfo) {\r\n <span class=\"tak-option-span-extra\">{{ suggestion[extraInfo] }}</span>\r\n }\r\n </mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n @if (isInvalid || (isSubmitted && control.invalid)) {\r\n <tak-error [control]=\"control\"></tak-error>\r\n }\r\n </div>\r\n} @else {\r\n <div [matTooltip]=\"tooltip\">\r\n @if (type === 'menu') {\r\n <span>\r\n <button mat-icon-button type=\"button\" [matMenuTriggerFor]=\"menu\" [disabled]=\"isDisabled\">\r\n <mat-icon>{{ icon }}</mat-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n @for (item of suggestions; track item) {\r\n <a tak-menu-item (click)=\"justEmit(item)\">\r\n {{ item[option] }}\r\n </a>\r\n }\r\n </mat-menu>\r\n </span>\r\n }\r\n </div>\r\n}\r\n" }]
127
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
128
- type: Self
129
- }, {
130
- type: Optional
131
- }] }, { type: i1.FormGroupDirective, decorators: [{
132
- type: Optional
133
- }] }, { type: i0.ChangeDetectorRef }], propDecorators: { autocomplete: [{
134
- type: Input
135
- }], appearance: [{
136
- type: Input
137
- }], color: [{
138
- type: Input
139
- }], suggestions: [{
140
- type: Input
141
- }], disabled: [{
142
- type: Input
143
- }], type: [{
144
- type: Input
145
- }], tooltip: [{
146
- type: Input
147
- }], icon: [{
148
- type: Input
149
- }], option: [{
150
- type: Input
151
- }], extraInfo: [{
152
- type: Input
153
- }], hasDefaultValue: [{
154
- type: Input
155
- }], onSelect: [{
156
- type: Output
157
- }] } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvbXBvbmVudHMvZmllbGRzL3NlbGVjdC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29tcG9uZW50cy9maWVsZHMvc2VsZWN0L2NvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFDTCxJQUFJLEVBRUosWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBSUwsV0FBVyxFQUVYLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9CLE9BQU8sRUFBNEIsMkJBQTJCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFF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WixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGNBQWM7cUJBQ2YsWUFDUyxrQkFBa0I7OzBCQTZCekIsSUFBSTs7MEJBQUksUUFBUTs7MEJBQ2hCLFFBQVE7eUVBMUJGLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgT25EZXN0cm95LFxyXG4gIENvbXBvbmVudCxcclxuICBPcHRpb25hbCxcclxuICBJbnB1dCxcclxuICBTZWxmLFxyXG4gIE9uSW5pdCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcclxuICBGb3Jtc01vZHVsZSxcclxuICBOZ0NvbnRyb2wsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRBcHBlYXJhbmNlIH0gZnJvbSAnQGthdG8tbGVlL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRPcHRpb25TZWxlY3Rpb25DaGFuZ2UsIFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0BrYXRvLWxlZS9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgVGFrQXV0b2NvbXBsZXRlRmllbGRUeXBlLCBUQUtfREVGQVVMVF9BUFBFQVJBTkNFX0ZPUk0gfSBmcm9tICcuLi9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAa2F0by1sZWUvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAa2F0by1sZWUvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFRha0Vycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vZXJyb3IvY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGthdG8tbGVlL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BrYXRvLWxlZS9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAa2F0by1sZWUvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGthdG8tbGVlL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0BrYXRvLWxlZS9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0BrYXRvLWxlZS9tYXRlcmlhbC9tZW51JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRPcHRpb25Nb2R1bGUsXHJcbiAgICBUYWtFcnJvckNvbXBvbmVudCxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICBdLFxyXG4gIHNlbGVjdG9yOiAndGFrLXNlbGVjdC1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRha1NlbGVjdEZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBASW5wdXQoKSBhdXRvY29tcGxldGU6IFRha0F1dG9jb21wbGV0ZUZpZWxkVHlwZSA9ICdvZmYnO1xyXG4gIEBJbnB1dCgpIGFwcGVhcmFuY2U6IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgPSBUQUtfREVGQVVMVF9BUFBFQVJBTkNFX0ZPUk07XHJcbiAgQElucHV0KCkgY29sb3I6IFRoZW1lUGFsZXR0ZSA9ICdwcmltYXJ5JztcclxuICBASW5wdXQoKSBzdWdnZXN0aW9uczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSB0eXBlOiAnbWVudScgfCAnc2VsZWN0JyA9ICdzZWxlY3QnO1xyXG4gIEBJbnB1dCgpIHRvb2x0aXAgPSAnJztcclxuICBASW5wdXQoKSBpY29uID0gJ2ZpbHRlcl9saXN0JztcclxuXHJcbiAgQElucHV0KCkgb3B0aW9uID0gJ29wdGlvbic7XHJcbiAgQElucHV0KCkgZXh0cmFJbmZvID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpIGhhc0RlZmF1bHRWYWx1ZSA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlRm4gPSAoXzogYW55KSA9PiB7fTtcclxuICBwdWJsaWMgb25Ub3VjaEZuID0gKF86IGFueSkgPT4ge307XHJcblxyXG4gIHB1YmxpYyBpc0ludmFsaWQgPSBmYWxzZTtcclxuICBwdWJsaWMgaXNTdWJtaXR0ZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIF91bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfbmdDb250cm9sOiBOZ0NvbnRyb2wsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9mb3JtR3JvdXBEaXJlY3RpdmU6IEZvcm1Hcm91cERpcmVjdGl2ZSxcclxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gICAgaWYgKF9uZ0NvbnRyb2wpIHRoaXMuX25nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcclxuICAgIGlmIChfZm9ybUdyb3VwRGlyZWN0aXZlKSB7XHJcbiAgICAgIF9mb3JtR3JvdXBEaXJlY3RpdmUubmdTdWJtaXQucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmlzU3VibWl0dGVkID0gdHJ1ZTtcclxuICAgICAgICBfY2QubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3VnZ2VzdGlvbnMubGVuZ3RoICYmIHRoaXMuaGFzRGVmYXVsdFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX25nQ29udHJvbC5jb250cm9sPy5zZXRWYWx1ZSh0aGlzLnN1Z2dlc3Rpb25zWzBdKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgdGhpcy5jb250cm9sLmRpc2FibGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHt9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2VGbiA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaEZuID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUZuKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICBpZiAodGhpcy5jb250cm9sLnRvdWNoZWQpIHRoaXMuX29uVmFsaWRhdGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbWl0KGVsOiBNYXRPcHRpb25TZWxlY3Rpb25DaGFuZ2UpIHtcclxuICAgIGlmIChlbC5pc1VzZXJJbnB1dCkge1xyXG4gICAgICB0aGlzLm9uU2VsZWN0LmVtaXQoZWwuc291cmNlLnZhbHVlKTtcclxuICAgICAgdGhpcy5pc0ludmFsaWQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBqdXN0RW1pdChlbDogYW55KSB7XHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoZWwpO1xyXG4gICAgdGhpcy5vblNlbGVjdC5lbWl0KGVsKTtcclxuICAgIHRoaXMuaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Gb2N1c091dCgpIHtcclxuICAgIHRoaXMuX29uVmFsaWRhdGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29uVmFsaWRhdGUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jb250cm9sLmludmFsaWQpIHRoaXMuaXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgIGVsc2UgdGhpcy5pc0ludmFsaWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5uZXh0KCk7XHJcbiAgICB0aGlzLl91bnN1YnNjcmliZSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGdldCBjb250cm9sKCk6IEZvcm1Db250cm9sIHtcclxuICAgIHJldHVybiB0aGlzLl9uZ0NvbnRyb2w/LmNvbnRyb2wgYXMgRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBnZXQgZGlyZWN0aXZlKCk6IEZvcm1Hcm91cERpcmVjdGl2ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZm9ybUdyb3VwRGlyZWN0aXZlIGFzIEZvcm1Hcm91cERpcmVjdGl2ZTtcclxuICB9XHJcblxyXG4gIGdldCBpc0Rpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX25nQ29udHJvbC5kaXNhYmxlZDtcclxuICB9XHJcbn1cclxuIiwiQGlmICh0eXBlID09PSAnc2VsZWN0Jykge1xyXG4gIDxkaXYgY2xhc3M9XCJ0YWstZm9ybS1jb250YWluZXJcIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCIgW2NvbG9yXT1cImNvbG9yXCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+PG5nLWNvbnRlbnQgLz48L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgpXCI+XHJcbiAgICAgICAgQGZvciAoc3VnZ2VzdGlvbiBvZiBzdWdnZXN0aW9uczsgdHJhY2sgc3VnZ2VzdGlvbikge1xyXG4gICAgICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAgICAgW3ZhbHVlXT1cInN1Z2dlc3Rpb25cIlxyXG4gICAgICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2UpPVwiZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgdGl0bGU9XCJ7eyBzdWdnZXN0aW9uW29wdGlvbl0gfX0ge3tcclxuICAgICAgICAgICAgICBleHRyYUluZm8gPyAnKCcgKyBzdWdnZXN0aW9uW2V4dHJhSW5mb10gKyAnKScgOiAnJ1xyXG4gICAgICAgICAgICB9fVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IHN1Z2dlc3Rpb25bb3B0aW9uXSB9fVxyXG4gICAgICAgICAgICBAaWYgKGV4dHJhSW5mbykge1xyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFrLW9wdGlvbi1zcGFuLWV4dHJhXCI+e3sgc3VnZ2VzdGlvbltleHRyYUluZm9dIH19PC9zcGFuPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgQGlmIChpc0ludmFsaWQgfHwgKGlzU3VibWl0dGVkICYmIGNvbnRyb2wuaW52YWxpZCkpIHtcclxuICAgICAgPHRhay1lcnJvciBbY29udHJvbF09XCJjb250cm9sXCI+PC90YWstZXJyb3I+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbn0gQGVsc2Uge1xyXG4gIDxkaXYgW21hdFRvb2x0aXBdPVwidG9vbHRpcFwiPlxyXG4gICAgQGlmICh0eXBlID09PSAnbWVudScpIHtcclxuICAgICAgPHNwYW4+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbj57eyBpY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XHJcbiAgICAgICAgICBAZm9yIChpdGVtIG9mIHN1Z2dlc3Rpb25zOyB0cmFjayBpdGVtKSB7XHJcbiAgICAgICAgICAgIDxhIHRhay1tZW51LWl0ZW0gKGNsaWNrKT1cImp1c3RFbWl0KGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICAge3sgaXRlbVtvcHRpb25dIH19XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbn1cclxuIl19