@dev-tcloud/tcloud-ui 4.2.2 → 5.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 (122) hide show
  1. package/README.md +1 -0
  2. package/fesm2022/dev-tcloud-tcloud-ui.mjs +429 -362
  3. package/fesm2022/dev-tcloud-tcloud-ui.mjs.map +1 -1
  4. package/lib/_interfaces/theme.service.interface.d.ts +3 -0
  5. package/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.d.ts +1 -0
  6. package/lib/_services/tcloud-ui-theme.services.d.ts +12 -0
  7. package/lib/tcloud-ui.config.d.ts +1 -0
  8. package/package.json +3 -5
  9. package/scss/components/styles.scss +8 -8
  10. package/scss/tcloud/custom/alerts.scss +5 -4
  11. package/scss/tcloud/custom/variables.scss +1 -1
  12. package/scss/tcloud/disaster-recovery/styles.scss +2 -2
  13. package/scss/tcloud/prime/cards-products.scss +11 -9
  14. package/scss/tcloud/prime/left-navigation.scss +18 -16
  15. package/scss/tcloud/prime/styles.scss +3 -3
  16. package/scss/tcloud/prime/tcloud-prime.scss +60 -58
  17. package/scss/tcloud/standard/styles.scss +3 -3
  18. package/scss/tcloud/standard/tcloud-standard.scss +1 -1
  19. package/scss/tcloud/styles.scss +11 -11
  20. package/scss/tcloud/tcloud-ui.scss +3 -3
  21. package/esm2022/dev-tcloud-tcloud-ui.mjs +0 -5
  22. package/esm2022/lib/_directives/align/align.directive.mjs +0 -42
  23. package/esm2022/lib/_directives/currency/currency.directive.mjs +0 -160
  24. package/esm2022/lib/_directives/directives.module.mjs +0 -76
  25. package/esm2022/lib/_directives/el-copy/el-copy.directive.mjs +0 -68
  26. package/esm2022/lib/_directives/hover-parent/hover-parent.directive.mjs +0 -58
  27. package/esm2022/lib/_directives/tcloud-access/tcloud-ui-check-access.directive.mjs +0 -66
  28. package/esm2022/lib/_directives/tcloud-access/tcloud-ui-ng-check-access.directive.mjs +0 -50
  29. package/esm2022/lib/_directives/tcloud-access/tcloud-ui-ng-feature-flags.directive.mjs +0 -44
  30. package/esm2022/lib/_directives/tcloud-ui-digit-only.directive.mjs +0 -64
  31. package/esm2022/lib/_directives/tcloud-ui-highlight.diretive.mjs +0 -36
  32. package/esm2022/lib/_directives/tcloud-ui-ip-mask.directive.mjs +0 -54
  33. package/esm2022/lib/_directives/tooltip/tooltip.directive.mjs +0 -196
  34. package/esm2022/lib/_interfaces/user.service.interface.mjs +0 -2
  35. package/esm2022/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.mjs +0 -35
  36. package/esm2022/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.mjs +0 -54
  37. package/esm2022/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.mjs +0 -38
  38. package/esm2022/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.mjs +0 -75
  39. package/esm2022/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.mjs +0 -35
  40. package/esm2022/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.mjs +0 -87
  41. package/esm2022/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.mjs +0 -32
  42. package/esm2022/lib/_modules/tcloud-ui-data-list/services/data-list.service.mjs +0 -38
  43. package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.mjs +0 -65
  44. package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.mjs +0 -317
  45. package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.mjs +0 -3
  46. package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.mjs +0 -37
  47. package/esm2022/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.mjs +0 -440
  48. package/esm2022/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.mjs +0 -32
  49. package/esm2022/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.mjs +0 -320
  50. package/esm2022/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.mjs +0 -40
  51. package/esm2022/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.mjs +0 -213
  52. package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.mjs +0 -537
  53. package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.mjs +0 -20
  54. package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.mjs +0 -45
  55. package/esm2022/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.mjs +0 -142
  56. package/esm2022/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.module.mjs +0 -32
  57. package/esm2022/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.mjs +0 -66
  58. package/esm2022/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.mjs +0 -32
  59. package/esm2022/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component.mjs +0 -36
  60. package/esm2022/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.module.mjs +0 -31
  61. package/esm2022/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.mjs +0 -93
  62. package/esm2022/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.mjs +0 -25
  63. package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component.mjs +0 -43
  64. package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.mjs +0 -2
  65. package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module.mjs +0 -19
  66. package/esm2022/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.mjs +0 -65
  67. package/esm2022/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.mjs +0 -25
  68. package/esm2022/lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component.mjs +0 -11
  69. package/esm2022/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component.mjs +0 -29
  70. package/esm2022/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.module.mjs +0 -21
  71. package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.mjs +0 -14
  72. package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.mjs +0 -61
  73. package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.mjs +0 -24
  74. package/esm2022/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.mjs +0 -63
  75. package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.mjs +0 -203
  76. package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.mjs +0 -2
  77. package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.mjs +0 -47
  78. package/esm2022/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.mjs +0 -155
  79. package/esm2022/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.mjs +0 -28
  80. package/esm2022/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.mjs +0 -170
  81. package/esm2022/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.mjs +0 -28
  82. package/esm2022/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.mjs +0 -348
  83. package/esm2022/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.mjs +0 -36
  84. package/esm2022/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.mjs +0 -20
  85. package/esm2022/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.mjs +0 -25
  86. package/esm2022/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.mjs +0 -33
  87. package/esm2022/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.mjs +0 -28
  88. package/esm2022/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component.mjs +0 -165
  89. package/esm2022/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module.mjs +0 -21
  90. package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component.mjs +0 -105
  91. package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.mjs +0 -2
  92. package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module.mjs +0 -24
  93. package/esm2022/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.mjs +0 -46
  94. package/esm2022/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.mjs +0 -25
  95. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.mjs +0 -36
  96. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.mjs +0 -85
  97. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.mjs +0 -69
  98. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.mjs +0 -71
  99. package/esm2022/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.mjs +0 -104
  100. package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.mjs +0 -64
  101. package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.mjs +0 -2
  102. package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.mjs +0 -45
  103. package/esm2022/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.mjs +0 -21
  104. package/esm2022/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.mjs +0 -25
  105. package/esm2022/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.mjs +0 -37
  106. package/esm2022/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.mjs +0 -25
  107. package/esm2022/lib/_pipes/array-to-text.mjs +0 -29
  108. package/esm2022/lib/_pipes/bytes.mjs +0 -31
  109. package/esm2022/lib/_pipes/cnpj.mjs +0 -37
  110. package/esm2022/lib/_pipes/cpf.mjs +0 -37
  111. package/esm2022/lib/_pipes/datebr.mjs +0 -102
  112. package/esm2022/lib/_pipes/index.mjs +0 -9
  113. package/esm2022/lib/_pipes/monthname.mjs +0 -25
  114. package/esm2022/lib/_pipes/respective.mjs +0 -73
  115. package/esm2022/lib/_pipes/statusinfo.mjs +0 -78
  116. package/esm2022/lib/_pipes/tcloud-pipes.module.mjs +0 -75
  117. package/esm2022/lib/_services/loading-transitions.service.mjs +0 -52
  118. package/esm2022/lib/_services/search-in-object.service.mjs +0 -99
  119. package/esm2022/lib/_services/tcloud-ui-check-access.service.mjs +0 -170
  120. package/esm2022/lib/tcloud-ui.config.mjs +0 -2
  121. package/esm2022/lib/tcloud-ui.module.mjs +0 -235
  122. package/esm2022/public-api.mjs +0 -116
@@ -1,317 +0,0 @@
1
- import { DataListService } from './services/data-list.service';
2
- import { Component, forwardRef, Output, EventEmitter, Input } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR, FormControl } from '@angular/forms';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./services/data-list.service";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "./tcloud-ui-data-list-option/tcloud-ui-data-list-option.component";
9
- const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
10
- provide: NG_VALUE_ACCESSOR,
11
- useExisting: forwardRef(() => TCloudUiDataListComponent),
12
- multi: true
13
- };
14
- const noop = () => {
15
- };
16
- export class TCloudUiDataListComponent {
17
- set disabled(v) {
18
- if (typeof v === 'boolean' && v !== this._disabled) {
19
- this._disabled = v;
20
- //this.selected_description = '';
21
- //this.selected_item ='';
22
- this.toChange();
23
- }
24
- }
25
- get disabled() { return this._disabled; }
26
- set loading(v) {
27
- if (typeof v === 'boolean' && v !== this._loading) {
28
- this._loading = v;
29
- //this.selected_description = '';
30
- //this.selected_item = '';
31
- this.toChange();
32
- }
33
- }
34
- get loading() { return this._loading; }
35
- set listItems(v) {
36
- if (v && (v).length > 0) {
37
- this._listItems = v;
38
- }
39
- }
40
- get listItems() { return this._listItems; }
41
- set open(v) {
42
- if (v !== this._open) {
43
- this._open = v;
44
- if (v) {
45
- this.menu_show = false;
46
- setTimeout(() => { this.toOpen(); });
47
- }
48
- }
49
- }
50
- get open() { return this._open; }
51
- set ngModel(v) {
52
- this.selected_item = v;
53
- this.selectDescription();
54
- }
55
- constructor(dataListService, formBuilder) {
56
- this.dataListService = dataListService;
57
- this.formBuilder = formBuilder;
58
- this.viewport_width = 0;
59
- this.viewport_height = 0;
60
- this.box_height = 0;
61
- this.box_style = '';
62
- this.menu_on_top = '';
63
- this.placeholder = '';
64
- this._disabled = false;
65
- this._loading = false;
66
- this.showInput = true;
67
- this.search = true;
68
- this._listItems = [];
69
- this._open = false;
70
- this.border = true;
71
- this.onInputChange = new EventEmitter();
72
- this.onChange = new EventEmitter();
73
- this.onOpened = new EventEmitter();
74
- this.onClosed = new EventEmitter();
75
- this.ngModelChange = new EventEmitter();
76
- this.list_selected_options = new Array();
77
- this.menu_show = false;
78
- this.search_text = '';
79
- this.id = '';
80
- //Placeholders for the callbacks which are later providesd
81
- //by the Control Value Accessor
82
- this.onTouchedCallback = noop;
83
- this.onChangeCallback = noop;
84
- this.subscription_value = this.dataListService.stateValue$.subscribe(v => {
85
- this.selected_item = v;
86
- this.selectDescription();
87
- this.ngModelChange.emit(this.selected_item);
88
- });
89
- this.subscription_description = this.dataListService.stateDescription$.subscribe(v => {
90
- this.selected_description = v;
91
- });
92
- this.subscription_options = this.dataListService.stateOptions$.subscribe((v) => {
93
- if (v && v.value) {
94
- (this.list_selected_options).push(v);
95
- }
96
- });
97
- }
98
- ngOnInit() {
99
- this.id = this.generateID();
100
- this.formulario = this.formBuilder.group({
101
- "selected_item": new FormControl('', []),
102
- });
103
- this.toResize();
104
- this.toClick();
105
- }
106
- ngAfterViewChecked() {
107
- this.t_fc = undefined;
108
- this.t_fc = this.get_selected_description();
109
- }
110
- get_selected_description() {
111
- if (this.list_selected_options && (this.list_selected_options).length > 0) {
112
- for (let i = 0; i < (this.list_selected_options).length; i++) {
113
- const item = this.list_selected_options[i];
114
- if (item.value === this.selected_item) {
115
- if (this.selected_description !== item.description) {
116
- if (item.description && item.description !== this.selected_description) {
117
- setTimeout(() => {
118
- this.selected_description = item.description;
119
- this.dataListService.setActiveItem(this.selected_item);
120
- });
121
- }
122
- }
123
- break;
124
- }
125
- }
126
- }
127
- }
128
- generateID() {
129
- return `data-list-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;
130
- }
131
- ngOnDestroy() {
132
- if (this.subscription_value) {
133
- this.subscription_value.unsubscribe();
134
- }
135
- if (this.subscription_description) {
136
- this.subscription_description.unsubscribe();
137
- }
138
- if (this.subscription_options) {
139
- this.subscription_options.unsubscribe();
140
- }
141
- }
142
- toSearch(e) {
143
- let input = (e && e.target && e.target.value) ? e.target.value : '';
144
- let filter = (((input).normalize('NFD').replace(/[\u0300-\u036f]/g, "")).trim()).toLowerCase();
145
- let ul = document.getElementById(`${this.id}-options`);
146
- if (ul) {
147
- let li = ul.getElementsByTagName("button");
148
- for (let i = 0; i < li.length; i++) {
149
- const a = li[i];
150
- const txtValue = (((a.textContent || a.innerText).normalize('NFD').replace(/[\u0300-\u036f]/g, "")).trim()).toLowerCase();
151
- if (txtValue.indexOf(filter) > -1) {
152
- li[i].style.display = "";
153
- }
154
- else {
155
- li[i].style.display = "none";
156
- }
157
- }
158
- }
159
- }
160
- selectDescription() {
161
- if (this.list_selected_options && (this.list_selected_options).length > 0) {
162
- for (let i = 0; i < (this.list_selected_options).length; i++) {
163
- const item = this.list_selected_options[i];
164
- if (item.value === this.selected_item) {
165
- this.selected_description = item.description;
166
- this.toChange();
167
- return;
168
- }
169
- }
170
- }
171
- if (this.selected_item === undefined || this.selected_item === null || this.selected_item === '') {
172
- this.selected_description = '';
173
- this.toChange();
174
- }
175
- }
176
- toInput(e) {
177
- this.onInputChange.emit(this.selected_description);
178
- this.onChange.emit(e);
179
- }
180
- toChange() {
181
- setTimeout(() => {
182
- if (this.selected_item === undefined || this.selected_item === null) {
183
- this.selected_item = '';
184
- }
185
- this.toSearch('');
186
- this.search_text = '';
187
- this.dataListService.setActiveItem(this.selected_item);
188
- this.onInputChange.emit(this.selected_description);
189
- if (this.formulario) {
190
- this.formulario?.get('selected_item')?.setValue(this.selected_item);
191
- // const input_hidden = document.getElementById(`${this.id}-hidden`);
192
- this.toInput(this.formulario.get('selected_item'));
193
- }
194
- });
195
- }
196
- clearTextSearch() {
197
- this.search_text = '';
198
- this.toSearch('');
199
- }
200
- toOpen() {
201
- this.menu_show = !this.menu_show;
202
- this.resolve_position_dropdown(this.menu_show);
203
- this.onOpened.emit();
204
- }
205
- resolve_position_dropdown(open) {
206
- if (open) {
207
- this.box_style = '';
208
- this.menu_on_top = '';
209
- const id = `${this.id}`;
210
- const box = `box-${this.id}`;
211
- if (this.viewport_height === 0) {
212
- this.viewport_height = window.innerWidth;
213
- }
214
- const rect = document.getElementById(id)?.getBoundingClientRect();
215
- const box_position = rect?.bottom || 0;
216
- setTimeout(() => {
217
- this.box_height = document.getElementById(box)?.clientHeight || 0;
218
- if ((this.viewport_height - box_position) < this.box_height) {
219
- this.menu_on_top = 'menu-on-top';
220
- this.box_style = `top: -${(this.box_height)}px; height: ${this.box_height}px;`;
221
- }
222
- });
223
- }
224
- }
225
- toClose() {
226
- this.menu_show = false;
227
- this.onClosed.emit();
228
- }
229
- toResize() {
230
- window.addEventListener('resize', () => {
231
- this.viewport_width = window.innerWidth;
232
- this.viewport_height = window.innerHeight;
233
- this.resolve_position_dropdown(this.menu_show);
234
- });
235
- }
236
- toClick() {
237
- const box = `area-${this.id}`;
238
- window.addEventListener('click', (e) => {
239
- if (this.menu_show) {
240
- if (!(document.getElementById(box)?.contains(e.target))) {
241
- this.toClose();
242
- }
243
- }
244
- });
245
- }
246
- //get accessor
247
- get value() {
248
- return this.selected_item;
249
- }
250
- ;
251
- //set accessor including call the onchange callback
252
- set value(v) {
253
- if (v !== this.selected_item) {
254
- this.selected_item = v;
255
- this.onChangeCallback(v);
256
- }
257
- }
258
- //Set touched on blur
259
- onBlur() {
260
- this.onTouchedCallback();
261
- }
262
- //From ControlValueAccessor interface
263
- writeValue(value) {
264
- if (value !== this.selected_item) {
265
- this.selected_item = value;
266
- }
267
- }
268
- //From ControlValueAccessor interface
269
- registerOnChange(fn) {
270
- this.onChangeCallback = fn;
271
- }
272
- //From ControlValueAccessor interface
273
- registerOnTouched(fn) {
274
- this.onTouchedCallback = fn;
275
- }
276
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiDataListComponent, deps: [{ token: i1.DataListService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
277
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TCloudUiDataListComponent, selector: "tcloud-ui-data-list", inputs: { placeholder: "placeholder", disabled: "disabled", loading: "loading", showInput: "showInput", search: "search", listItems: "listItems", open: "open", border: "border", ngModel: "ngModel" }, outputs: { onInputChange: "onInputChange", onChange: "onChange", onOpened: "onOpened", onClosed: "onClosed", ngModelChange: "ngModelChange" }, providers: [
278
- DataListService,
279
- CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR
280
- ], ngImport: i0, template: "<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tcloud-ui-data-list tc-dropdown\" [class.disabled]=\"disabled || loading\">\n <div *ngIf=\"loading\" class=\"loading-area\">\n <i class=\"fas fa-spinner fa-spin\"></i>\n </div>\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\n <button \n #_option\n [class.input-hidden]=\"!showInput\"\n [class.in-border]=\"border\"\n [class.loading-box]=\"loading\"\n [disabled]=\"disabled || loading\"\n class=\"dropdown-toggle button-select no-margin-bottom area-text\" \n type=\"button\" \n id=\"{{ id }}\" \n \n [attr.aria-haspopup]=\"'true'\" \n [attr.aria-expanded]=\"'false'\" \n (click)=\"toOpen();toInput(_option)\" >\n\n <i class=\"tc-placeholder area-text\" *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\n {{ selected_description }}\n <span><i class=\"fas fa-angle-down\"></i></span>\n </button>\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\n\n <div class=\"line-search\" *ngIf=\"search\">\n <table class=\"box-search\">\n <tr>\n\n <td class=\"area-input\">\n <input type=\"text\" class=\"tc-form-control\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \n </td>\n\n <td class=\"area-icon\">\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\n </td>\n \n </tr>\n </table>\n </div>\n \n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\n <ng-content></ng-content> \n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\n <ng-container *ngFor=\"let item of listItems\">\n <tcloud-ui-data-list-option [value]=\"item.value\" [disabled]=\"item?.disabled\" >{{ item?.description }}</tcloud-ui-data-list-option>\n </ng-container>\n </ng-container> \n </div>\n </div>\n</div>\n\n<div *ngIf=\"formulario\">\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\n </form>\n</div>\n", styles: [".dropdown-toggle:after{display:none!important}i.tc-placeholder{font-style:italic;color:#999;text-transform:none!important}.in-border{border:1px solid #ccc!important}.tc-dropdown{position:relative}.tc-dropdown .button-select{width:100%;background-color:#fff;border:none;height:35px;text-align:left;padding-left:15px;font-size:14px;color:#666;padding-right:30px}.tc-dropdown .button-select span{position:absolute;right:6px;top:7px}.tc-dropdown .area-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tc-dropdown .tc-dropdown-menu{width:100%;border:1px solid #ccc;background-color:#fff;position:absolute;z-index:1}.tc-dropdown .area-options{max-height:200px;overflow-y:scroll;overflow-x:hidden}.tc-dropdown .menu-on-top{position:absolute}.line-search{padding:3px}.line-search .box-search{width:100%;border-collapse:collapse}.line-search .box-search td.area-icon{padding:4px 0 2px 8px;width:35px}.line-search .box-search td.area-icon .icon-search{color:#666}.line-search .box-search td.area-icon button{border:none;background-color:transparent;color:#999;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-search .box-search td.area-input{border:none}.line-search .box-search td.area-input input{width:100%}.line-search .box-search input{width:100%;font-size:13px;height:33px;border:1px solid #ccc;padding:10px}.loading-area{line-height:0;position:relative;height:0;bottom:-10px;left:10px}button:disabled{background-color:#eee!important;border:1px solid #ececec!important;cursor:not-allowed}.loading-box{cursor:progress!important}.disabled i{color:#999!important}.to-hide{display:none}.no-margin-bottom{margin-bottom:0!important}.input-hidden{display:none!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { 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: "component", type: i4.TCloudUiDataListOptionComponent, selector: "tcloud-ui-data-list-option", inputs: ["disabled", "value"], outputs: ["selected"] }] }); }
281
- }
282
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiDataListComponent, decorators: [{
283
- type: Component,
284
- args: [{ selector: 'tcloud-ui-data-list', providers: [
285
- DataListService,
286
- CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR
287
- ], template: "<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tcloud-ui-data-list tc-dropdown\" [class.disabled]=\"disabled || loading\">\n <div *ngIf=\"loading\" class=\"loading-area\">\n <i class=\"fas fa-spinner fa-spin\"></i>\n </div>\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\n <button \n #_option\n [class.input-hidden]=\"!showInput\"\n [class.in-border]=\"border\"\n [class.loading-box]=\"loading\"\n [disabled]=\"disabled || loading\"\n class=\"dropdown-toggle button-select no-margin-bottom area-text\" \n type=\"button\" \n id=\"{{ id }}\" \n \n [attr.aria-haspopup]=\"'true'\" \n [attr.aria-expanded]=\"'false'\" \n (click)=\"toOpen();toInput(_option)\" >\n\n <i class=\"tc-placeholder area-text\" *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\n {{ selected_description }}\n <span><i class=\"fas fa-angle-down\"></i></span>\n </button>\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\n\n <div class=\"line-search\" *ngIf=\"search\">\n <table class=\"box-search\">\n <tr>\n\n <td class=\"area-input\">\n <input type=\"text\" class=\"tc-form-control\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \n </td>\n\n <td class=\"area-icon\">\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\n </td>\n \n </tr>\n </table>\n </div>\n \n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\n <ng-content></ng-content> \n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\n <ng-container *ngFor=\"let item of listItems\">\n <tcloud-ui-data-list-option [value]=\"item.value\" [disabled]=\"item?.disabled\" >{{ item?.description }}</tcloud-ui-data-list-option>\n </ng-container>\n </ng-container> \n </div>\n </div>\n</div>\n\n<div *ngIf=\"formulario\">\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\n </form>\n</div>\n", styles: [".dropdown-toggle:after{display:none!important}i.tc-placeholder{font-style:italic;color:#999;text-transform:none!important}.in-border{border:1px solid #ccc!important}.tc-dropdown{position:relative}.tc-dropdown .button-select{width:100%;background-color:#fff;border:none;height:35px;text-align:left;padding-left:15px;font-size:14px;color:#666;padding-right:30px}.tc-dropdown .button-select span{position:absolute;right:6px;top:7px}.tc-dropdown .area-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tc-dropdown .tc-dropdown-menu{width:100%;border:1px solid #ccc;background-color:#fff;position:absolute;z-index:1}.tc-dropdown .area-options{max-height:200px;overflow-y:scroll;overflow-x:hidden}.tc-dropdown .menu-on-top{position:absolute}.line-search{padding:3px}.line-search .box-search{width:100%;border-collapse:collapse}.line-search .box-search td.area-icon{padding:4px 0 2px 8px;width:35px}.line-search .box-search td.area-icon .icon-search{color:#666}.line-search .box-search td.area-icon button{border:none;background-color:transparent;color:#999;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-search .box-search td.area-input{border:none}.line-search .box-search td.area-input input{width:100%}.line-search .box-search input{width:100%;font-size:13px;height:33px;border:1px solid #ccc;padding:10px}.loading-area{line-height:0;position:relative;height:0;bottom:-10px;left:10px}button:disabled{background-color:#eee!important;border:1px solid #ececec!important;cursor:not-allowed}.loading-box{cursor:progress!important}.disabled i{color:#999!important}.to-hide{display:none}.no-margin-bottom{margin-bottom:0!important}.input-hidden{display:none!important}\n"] }]
288
- }], ctorParameters: () => [{ type: i1.DataListService }, { type: i2.FormBuilder }], propDecorators: { placeholder: [{
289
- type: Input
290
- }], disabled: [{
291
- type: Input
292
- }], loading: [{
293
- type: Input
294
- }], showInput: [{
295
- type: Input
296
- }], search: [{
297
- type: Input
298
- }], listItems: [{
299
- type: Input
300
- }], open: [{
301
- type: Input
302
- }], border: [{
303
- type: Input
304
- }], onInputChange: [{
305
- type: Output
306
- }], onChange: [{
307
- type: Output
308
- }], onOpened: [{
309
- type: Output
310
- }], onClosed: [{
311
- type: Output
312
- }], ngModel: [{
313
- type: Input
314
- }], ngModelChange: [{
315
- type: Output
316
- }] } });
317
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWRhdGEtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fbW9kdWxlcy90Y2xvdWQtdWktZGF0YS1saXN0L3RjbG91ZC11aS1kYXRhLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWRhdGEtbGlzdC90Y2xvdWQtdWktZGF0YS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFhLEtBQUssRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFDbkksT0FBTyxFQUFFLGlCQUFpQixFQUFrQyxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBSWhHLE1BQU0sbUNBQW1DLEdBQVE7SUFDL0MsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO0lBQ3hELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRTtBQUNsQixDQUFDLENBQUM7QUFZRixNQUFNLE9BQU8seUJBQXlCO0lBV3BDLElBQWEsUUFBUSxDQUFDLENBQUM7UUFDckIsSUFBSSxPQUFPLENBQUMsS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztZQUNuQixpQ0FBaUM7WUFDakMseUJBQXlCO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztR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LEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUdPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBUU8sSUFBSTtzQkFBaEIsS0FBSztnQkFhRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUVHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFHTSxPQUFPO3NCQUFuQixLQUFLO2dCQUlJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhTGlzdFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RhdGEtbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBJbnB1dCwgT25EZXN0cm95LCBBZnRlclZpZXdDaGVja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgTmdGb3JtLCBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVNlbGVjdE9wdGlvbnMgfSBmcm9tICcuL3RjbG91ZC11aS1kYXRhLWxpc3QnO1xuXG5jb25zdCBDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVENsb3VkVWlEYXRhTGlzdENvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlXG59O1xuXG5jb25zdCBub29wID0gKCkgPT4ge1xufTtcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0Y2xvdWQtdWktZGF0YS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RjbG91ZC11aS1kYXRhLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90Y2xvdWQtdWktZGF0YS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIERhdGFMaXN0U2VydmljZSwgXG4gICAgQ1VTVE9NX0lOUFVUX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVENsb3VkVWlEYXRhTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdDaGVja2VkIHtcblxuICB2aWV3cG9ydF93aWR0aDogbnVtYmVyID0gMDtcbiAgdmlld3BvcnRfaGVpZ2h0OiBudW1iZXIgPSAwO1xuICBib3hfaGVpZ2h0OiBudW1iZXIgPSAwO1xuICBib3hfc3R5bGU6IHN0cmluZyA9ICcnO1xuICBtZW51X29uX3RvcDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2KXtcbiAgICBpZiggdHlwZW9mIHYgPT09ICdib29sZWFuJyAmJiB2ICE9PSB0aGlzLl9kaXNhYmxlZCApe1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSB2OyAgICBcbiAgICAgIC8vdGhpcy5zZWxlY3RlZF9kZXNjcmlwdGlvbiA9ICcnO1xuICAgICAgLy90aGlzLnNlbGVjdGVkX2l0ZW0gPScnO1xuICAgICAgdGhpcy50b0NoYW5nZSgpO1xuICAgIH1cbiAgfVxuICBnZXQgZGlzYWJsZWQoKTpib29sZWFuIHsgcmV0dXJuIHRoaXMuX2Rpc2FibGVkOyB9XG5cbiAgcHJpdmF0ZSBfbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZXQgbG9hZGluZyh2OiBib29sZWFuKXtcbiAgICBpZiggdHlwZW9mIHYgPT09ICdib29sZWFuJyAmJiB2ICE9PSB0aGlzLl9sb2FkaW5nICl7XG4gICAgICB0aGlzLl9sb2FkaW5nID0gdjsgICAgXG4gICAgICAvL3RoaXMuc2VsZWN0ZWRfZGVzY3JpcHRpb24gPSAnJztcbiAgICAgIC8vdGhpcy5zZWxlY3RlZF9pdGVtID0gJyc7XG4gICAgICB0aGlzLnRvQ2hhbmdlKCk7XG4gICAgfVxuICB9XG4gIGdldCBsb2FkaW5nKCk6Ym9vbGVhbiB7IHJldHVybiB0aGlzLl9sb2FkaW5nOyB9XG5cblxuICBASW5wdXQoKSBzaG93SW5wdXQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xuICBcbiAgcHJpdmF0ZSBfbGlzdEl0ZW1zOiBJU2VsZWN0T3B0aW9uc1tdID0gW107XG4gIEBJbnB1dCgpIHNldCBsaXN0SXRlbXModjogSVNlbGVjdE9wdGlvbnNbXSl7XG4gICAgaWYoIHYgJiYgKHYpLmxlbmd0aCA+IDAgKXtcbiAgICAgIHRoaXMuX2xpc3RJdGVtcyA9IHY7XG4gICAgfVxuICB9XG4gIGdldCBsaXN0SXRlbXMoKTpJU2VsZWN0T3B0aW9uc1tdIHsgcmV0dXJuIHRoaXMuX2xpc3RJdGVtczsgfVxuXG4gIHByaXZhdGUgX29wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2V0IG9wZW4odjogYm9vbGVhbil7XG4gICAgaWYoIHYgIT09IHRoaXMuX29wZW4gKXtcbiAgICAgIHRoaXMuX29wZW4gPSB2O1xuICAgICAgaWYoIHYgKXtcbiAgICAgICAgdGhpcy5tZW51X3Nob3cgPSBmYWxzZTtcbiAgICAgICAgc2V0VGltZW91dCgoKT0+eyB0aGlzLnRvT3BlbigpOyB9KTsgICAgICAgIFxuICAgICAgfVxuICAgIH1cbiAgfVxuICBnZXQgb3BlbigpOmJvb2xlYW4geyByZXR1cm4gdGhpcy5fb3BlbjsgfVxuXG4gIFxuICBcbiAgQElucHV0KCkgYm9yZGVyOiBib29sZWFuID0gdHJ1ZTtcblxuICBAT3V0cHV0KCkgb25JbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SVNlbGVjdE9wdGlvbnM+KCk7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SVNlbGVjdE9wdGlvbnM+KCk7XG5cbiAgQE91dHB1dCgpIG9uT3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbkNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHByaXZhdGUgX25nTW9kZWw6IGFueSB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgc2V0IG5nTW9kZWwodjogYW55KXtcbiAgICB0aGlzLnNlbGVjdGVkX2l0ZW0gPSB2OyAgICBcbiAgICB0aGlzLnNlbGVjdERlc2NyaXB0aW9uKCk7ICAgXG4gIH1cbiAgQE91dHB1dCgpIG5nTW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBsaXN0X3NlbGVjdGVkX29wdGlvbnMgPSBuZXcgQXJyYXk8SVNlbGVjdE9wdGlvbnM+KCk7XG5cbiAgc2VsZWN0ZWRfaXRlbTogYW55IHwgdW5kZWZpbmVkO1xuICBzZWxlY3RlZF9kZXNjcmlwdGlvbjogYW55IHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uX3ZhbHVlOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uX2Rlc2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uX29wdGlvbnM6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBtZW51X3Nob3c6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VhcmNoX3RleHQ6IHN0cmluZyA9ICcnO1xuICBpZDogc3RyaW5nID0gJyc7XG5cbiAgZm9ybXVsYXJpbzogRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGF0YUxpc3RTZXJ2aWNlOiBEYXRhTGlzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXJcbiAgKXtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9uX3ZhbHVlID0gdGhpcy5kYXRhTGlzdFNlcnZpY2Uuc3RhdGVWYWx1ZSQuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZF9pdGVtID0gdjsgICAgICBcbiAgICAgIHRoaXMuc2VsZWN0RGVzY3JpcHRpb24oKTtcbiAgICAgIHRoaXMubmdNb2RlbENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRfaXRlbSk7XG4gICAgfSlcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9uX2Rlc2NyaXB0aW9uID0gdGhpcy5kYXRhTGlzdFNlcnZpY2Uuc3RhdGVEZXNjcmlwdGlvbiQuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZF9kZXNjcmlwdGlvbiA9IHY7ICAgICAgXG4gICAgfSlcblxuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25fb3B0aW9ucyA9IHRoaXMuZGF0YUxpc3RTZXJ2aWNlLnN0YXRlT3B0aW9ucyQuc3Vic2NyaWJlKCh2OmFueSkgPT4ge1xuICAgICAgaWYoIHYgJiYgdi52YWx1ZSApe1xuICAgICAgICAodGhpcy5saXN0X3NlbGVjdGVkX29wdGlvbnMpLnB1c2godik7XG4gICAgICB9XG4gICAgfSlcblxuICB9XG5cbiAgbmdPbkluaXQoKXtcblxuICAgIFxuXG4gICAgdGhpcy5pZCA9IHRoaXMuZ2VuZXJhdGVJRCgpO1xuXG4gICAgdGhpcy5mb3JtdWxhcmlvID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBcInNlbGVjdGVkX2l0ZW1cIjogbmV3IEZvcm1Db250cm9sKCcnLFtdKSxcbiAgICB9KVxuXG4gICAgXG5cbiAgICB0aGlzLnRvUmVzaXplKCk7XG4gICAgdGhpcy50b0NsaWNrKCk7XG4gIH1cblxuICB0X2ZjOiBhbnkgfCB1bmRlZmluZWQ7XG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnRfZmMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy50X2ZjID0gdGhpcy5nZXRfc2VsZWN0ZWRfZGVzY3JpcHRpb24oKTtcbiAgfVxuXG4gIGdldF9zZWxlY3RlZF9kZXNjcmlwdGlvbigpOiB2b2lke1xuICAgIGlmKCB0aGlzLmxpc3Rfc2VsZWN0ZWRfb3B0aW9ucyAmJiAodGhpcy5saXN0X3NlbGVjdGVkX29wdGlvbnMpLmxlbmd0aCA+IDAgKXtcbiAgICAgIGZvciggbGV0IGkgPSAwOyBpIDwgKHRoaXMubGlzdF9zZWxlY3RlZF9vcHRpb25zKS5sZW5ndGg7IGkrKyApe1xuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5saXN0X3NlbGVjdGVkX29wdGlvbnNbaV07XG4gICAgICAgIGlmKCBpdGVtLnZhbHVlID09PSB0aGlzLnNlbGVjdGVkX2l0ZW0gKXsgICAgICAgICBcbiAgICAgICAgICBpZiggdGhpcy5zZWxlY3RlZF9kZXNjcmlwdGlvbiAhPT0gaXRlbS5kZXNjcmlwdGlvbiApe1xuICAgICAgICAgICAgaWYoIGl0ZW0uZGVzY3JpcHRpb24gJiYgaXRlbS5kZXNjcmlwdGlvbiAhPT0gdGhpcy5zZWxlY3RlZF9kZXNjcmlwdGlvbiApe1xuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkX2Rlc2NyaXB0aW9uID0gaXRlbS5kZXNjcmlwdGlvbjsgXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhTGlzdFNlcnZpY2Uuc2V0QWN0aXZlSXRlbSh0aGlzLnNlbGVjdGVkX2l0ZW0pO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9ICAgICAgICBcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gXG4gIH1cblxuICBnZW5lcmF0ZUlEKCk6IHN0cmluZ3tcbiAgICByZXR1cm4gYGRhdGEtbGlzdC0ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIERhdGUubm93KCkpKX1gO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYoIHRoaXMuc3Vic2NyaXB0aW9uX3ZhbHVlICl7IHRoaXMuc3Vic2NyaXB0aW9uX3ZhbHVlLnVuc3Vic2NyaWJlKCk7IH0gICAgXG4gICAgaWYoIHRoaXMuc3Vic2NyaXB0aW9uX2Rlc2NyaXB0aW9uICl7IHRoaXMuc3Vic2NyaXB0aW9uX2Rlc2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7IH0gXG4gICAgaWYoIHRoaXMuc3Vic2NyaXB0aW9uX29wdGlvbnMgKXsgdGhpcy5zdWJzY3JpcHRpb25fb3B0aW9ucy51bnN1YnNjcmliZSgpOyB9IFxuICB9XG5cbiAgdG9TZWFyY2goZTogYW55KSB7XG4gICAgbGV0IGlucHV0ID0gKGUgJiYgZS50YXJnZXQgJiYgZS50YXJnZXQudmFsdWUpID8gZS50YXJnZXQudmFsdWUgOiAnJztcbiAgICBcbiAgICBsZXQgZmlsdGVyID0gKCAoIChpbnB1dCkubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCBcIlwiKSApLnRyaW0oKSApLnRvTG93ZXJDYXNlKCk7XG4gICAgbGV0IHVsID0gPGFueT4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5pZH0tb3B0aW9uc2ApO1xuICAgIGlmKCB1bCApe1xuICAgICAgbGV0IGxpID0gdWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJidXR0b25cIik7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgYSA9IGxpW2ldO1xuICAgICAgICAgIGNvbnN0IHR4dFZhbHVlID0gKCAoICggYS50ZXh0Q29udGVudCB8fCBhLmlubmVyVGV4dCApLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgXCJcIikgKS50cmltKCkgKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgIGlmICh0eHRWYWx1ZS5pbmRleE9mKGZpbHRlcikgPiAtMSkge1xuICAgICAgICAgICAgICBsaVtpXS5zdHlsZS5kaXNwbGF5ID0gXCJcIjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBsaVtpXS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNlbGVjdERlc2NyaXB0aW9uKCl7XG4gICAgaWYoIHRoaXMubGlzdF9zZWxlY3RlZF9vcHRpb25zICYmICh0aGlzLmxpc3Rfc2VsZWN0ZWRfb3B0aW9ucykubGVuZ3RoID4gMCApe1xuICAgICAgZm9yKCBsZXQgaSA9IDA7IGkgPCAodGhpcy5saXN0X3NlbGVjdGVkX29wdGlvbnMpLmxlbmd0aDsgaSsrICl7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmxpc3Rfc2VsZWN0ZWRfb3B0aW9uc1tpXTtcbiAgICAgICAgaWYoIGl0ZW0udmFsdWUgPT09IHRoaXMuc2VsZWN0ZWRfaXRlbSApe1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRfZGVzY3JpcHRpb24gPSBpdGVtLmRlc2NyaXB0aW9uO1xuICAgICAgICAgIHRoaXMudG9DaGFuZ2UoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiggdGhpcy5zZWxlY3RlZF9pdGVtID09PSB1bmRlZmluZWQgfHwgdGhpcy5zZWxlY3RlZF9pdGVtID09PSBudWxsIHx8IHRoaXMuc2VsZWN0ZWRfaXRlbSA9PT0gJycgKXtcbiAgICAgIHRoaXMuc2VsZWN0ZWRfZGVzY3JpcHRpb24gPSAnJztcbiAgICAgIHRoaXMudG9DaGFuZ2UoKTtcbiAgICB9XG4gICAgXG4gIH1cblxuICBcbiAgdG9JbnB1dChlOiBhbnkpe1xuICAgIHRoaXMub25JbnB1dENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRfZGVzY3JpcHRpb24pO1xuICAgIHRoaXMub25DaGFuZ2UuZW1pdChlKTtcbiAgfVxuXG4gIHRvQ2hhbmdlKCl7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiggdGhpcy5zZWxlY3RlZF9pdGVtID09PSB1bmRlZmluZWQgfHwgdGhpcy5zZWxlY3RlZF9pdGVtID09PSBudWxsICl7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRfaXRlbSA9ICcnO1xuICAgICAgfVxuICAgICAgdGhpcy50b1NlYXJjaCgnJyk7XG4gICAgICB0aGlzLnNlYXJjaF90ZXh0ID0gJyc7XG4gICAgICB0aGlzLmRhdGFMaXN0U2VydmljZS5zZXRBY3RpdmVJdGVtKHRoaXMuc2VsZWN0ZWRfaXRlbSk7XG5cbiAgICAgIHRoaXMub25JbnB1dENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRfZGVzY3JpcHRpb24pO1xuXG4gICAgICBpZiggdGhpcy5mb3JtdWxhcmlvICl7XG4gICAgICAgIHRoaXMuZm9ybXVsYXJpbz8uZ2V0KCdzZWxlY3RlZF9pdGVtJyk/LnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRfaXRlbSk7XG4gICAgICAgIC8vIGNvbnN0IGlucHV0X2hpZGRlbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuaWR9LWhpZGRlbmApO1xuICAgICAgICB0aGlzLnRvSW5wdXQodGhpcy5mb3JtdWxhcmlvLmdldCgnc2VsZWN0ZWRfaXRlbScpKTtcbiAgICAgIH0gICBcbiAgICB9KTtcbiAgfVxuXG5cbiAgY2xlYXJUZXh0U2VhcmNoKCl7XG4gICAgdGhpcy5zZWFyY2hfdGV4dCA9ICcnO1xuICAgIHRoaXMudG9TZWFyY2goJycpO1xuICB9XG5cbiAgdG9PcGVuKCl7XG4gICAgdGhpcy5tZW51X3Nob3cgPSAhdGhpcy5tZW51X3Nob3c7IFxuICAgIHRoaXMucmVzb2x2ZV9wb3NpdGlvbl9kcm9wZG93bih0aGlzLm1lbnVfc2hvdyk7XG4gICAgdGhpcy5vbk9wZW5lZC5lbWl0KCk7XG4gIH1cblxuICByZXNvbHZlX3Bvc2l0aW9uX2Ryb3Bkb3duKG9wZW46IGJvb2xlYW4pe1xuICAgIGlmKCBvcGVuICl7XG4gICAgICB0aGlzLmJveF9zdHlsZSA9ICcnO1xuICAgICAgdGhpcy5tZW51X29uX3RvcCA9ICcnOyAgIFxuICAgICAgY29uc3QgaWQgPSBgJHt0aGlzLmlkfWA7IFxuICAgICAgY29uc3QgYm94ID0gYGJveC0ke3RoaXMuaWR9YDtcbiAgICAgIGlmKCB0aGlzLnZpZXdwb3J0X2hlaWdodCA9PT0gMCApe1xuICAgICAgICB0aGlzLnZpZXdwb3J0X2hlaWdodCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVjdCAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgYm94X3Bvc2l0aW9uID0gcmVjdD8uYm90dG9tIHx8IDA7ICAgICAgXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5ib3hfaGVpZ2h0ICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGJveCk/LmNsaWVudEhlaWdodCB8fCAwO1xuICAgICAgICBpZiggKCB0aGlzLnZpZXdwb3J0X2hlaWdodCAtIGJveF9wb3NpdGlvbikgPCB0aGlzLmJveF9oZWlnaHQgKXtcbiAgICAgICAgICB0aGlzLm1lbnVfb25fdG9wID0gJ21lbnUtb24tdG9wJztcbiAgICAgICAgICB0aGlzLmJveF9zdHlsZSA9IGB0b3A6IC0keyAodGhpcy5ib3hfaGVpZ2h0KSB9cHg7IGhlaWdodDogJHt0aGlzLmJveF9oZWlnaHR9cHg7YDtcbiAgICAgICAgfVxuICAgICAgfSk7ICAgIFxuICAgIH1cbiAgfVxuXG4gIHRvQ2xvc2UoKXtcbiAgICB0aGlzLm1lbnVfc2hvdyA9IGZhbHNlO1xuICAgIHRoaXMub25DbG9zZWQuZW1pdCgpO1xuICB9XG5cblxuICB0b1Jlc2l6ZSgpe1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB7XG4gICAgICB0aGlzLnZpZXdwb3J0X3dpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgICB0aGlzLnZpZXdwb3J0X2hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgIHRoaXMucmVzb2x2ZV9wb3NpdGlvbl9kcm9wZG93bih0aGlzLm1lbnVfc2hvdyk7XG4gICAgfSk7XG4gIH1cblxuICB0b0NsaWNrKCl7XG4gICAgY29uc3QgYm94ID0gYGFyZWEtJHt0aGlzLmlkfWA7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoZTogYW55KSA9PiB7ICAgXG4gICAgICBpZiggdGhpcy5tZW51X3Nob3cgKXtcbiAgICAgICAgaWYoICEoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYm94KT8uY29udGFpbnMoZS50YXJnZXQpKSApeyAgICAgICAgXG4gICAgICAgICAgdGhpcy50b0Nsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG5cbiAgXG4gIC8vUGxhY2Vob2xkZXJzIGZvciB0aGUgY2FsbGJhY2tzIHdoaWNoIGFyZSBsYXRlciBwcm92aWRlc2RcbiAgICAvL2J5IHRoZSBDb250cm9sIFZhbHVlIEFjY2Vzc29yXG4gICAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9IG5vb3A7XG4gICAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gbm9vcDtcblxuICAgIC8vZ2V0IGFjY2Vzc29yXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkX2l0ZW07XG4gICAgfTtcblxuICAgIC8vc2V0IGFjY2Vzc29yIGluY2x1ZGluZyBjYWxsIHRoZSBvbmNoYW5nZSBjYWxsYmFja1xuICAgIHNldCB2YWx1ZSh2OiBhbnkpIHtcbiAgICAgICAgaWYgKHYgIT09IHRoaXMuc2VsZWN0ZWRfaXRlbSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZF9pdGVtID0gdjtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh2KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vU2V0IHRvdWNoZWQgb24gYmx1clxuICAgIG9uQmx1cigpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjaygpO1xuICAgIH1cblxuICAgIC8vRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnNlbGVjdGVkX2l0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRfaXRlbSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9Gcm9tIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICAvL0Zyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XG4gICAgfVxuXG59XG5cbiIsIjxkaXYgKm5nSWY9XCJmb3JtdWxhcmlvXCIgaWQ9XCJhcmVhLXt7IGlkIH19XCIgY2xhc3M9XCJ0Y2xvdWQtdWktZGF0YS1saXN0IHRjLWRyb3Bkb3duXCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvYWRpbmdcIj5cbiAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cImxvYWRpbmctYXJlYVwiPlxuICAgIDxpIGNsYXNzPVwiZmFzIGZhLXNwaW5uZXIgZmEtc3BpblwiPjwvaT5cbiAgPC9kaXY+XG4gIDwhLS0gW2F0dHIuZGF0YS1icy10b2dnbGVdPVwiJ2Ryb3Bkb3duJ1wiICAtLT5cbiAgPGJ1dHRvbiBcbiAgICAjX29wdGlvblxuICAgIFtjbGFzcy5pbnB1dC1oaWRkZW5dPVwiIXNob3dJbnB1dFwiXG4gICAgW2NsYXNzLmluLWJvcmRlcl09XCJib3JkZXJcIlxuICAgIFtjbGFzcy5sb2FkaW5nLWJveF09XCJsb2FkaW5nXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9hZGluZ1wiXG4gICAgY2xhc3M9XCJkcm9wZG93bi10b2dnbGUgYnV0dG9uLXNlbGVjdCBuby1tYXJnaW4tYm90dG9tIGFyZWEtdGV4dFwiIFxuICAgIHR5cGU9XCJidXR0b25cIiBcbiAgICBpZD1cInt7IGlkIH19XCIgXG4gICAgXG4gICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCIndHJ1ZSdcIiBcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIidmYWxzZSdcIiBcbiAgICAoY2xpY2spPVwidG9PcGVuKCk7dG9JbnB1dChfb3B0aW9uKVwiID5cblxuICAgIDxpIGNsYXNzPVwidGMtcGxhY2Vob2xkZXIgYXJlYS10ZXh0XCIgKm5nSWY9XCIoc2VsZWN0ZWRfZGVzY3JpcHRpb24gPT09IHVuZGVmaW5lZCB8fCBzZWxlY3RlZF9kZXNjcmlwdGlvbiA9PT0gbnVsbCB8fCBzZWxlY3RlZF9kZXNjcmlwdGlvbiA9PT0gJycgKSAmJiAhbG9hZGluZyBcIj57eyBwbGFjZWhvbGRlciB9fTwvaT5cbiAgICB7eyBzZWxlY3RlZF9kZXNjcmlwdGlvbiB9fVxuICAgIDxzcGFuPjxpIGNsYXNzPVwiZmFzIGZhLWFuZ2xlLWRvd25cIj48L2k+PC9zcGFuPlxuICA8L2J1dHRvbj5cbiAgPGRpdiBjbGFzcz1cInRjLWRyb3Bkb3duLW1lbnUge3sgbWVudV9vbl90b3AgfX1cIiBpZD1cImJveC17eyBpZCB9fVwiIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJpZFwiIFtjbGFzcy50by1oaWRlXT1cIiFtZW51X3Nob3dcIiBbc3R5bGVdPVwiYm94X3N0eWxlXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwibGluZS1zZWFyY2hcIiAqbmdJZj1cInNlYXJjaFwiPlxuICAgICAgPHRhYmxlIGNsYXNzPVwiYm94LXNlYXJjaFwiPlxuICAgICAgICA8dHI+XG5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJhcmVhLWlucHV0XCI+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cInRjLWZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwic2VhcmNoX3RleHRcIiAoaW5wdXQpPVwidG9TZWFyY2goJGV2ZW50KVwiIHBsYWNlaG9sZGVyPVwiQnVzY2FyLi4uXCIgPiAgICAgICAgICAgIFxuICAgICAgICAgIDwvdGQ+XG5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJhcmVhLWljb25cIj5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwic2VhcmNoX3RleHQgPT09ICcnXCIgY2xhc3M9XCJmYXMgZmEtc2VhcmNoIGljb24tc2VhcmNoXCI+PC9pPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJzZWFyY2hfdGV4dCAhPT0gJydcIiAoY2xpY2spPVwiY2xlYXJUZXh0U2VhcmNoKClcIj48aSBjbGFzcz1cImZhcyBmYS10aW1lc1wiPjwvaT48L2J1dHRvbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIFxuICAgICAgICA8L3RyPlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgICBcbiAgICA8ZGl2IGNsYXNzPVwiYXJlYS1vcHRpb25zXCIgaWQ9XCJ7eyBpZCB9fS1vcHRpb25zXCIgKGNsaWNrKT1cInRvQ2xvc2UoKVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiAgXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGlzdEl0ZW1zICYmIChsaXN0SXRlbXMpLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0SXRlbXNcIj5cbiAgICAgICAgICA8dGNsb3VkLXVpLWRhdGEtbGlzdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW0udmFsdWVcIiBbZGlzYWJsZWRdPVwiaXRlbT8uZGlzYWJsZWRcIiA+e3sgaXRlbT8uZGVzY3JpcHRpb24gfX08L3RjbG91ZC11aS1kYXRhLWxpc3Qtb3B0aW9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+ICAgIFxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiZm9ybXVsYXJpb1wiPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm11bGFyaW9cIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgPlxuICAgIDxpbnB1dCBpZD1cInt7IGlkIH19LWhpZGRlblwiIGZvcm1Db250cm9sTmFtZT1cInNlbGVjdGVkX2l0ZW1cIiB0eXBlPVwiaGlkZGVuXCI+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
@@ -1,3 +0,0 @@
1
- export class ISelectOptions {
2
- }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWRhdGEtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RjbG91ZC11aS9zcmMvbGliL19tb2R1bGVzL3RjbG91ZC11aS1kYXRhLWxpc3QvdGNsb3VkLXVpLWRhdGEtbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sY0FBYztDQUkxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBJU2VsZWN0T3B0aW9uc3tcbiAgZGVzY3JpcHRpb246IGFueTtcbiAgdmFsdWU6IGFueTtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufSJdfQ==
@@ -1,37 +0,0 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { TCloudUiDataListComponent } from './tcloud-ui-data-list.component';
5
- import { TCloudUiDataListOptionComponent } from './tcloud-ui-data-list-option/tcloud-ui-data-list-option.component';
6
- import * as i0 from "@angular/core";
7
- export class TCloudUiDataListModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiDataListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiDataListModule, declarations: [TCloudUiDataListComponent,
10
- TCloudUiDataListOptionComponent], imports: [CommonModule,
11
- FormsModule,
12
- ReactiveFormsModule], exports: [TCloudUiDataListComponent,
13
- TCloudUiDataListOptionComponent] }); }
14
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiDataListModule, imports: [CommonModule,
15
- FormsModule,
16
- ReactiveFormsModule] }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiDataListModule, decorators: [{
19
- type: NgModule,
20
- args: [{
21
- declarations: [
22
- TCloudUiDataListComponent,
23
- TCloudUiDataListOptionComponent,
24
- ],
25
- exports: [
26
- TCloudUiDataListComponent,
27
- TCloudUiDataListOptionComponent
28
- ],
29
- imports: [
30
- CommonModule,
31
- FormsModule,
32
- ReactiveFormsModule
33
- ],
34
- schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]
35
- }]
36
- }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWRhdGEtbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fbW9kdWxlcy90Y2xvdWQtdWktZGF0YS1saXN0L3RjbG91ZC11aS1kYXRhLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQzs7QUFvQnBILE1BQU0sT0FBTyxzQkFBc0I7K0dBQXRCLHNCQUFzQjtnSEFBdEIsc0JBQXNCLGlCQWQvQix5QkFBeUI7WUFDekIsK0JBQStCLGFBTy9CLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CLGFBTm5CLHlCQUF5QjtZQUN6QiwrQkFBK0I7Z0hBU3RCLHNCQUFzQixZQU4vQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjs7NEZBSVYsc0JBQXNCO2tCQWhCbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oseUJBQXlCO3dCQUN6QiwrQkFBK0I7cUJBQ2hDO29CQUNELE9BQU8sRUFBRTt3QkFDUCx5QkFBeUI7d0JBQ3pCLCtCQUErQjtxQkFDaEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxDQUFFLHNCQUFzQixFQUFFLGdCQUFnQixDQUFDO2lCQUNyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5PX0VSUk9SU19TQ0hFTUEsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFRDbG91ZFVpRGF0YUxpc3RDb21wb25lbnQgfSBmcm9tICcuL3RjbG91ZC11aS1kYXRhLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRDbG91ZFVpRGF0YUxpc3RPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL3RjbG91ZC11aS1kYXRhLWxpc3Qtb3B0aW9uL3RjbG91ZC11aS1kYXRhLWxpc3Qtb3B0aW9uLmNvbXBvbmVudCc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUQ2xvdWRVaURhdGFMaXN0Q29tcG9uZW50LFxuICAgIFRDbG91ZFVpRGF0YUxpc3RPcHRpb25Db21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBUQ2xvdWRVaURhdGFMaXN0Q29tcG9uZW50LFxuICAgIFRDbG91ZFVpRGF0YUxpc3RPcHRpb25Db21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gIF0sXG4gIHNjaGVtYXM6IFsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV1cbn0pXG5leHBvcnQgY2xhc3MgVENsb3VkVWlEYXRhTGlzdE1vZHVsZSB7IH1cbiJdfQ==