@cauca-911/material 17.1.6 → 18.0.1-beta1

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 (82) hide show
  1. package/esm2022/lib/buttons/base-button.mjs +33 -0
  2. package/esm2022/lib/buttons/basic-button/basic-button.component.mjs +64 -0
  3. package/esm2022/lib/buttons/flat-button/flat-button.component.mjs +64 -0
  4. package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +28 -0
  5. package/esm2022/lib/buttons/menu-item/menu-item.component.mjs +68 -0
  6. package/esm2022/lib/buttons/raised-button/raised-button.component.mjs +64 -0
  7. package/esm2022/lib/buttons/stroked-button/stroked-button.component.mjs +71 -0
  8. package/esm2022/lib/cauca-material.component.mjs +7 -6
  9. package/esm2022/lib/cauca-material.module.mjs +13 -52
  10. package/esm2022/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.mjs +27 -22
  11. package/esm2022/lib/cauca-menu-vertical/cauca-menu-vertical.component.mjs +60 -52
  12. package/esm2022/lib/cauca-simple-dialog/cauca-simple-dialog.component.mjs +24 -20
  13. package/esm2022/lib/cauca-slideshow/cauca-slideshow.component.mjs +13 -13
  14. package/esm2022/lib/dialogs/alert-dialog/alert-dialog.component.mjs +57 -0
  15. package/esm2022/lib/dialogs/confirm-dialog/confirm-dialog.component.mjs +69 -0
  16. package/esm2022/lib/dialogs/services/dialog.service.mjs +52 -0
  17. package/esm2022/lib/inputs/cauca-date-time-picker/cauca-date-time-picker.component.mjs +137 -0
  18. package/esm2022/lib/inputs/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.mjs +49 -0
  19. package/esm2022/lib/inputs/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.mjs +358 -0
  20. package/esm2022/lib/inputs/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.mjs +74 -0
  21. package/esm2022/lib/inputs/cauca-date-time-picker/models/dialog-date-time-picker-data.mjs +2 -0
  22. package/esm2022/lib/inputs/cauca-input-file/cauca-input-file.component.mjs +147 -0
  23. package/esm2022/lib/inputs/cauca-input-multiple-langue/cauca-input-multiple-langue.component.mjs +99 -0
  24. package/esm2022/lib/inputs/password/models/password-validation.mjs +13 -0
  25. package/esm2022/lib/inputs/password/password-criteria/password-criteria.component.mjs +49 -0
  26. package/esm2022/lib/inputs/password/password-criteria-viewer/password-criteria-viewer.component.mjs +29 -0
  27. package/esm2022/lib/inputs/password/password-input/password-input.component.mjs +112 -0
  28. package/esm2022/lib/inputs/password/password-selection/password-selection.component.mjs +112 -0
  29. package/esm2022/lib/inputs/password/validators/password-validator.mjs +19 -0
  30. package/esm2022/lib/inputs/select-with-search/select-with-search.component.mjs +157 -0
  31. package/esm2022/lib/layout/expandable-panel/expandable-panel.component.mjs +75 -0
  32. package/esm2022/lib/layout/menu-expandable-panel/menu-expandable-panel.component.mjs +148 -0
  33. package/esm2022/lib/layout/menu-expandable-panel-item/menu-expandable-panel-item.component.mjs +50 -0
  34. package/esm2022/lib/layout/page-title/page-title.component.mjs +86 -0
  35. package/esm2022/lib/notifications/snack-bar/snack-bar.component.mjs +75 -0
  36. package/esm2022/public-api.mjs +21 -4
  37. package/fesm2022/cauca-911-material.mjs +1984 -641
  38. package/fesm2022/cauca-911-material.mjs.map +1 -1
  39. package/lib/buttons/base-button.d.ts +21 -0
  40. package/lib/buttons/basic-button/basic-button.component.d.ts +6 -0
  41. package/lib/buttons/flat-button/flat-button.component.d.ts +6 -0
  42. package/lib/buttons/icon-button/icon-button.component.d.ts +6 -0
  43. package/lib/buttons/menu-item/menu-item.component.d.ts +9 -0
  44. package/lib/buttons/raised-button/raised-button.component.d.ts +6 -0
  45. package/lib/buttons/stroked-button/stroked-button.component.d.ts +6 -0
  46. package/lib/cauca-material.component.d.ts +1 -1
  47. package/lib/cauca-material.module.d.ts +4 -14
  48. package/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.d.ts +1 -1
  49. package/lib/cauca-menu-vertical/cauca-menu-vertical.component.d.ts +1 -1
  50. package/lib/cauca-simple-dialog/cauca-simple-dialog.component.d.ts +1 -1
  51. package/lib/cauca-slideshow/cauca-slideshow.component.d.ts +1 -1
  52. package/lib/dialogs/alert-dialog/alert-dialog.component.d.ts +18 -0
  53. package/lib/dialogs/confirm-dialog/confirm-dialog.component.d.ts +17 -0
  54. package/lib/dialogs/services/dialog.service.d.ts +26 -0
  55. package/lib/{cauca-input-file → inputs/cauca-input-file}/cauca-input-file.component.d.ts +1 -1
  56. package/lib/{cauca-input-multiple-langue → inputs/cauca-input-multiple-langue}/cauca-input-multiple-langue.component.d.ts +1 -1
  57. package/lib/inputs/password/models/password-validation.d.ts +9 -0
  58. package/lib/inputs/password/password-criteria/password-criteria.component.d.ts +9 -0
  59. package/lib/inputs/password/password-criteria-viewer/password-criteria-viewer.component.d.ts +9 -0
  60. package/lib/inputs/password/password-input/password-input.component.d.ts +25 -0
  61. package/lib/inputs/password/password-selection/password-selection.component.d.ts +20 -0
  62. package/lib/inputs/password/validators/password-validator.d.ts +9 -0
  63. package/lib/inputs/select-with-search/select-with-search.component.d.ts +32 -0
  64. package/lib/layout/expandable-panel/expandable-panel.component.d.ts +10 -0
  65. package/lib/layout/menu-expandable-panel/menu-expandable-panel.component.d.ts +29 -0
  66. package/lib/layout/menu-expandable-panel-item/menu-expandable-panel-item.component.d.ts +13 -0
  67. package/lib/layout/page-title/page-title.component.d.ts +11 -0
  68. package/lib/notifications/snack-bar/snack-bar.component.d.ts +17 -0
  69. package/package.json +7 -6
  70. package/public-api.d.ts +20 -3
  71. package/esm2022/lib/cauca-date-time-picker/cauca-date-time-picker.component.mjs +0 -137
  72. package/esm2022/lib/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.mjs +0 -48
  73. package/esm2022/lib/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.mjs +0 -357
  74. package/esm2022/lib/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.mjs +0 -74
  75. package/esm2022/lib/cauca-date-time-picker/models/dialog-date-time-picker-data.mjs +0 -2
  76. package/esm2022/lib/cauca-input-file/cauca-input-file.component.mjs +0 -147
  77. package/esm2022/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.mjs +0 -87
  78. /package/lib/{cauca-date-time-picker → inputs/cauca-date-time-picker}/cauca-date-time-picker.component.d.ts +0 -0
  79. /package/lib/{cauca-date-time-picker → inputs/cauca-date-time-picker}/components/desktop-time-picker/desktop-time-picker.component.d.ts +0 -0
  80. /package/lib/{cauca-date-time-picker → inputs/cauca-date-time-picker}/components/dialog-date-time-picker/dialog-date-time-picker.component.d.ts +0 -0
  81. /package/lib/{cauca-date-time-picker → inputs/cauca-date-time-picker}/components/mobile-time-picker/mobile-time-picker.component.d.ts +0 -0
  82. /package/lib/{cauca-date-time-picker → inputs/cauca-date-time-picker}/models/dialog-date-time-picker-data.d.ts +0 -0
@@ -1,147 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { CaucaSimpleDialogComponent } from '../cauca-simple-dialog/cauca-simple-dialog.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@cauca-911/core";
5
- import * as i2 from "@angular/material/dialog";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/material/button";
8
- import * as i5 from "@angular/material/icon";
9
- const _c0 = ["file"];
10
- function CaucaInputFileComponent_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
11
- i0.ɵɵelementStart(0, "mat-icon");
12
- i0.ɵɵtext(1);
13
- i0.ɵɵelementEnd();
14
- } if (rf & 2) {
15
- const ctx_r0 = i0.ɵɵnextContext();
16
- i0.ɵɵadvance(1);
17
- i0.ɵɵtextInterpolate(ctx_r0.icon);
18
- } }
19
- function CaucaInputFileComponent_span_2_Template(rf, ctx) { if (rf & 1) {
20
- i0.ɵɵelementStart(0, "span");
21
- i0.ɵɵtext(1);
22
- i0.ɵɵelementEnd();
23
- } if (rf & 2) {
24
- const ctx_r1 = i0.ɵɵnextContext();
25
- i0.ɵɵadvance(1);
26
- i0.ɵɵtextInterpolate(ctx_r1.text);
27
- } }
28
- function CaucaInputFileComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
29
- const _r7 = i0.ɵɵgetCurrentView();
30
- i0.ɵɵelementContainerStart(0);
31
- i0.ɵɵelementStart(1, "input", 4, 5);
32
- i0.ɵɵlistener("change", function CaucaInputFileComponent_ng_container_3_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.onSelectFile($event)); });
33
- i0.ɵɵelementEnd();
34
- i0.ɵɵelementContainerEnd();
35
- } if (rf & 2) {
36
- const ctx_r2 = i0.ɵɵnextContext();
37
- i0.ɵɵadvance(1);
38
- i0.ɵɵproperty("accept", ctx_r2.accept);
39
- } }
40
- function CaucaInputFileComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
41
- const _r10 = i0.ɵɵgetCurrentView();
42
- i0.ɵɵelementStart(0, "input", 6, 5);
43
- i0.ɵɵlistener("change", function CaucaInputFileComponent_ng_template_4_Template_input_change_0_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.onSelectFile($event)); });
44
- i0.ɵɵelementEnd();
45
- } if (rf & 2) {
46
- const ctx_r3 = i0.ɵɵnextContext();
47
- i0.ɵɵproperty("accept", ctx_r3.accept);
48
- } }
49
- export class CaucaInputFileComponent {
50
- constructor(translateService, dialog) {
51
- this.translateService = translateService;
52
- this.dialog = dialog;
53
- this.readend = new EventEmitter();
54
- this.accept = '';
55
- this.multiple = false;
56
- this.icon = '';
57
- this.text = '';
58
- this.labels = {};
59
- }
60
- ngOnInit() {
61
- if (!this.icon && !this.text) {
62
- this.translateService.get(['material.select', 'material.dialogTitle', 'material.dialogMessage']).subscribe((labels) => {
63
- this.labels = labels;
64
- this.text = labels['material.select'];
65
- });
66
- }
67
- }
68
- onSelectFile(e) {
69
- for (let i = 0, j = e.target.files.length; i < j; i++) {
70
- const file = e.target.files[i];
71
- const reader = new FileReader();
72
- reader.onerror = ((error) => this.onError(error));
73
- reader.onload = ((event) => this.onReadEnd(file, event));
74
- reader.readAsDataURL(file);
75
- }
76
- if (e.target.files.length) {
77
- this.dialog.open(CaucaSimpleDialogComponent, {
78
- width: '250px',
79
- disableClose: true,
80
- data: {
81
- title: this.labels['material.dialogTitle'],
82
- message: this.labels['material.dialogMessage']
83
- }
84
- });
85
- }
86
- }
87
- openDialog(event) {
88
- if (this.file) {
89
- this.file.nativeElement.click();
90
- }
91
- event.stopPropagation();
92
- }
93
- onError(error) {
94
- throw error;
95
- }
96
- onReadEnd(file, e) {
97
- this.dialog.closeAll();
98
- this.readend.emit({
99
- name: file.name,
100
- size: file.size,
101
- type: file.type,
102
- lastModifiedDate: file.lastModifiedDate,
103
- content: e.target['result'],
104
- file,
105
- });
106
- }
107
- static { this.ɵfac = function CaucaInputFileComponent_Factory(t) { return new (t || CaucaInputFileComponent)(i0.ɵɵdirectiveInject(i1.TranslateService), i0.ɵɵdirectiveInject(i2.MatDialog)); }; }
108
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaucaInputFileComponent, selectors: [["cauca-input-file"]], viewQuery: function CaucaInputFileComponent_Query(rf, ctx) { if (rf & 1) {
109
- i0.ɵɵviewQuery(_c0, 5);
110
- } if (rf & 2) {
111
- let _t;
112
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.file = _t.first);
113
- } }, inputs: { accept: "accept", multiple: "multiple", icon: "icon", text: "text" }, outputs: { readend: "readend" }, decls: 6, vars: 4, consts: [["mat-raised-button", "", 3, "click"], [4, "ngIf"], [4, "ngIf", "ngIfElse"], ["notMultipleInput", ""], ["type", "file", "multiple", "multiple", 3, "accept", "change"], ["file", ""], ["type", "file", 3, "accept", "change"]], template: function CaucaInputFileComponent_Template(rf, ctx) { if (rf & 1) {
114
- i0.ɵɵelementStart(0, "button", 0);
115
- i0.ɵɵlistener("click", function CaucaInputFileComponent_Template_button_click_0_listener($event) { return ctx.openDialog($event); });
116
- i0.ɵɵtemplate(1, CaucaInputFileComponent_mat_icon_1_Template, 2, 1, "mat-icon", 1)(2, CaucaInputFileComponent_span_2_Template, 2, 1, "span", 1);
117
- i0.ɵɵelementEnd();
118
- i0.ɵɵtemplate(3, CaucaInputFileComponent_ng_container_3_Template, 3, 1, "ng-container", 2)(4, CaucaInputFileComponent_ng_template_4_Template, 2, 1, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
119
- } if (rf & 2) {
120
- const _r4 = i0.ɵɵreference(5);
121
- i0.ɵɵadvance(1);
122
- i0.ɵɵproperty("ngIf", ctx.icon);
123
- i0.ɵɵadvance(1);
124
- i0.ɵɵproperty("ngIf", ctx.text);
125
- i0.ɵɵadvance(1);
126
- i0.ɵɵproperty("ngIf", ctx.multiple)("ngIfElse", _r4);
127
- } }, dependencies: [i3.NgIf, i4.MatButton, i5.MatIcon], styles: ["[_nghost-%COMP%] input[_ngcontent-%COMP%]{display:none}"] }); }
128
- }
129
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaucaInputFileComponent, [{
130
- type: Component,
131
- args: [{ selector: 'cauca-input-file', template: "<button mat-raised-button (click)=\"openDialog($event)\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n <span *ngIf=\"text\">{{text}}</span>\n</button>\n<ng-container *ngIf=\"multiple; else notMultipleInput\">\n <input #file type=\"file\" (change)=\"onSelectFile($event)\" [accept]=\"accept\" multiple=\"multiple\" />\n</ng-container>\n\n<ng-template #notMultipleInput>\n <input #file type=\"file\" (change)=\"onSelectFile($event)\" [accept]=\"accept\" />\n</ng-template>", styles: [":host input{display:none}\n"] }]
132
- }], () => [{ type: i1.TranslateService }, { type: i2.MatDialog }], { file: [{
133
- type: ViewChild,
134
- args: ['file', { static: false }]
135
- }], readend: [{
136
- type: Output
137
- }], accept: [{
138
- type: Input
139
- }], multiple: [{
140
- type: Input
141
- }], icon: [{
142
- type: Input
143
- }], text: [{
144
- type: Input
145
- }] }); })();
146
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaucaInputFileComponent, { className: "CaucaInputFileComponent", filePath: "lib\\cauca-input-file\\cauca-input-file.component.ts", lineNumber: 11 }); })();
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtaW5wdXQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYXRlcmlhbC9zcmMvbGliL2NhdWNhLWlucHV0LWZpbGUvY2F1Y2EtaW5wdXQtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYXRlcmlhbC9zcmMvbGliL2NhdWNhLWlucHV0LWZpbGUvY2F1Y2EtaW5wdXQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd0RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7O0lDRjlGLGdDQUF1QjtJQUFBLFlBQVE7SUFBQSxpQkFBVzs7O0lBQW5CLGVBQVE7SUFBUixpQ0FBUTs7O0lBQy9CLDRCQUFtQjtJQUFBLFlBQVE7SUFBQSxpQkFBTzs7O0lBQWYsZUFBUTtJQUFSLGlDQUFROzs7O0lBRS9CLDZCQUFzRDtJQUNwRCxtQ0FBaUc7SUFBeEUsb0xBQVUsZUFBQSwyQkFBb0IsQ0FBQSxJQUFDO0lBQXhELGlCQUFpRztJQUNuRywwQkFBZTs7O0lBRDRDLGVBQWlCO0lBQWpCLHNDQUFpQjs7OztJQUkxRSxtQ0FBNkU7SUFBcEQsb0xBQVUsZUFBQSwyQkFBb0IsQ0FBQSxJQUFDO0lBQXhELGlCQUE2RTs7O0lBQXBCLHNDQUFpQjs7QURDNUUsTUFBTSxPQUFPLHVCQUF1QjtJQWdCaEMsWUFDWSxnQkFBa0MsRUFDbEMsTUFBaUI7UUFEakIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBZHRCLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTdCLFdBQU0s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R0FBUyxzQkFBa0IsSUFBQztZQUNsRCxrRkFBMEMsNkRBQUE7WUFFOUMsaUJBQVM7WUFDVCwwRkFFZSw0R0FBQTs7O1lBTEEsZUFBVTtZQUFWLCtCQUFVO1lBQ2QsZUFBVTtZQUFWLCtCQUFVO1lBRU4sZUFBZ0I7WUFBaEIsbUNBQWdCLGlCQUFBOzs7aUZETWxCLHVCQUF1QjtjQUxuQyxTQUFTOzJCQUNJLGtCQUFrQjt5RUFNckIsSUFBSTtrQkFEVixTQUFTO21CQUFDLE1BQU0sRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7WUFHM0IsT0FBTztrQkFEYixNQUFNO1lBR0EsTUFBTTtrQkFEWixLQUFLO1lBR0MsUUFBUTtrQkFEZCxLQUFLO1lBR0MsSUFBSTtrQkFEVixLQUFLO1lBR0MsSUFBSTtrQkFEVixLQUFLOztrRkFYRyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQGNhdWNhLTkxMS9jb3JlJztcbmltcG9ydCB7IENhdWNhU2ltcGxlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY2F1Y2Etc2ltcGxlLWRpYWxvZy9jYXVjYS1zaW1wbGUtZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2F1Y2EtaW5wdXQtZmlsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhdWNhLWlucHV0LWZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NhdWNhLWlucHV0LWZpbGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXVjYUlucHV0RmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnZmlsZScsIHtzdGF0aWM6IGZhbHNlfSlcbiAgICBwdWJsaWMgZmlsZTogRWxlbWVudFJlZjtcbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZGVuZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhY2NlcHQgPSAnJztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtdWx0aXBsZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGljb24gPSAnJztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0ZXh0ID0gJyc7XG5cbiAgICBwcml2YXRlIGxhYmVsczogYW55ID0ge307XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICApIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pY29uICYmICF0aGlzLnRleHQpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQoXG4gICAgICAgICAgICAgICAgWydtYXRlcmlhbC5zZWxlY3QnLCAnbWF0ZXJpYWwuZGlhbG9nVGl0bGUnLCAnbWF0ZXJpYWwuZGlhbG9nTWVzc2FnZSddXG4gICAgICAgICAgICApLnN1YnNjcmliZSgobGFiZWxzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxhYmVscyA9IGxhYmVscztcbiAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBsYWJlbHNbJ21hdGVyaWFsLnNlbGVjdCddO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3RGaWxlKGU6IGFueSk6IHZvaWQge1xuICAgICAgICBmb3IgKGxldCBpID0gMCwgaiA9IGUudGFyZ2V0LmZpbGVzLmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgZmlsZSA9IGUudGFyZ2V0LmZpbGVzW2ldO1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmVycm9yID0gKChlcnJvcjogYW55KSA9PiB0aGlzLm9uRXJyb3IoZXJyb3IpKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKGV2ZW50OiBhbnkpID0+IHRoaXMub25SZWFkRW5kKGZpbGUsIGV2ZW50KSk7XG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlLnRhcmdldC5maWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nLm9wZW4oQ2F1Y2FTaW1wbGVEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJzI1MHB4JyxcbiAgICAgICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy5sYWJlbHNbJ21hdGVyaWFsLmRpYWxvZ1RpdGxlJ10sXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMubGFiZWxzWydtYXRlcmlhbC5kaWFsb2dNZXNzYWdlJ11cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuRGlhbG9nKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsZSkge1xuICAgICAgICAgICAgdGhpcy5maWxlLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICAgICAgfVxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uRXJyb3IoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uUmVhZEVuZChmaWxlOiBhbnksIGU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZy5jbG9zZUFsbCgpO1xuICAgICAgICB0aGlzLnJlYWRlbmQuZW1pdCh7XG4gICAgICAgICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICAgICAgICBzaXplOiBmaWxlLnNpemUsXG4gICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICAgICAgICBsYXN0TW9kaWZpZWREYXRlOiBmaWxlLmxhc3RNb2RpZmllZERhdGUsXG4gICAgICAgICAgICBjb250ZW50OiBlLnRhcmdldFsncmVzdWx0J10sXG4gICAgICAgICAgICBmaWxlLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJvcGVuRGlhbG9nKCRldmVudClcIj5cbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uXCI+e3tpY29ufX08L21hdC1pY29uPlxuICAgIDxzcGFuICpuZ0lmPVwidGV4dFwiPnt7dGV4dH19PC9zcGFuPlxuPC9idXR0b24+XG48bmctY29udGFpbmVyICpuZ0lmPVwibXVsdGlwbGU7IGVsc2Ugbm90TXVsdGlwbGVJbnB1dFwiPlxuICA8aW5wdXQgI2ZpbGUgdHlwZT1cImZpbGVcIiAoY2hhbmdlKT1cIm9uU2VsZWN0RmlsZSgkZXZlbnQpXCIgW2FjY2VwdF09XCJhY2NlcHRcIiBtdWx0aXBsZT1cIm11bHRpcGxlXCIgLz5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI25vdE11bHRpcGxlSW5wdXQ+XG4gIDxpbnB1dCAjZmlsZSB0eXBlPVwiZmlsZVwiIChjaGFuZ2UpPVwib25TZWxlY3RGaWxlKCRldmVudClcIiBbYWNjZXB0XT1cImFjY2VwdFwiIC8+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -1,87 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { UntypedFormControl, Validators } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@cauca-911/core";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/forms";
7
- import * as i4 from "@angular/material/form-field";
8
- import * as i5 from "@angular/material/input";
9
- import * as i6 from "@angular/material/tabs";
10
- import * as i7 from "@ngx-translate/core";
11
- function CaucaInputMultipleLangueComponent_mat_tab_1_mat_error_3_Template(rf, ctx) { if (rf & 1) {
12
- i0.ɵɵelementStart(0, "mat-error");
13
- i0.ɵɵtext(1);
14
- i0.ɵɵpipe(2, "translate");
15
- i0.ɵɵelementEnd();
16
- } if (rf & 2) {
17
- const i_r2 = i0.ɵɵnextContext().index;
18
- const ctx_r3 = i0.ɵɵnextContext();
19
- i0.ɵɵadvance(1);
20
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r3.getErrorMessage(i_r2)));
21
- } }
22
- function CaucaInputMultipleLangueComponent_mat_tab_1_Template(rf, ctx) { if (rf & 1) {
23
- i0.ɵɵelementStart(0, "mat-tab", 2)(1, "mat-form-field", 3);
24
- i0.ɵɵelement(2, "input", 4);
25
- i0.ɵɵtemplate(3, CaucaInputMultipleLangueComponent_mat_tab_1_mat_error_3_Template, 3, 3, "mat-error", 5);
26
- i0.ɵɵelementEnd()();
27
- } if (rf & 2) {
28
- const lang_r1 = ctx.$implicit;
29
- const i_r2 = ctx.index;
30
- const ctx_r0 = i0.ɵɵnextContext();
31
- i0.ɵɵproperty("label", lang_r1);
32
- i0.ɵɵadvance(2);
33
- i0.ɵɵproperty("placeholder", lang_r1)("formControl", ctx_r0.forms[i_r2]);
34
- i0.ɵɵadvance(1);
35
- i0.ɵɵproperty("ngIf", ctx_r0.forms[i_r2].invalid);
36
- } }
37
- export class CaucaInputMultipleLangueComponent {
38
- constructor(coreService, translate) {
39
- this.translate = translate;
40
- this.value = [];
41
- this.forms = [];
42
- this.labels = [];
43
- this.selectedIndex = 0;
44
- this.config = coreService.getConfig();
45
- }
46
- ngOnInit() {
47
- this.translate.get(this.config.languages).subscribe((labels) => {
48
- for (const i in labels) {
49
- if (labels[i]) {
50
- this.labels.push(labels[i]);
51
- }
52
- }
53
- this.initializeForms();
54
- });
55
- }
56
- onTagChanged(tabIndex) {
57
- console.log('cauca-material, onTabChanged', tabIndex);
58
- }
59
- getErrorMessage(index) {
60
- return this.forms[index].hasError('required') ? 'error.required' : '';
61
- }
62
- initializeForms() {
63
- this.labels.forEach((item, index) => {
64
- this.forms[index] = new UntypedFormControl('', [Validators.required]);
65
- this.forms[index].setValue(this.value[index] || '');
66
- });
67
- }
68
- static { this.ɵfac = function CaucaInputMultipleLangueComponent_Factory(t) { return new (t || CaucaInputMultipleLangueComponent)(i0.ɵɵdirectiveInject(i1.CaucaCoreService), i0.ɵɵdirectiveInject(i1.TranslateService)); }; }
69
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaucaInputMultipleLangueComponent, selectors: [["cauca-input-multiple-langue"]], inputs: { value: "value" }, decls: 2, vars: 2, consts: [[3, "selectedIndex", "selectedIndexChange"], [3, "label", 4, "ngFor", "ngForOf"], [3, "label"], ["hideRequiredMarker", "never"], ["matInput", "", "required", "required", 3, "placeholder", "formControl"], [4, "ngIf"]], template: function CaucaInputMultipleLangueComponent_Template(rf, ctx) { if (rf & 1) {
70
- i0.ɵɵelementStart(0, "mat-tab-group", 0);
71
- i0.ɵɵlistener("selectedIndexChange", function CaucaInputMultipleLangueComponent_Template_mat_tab_group_selectedIndexChange_0_listener($event) { return ctx.onTagChanged($event); });
72
- i0.ɵɵtemplate(1, CaucaInputMultipleLangueComponent_mat_tab_1_Template, 4, 4, "mat-tab", 1);
73
- i0.ɵɵelementEnd();
74
- } if (rf & 2) {
75
- i0.ɵɵproperty("selectedIndex", ctx.selectedIndex);
76
- i0.ɵɵadvance(1);
77
- i0.ɵɵproperty("ngForOf", ctx.labels);
78
- } }, dependencies: [i2.NgForOf, i2.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.RequiredValidator, i3.FormControlDirective, i4.MatFormField, i4.MatError, i5.MatInput, i6.MatTab, i6.MatTabGroup, i7.TranslatePipe], styles: [".mat-mdc-form-field[_ngcontent-%COMP%]{width:100%}"] }); }
79
- }
80
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaucaInputMultipleLangueComponent, [{
81
- type: Component,
82
- args: [{ selector: 'cauca-input-multiple-langue', template: "<mat-tab-group [selectedIndex]=\"selectedIndex\" (selectedIndexChange)=\"onTagChanged($event)\">\n <mat-tab *ngFor=\"let lang of labels; let i = index\" [label]=\"lang\">\n <mat-form-field hideRequiredMarker=\"never\">\n <input matInput [placeholder]=\"lang\" [formControl]=\"forms[i]\" required=\"required\">\n <mat-error *ngIf=\"forms[i].invalid\">{{getErrorMessage(i) | translate}}</mat-error>\n </mat-form-field>\n </mat-tab>\n</mat-tab-group>", styles: [".mat-mdc-form-field{width:100%}\n"] }]
83
- }], () => [{ type: i1.CaucaCoreService }, { type: i1.TranslateService }], { value: [{
84
- type: Input
85
- }] }); })();
86
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaucaInputMultipleLangueComponent, { className: "CaucaInputMultipleLangueComponent", filePath: "lib\\cauca-input-multiple-langue\\cauca-input-multiple-langue.component.ts", lineNumber: 10 }); })();
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtaW5wdXQtbXVsdGlwbGUtbGFuZ3VlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLW1hdGVyaWFsL3NyYy9saWIvY2F1Y2EtaW5wdXQtbXVsdGlwbGUtbGFuZ3VlL2NhdWNhLWlucHV0LW11bHRpcGxlLWxhbmd1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYXRlcmlhbC9zcmMvbGliL2NhdWNhLWlucHV0LW11bHRpcGxlLWxhbmd1ZS9jYXVjYS1pbnB1dC1tdWx0aXBsZS1sYW5ndWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0lDR3hELGlDQUFvQztJQUFBLFlBQWtDOztJQUFBLGlCQUFZOzs7O0lBQTlDLGVBQWtDO0lBQWxDLHdFQUFrQzs7O0lBSDFFLGtDQUFtRSx3QkFBQTtJQUUvRCwyQkFBa0Y7SUFDbEYsd0dBQWtGO0lBQ3BGLGlCQUFpQixFQUFBOzs7OztJQUppQywrQkFBYztJQUU5QyxlQUFvQjtJQUFwQixxQ0FBb0IsbUNBQUE7SUFDeEIsZUFBc0I7SUFBdEIsaURBQXNCOztBREt4QyxNQUFNLE9BQU8saUNBQWlDO0lBUTFDLFlBQ0ksV0FBNkIsRUFDckIsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFSaEMsVUFBSyxHQUFhLEVBQUUsQ0FBQztRQUVyQixVQUFLLEdBQXlCLEVBQUUsQ0FBQztRQUNqQyxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBTXJCLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUNoRSxLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRTtnQkFDcEIsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQy9CO2FBQ0o7WUFDRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sWUFBWSxDQUFDLFFBQWdCO1FBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUFVO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDMUUsQ0FBQztJQUVPLGVBQWU7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFTLEVBQUUsS0FBYSxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3RFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO2tHQXZDUSxpQ0FBaUM7b0VBQWpDLGlDQUFpQztZQ1Q5Qyx3Q0FBNEY7WUFBN0MsdUpBQXVCLHdCQUFvQixJQUFDO1lBQ3pGLDBGQUtVO1lBQ1osaUJBQWdCOztZQVBELGlEQUErQjtZQUNsQixlQUFXO1lBQVgsb0NBQVc7OztpRkRRMUIsaUNBQWlDO2NBTDdDLFNBQVM7MkJBQ0ksNkJBQTZCO2dGQU1oQyxLQUFLO2tCQURYLEtBQUs7O2tGQURHLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb24sIENhdWNhQ29yZVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BjYXVjYS05MTEvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2F1Y2EtaW5wdXQtbXVsdGlwbGUtbGFuZ3VlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2F1Y2EtaW5wdXQtbXVsdGlwbGUtbGFuZ3VlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYXVjYS1pbnB1dC1tdWx0aXBsZS1sYW5ndWUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXVjYUlucHV0TXVsdGlwbGVMYW5ndWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZhbHVlOiBzdHJpbmdbXSA9IFtdO1xuICAgIHB1YmxpYyBjb25maWc6IENvbmZpZ3VyYXRpb247XG4gICAgcHVibGljIGZvcm1zOiBVbnR5cGVkRm9ybUNvbnRyb2xbXSA9IFtdO1xuICAgIHB1YmxpYyBsYWJlbHM6IHN0cmluZ1tdID0gW107XG4gICAgcHVibGljIHNlbGVjdGVkSW5kZXggPSAwO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBjb3JlU2VydmljZTogQ2F1Y2FDb3JlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29uZmlnID0gY29yZVNlcnZpY2UuZ2V0Q29uZmlnKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQodGhpcy5jb25maWcubGFuZ3VhZ2VzKS5zdWJzY3JpYmUoKGxhYmVsczogYW55KSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGkgaW4gbGFiZWxzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGxhYmVsc1tpXSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhYmVscy5wdXNoKGxhYmVsc1tpXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplRm9ybXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVGFnQ2hhbmdlZCh0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjYXVjYS1tYXRlcmlhbCwgb25UYWJDaGFuZ2VkJywgdGFiSW5kZXgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFcnJvck1lc3NhZ2UoaW5kZXg6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1zW2luZGV4XS5oYXNFcnJvcigncmVxdWlyZWQnKSA/ICdlcnJvci5yZXF1aXJlZCcgOiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRpYWxpemVGb3JtcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYWJlbHMuZm9yRWFjaCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvcm1zW2luZGV4XSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG4gICAgICAgICAgICB0aGlzLmZvcm1zW2luZGV4XS5zZXRWYWx1ZSh0aGlzLnZhbHVlW2luZGV4XSB8fCAnJyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxtYXQtdGFiLWdyb3VwIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkSW5kZXhcIiAoc2VsZWN0ZWRJbmRleENoYW5nZSk9XCJvblRhZ0NoYW5nZWQoJGV2ZW50KVwiPlxuICA8bWF0LXRhYiAqbmdGb3I9XCJsZXQgbGFuZyBvZiBsYWJlbHM7IGxldCBpID0gaW5kZXhcIiBbbGFiZWxdPVwibGFuZ1wiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBoaWRlUmVxdWlyZWRNYXJrZXI9XCJuZXZlclwiPlxuICAgICAgPGlucHV0IG1hdElucHV0IFtwbGFjZWhvbGRlcl09XCJsYW5nXCIgW2Zvcm1Db250cm9sXT1cImZvcm1zW2ldXCIgcmVxdWlyZWQ9XCJyZXF1aXJlZFwiPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1zW2ldLmludmFsaWRcIj57e2dldEVycm9yTWVzc2FnZShpKSB8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPiJdfQ==