brainloper-ui 1.2.16 → 4.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 (115) hide show
  1. package/{esm2022 → esm2020}/brainloper-ui.mjs +4 -4
  2. package/esm2020/public_api.mjs +51 -0
  3. package/esm2020/src/app/modules/brainloper-ui/brainloper-ui.module.mjs +305 -0
  4. package/esm2020/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.mjs +29 -0
  5. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.mjs +23 -0
  6. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.mjs +83 -0
  7. package/esm2020/src/app/modules/brainloper-ui/components/carousel/carousel.component.mjs +31 -0
  8. package/esm2020/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +159 -0
  9. package/esm2020/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +486 -0
  10. package/esm2020/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.mjs +118 -0
  11. package/esm2020/src/app/modules/brainloper-ui/components/file-input/file-input.component.mjs +185 -0
  12. package/{esm2022 → esm2020}/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.mjs +1 -1
  13. package/{esm2022 → esm2020}/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.mjs +1 -1
  14. package/{esm2022 → esm2020}/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.mjs +1 -1
  15. package/esm2020/src/app/modules/brainloper-ui/components/filters/filters.component.mjs +222 -0
  16. package/esm2020/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.mjs +80 -0
  17. package/esm2020/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.mjs +81 -0
  18. package/esm2020/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.mjs +108 -0
  19. package/{esm2022 → esm2020}/src/app/modules/interfaces/buttons/button-icon.mjs +1 -1
  20. package/{esm2022 → esm2020}/src/app/modules/interfaces/buttons/button-lavel-edit.mjs +1 -1
  21. package/{esm2022 → esm2020}/src/app/modules/interfaces/combos/combos-configuration.mjs +1 -1
  22. package/{esm2022 → esm2020}/src/app/modules/interfaces/data-table/params.mjs +1 -1
  23. package/{esm2022 → esm2020}/src/app/modules/interfaces/data-table/rules.mjs +1 -1
  24. package/{esm2022 → esm2020}/src/app/modules/interfaces/data-table/table-columns.mjs +1 -1
  25. package/{esm2022 → esm2020}/src/app/modules/interfaces/data-table/table-configuration.mjs +1 -1
  26. package/{esm2022 → esm2020}/src/app/modules/interfaces/enum/enumActions.mjs +6 -6
  27. package/{esm2022 → esm2020}/src/app/modules/interfaces/enum/enumRules.mjs +7 -7
  28. package/{esm2022 → esm2020}/src/app/modules/interfaces/file-forms-service/file-forms-params.mjs +1 -1
  29. package/{esm2022 → esm2020}/src/app/modules/interfaces/file-forms-service/file-input-params.mjs +1 -1
  30. package/{esm2022 → esm2020}/src/app/modules/interfaces/filters/header-filters.mjs +1 -1
  31. package/esm2020/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.mjs +8 -0
  32. package/{esm2022 → esm2020}/src/app/modules/interfaces/report/template-pdf-ot.mjs +1 -1
  33. package/{esm2022 → esm2020}/src/app/modules/interfaces/report/template-pfd-fo.mjs +1 -1
  34. package/esm2020/src/app/modules/services/crypto.service.mjs +37 -0
  35. package/esm2020/src/app/modules/services/export-data.service.mjs +143 -0
  36. package/{esm2022 → esm2020}/src/app/modules/services/file-forms.service.mjs +24 -24
  37. package/{esm2022 → esm2020}/src/app/modules/services/functions.service.mjs +54 -54
  38. package/esm2020/src/app/modules/services/generate-pdf.service.mjs +58 -0
  39. package/esm2020/src/app/modules/services/http.service.mjs +154 -0
  40. package/esm2020/src/app/modules/services/loading/loading.component.mjs +28 -0
  41. package/{esm2022 → esm2020}/src/app/modules/services/local-storage.service.mjs +115 -115
  42. package/esm2020/src/app/modules/services/message.service.mjs +196 -0
  43. package/{esm2022 → esm2020}/src/app/modules/services/screen-size-util.mjs +5 -5
  44. package/esm2020/src/app/modules/services/session.service.mjs +42 -0
  45. package/fesm2015/brainloper-ui.mjs +2690 -0
  46. package/fesm2015/brainloper-ui.mjs.map +1 -0
  47. package/{fesm2022 → fesm2020}/brainloper-ui.mjs +2563 -2520
  48. package/fesm2020/brainloper-ui.mjs.map +1 -0
  49. package/index.d.ts +5 -5
  50. package/package.json +25 -19
  51. package/public_api.d.ts +50 -49
  52. package/src/app/modules/brainloper-ui/brainloper-ui.module.d.ts +73 -71
  53. package/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.d.ts +13 -13
  54. package/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.d.ts +10 -10
  55. package/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.d.ts +24 -24
  56. package/src/app/modules/brainloper-ui/components/carousel/carousel.component.d.ts +12 -12
  57. package/src/app/modules/brainloper-ui/components/combos/combos.component.d.ts +46 -46
  58. package/src/app/modules/brainloper-ui/components/data-table/data-table.component.d.ts +104 -104
  59. package/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.d.ts +21 -21
  60. package/src/app/modules/brainloper-ui/components/file-input/file-input.component.d.ts +42 -42
  61. package/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.d.ts +2 -2
  62. package/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.d.ts +2 -2
  63. package/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.d.ts +2 -2
  64. package/src/app/modules/brainloper-ui/components/filters/filters.component.d.ts +30 -30
  65. package/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.d.ts +35 -35
  66. package/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.d.ts +36 -36
  67. package/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.d.ts +26 -0
  68. package/src/app/modules/interfaces/buttons/button-icon.d.ts +9 -9
  69. package/src/app/modules/interfaces/buttons/button-lavel-edit.d.ts +6 -6
  70. package/src/app/modules/interfaces/combos/combos-configuration.d.ts +13 -13
  71. package/src/app/modules/interfaces/data-table/params.d.ts +7 -7
  72. package/src/app/modules/interfaces/data-table/rules.d.ts +8 -8
  73. package/src/app/modules/interfaces/data-table/table-columns.d.ts +25 -25
  74. package/src/app/modules/interfaces/data-table/table-configuration.d.ts +19 -19
  75. package/src/app/modules/interfaces/enum/enumActions.d.ts +5 -5
  76. package/src/app/modules/interfaces/enum/enumRules.d.ts +6 -6
  77. package/src/app/modules/interfaces/file-forms-service/file-forms-params.d.ts +4 -4
  78. package/src/app/modules/interfaces/file-forms-service/file-input-params.d.ts +13 -13
  79. package/src/app/modules/interfaces/filters/header-filters.d.ts +13 -13
  80. package/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.d.ts +10 -10
  81. package/src/app/modules/interfaces/report/template-pdf-ot.d.ts +19 -19
  82. package/src/app/modules/interfaces/report/template-pfd-fo.d.ts +20 -20
  83. package/src/app/modules/services/crypto.service.d.ts +10 -10
  84. package/src/app/modules/services/export-data.service.d.ts +15 -15
  85. package/src/app/modules/services/file-forms.service.d.ts +7 -7
  86. package/src/app/modules/services/functions.service.d.ts +13 -13
  87. package/src/app/modules/services/generate-pdf.service.d.ts +12 -12
  88. package/src/app/modules/services/http.service.d.ts +21 -21
  89. package/src/app/modules/services/loading/loading.component.d.ts +15 -15
  90. package/src/app/modules/services/local-storage.service.d.ts +49 -49
  91. package/src/app/modules/services/message.service.d.ts +23 -23
  92. package/src/app/modules/services/screen-size-util.d.ts +3 -3
  93. package/src/app/modules/services/session.service.d.ts +14 -14
  94. package/esm2022/public_api.mjs +0 -50
  95. package/esm2022/src/app/modules/brainloper-ui/brainloper-ui.module.mjs +0 -296
  96. package/esm2022/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.mjs +0 -30
  97. package/esm2022/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.mjs +0 -23
  98. package/esm2022/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.mjs +0 -83
  99. package/esm2022/src/app/modules/brainloper-ui/components/carousel/carousel.component.mjs +0 -30
  100. package/esm2022/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +0 -165
  101. package/esm2022/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +0 -501
  102. package/esm2022/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.mjs +0 -122
  103. package/esm2022/src/app/modules/brainloper-ui/components/file-input/file-input.component.mjs +0 -203
  104. package/esm2022/src/app/modules/brainloper-ui/components/filters/filters.component.mjs +0 -226
  105. package/esm2022/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.mjs +0 -84
  106. package/esm2022/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.mjs +0 -85
  107. package/esm2022/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.mjs +0 -6
  108. package/esm2022/src/app/modules/services/crypto.service.mjs +0 -38
  109. package/esm2022/src/app/modules/services/export-data.service.mjs +0 -146
  110. package/esm2022/src/app/modules/services/generate-pdf.service.mjs +0 -59
  111. package/esm2022/src/app/modules/services/http.service.mjs +0 -156
  112. package/esm2022/src/app/modules/services/loading/loading.component.mjs +0 -30
  113. package/esm2022/src/app/modules/services/message.service.mjs +0 -198
  114. package/esm2022/src/app/modules/services/session.service.mjs +0 -43
  115. package/fesm2022/brainloper-ui.mjs.map +0 -1
@@ -1,296 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- /** @material modules */
4
- import { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button';
5
- import { MatLegacyAutocompleteModule as MatAutocompleteModule } from '@angular/material/legacy-autocomplete';
6
- import { MatLegacyCheckboxModule as MatCheckboxModule } from '@angular/material/legacy-checkbox';
7
- import { MatDatepickerModule } from '@angular/material/datepicker';
8
- import { MatLegacyFormFieldModule as MatFormFieldModule } from '@angular/material/legacy-form-field';
9
- import { MatLegacyInputModule as MatInputModule } from '@angular/material/legacy-input';
10
- import { MatLegacyRadioModule as MatRadioModule } from '@angular/material/legacy-radio';
11
- import { MatLegacySelectModule as MatSelectModule } from '@angular/material/legacy-select';
12
- import { MatLegacySliderModule as MatSliderModule } from '@angular/material/legacy-slider';
13
- import { MatLegacySlideToggleModule as MatSlideToggleModule } from '@angular/material/legacy-slide-toggle';
14
- import { MatLegacyMenuModule as MatMenuModule } from '@angular/material/legacy-menu';
15
- import { MatSidenavModule } from '@angular/material/sidenav';
16
- import { MatToolbarModule } from '@angular/material/toolbar';
17
- import { MatLegacyCardModule as MatCardModule } from '@angular/material/legacy-card';
18
- import { MatDividerModule } from '@angular/material/divider';
19
- import { MatExpansionModule } from '@angular/material/expansion';
20
- import { MatGridListModule } from '@angular/material/grid-list';
21
- import { MatLegacyListModule as MatListModule } from '@angular/material/legacy-list';
22
- import { MatStepperModule } from '@angular/material/stepper';
23
- import { MatLegacyTabsModule as MatTabsModule } from '@angular/material/legacy-tabs';
24
- import { MatTreeModule } from '@angular/material/tree';
25
- import { MatButtonToggleModule } from '@angular/material/button-toggle';
26
- import { MatBadgeModule } from '@angular/material/badge';
27
- import { MatLegacyChipsModule as MatChipsModule } from '@angular/material/legacy-chips';
28
- import { MatIconModule } from '@angular/material/icon';
29
- import { MatLegacyProgressSpinnerModule as MatProgressSpinnerModule } from '@angular/material/legacy-progress-spinner';
30
- import { MatLegacyProgressBarModule as MatProgressBarModule } from '@angular/material/legacy-progress-bar';
31
- import { MatNativeDateModule, MatRippleModule } from '@angular/material/core';
32
- import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
33
- import { MatLegacyDialogModule as MatDialogModule } from '@angular/material/legacy-dialog';
34
- import { MatLegacySnackBarModule as MatSnackBarModule } from '@angular/material/legacy-snack-bar';
35
- import { MatLegacyTooltipModule as MatTooltipModule } from '@angular/material/legacy-tooltip';
36
- import { MatLegacyPaginatorModule as MatPaginatorModule } from '@angular/material/legacy-paginator';
37
- import { MatSortModule } from '@angular/material/sort';
38
- import { MatLegacyTableModule as MatTableModule } from '@angular/material/legacy-table';
39
- /** end @material mdoules */
40
- /** @Bootstrap module */
41
- import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
42
- /** end @Bootstrap module */
43
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
44
- import { HttpClientModule } from '@angular/common/http';
45
- import { TableModalComponent } from './components/data-table/table-modal/table-modal.component';
46
- import { CombosComponent } from './components/combos/combos.component';
47
- import { HttpService } from '../services/http.service';
48
- //import { MaterialFileInputModule } from 'ngx-material-file-input';
49
- import { LoadingComponent } from '../services/loading/loading.component';
50
- import player from 'lottie-web';
51
- import { GeneratePdfComponent } from './components/report/generate-pdf/generate-pdf.component';
52
- import { TemplateFuelComponent } from './components/report/template-fuel/template-fuel.component';
53
- import { BreadCrumbComponent } from './components/bread-crumb/bread-crumb.component';
54
- import { RouterModule } from '@angular/router';
55
- import { ButtonIconComponent } from './components/buttons/button-icon/button-icon.component';
56
- import { CarouselComponent } from './components/carousel/carousel.component';
57
- import { FiltersComponent } from './components/filters/filters.component';
58
- import { DataTableComponent } from './components/data-table/data-table.component';
59
- import { FileInputComponent } from './components/file-input/file-input.component';
60
- import { ButtonLabelComponent } from './components/buttons/button-label/button-label.component';
61
- import * as i0 from "@angular/core";
62
- import * as i1 from "@angular/router";
63
- const Material = [
64
- MatSlideToggleModule,
65
- MatProgressBarModule,
66
- MatRippleModule,
67
- MatBottomSheetModule,
68
- MatChipsModule,
69
- MatTreeModule,
70
- MatButtonModule,
71
- MatButtonToggleModule,
72
- MatBadgeModule,
73
- MatIconModule,
74
- MatProgressSpinnerModule,
75
- MatToolbarModule,
76
- MatSidenavModule,
77
- MatMenuModule,
78
- MatListModule,
79
- MatDividerModule,
80
- MatGridListModule,
81
- MatExpansionModule,
82
- MatTabsModule,
83
- MatCardModule,
84
- MatStepperModule,
85
- MatFormFieldModule,
86
- MatInputModule,
87
- MatSelectModule,
88
- MatAutocompleteModule,
89
- MatCheckboxModule,
90
- MatRadioModule,
91
- MatDatepickerModule,
92
- MatTooltipModule,
93
- MatSnackBarModule,
94
- MatDialogModule,
95
- MatTableModule,
96
- MatSortModule,
97
- MatPaginatorModule,
98
- MatSliderModule,
99
- MatNativeDateModule
100
- ];
101
- export function playerFactory() {
102
- return player;
103
- }
104
- export class BrainloperUiModule {
105
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BrainloperUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
106
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: BrainloperUiModule, declarations: [DataTableComponent,
107
- TableModalComponent,
108
- CombosComponent,
109
- FileInputComponent,
110
- LoadingComponent,
111
- GeneratePdfComponent,
112
- TemplateFuelComponent,
113
- BreadCrumbComponent,
114
- ButtonLabelComponent,
115
- ButtonIconComponent,
116
- CarouselComponent,
117
- FiltersComponent], imports: [CommonModule,
118
- MatButtonModule, MatSlideToggleModule,
119
- MatProgressBarModule,
120
- MatRippleModule,
121
- MatBottomSheetModule,
122
- MatChipsModule,
123
- MatTreeModule,
124
- MatButtonModule,
125
- MatButtonToggleModule,
126
- MatBadgeModule,
127
- MatIconModule,
128
- MatProgressSpinnerModule,
129
- MatToolbarModule,
130
- MatSidenavModule,
131
- MatMenuModule,
132
- MatListModule,
133
- MatDividerModule,
134
- MatGridListModule,
135
- MatExpansionModule,
136
- MatTabsModule,
137
- MatCardModule,
138
- MatStepperModule,
139
- MatFormFieldModule,
140
- MatInputModule,
141
- MatSelectModule,
142
- MatAutocompleteModule,
143
- MatCheckboxModule,
144
- MatRadioModule,
145
- MatDatepickerModule,
146
- MatTooltipModule,
147
- MatSnackBarModule,
148
- MatDialogModule,
149
- MatTableModule,
150
- MatSortModule,
151
- MatPaginatorModule,
152
- MatSliderModule,
153
- MatNativeDateModule, NgbModule,
154
- FormsModule,
155
- ReactiveFormsModule,
156
- HttpClientModule, i1.RouterModule, MatTooltipModule], exports: [MatSlideToggleModule,
157
- MatProgressBarModule,
158
- MatRippleModule,
159
- MatBottomSheetModule,
160
- MatChipsModule,
161
- MatTreeModule,
162
- MatButtonModule,
163
- MatButtonToggleModule,
164
- MatBadgeModule,
165
- MatIconModule,
166
- MatProgressSpinnerModule,
167
- MatToolbarModule,
168
- MatSidenavModule,
169
- MatMenuModule,
170
- MatListModule,
171
- MatDividerModule,
172
- MatGridListModule,
173
- MatExpansionModule,
174
- MatTabsModule,
175
- MatCardModule,
176
- MatStepperModule,
177
- MatFormFieldModule,
178
- MatInputModule,
179
- MatSelectModule,
180
- MatAutocompleteModule,
181
- MatCheckboxModule,
182
- MatRadioModule,
183
- MatDatepickerModule,
184
- MatTooltipModule,
185
- MatSnackBarModule,
186
- MatDialogModule,
187
- MatTableModule,
188
- MatSortModule,
189
- MatPaginatorModule,
190
- MatSliderModule,
191
- MatNativeDateModule, DataTableComponent,
192
- TableModalComponent,
193
- CombosComponent,
194
- FileInputComponent,
195
- LoadingComponent,
196
- BreadCrumbComponent,
197
- ButtonLabelComponent,
198
- ButtonIconComponent,
199
- NgbModule,
200
- CarouselComponent,
201
- FiltersComponent] });
202
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BrainloperUiModule, providers: [
203
- HttpService
204
- ], imports: [CommonModule,
205
- MatButtonModule,
206
- Material,
207
- NgbModule,
208
- FormsModule,
209
- ReactiveFormsModule,
210
- HttpClientModule,
211
- RouterModule.forRoot([]),
212
- MatTooltipModule, MatSlideToggleModule,
213
- MatProgressBarModule,
214
- MatRippleModule,
215
- MatBottomSheetModule,
216
- MatChipsModule,
217
- MatTreeModule,
218
- MatButtonModule,
219
- MatButtonToggleModule,
220
- MatBadgeModule,
221
- MatIconModule,
222
- MatProgressSpinnerModule,
223
- MatToolbarModule,
224
- MatSidenavModule,
225
- MatMenuModule,
226
- MatListModule,
227
- MatDividerModule,
228
- MatGridListModule,
229
- MatExpansionModule,
230
- MatTabsModule,
231
- MatCardModule,
232
- MatStepperModule,
233
- MatFormFieldModule,
234
- MatInputModule,
235
- MatSelectModule,
236
- MatAutocompleteModule,
237
- MatCheckboxModule,
238
- MatRadioModule,
239
- MatDatepickerModule,
240
- MatTooltipModule,
241
- MatSnackBarModule,
242
- MatDialogModule,
243
- MatTableModule,
244
- MatSortModule,
245
- MatPaginatorModule,
246
- MatSliderModule,
247
- MatNativeDateModule, NgbModule] });
248
- }
249
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BrainloperUiModule, decorators: [{
250
- type: NgModule,
251
- args: [{
252
- declarations: [
253
- DataTableComponent,
254
- TableModalComponent,
255
- CombosComponent,
256
- FileInputComponent,
257
- LoadingComponent,
258
- GeneratePdfComponent,
259
- TemplateFuelComponent,
260
- BreadCrumbComponent,
261
- ButtonLabelComponent,
262
- ButtonIconComponent,
263
- CarouselComponent,
264
- FiltersComponent
265
- ],
266
- imports: [
267
- CommonModule,
268
- MatButtonModule,
269
- Material,
270
- NgbModule,
271
- FormsModule,
272
- ReactiveFormsModule,
273
- HttpClientModule,
274
- RouterModule.forRoot([]),
275
- MatTooltipModule
276
- ],
277
- exports: [
278
- Material,
279
- DataTableComponent,
280
- TableModalComponent,
281
- CombosComponent,
282
- FileInputComponent,
283
- LoadingComponent,
284
- BreadCrumbComponent,
285
- ButtonLabelComponent,
286
- ButtonIconComponent,
287
- NgbModule,
288
- CarouselComponent,
289
- FiltersComponent
290
- ],
291
- providers: [
292
- HttpService
293
- ]
294
- }]
295
- }] });
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhaW5sb3Blci11aS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9icmFpbmxvcGVyLXVpLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyx3QkFBd0I7QUFFeEIsT0FBTyxFQUFFLHFCQUFxQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSwyQkFBMkIsSUFBSSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdHLE9BQU8sRUFBRSx1QkFBdUIsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSx3QkFBd0IsSUFBSSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxvQkFBb0IsSUFBSSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsb0JBQW9CLElBQUksY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxxQkFBcUIsSUFBSSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRixPQUFPLEVBQUUsMEJBQTBCLElBQUksb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRyxPQUFPLEVBQUUsbUJBQW1CLElBQUksYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1B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QW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQzt3QkFDeEIsZ0JBQWdCO3FCQUVuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsUUFBUTt3QkFDUixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxpQkFBaUI7d0JBQ2pCLGdCQUFnQjtxQkFDbkI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLFdBQVc7cUJBQ2Q7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuLyoqIEBtYXRlcmlhbCBtb2R1bGVzICovXHJcblxyXG5pbXBvcnQgeyBNYXRMZWdhY3lCdXR0b25Nb2R1bGUgYXMgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWJ1dHRvbic7XHJcbmltcG9ydCB7IE1hdExlZ2FjeUF1dG9jb21wbGV0ZU1vZHVsZSBhcyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5Q2hlY2tib3hNb2R1bGUgYXMgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdExlZ2FjeUZvcm1GaWVsZE1vZHVsZSBhcyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeUlucHV0TW9kdWxlIGFzIE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWlucHV0JztcclxuaW1wb3J0IHsgTWF0TGVnYWN5UmFkaW9Nb2R1bGUgYXMgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lTZWxlY3RNb2R1bGUgYXMgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LXNlbGVjdCc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVNsaWRlck1vZHVsZSBhcyBNYXRTbGlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktc2xpZGVyJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5U2xpZGVUb2dnbGVNb2R1bGUgYXMgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktc2xpZGUtdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5TWVudU1vZHVsZSBhcyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LW1lbnUnO1xyXG5pbXBvcnQgeyBNYXRTaWRlbmF2TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XHJcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5Q2FyZE1vZHVsZSBhcyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWNhcmQnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XHJcbmltcG9ydCB7IE1hdEdyaWRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZ3JpZC1saXN0JztcclxuaW1wb3J0IHsgTWF0TGVnYWN5TGlzdE1vZHVsZSBhcyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWxpc3QnO1xyXG5pbXBvcnQgeyBNYXRTdGVwcGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc3RlcHBlcic7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVRhYnNNb2R1bGUgYXMgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS10YWJzJztcclxuaW1wb3J0IHsgTWF0VHJlZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RyZWUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeUNoaXBzTW9kdWxlIGFzIE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWNoaXBzJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lQcm9ncmVzc1NwaW5uZXJNb2R1bGUgYXMgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LXByb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lQcm9ncmVzc0Jhck1vZHVsZSBhcyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBNYXROYXRpdmVEYXRlTW9kdWxlLCBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0Qm90dG9tU2hlZXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9ib3R0b20tc2hlZXQnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dNb2R1bGUgYXMgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVNuYWNrQmFyTW9kdWxlIGFzIE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LXNuYWNrLWJhcic7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVRvb2x0aXBNb2R1bGUgYXMgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS10b29sdGlwJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5UGFnaW5hdG9yTW9kdWxlIGFzIE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRTb3J0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVRhYmxlTW9kdWxlIGFzIE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LXRhYmxlJztcclxuXHJcblxyXG5jb25zdCBNYXRlcmlhbCA9IFtcclxuICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcclxuICBNYXRSaXBwbGVNb2R1bGUsXHJcbiAgTWF0Qm90dG9tU2hlZXRNb2R1bGUsXHJcbiAgTWF0Q2hpcHNNb2R1bGUsXHJcbiAgTWF0VHJlZU1vZHVsZSxcclxuICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxyXG4gIE1hdEJhZGdlTW9kdWxlLFxyXG4gIE1hdEljb25Nb2R1bGUsXHJcbiAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxyXG4gIE1hdFRvb2xiYXJNb2R1bGUsXHJcbiAgTWF0U2lkZW5hdk1vZHVsZSxcclxuICBNYXRNZW51TW9kdWxlLFxyXG4gIE1hdExpc3RNb2R1bGUsXHJcbiAgTWF0RGl2aWRlck1vZHVsZSxcclxuICBNYXRHcmlkTGlzdE1vZHVsZSxcclxuICBNYXRFeHBhbnNpb25Nb2R1bGUsXHJcbiAgTWF0VGFic01vZHVsZSxcclxuICBNYXRDYXJkTW9kdWxlLFxyXG4gIE1hdFN0ZXBwZXJNb2R1bGUsXHJcbiAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gIE1hdElucHV0TW9kdWxlLFxyXG4gIE1hdFNlbGVjdE1vZHVsZSxcclxuICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcclxuICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gIE1hdFNuYWNrQmFyTW9kdWxlLFxyXG4gIE1hdERpYWxvZ01vZHVsZSxcclxuICBNYXRUYWJsZU1vZHVsZSxcclxuICBNYXRTb3J0TW9kdWxlLFxyXG4gIE1hdFBhZ2luYXRvck1vZHVsZSxcclxuICBNYXRTbGlkZXJNb2R1bGUsXHJcbiAgTWF0TmF0aXZlRGF0ZU1vZHVsZVxyXG5dO1xyXG5cclxuLyoqIGVuZCBAbWF0ZXJpYWwgbWRvdWxlcyAqL1xyXG5cclxuLyoqIEBCb290c3RyYXAgbW9kdWxlICovXHJcbmltcG9ydCB7IE5nYk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuLyoqIGVuZCBAQm9vdHN0cmFwIG1vZHVsZSAqL1xyXG5cclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFRhYmxlTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS10YWJsZS90YWJsZS1tb2RhbC90YWJsZS1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21ib3NDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29tYm9zL2NvbWJvcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2h0dHAuc2VydmljZSc7XHJcbi8vaW1wb3J0IHsgTWF0ZXJpYWxGaWxlSW5wdXRNb2R1bGUgfSBmcm9tICduZ3gtbWF0ZXJpYWwtZmlsZS1pbnB1dCc7XHJcbmltcG9ydCB7IExvYWRpbmdDb21wb25lbnQgfSBmcm9tICcuLi9zZXJ2aWNlcy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IExvdHRpZU1vZHVsZSB9IGZyb20gJ25neC1sb3R0aWUnO1xyXG5pbXBvcnQgcGxheWVyIGZyb20gJ2xvdHRpZS13ZWInO1xyXG5pbXBvcnQgeyBHZW5lcmF0ZVBkZkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZXBvcnQvZ2VuZXJhdGUtcGRmL2dlbmVyYXRlLXBkZi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZUZ1ZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVwb3J0L3RlbXBsYXRlLWZ1ZWwvdGVtcGxhdGUtZnVlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCcmVhZENydW1iQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2JyZWFkLWNydW1iL2JyZWFkLWNydW1iLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEJ1dHRvbkljb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0b24taWNvbi9idXR0b24taWNvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbHRlcnMvZmlsdGVycy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWlucHV0L2ZpbGUtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0b24tbGFiZWwvYnV0dG9uLWxhYmVsLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcGxheWVyRmFjdG9yeSgpIHtcclxuICByZXR1cm4gcGxheWVyO1xyXG59XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIERhdGFUYWJsZUNvbXBvbmVudCxcclxuICAgICAgICBUYWJsZU1vZGFsQ29tcG9uZW50LFxyXG4gICAgICAgIENvbWJvc0NvbXBvbmVudCxcclxuICAgICAgICBGaWxlSW5wdXRDb21wb25lbnQsXHJcbiAgICAgICAgTG9hZGluZ0NvbXBvbmVudCxcclxuICAgICAgICBHZW5lcmF0ZVBkZkNvbXBvbmVudCxcclxuICAgICAgICBUZW1wbGF0ZUZ1ZWxDb21wb25lbnQsXHJcbiAgICAgICAgQnJlYWRDcnVtYkNvbXBvbmVudCxcclxuICAgICAgICBCdXR0b25MYWJlbENvbXBvbmVudCxcclxuICAgICAgICBCdXR0b25JY29uQ29tcG9uZW50LFxyXG4gICAgICAgIENhcm91c2VsQ29tcG9uZW50LFxyXG4gICAgICAgIEZpbHRlcnNDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBNYXRlcmlhbCxcclxuICAgICAgICBOZ2JNb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgICAgIFJvdXRlck1vZHVsZS5mb3JSb290KFtdKSxcclxuICAgICAgICBNYXRUb29sdGlwTW9kdWxlXHJcblxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBNYXRlcmlhbCxcclxuICAgICAgICBEYXRhVGFibGVDb21wb25lbnQsXHJcbiAgICAgICAgVGFibGVNb2RhbENvbXBvbmVudCxcclxuICAgICAgICBDb21ib3NDb21wb25lbnQsXHJcbiAgICAgICAgRmlsZUlucHV0Q29tcG9uZW50LFxyXG4gICAgICAgIExvYWRpbmdDb21wb25lbnQsXHJcbiAgICAgICAgQnJlYWRDcnVtYkNvbXBvbmVudCxcclxuICAgICAgICBCdXR0b25MYWJlbENvbXBvbmVudCxcclxuICAgICAgICBCdXR0b25JY29uQ29tcG9uZW50LFxyXG4gICAgICAgIE5nYk1vZHVsZSxcclxuICAgICAgICBDYXJvdXNlbENvbXBvbmVudCxcclxuICAgICAgICBGaWx0ZXJzQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgSHR0cFNlcnZpY2VcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJyYWlubG9wZXJVaU1vZHVsZSB7IH1cclxuIl19
@@ -1,30 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/router";
4
- import * as i2 from "@angular/common";
5
- export class BreadCrumbComponent {
6
- router;
7
- menu = [];
8
- selectRouter = new EventEmitter();
9
- constructor(router) {
10
- this.router = router;
11
- }
12
- ngOnInit() {
13
- }
14
- handlerRouter(menu) {
15
- if (menu.router != null)
16
- this.router.navigate([menu.router]);
17
- this.selectRouter.emit(menu);
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BreadCrumbComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
20
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BreadCrumbComponent, selector: "app-bread-crumb", inputs: { menu: "menu" }, outputs: { selectRouter: "selectRouter" }, ngImport: i0, template: "<nav aria-label=\"breadcrumb\">\r\n <ol class=\"breadcrumb\">\r\n <li *ngFor=\"let m of menu\" [class]=\"m.current?'active':''\" class=\"breadcrumb-item\" (click)=\"handlerRouter(m)\">{{m.name}}</li>\r\n </ol>\r\n</nav>\r\n", styles: [".breadcrumb-item{cursor:pointer}.breadcrumb{background-color:#b7b9bb!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BreadCrumbComponent, decorators: [{
23
- type: Component,
24
- args: [{ selector: 'app-bread-crumb', template: "<nav aria-label=\"breadcrumb\">\r\n <ol class=\"breadcrumb\">\r\n <li *ngFor=\"let m of menu\" [class]=\"m.current?'active':''\" class=\"breadcrumb-item\" (click)=\"handlerRouter(m)\">{{m.name}}</li>\r\n </ol>\r\n</nav>\r\n", styles: [".breadcrumb-item{cursor:pointer}.breadcrumb{background-color:#b7b9bb!important}\n"] }]
25
- }], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { menu: [{
26
- type: Input
27
- }], selectRouter: [{
28
- type: Output
29
- }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWQtY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2JyYWlubG9wZXItdWkvY29tcG9uZW50cy9icmVhZC1jcnVtYi9icmVhZC1jcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL2JyZWFkLWNydW1iL2JyZWFkLWNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRL0UsTUFBTSxPQUFPLG1CQUFtQjtJQUtyQjtJQUpBLElBQUksR0FBYyxFQUFFLENBQUE7SUFDbkIsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFakQsWUFDUyxNQUFlO1FBQWYsV0FBTSxHQUFOLE1BQU0sQ0FBUztJQUNwQixDQUFDO0lBRUwsUUFBUTtJQUNSLENBQUM7SUFFTSxhQUFhLENBQUMsSUFBUTtRQUMzQixJQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSTtZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDOUIsQ0FBQzt3R0FkVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiw0SENSaEMsd09BS0E7OzRGREdhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7NkZBS2xCLElBQUk7c0JBQVosS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYnJlYWQtY3J1bWInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZC1jcnVtYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWQtY3J1bWIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnJlYWRDcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbWVudTpBcnJheTxhbnk+ID0gW11cclxuICBAT3V0cHV0KCkgc2VsZWN0Um91dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJvdXRlciA6IFJvdXRlclxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZXJSb3V0ZXIobWVudTphbnkpe1xyXG4gICAgaWYobWVudS5yb3V0ZXIgIT0gbnVsbCkgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW21lbnUucm91dGVyXSlcclxuICAgIHRoaXMuc2VsZWN0Um91dGVyLmVtaXQobWVudSlcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbiIsIjxuYXYgYXJpYS1sYWJlbD1cImJyZWFkY3J1bWJcIj5cclxuICA8b2wgY2xhc3M9XCJicmVhZGNydW1iXCI+XHJcbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbSBvZiBtZW51XCIgW2NsYXNzXT1cIm0uY3VycmVudD8nYWN0aXZlJzonJ1wiIGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtXCIgKGNsaWNrKT1cImhhbmRsZXJSb3V0ZXIobSlcIj57e20ubmFtZX19PC9saT5cclxuICA8L29sPlxyXG48L25hdj5cclxuIl19
@@ -1,23 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/core";
5
- import * as i3 from "@angular/material/legacy-tooltip";
6
- export class ButtonIconComponent {
7
- clickButton = new EventEmitter();
8
- items;
9
- constructor() { }
10
- ngOnInit() {
11
- }
12
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonIconComponent, selector: "app-button-icon", inputs: { items: "items" }, outputs: { clickButton: "clickButton" }, ngImport: i0, template: "<div style=\"height: 100%\" class=\"d-flex flex-wrap justify-content-around align-items-center\">\r\n <div *ngFor=\"let item of items\" [class]=\"items.length > 6 ? 'col-3' : 'col-4'\">\r\n <div *ngIf=\"item.active\" class=\"icon-menu\" matTooltip=\"{{ item.description }}\" matTooltipPosition=\"above\" matTooltipClass=\"custom-tooltip\">\r\n <button style=\"border: none; background: transparent\">\r\n <div [class]=\"'icon mat-elevation-z6'\" [style.background]=\"item.color\" matRipple (click)=\"clickButton.emit(item)\">\r\n <i [class]=\"'fa iconFa fa-' + item.icon\" [style.color]=\"item.iconColor ?? 'white'\"></i>\r\n </div>\r\n </button>\r\n <div>\r\n <h3 style=\"text-align: center; line-height: 20px\">{{ item.name }}</h3>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n", styles: ["div.icon-menu{display:flex;align-items:center;flex-direction:column}div.icon{width:120px;background-color:#fff;height:120px;border-radius:22px;cursor:pointer;display:flex;justify-content:center;align-items:center}.iconFa{width:70px;height:70px}font{font-size:.6rem}::ng-deep .custom-tooltip{background-color:#fbe870!important;color:#000!important;line-height:17px!important;font-size:.8rem}@media screen and (max-height: 360px){div.icon{width:90px;height:90px;border-radius:18px}.iconFa{width:50px;height:50px}h3{font-size:70%}}@media screen and (max-width: 360px){div.icon{width:80px;height:80px;border-radius:20px}.iconFa{width:50px;height:50px}h3{font-size:70%}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i3.MatLegacyTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonIconComponent, decorators: [{
16
- type: Component,
17
- args: [{ selector: 'app-button-icon', template: "<div style=\"height: 100%\" class=\"d-flex flex-wrap justify-content-around align-items-center\">\r\n <div *ngFor=\"let item of items\" [class]=\"items.length > 6 ? 'col-3' : 'col-4'\">\r\n <div *ngIf=\"item.active\" class=\"icon-menu\" matTooltip=\"{{ item.description }}\" matTooltipPosition=\"above\" matTooltipClass=\"custom-tooltip\">\r\n <button style=\"border: none; background: transparent\">\r\n <div [class]=\"'icon mat-elevation-z6'\" [style.background]=\"item.color\" matRipple (click)=\"clickButton.emit(item)\">\r\n <i [class]=\"'fa iconFa fa-' + item.icon\" [style.color]=\"item.iconColor ?? 'white'\"></i>\r\n </div>\r\n </button>\r\n <div>\r\n <h3 style=\"text-align: center; line-height: 20px\">{{ item.name }}</h3>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n", styles: ["div.icon-menu{display:flex;align-items:center;flex-direction:column}div.icon{width:120px;background-color:#fff;height:120px;border-radius:22px;cursor:pointer;display:flex;justify-content:center;align-items:center}.iconFa{width:70px;height:70px}font{font-size:.6rem}::ng-deep .custom-tooltip{background-color:#fbe870!important;color:#000!important;line-height:17px!important;font-size:.8rem}@media screen and (max-height: 360px){div.icon{width:90px;height:90px;border-radius:18px}.iconFa{width:50px;height:50px}h3{font-size:70%}}@media screen and (max-width: 360px){div.icon{width:80px;height:80px;border-radius:20px}.iconFa{width:50px;height:50px}h3{font-size:70%}}\n"] }]
18
- }], ctorParameters: function () { return []; }, propDecorators: { clickButton: [{
19
- type: Output
20
- }], items: [{
21
- type: Input
22
- }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2JyYWlubG9wZXItdWkvY29tcG9uZW50cy9idXR0b25zL2J1dHRvbi1pY29uL2J1dHRvbi1pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9icmFpbmxvcGVyLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0b24taWNvbi9idXR0b24taWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU8vRSxNQUFNLE9BQU8sbUJBQW1CO0lBRXBCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO0lBQ3RDLEtBQUssQ0FBVztJQUV6QixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzt3R0FSVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiw0SENQaEMsbzFCQWlCQTs7NEZEVmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQjswRUFNakIsV0FBVztzQkFBcEIsTUFBTTtnQkFDRSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1idXR0b24taWNvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi1pY29uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9idXR0b24taWNvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdXR0b25JY29uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQE91dHB1dCgpIGNsaWNrQnV0dG9uID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcclxuICBASW5wdXQoKSBpdGVtczpBcnJheTxhbnk+XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBzdHlsZT1cImhlaWdodDogMTAwJVwiIGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIiBbY2xhc3NdPVwiaXRlbXMubGVuZ3RoID4gNiA/ICdjb2wtMycgOiAnY29sLTQnXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5hY3RpdmVcIiBjbGFzcz1cImljb24tbWVudVwiIG1hdFRvb2x0aXA9XCJ7eyBpdGVtLmRlc2NyaXB0aW9uIH19XCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiBtYXRUb29sdGlwQ2xhc3M9XCJjdXN0b20tdG9vbHRpcFwiPlxyXG4gICAgICA8YnV0dG9uIHN0eWxlPVwiYm9yZGVyOiBub25lOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudFwiPlxyXG4gICAgICAgIDxkaXYgW2NsYXNzXT1cIidpY29uIG1hdC1lbGV2YXRpb24tejYnXCIgW3N0eWxlLmJhY2tncm91bmRdPVwiaXRlbS5jb2xvclwiIG1hdFJpcHBsZSAoY2xpY2spPVwiY2xpY2tCdXR0b24uZW1pdChpdGVtKVwiPlxyXG4gICAgICAgICAgPGkgW2NsYXNzXT1cIidmYSBpY29uRmEgZmEtJyArIGl0ZW0uaWNvblwiIFtzdHlsZS5jb2xvcl09XCJpdGVtLmljb25Db2xvciA/PyAnd2hpdGUnXCI+PC9pPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8aDMgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IGxpbmUtaGVpZ2h0OiAyMHB4XCI+e3sgaXRlbS5uYW1lIH19PC9oMz5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuXHJcbiJdfQ==
@@ -1,83 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/icon";
5
- import * as i3 from "@angular/material/legacy-input";
6
- import * as i4 from "@angular/material/legacy-tooltip";
7
- import * as i5 from "@angular/forms";
8
- export class ButtonLabelComponent {
9
- constructor() { }
10
- updateLabel = new EventEmitter();
11
- labels = [];
12
- labelsEdit = [];
13
- color = null;
14
- iconColor = null;
15
- modeEdit = [];
16
- currentValueToEdit = "";
17
- indexToedit = -1;
18
- spanElement;
19
- initEventClink = false;
20
- ngOnInit() {
21
- }
22
- ngOnChanges(changes) {
23
- if (changes) {
24
- if (changes.labelsEdit && !this.initEventClink && this.labelsEdit.length > 0 && this.labelsEdit.find(x => x.edit == true)) {
25
- document.addEventListener('click', ($event) => this.onPageClick($event));
26
- this.initEventClink = true;
27
- }
28
- }
29
- }
30
- finishEditLabel(index) {
31
- this.labelsEdit[index].value = this.currentValueToEdit;
32
- this.modeEdit[index] = false;
33
- this.updateLabel.emit({
34
- value: this.labelsEdit[index].value,
35
- labels: this.labelsEdit[index].label,
36
- position: index
37
- });
38
- }
39
- editLabel(index) {
40
- this.spanElement = document.getElementById('button-edit-' + index);
41
- this.currentValueToEdit = this.labelsEdit[index].value;
42
- this.modeEdit[index] = true;
43
- this.indexToedit = index;
44
- }
45
- onPageClick($event) {
46
- if (!ButtonLabelComponent.isDescendant($event.target, this.spanElement) && this.modeEdit) {
47
- for (let [index, value] of this.modeEdit.entries()) {
48
- this.modeEdit[index] = this.indexToedit == index ? true : false;
49
- }
50
- }
51
- this.indexToedit = -1;
52
- }
53
- static isDescendant(child, parent) {
54
- let node = child.parentNode;
55
- while (node != null) {
56
- if (node === parent) {
57
- return true;
58
- }
59
- node = node.parentNode;
60
- }
61
- return false;
62
- }
63
- ngOnDestroy() {
64
- document.removeEventListener('click', ($event) => this.onPageClick($event));
65
- }
66
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
67
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonLabelComponent, selector: "app-button-label", inputs: { labels: "labels", labelsEdit: "labelsEdit", color: "color", iconColor: "iconColor" }, outputs: { updateLabel: "updateLabel" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"labels\" class=\"d-flex justify-content-center my-3 flex-wrap\">\r\n <div *ngFor=\"let item of labels;\">\r\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\">\r\n {{item}}\r\n </h4>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"labelsEdit\" class=\"d-flex justify-content-center my-3 flex-wrap\">\r\n <div *ngFor=\"let item of labelsEdit; let i = index\">\r\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\" [id]=\"'button-edit-' + i\">\r\n <h6 *ngIf=\"item.label\" class=\"mr-1 font-weight-bold m-0\">{{item.label}} </h6>\r\n <div *ngIf=\"!modeEdit[i]\">{{item.value}}</div>\r\n <div class=\"cursor-pointer\" (click)='editLabel(i)' *ngIf=\"!modeEdit[i] && item.edit\" matTooltip=\"Editar\" matTooltipPosition=\"above\">\r\n <mat-icon class=\"ml-1 pencil-edit cursor-pointer\" matTooltip=\"Editar\" matTooltipPosition=\"above\" [style.color]=\"iconColor\">edit</mat-icon>\r\n </div>\r\n\r\n <input *ngIf=\"modeEdit[i] && item.edit\" type=\"text\" [(ngModel)]='currentValueToEdit' matInput placeholder=\"Filtrar\">\r\n\r\n <div class=\"cursor-pointer\" (click)='finishEditLabel(i)' *ngIf=\"modeEdit[i] && item.edit\" matTooltip=\"Aceptar\" matTooltipPosition=\"above\">\r\n <i class=\"fa fa-check btn-accion\" style=\"margin-left: 15px;\"></i>\r\n </div>\r\n\r\n </h4>\r\n </div>\r\n</div>\r\n", styles: [".label-text{padding:5px;margin:5px 10px;border-radius:10px;-webkit-text-decoration:center;text-decoration:center;font-weight:500}.pencil-edit{font-size:16px;display:flex;align-items:center;justify-content:center}.cursor-pointer{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "directive", type: i4.MatLegacyTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonLabelComponent, decorators: [{
70
- type: Component,
71
- args: [{ selector: 'app-button-label', template: "<div *ngIf=\"labels\" class=\"d-flex justify-content-center my-3 flex-wrap\">\r\n <div *ngFor=\"let item of labels;\">\r\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\">\r\n {{item}}\r\n </h4>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"labelsEdit\" class=\"d-flex justify-content-center my-3 flex-wrap\">\r\n <div *ngFor=\"let item of labelsEdit; let i = index\">\r\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\" [id]=\"'button-edit-' + i\">\r\n <h6 *ngIf=\"item.label\" class=\"mr-1 font-weight-bold m-0\">{{item.label}} </h6>\r\n <div *ngIf=\"!modeEdit[i]\">{{item.value}}</div>\r\n <div class=\"cursor-pointer\" (click)='editLabel(i)' *ngIf=\"!modeEdit[i] && item.edit\" matTooltip=\"Editar\" matTooltipPosition=\"above\">\r\n <mat-icon class=\"ml-1 pencil-edit cursor-pointer\" matTooltip=\"Editar\" matTooltipPosition=\"above\" [style.color]=\"iconColor\">edit</mat-icon>\r\n </div>\r\n\r\n <input *ngIf=\"modeEdit[i] && item.edit\" type=\"text\" [(ngModel)]='currentValueToEdit' matInput placeholder=\"Filtrar\">\r\n\r\n <div class=\"cursor-pointer\" (click)='finishEditLabel(i)' *ngIf=\"modeEdit[i] && item.edit\" matTooltip=\"Aceptar\" matTooltipPosition=\"above\">\r\n <i class=\"fa fa-check btn-accion\" style=\"margin-left: 15px;\"></i>\r\n </div>\r\n\r\n </h4>\r\n </div>\r\n</div>\r\n", styles: [".label-text{padding:5px;margin:5px 10px;border-radius:10px;-webkit-text-decoration:center;text-decoration:center;font-weight:500}.pencil-edit{font-size:16px;display:flex;align-items:center;justify-content:center}.cursor-pointer{cursor:pointer}\n"] }]
72
- }], ctorParameters: function () { return []; }, propDecorators: { updateLabel: [{
73
- type: Output
74
- }], labels: [{
75
- type: Input
76
- }], labelsEdit: [{
77
- type: Input
78
- }], color: [{
79
- type: Input
80
- }], iconColor: [{
81
- type: Input
82
- }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9icmFpbmxvcGVyLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0b24tbGFiZWwvYnV0dG9uLWxhYmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9icmFpbmxvcGVyLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0b24tbGFiZWwvYnV0dG9uLWxhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQTRCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBT3pHLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsZ0JBQWdCLENBQUM7SUFFUCxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtJQUN0QyxNQUFNLEdBQWtCLEVBQUUsQ0FBQTtJQUMxQixVQUFVLEdBQWUsRUFBRSxDQUFBO0lBQzNCLEtBQUssR0FBVSxJQUFJLENBQUE7SUFDbkIsU0FBUyxHQUFVLElBQUksQ0FBQTtJQUV6QixRQUFRLEdBQW1CLEVBQUUsQ0FBQTtJQUM3QixrQkFBa0IsR0FBVyxFQUFFLENBQUE7SUFFOUIsV0FBVyxHQUFVLENBQUMsQ0FBQyxDQUFBO0lBQy9CLFdBQVcsQ0FBYztJQUNqQixjQUFjLEdBQUcsS0FBSyxDQUFBO0lBRTlCLFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUcsT0FBTyxFQUFDO1lBQ1QsSUFBRyxPQUFPLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJ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b21wb25lbnQsIElucHV0LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJ1dHRvbi1sYWJlbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi1sYWJlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLWxhYmVsLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1dHRvbkxhYmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBAT3V0cHV0KCkgdXBkYXRlTGFiZWwgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxyXG4gIEBJbnB1dCgpIGxhYmVsczogQXJyYXk8c3RyaW5nPiA9IFtdXHJcbiAgQElucHV0KCkgbGFiZWxzRWRpdDogQXJyYXk8YW55PiA9IFtdXHJcbiAgQElucHV0KCkgY29sb3I6c3RyaW5nID0gbnVsbFxyXG4gIEBJbnB1dCgpIGljb25Db2xvcjpzdHJpbmcgPSBudWxsXHJcblxyXG4gIHB1YmxpYyBtb2RlRWRpdDogQXJyYXk8Ym9vbGVhbj4gPSBbXVxyXG4gIHB1YmxpYyBjdXJyZW50VmFsdWVUb0VkaXQ6IHN0cmluZyA9IFwiXCJcclxuXHJcbiAgcHJpdmF0ZSBpbmRleFRvZWRpdDpudW1iZXIgPSAtMVxyXG4gIHNwYW5FbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIGluaXRFdmVudENsaW5rID0gZmFsc2VcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZihjaGFuZ2VzKXtcclxuICAgICAgaWYoY2hhbmdlcy5sYWJlbHNFZGl0ICYmICF0aGlzLmluaXRFdmVudENsaW5rICYmIHRoaXMubGFiZWxzRWRpdC5sZW5ndGggPiAwICYmIHRoaXMubGFiZWxzRWRpdC5maW5kKHggPT4geC5lZGl0ID09IHRydWUpKXtcclxuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgkZXZlbnQpID0+IHRoaXMub25QYWdlQ2xpY2soJGV2ZW50KSk7XHJcbiAgICAgICAgdGhpcy5pbml0RXZlbnRDbGluayA9IHRydWVcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZmluaXNoRWRpdExhYmVsKGluZGV4Om51bWJlcil7XHJcbiAgICB0aGlzLmxhYmVsc0VkaXRbaW5kZXhdLnZhbHVlID0gdGhpcy5jdXJyZW50VmFsdWVUb0VkaXRcclxuICAgIHRoaXMubW9kZUVkaXRbaW5kZXhdID0gZmFsc2VcclxuICAgIHRoaXMudXBkYXRlTGFiZWwuZW1pdCh7XHJcbiAgICAgIHZhbHVlOiB0aGlzLmxhYmVsc0VkaXRbaW5kZXhdLnZhbHVlLFxyXG4gICAgICBsYWJlbHM6IHRoaXMubGFiZWxzRWRpdFtpbmRleF0ubGFiZWwsXHJcbiAgICAgIHBvc2l0aW9uOiBpbmRleFxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGVkaXRMYWJlbChpbmRleDpudW1iZXIpe1xyXG4gICAgdGhpcy5zcGFuRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24tZWRpdC0nICsgaW5kZXgpO1xyXG4gICAgdGhpcy5jdXJyZW50VmFsdWVUb0VkaXQgPSB0aGlzLmxhYmVsc0VkaXRbaW5kZXhdLnZhbHVlXHJcbiAgICB0aGlzLm1vZGVFZGl0W2luZGV4XSA9IHRydWVcclxuICAgIHRoaXMuaW5kZXhUb2VkaXQgPSBpbmRleFxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uUGFnZUNsaWNrKCRldmVudDogTW91c2VFdmVudCl7XHJcbiAgICBpZiAoIUJ1dHRvbkxhYmVsQ29tcG9uZW50LmlzRGVzY2VuZGFudCgkZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LCB0aGlzLnNwYW5FbGVtZW50KSAmJiB0aGlzLm1vZGVFZGl0KXtcclxuICAgICAgZm9yIChsZXQgW2luZGV4LCB2YWx1ZV0gb2YgdGhpcy5tb2RlRWRpdC5lbnRyaWVzKCkpIHtcclxuICAgICAgICB0aGlzLm1vZGVFZGl0W2luZGV4XSA9IHRoaXMuaW5kZXhUb2VkaXQgPT0gaW5kZXg/dHJ1ZTpmYWxzZVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmluZGV4VG9lZGl0ID0gLTFcclxuICB9XHJcblxyXG4gIHN0YXRpYyBpc0Rlc2NlbmRhbnQoY2hpbGQ6IEhUTUxFbGVtZW50LCBwYXJlbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgICBsZXQgbm9kZSA9IGNoaWxkLnBhcmVudE5vZGU7XHJcbiAgICB3aGlsZSAobm9kZSAhPSBudWxsKSB7XHJcbiAgICAgIGlmIChub2RlID09PSBwYXJlbnQpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBub2RlID0gbm9kZS5wYXJlbnROb2RlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsICgkZXZlbnQpID0+IHRoaXMub25QYWdlQ2xpY2soJGV2ZW50KSk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbiIsIjxkaXYgKm5nSWY9XCJsYWJlbHNcIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG15LTMgZmxleC13cmFwXCI+XHJcbiAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsYWJlbHM7XCI+XHJcbiAgICA8aDQgKm5nSWY9XCJpdGVtICYmIGl0ZW0gIT0gJydcIiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejIgbGFiZWwtdGV4dCBkLWZsZXggZC1mbGV4LXJvd1wiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImNvbG9yP2NvbG9yOicjMzQzYTQwMWEnXCI+XHJcbiAgICAgIHt7aXRlbX19XHJcbiAgICA8L2g0PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJsYWJlbHNFZGl0XCIgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBteS0zIGZsZXgtd3JhcFwiPlxyXG4gIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGFiZWxzRWRpdDsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgPGg0ICpuZ0lmPVwiaXRlbSAmJiBpdGVtICE9ICcnXCIgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXoyIGxhYmVsLXRleHQgZC1mbGV4IGQtZmxleC1yb3dcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJjb2xvcj9jb2xvcjonIzM0M2E0MDFhJ1wiIFtpZF09XCInYnV0dG9uLWVkaXQtJyArIGlcIj5cclxuICAgICAgPGg2ICpuZ0lmPVwiaXRlbS5sYWJlbFwiIGNsYXNzPVwibXItMSBmb250LXdlaWdodC1ib2xkIG0tMFwiPnt7aXRlbS5sYWJlbH19IDwvaDY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCIhbW9kZUVkaXRbaV1cIj57e2l0ZW0udmFsdWV9fTwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPSdlZGl0TGFiZWwoaSknICpuZ0lmPVwiIW1vZGVFZGl0W2ldICYmIGl0ZW0uZWRpdFwiIG1hdFRvb2x0aXA9XCJFZGl0YXJcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1sLTEgcGVuY2lsLWVkaXQgY3Vyc29yLXBvaW50ZXJcIiBtYXRUb29sdGlwPVwiRWRpdGFyXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiBbc3R5bGUuY29sb3JdPVwiaWNvbkNvbG9yXCI+ZWRpdDwvbWF0LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGlucHV0ICpuZ0lmPVwibW9kZUVkaXRbaV0gJiYgaXRlbS5lZGl0XCIgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT0nY3VycmVudFZhbHVlVG9FZGl0JyBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIkZpbHRyYXJcIj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9J2ZpbmlzaEVkaXRMYWJlbChpKScgKm5nSWY9XCJtb2RlRWRpdFtpXSAmJiBpdGVtLmVkaXRcIiBtYXRUb29sdGlwPVwiQWNlcHRhclwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGVjayBidG4tYWNjaW9uXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTVweDtcIj48L2k+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvaDQ+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=