@cauca-911/material 18.0.0 → 18.0.1-beta2

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 (81) 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 +6 -5
  9. package/esm2022/lib/cauca-material.module.mjs +14 -52
  10. package/esm2022/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.mjs +14 -10
  11. package/esm2022/lib/cauca-menu-vertical/cauca-menu-vertical.component.mjs +16 -8
  12. package/esm2022/lib/cauca-simple-dialog/cauca-simple-dialog.component.mjs +14 -10
  13. package/esm2022/lib/cauca-slideshow/cauca-slideshow.component.mjs +6 -6
  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/{cauca-date-time-picker → inputs/cauca-date-time-picker}/components/desktop-time-picker/desktop-time-picker.component.mjs +2 -2
  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 +1988 -648
  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 +3 -2
  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/dialog-date-time-picker/dialog-date-time-picker.component.mjs +0 -357
  73. package/esm2022/lib/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.mjs +0 -74
  74. package/esm2022/lib/cauca-date-time-picker/models/dialog-date-time-picker-data.mjs +0 -2
  75. package/esm2022/lib/cauca-input-file/cauca-input-file.component.mjs +0 -148
  76. package/esm2022/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.mjs +0 -87
  77. /package/lib/{cauca-date-time-picker → inputs/cauca-date-time-picker}/cauca-date-time-picker.component.d.ts +0 -0
  78. /package/lib/{cauca-date-time-picker → inputs/cauca-date-time-picker}/components/desktop-time-picker/desktop-time-picker.component.d.ts +0 -0
  79. /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
  80. /package/lib/{cauca-date-time-picker → inputs/cauca-date-time-picker}/components/mobile-time-picker/mobile-time-picker.component.d.ts +0 -0
  81. /package/lib/{cauca-date-time-picker → inputs/cauca-date-time-picker}/models/dialog-date-time-picker-data.d.ts +0 -0
@@ -1,74 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { MatButtonModule } from '@angular/material/button';
3
- import { MatFormFieldModule } from '@angular/material/form-field';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MatInputModule } from '@angular/material/input';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/material/button";
8
- import * as i2 from "@angular/material/icon";
9
- export class MobileTimePickerComponent {
10
- constructor() {
11
- this.valueChange = new EventEmitter();
12
- }
13
- valueUp() {
14
- const currentIndex = this.options.indexOf(this.value);
15
- let newValue = 0;
16
- if (currentIndex === this.options.length - 1) {
17
- newValue = this.options[0];
18
- }
19
- else {
20
- newValue = this.options[currentIndex + 1];
21
- }
22
- this.valueChange.emit(newValue);
23
- }
24
- valueDown() {
25
- const currentIndex = this.options.indexOf(this.value);
26
- let newValue = 0;
27
- if (currentIndex === 0) {
28
- newValue = this.options[this.options.length - 1];
29
- }
30
- else {
31
- newValue = this.options[currentIndex - 1];
32
- }
33
- this.valueChange.emit(newValue);
34
- }
35
- static { this.ɵfac = function MobileTimePickerComponent_Factory(t) { return new (t || MobileTimePickerComponent)(); }; }
36
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MobileTimePickerComponent, selectors: [["cauca-mobile-time-picker"]], inputs: { value: "value", options: "options" }, outputs: { valueChange: "valueChange" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 8, vars: 1, consts: [["mat-icon-button", "", 3, "click"]], template: function MobileTimePickerComponent_Template(rf, ctx) { if (rf & 1) {
37
- i0.ɵɵelementStart(0, "button", 0);
38
- i0.ɵɵlistener("click", function MobileTimePickerComponent_Template_button_click_0_listener() { return ctx.valueUp(); });
39
- i0.ɵɵelementStart(1, "mat-icon");
40
- i0.ɵɵtext(2, "keyboard_arrow_up");
41
- i0.ɵɵelementEnd()();
42
- i0.ɵɵelementStart(3, "div");
43
- i0.ɵɵtext(4);
44
- i0.ɵɵelementEnd();
45
- i0.ɵɵelementStart(5, "button", 0);
46
- i0.ɵɵlistener("click", function MobileTimePickerComponent_Template_button_click_5_listener() { return ctx.valueDown(); });
47
- i0.ɵɵelementStart(6, "mat-icon");
48
- i0.ɵɵtext(7, "keyboard_arrow_down");
49
- i0.ɵɵelementEnd()();
50
- } if (rf & 2) {
51
- i0.ɵɵadvance(4);
52
- i0.ɵɵtextInterpolate1("\n", (ctx.value < 10 ? "0" : "") + ctx.value, "\n");
53
- } }, dependencies: [MatButtonModule, i1.MatIconButton, MatIconModule, i2.MatIcon, MatFormFieldModule,
54
- MatInputModule], styles: ["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:70px;font-family:var(--mat-form-field-container-text-font)}.mat-mdc-icon-button[_ngcontent-%COMP%]{height:24px;width:24px;line-height:24px;padding:0}"] }); }
55
- }
56
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MobileTimePickerComponent, [{
57
- type: Component,
58
- args: [{ selector: 'cauca-mobile-time-picker', standalone: true, imports: [
59
- MatButtonModule,
60
- MatIconModule,
61
- MatFormFieldModule,
62
- MatInputModule
63
- ], template: "<button mat-icon-button (click)=\"valueUp()\">\n <mat-icon>keyboard_arrow_up</mat-icon>\n</button>\n<div>\n{{(value < 10 ? '0' : '' ) + value}}\n</div>\n<button mat-icon-button (click)=\"valueDown()\">\n <mat-icon>keyboard_arrow_down</mat-icon>\n</button>\n", styles: [":host{display:flex;flex-direction:column;align-items:center;justify-content:center;height:70px;font-family:var(--mat-form-field-container-text-font)}.mat-mdc-icon-button{height:24px;width:24px;line-height:24px;padding:0}\n"] }]
64
- }], null, { value: [{
65
- type: Input,
66
- args: [{ required: true }]
67
- }], options: [{
68
- type: Input,
69
- args: [{ required: true }]
70
- }], valueChange: [{
71
- type: Output
72
- }] }); })();
73
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MobileTimePickerComponent, { className: "MobileTimePickerComponent", filePath: "lib\\cauca-date-time-picker\\components\\mobile-time-picker\\mobile-time-picker.component.ts", lineNumber: 19 }); })();
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLW1hdGVyaWFsL3NyYy9saWIvY2F1Y2EtZGF0ZS10aW1lLXBpY2tlci9jb21wb25lbnRzL21vYmlsZS10aW1lLXBpY2tlci9tb2JpbGUtdGltZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtbWF0ZXJpYWwvc3JjL2xpYi9jYXVjYS1kYXRlLXRpbWUtcGlja2VyL2NvbXBvbmVudHMvbW9iaWxlLXRpbWUtcGlja2VyL21vYmlsZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7O0FBY3pELE1BQU0sT0FBTyx5QkFBeUI7SUFadEM7UUFnQm1CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQXlCM0Q7SUF2QlEsT0FBTztRQUNaLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxZQUFZLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0MsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQzthQUFNLENBQUM7WUFDTixRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxTQUFTO1FBQ2QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLFlBQVksS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuRCxDQUFDO2FBQU0sQ0FBQztZQUNOLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQzswRkE1QlUseUJBQXlCO29FQUF6Qix5QkFBeUI7WUNsQnRDLGlDQUE0QztZQUFwQixzR0FBUyxhQUFTLElBQUM7WUFDdkMsZ0NBQVU7WUFBQSxpQ0FBaUI7WUFDL0IsQUFEK0IsaUJBQVcsRUFDakM7WUFDVCwyQkFBSztZQUNMLFlBQ0E7WUFBQSxpQkFBTTtZQUNOLGlDQUE4QztZQUF0QixzR0FBUyxlQUFXLElBQUM7WUFDekMsZ0NBQVU7WUFBQSxtQ0FBbUI7WUFDakMsQUFEaUMsaUJBQVcsRUFDbkM7O1lBSlQsZUFDQTtZQURBLDBFQUNBOzRCREtJLGVBQWUsb0JBQ2YsYUFBYSxjQUNiLGtCQUFrQjtZQUNsQixjQUFjOztpRkFLTCx5QkFBeUI7Y0FackMsU0FBUzsyQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQO29CQUNQLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixrQkFBa0I7b0JBQ2xCLGNBQWM7aUJBQ2Y7Z0JBSytCLEtBQUs7a0JBQXBDLEtBQUs7bUJBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO1lBQ1csT0FBTztrQkFBeEMsS0FBSzttQkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFFUixXQUFXO2tCQUEzQixNQUFNOztrRkFKSSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdWNhLW1vYmlsZS10aW1lLXBpY2tlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21vYmlsZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tb2JpbGUtdGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIE1vYmlsZVRpbWVQaWNrZXJDb21wb25lbnQge1xuICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSkgcHVibGljIHZhbHVlOiBudW1iZXI7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBvcHRpb25zOiBudW1iZXJbXTtcblxuICBAT3V0cHV0KCkgcHVibGljIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgcHVibGljIHZhbHVlVXAoKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy5vcHRpb25zLmluZGV4T2YodGhpcy52YWx1ZSk7XG4gICAgbGV0IG5ld1ZhbHVlID0gMDtcbiAgICBpZiAoY3VycmVudEluZGV4ID09PSB0aGlzLm9wdGlvbnMubGVuZ3RoIC0gMSkge1xuICAgICAgbmV3VmFsdWUgPSB0aGlzLm9wdGlvbnNbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld1ZhbHVlID0gdGhpcy5vcHRpb25zW2N1cnJlbnRJbmRleCArIDFdO1xuICAgIH1cblxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgdmFsdWVEb3duKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMub3B0aW9ucy5pbmRleE9mKHRoaXMudmFsdWUpO1xuICAgIGxldCBuZXdWYWx1ZSA9IDA7XG4gICAgaWYgKGN1cnJlbnRJbmRleCA9PT0gMCkge1xuICAgICAgbmV3VmFsdWUgPSB0aGlzLm9wdGlvbnNbdGhpcy5vcHRpb25zLmxlbmd0aCAtIDFdO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdWYWx1ZSA9IHRoaXMub3B0aW9uc1tjdXJyZW50SW5kZXggLSAxXTtcbiAgICB9XG5cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQobmV3VmFsdWUpO1xuICB9XG59XG4iLCI8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidmFsdWVVcCgpXCI+XG4gICAgPG1hdC1pY29uPmtleWJvYXJkX2Fycm93X3VwPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPGRpdj5cbnt7KHZhbHVlIDwgMTAgPyAnMCcgOiAnJyApICsgdmFsdWV9fVxuPC9kaXY+XG48YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidmFsdWVEb3duKClcIj5cbiAgICA8bWF0LWljb24+a2V5Ym9hcmRfYXJyb3dfZG93bjwvbWF0LWljb24+XG48L2J1dHRvbj5cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGUtdGltZS1waWNrZXItZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLW1hdGVyaWFsL3NyYy9saWIvY2F1Y2EtZGF0ZS10aW1lLXBpY2tlci9tb2RlbHMvZGlhbG9nLWRhdGUtdGltZS1waWNrZXItZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEaWFsb2dEYXRlVGltZVBpY2tlckRhdGFTdGVwIHtcbiAgICBob3VyczogbnVtYmVyLFxuICAgIG1pbnV0ZXM6IG51bWJlcixcbiAgICBzZWNvbmRzOiBudW1iZXIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGF0ZVRpbWVQaWNrZXJEYXRhRGlzYWJsZWQge1xuICAgIGhvdXJzOiBib29sZWFuLFxuICAgIHNvbWVIb3VyczogbnVtYmVyW10sXG4gICAgbWludXRlczogYm9vbGVhbixcbiAgICBzb21lTWludXRlczogbnVtYmVyW10sXG4gICAgc2Vjb25kczogYm9vbGVhbixcbiAgICBzb21lU2Vjb25kczogbnVtYmVyW10sXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGF0ZVRpbWVQaWNrZXJPcHRpb25zIHtcbiAgICBzZWxlY3RlZERhdGU6IERhdGUsXG4gICAgbWluaW11bURhdGU6IERhdGUsXG4gICAgbWF4aW11bURhdGU6IERhdGUsXG4gICAgc2hvd1NlY29uZHM6IGJvb2xlYW4sXG4gICAgc2hvd0NsZWFyQnV0dG9uOiBib29sZWFuLFxuICAgIHNob3dCdXR0b25JY29uczogYm9vbGVhbixcbiAgICBzdGVwOiBEaWFsb2dEYXRlVGltZVBpY2tlckRhdGFTdGVwLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0RhdGVUaW1lUGlja2VyVmFsdWUge1xuICAgIHZhbHVlOiBEYXRlLFxufSJdfQ==
@@ -1,148 +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_r1 = i0.ɵɵnextContext();
16
- i0.ɵɵadvance();
17
- i0.ɵɵtextInterpolate(ctx_r1.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();
26
- i0.ɵɵtextInterpolate(ctx_r1.text);
27
- } }
28
- function CaucaInputFileComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
29
- const _r3 = i0.ɵɵgetCurrentView();
30
- i0.ɵɵelementContainerStart(0);
31
- i0.ɵɵelementStart(1, "input", 5, 1);
32
- i0.ɵɵlistener("change", function CaucaInputFileComponent_ng_container_3_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSelectFile($event)); });
33
- i0.ɵɵelementEnd();
34
- i0.ɵɵelementContainerEnd();
35
- } if (rf & 2) {
36
- const ctx_r1 = i0.ɵɵnextContext();
37
- i0.ɵɵadvance();
38
- i0.ɵɵproperty("accept", ctx_r1.accept);
39
- } }
40
- function CaucaInputFileComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
41
- const _r4 = i0.ɵɵgetCurrentView();
42
- i0.ɵɵelementStart(0, "input", 6, 1);
43
- i0.ɵɵlistener("change", function CaucaInputFileComponent_ng_template_4_Template_input_change_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSelectFile($event)); });
44
- i0.ɵɵelementEnd();
45
- } if (rf & 2) {
46
- const ctx_r1 = i0.ɵɵnextContext();
47
- i0.ɵɵproperty("accept", ctx_r1.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: [["notMultipleInput", ""], ["file", ""], ["mat-raised-button", "", 3, "click"], [4, "ngIf"], [4, "ngIf", "ngIfElse"], ["type", "file", "multiple", "multiple", 3, "change", "accept"], ["type", "file", 3, "change", "accept"]], template: function CaucaInputFileComponent_Template(rf, ctx) { if (rf & 1) {
114
- const _r1 = i0.ɵɵgetCurrentView();
115
- i0.ɵɵelementStart(0, "button", 2);
116
- i0.ɵɵlistener("click", function CaucaInputFileComponent_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.openDialog($event)); });
117
- i0.ɵɵtemplate(1, CaucaInputFileComponent_mat_icon_1_Template, 2, 1, "mat-icon", 3)(2, CaucaInputFileComponent_span_2_Template, 2, 1, "span", 3);
118
- i0.ɵɵelementEnd();
119
- i0.ɵɵtemplate(3, CaucaInputFileComponent_ng_container_3_Template, 3, 1, "ng-container", 4)(4, CaucaInputFileComponent_ng_template_4_Template, 2, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
120
- } if (rf & 2) {
121
- const notMultipleInput_r5 = i0.ɵɵreference(5);
122
- i0.ɵɵadvance();
123
- i0.ɵɵproperty("ngIf", ctx.icon);
124
- i0.ɵɵadvance();
125
- i0.ɵɵproperty("ngIf", ctx.text);
126
- i0.ɵɵadvance();
127
- i0.ɵɵproperty("ngIf", ctx.multiple)("ngIfElse", notMultipleInput_r5);
128
- } }, dependencies: [i3.NgIf, i4.MatButton, i5.MatIcon], styles: ["[_nghost-%COMP%] input[_ngcontent-%COMP%]{display:none}"] }); }
129
- }
130
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaucaInputFileComponent, [{
131
- type: Component,
132
- 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"] }]
133
- }], () => [{ type: i1.TranslateService }, { type: i2.MatDialog }], { file: [{
134
- type: ViewChild,
135
- args: ['file', { static: false }]
136
- }], readend: [{
137
- type: Output
138
- }], accept: [{
139
- type: Input
140
- }], multiple: [{
141
- type: Input
142
- }], icon: [{
143
- type: Input
144
- }], text: [{
145
- type: Input
146
- }] }); })();
147
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaucaInputFileComponent, { className: "CaucaInputFileComponent", filePath: "lib\\cauca-input-file\\cauca-input-file.component.ts", lineNumber: 11 }); })();
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtaW5wdXQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYXRlcmlhbC9zcmMvbGliL2NhdWNhLWlucHV0LWZpbGUvY2F1Y2EtaW5wdXQtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYXRlcmlhbC9zcmMvbGliL2NhdWNhLWlucHV0LWZpbGUvY2F1Y2EtaW5wdXQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd0RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7O0lDRjlGLGdDQUF1QjtJQUFBLFlBQVE7SUFBQSxpQkFBVzs7O0lBQW5CLGNBQVE7SUFBUixpQ0FBUTs7O0lBQy9CLDRCQUFtQjtJQUFBLFlBQVE7SUFBQSxpQkFBTzs7O0lBQWYsY0FBUTtJQUFSLGlDQUFROzs7O0lBRS9CLDZCQUFzRDtJQUNwRCxtQ0FBaUc7SUFBeEUsbU1BQVUsMkJBQW9CLEtBQUM7SUFBeEQsaUJBQWlHOzs7O0lBQXhDLGNBQWlCO0lBQWpCLHNDQUFpQjs7OztJQUkxRSxtQ0FBNkU7SUFBcEQsa01BQVUsMkJBQW9CLEtBQUM7SUFBeEQsaUJBQTZFOzs7SUFBcEIsc0NBQWlCOztBREM1RSxNQUFNLE9BQU8sdUJBQXVCO0lBZ0JoQyxZQUNZLGdCQUFrQyxFQUNsQyxNQUFpQjtRQURqQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFkdEIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0IsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUVaLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVWLFNBQUksR0FBRyxFQUFFLENBQUM7UUFFVCxXQUFNLEdBQVEsRUFBRSxDQUFDO0lBTXpCLENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FDckIsQ0FBQyxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSx3QkFBd0IsQ0FBQyxDQUN4RSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO2dCQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztnQkFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWSxDQUFDLENBQU07UUFDdEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDcEQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN2RCxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDOUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRTtnQkFDekMsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLElBQUksRUFBRTtvQkFDRixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQztvQkFDMUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUM7aUJBQ2pEO2FBQ0osQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBVTtRQUN4QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BDLENBQUM7UUFDRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLE9BQU8sQ0FBQyxLQUFVO1FBQ3RCLE1BQU0sS0FBSyxDQUFDO0lBQ2hCLENBQUM7SUFFTyxTQUFTLENBQUMsSUFBUyxFQUFFLENBQU07UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNkLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1lBQzNCLElBQUk7U0FDUCxDQUFDLENBQUM7SUFDUCxDQUFDO3dGQTNFUSx1QkFBdUI7b0VBQXZCLHVCQUF1Qjs7Ozs7OztZQ1ZwQyxpQ0FBdUQ7WUFBN0IsZ0pBQVMsc0JBQWtCLEtBQUM7WUFFbEQsQUFEQSxrRkFBdUIsNkRBQ0o7WUFDdkIsaUJBQVM7WUFLVCxBQUpBLDBGQUFzRCw0R0FJdkI7OztZQVBoQixjQUFVO1lBQVYsK0JBQVU7WUFDZCxjQUFVO1lBQVYsK0JBQVU7WUFFTixjQUFnQjtZQUFBLEFBQWhCLG1DQUFnQixpQ0FBcUI7OztpRkRNdkMsdUJBQXVCO2NBTG5DLFNBQVM7MkJBQ0ksa0JBQWtCO3lFQU1yQixJQUFJO2tCQURWLFNBQVM7bUJBQUMsTUFBTSxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztZQUczQixPQUFPO2tCQURiLE1BQU07WUFHQSxNQUFNO2tCQURaLEtBQUs7WUFHQyxRQUFRO2tCQURkLEtBQUs7WUFHQyxJQUFJO2tCQURWLEtBQUs7WUFHQyxJQUFJO2tCQURWLEtBQUs7O2tGQVhHLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAY2F1Y2EtOTExL2NvcmUnO1xuaW1wb3J0IHsgQ2F1Y2FTaW1wbGVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jYXVjYS1zaW1wbGUtZGlhbG9nL2NhdWNhLXNpbXBsZS1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYXVjYS1pbnB1dC1maWxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2F1Y2EtaW5wdXQtZmlsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2F1Y2EtaW5wdXQtZmlsZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENhdWNhSW5wdXRGaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCdmaWxlJywge3N0YXRpYzogZmFsc2V9KVxuICAgIHB1YmxpYyBmaWxlOiBFbGVtZW50UmVmO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkZW5kID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFjY2VwdCA9ICcnO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG11bHRpcGxlID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWNvbiA9ICcnO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRleHQgPSAnJztcblxuICAgIHByaXZhdGUgbGFiZWxzOiBhbnkgPSB7fTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgICkge1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmljb24gJiYgIXRoaXMudGV4dCkge1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChcbiAgICAgICAgICAgICAgICBbJ21hdGVyaWFsLnNlbGVjdCcsICdtYXRlcmlhbC5kaWFsb2dUaXRsZScsICdtYXRlcmlhbC5kaWFsb2dNZXNzYWdlJ11cbiAgICAgICAgICAgICkuc3Vic2NyaWJlKChsYWJlbHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGFiZWxzID0gbGFiZWxzO1xuICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGxhYmVsc1snbWF0ZXJpYWwuc2VsZWN0J107XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblNlbGVjdEZpbGUoZTogYW55KTogdm9pZCB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBqID0gZS50YXJnZXQuZmlsZXMubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlID0gZS50YXJnZXQuZmlsZXNbaV07XG4gICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSAoKGVycm9yOiBhbnkpID0+IHRoaXMub25FcnJvcihlcnJvcikpO1xuICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgoZXZlbnQ6IGFueSkgPT4gdGhpcy5vblJlYWRFbmQoZmlsZSwgZXZlbnQpKTtcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGUudGFyZ2V0LmZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2cub3BlbihDYXVjYVNpbXBsZURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnMjUwcHgnLFxuICAgICAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLmxhYmVsc1snbWF0ZXJpYWwuZGlhbG9nVGl0bGUnXSxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy5sYWJlbHNbJ21hdGVyaWFsLmRpYWxvZ01lc3NhZ2UnXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5EaWFsb2coZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5maWxlKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGUubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25FcnJvcihlcnJvcjogYW55KTogdm9pZCB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25SZWFkRW5kKGZpbGU6IGFueSwgZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nLmNsb3NlQWxsKCk7XG4gICAgICAgIHRoaXMucmVhZGVuZC5lbWl0KHtcbiAgICAgICAgICAgIG5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgIHNpemU6IGZpbGUuc2l6ZSxcbiAgICAgICAgICAgIHR5cGU6IGZpbGUudHlwZSxcbiAgICAgICAgICAgIGxhc3RNb2RpZmllZERhdGU6IGZpbGUubGFzdE1vZGlmaWVkRGF0ZSxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGUudGFyZ2V0WydyZXN1bHQnXSxcbiAgICAgICAgICAgIGZpbGUsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIm9wZW5EaWFsb2coJGV2ZW50KVwiPlxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25cIj57e2ljb259fTwvbWF0LWljb24+XG4gICAgPHNwYW4gKm5nSWY9XCJ0ZXh0XCI+e3t0ZXh0fX08L3NwYW4+XG48L2J1dHRvbj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJtdWx0aXBsZTsgZWxzZSBub3RNdWx0aXBsZUlucHV0XCI+XG4gIDxpbnB1dCAjZmlsZSB0eXBlPVwiZmlsZVwiIChjaGFuZ2UpPVwib25TZWxlY3RGaWxlKCRldmVudClcIiBbYWNjZXB0XT1cImFjY2VwdFwiIG11bHRpcGxlPVwibXVsdGlwbGVcIiAvPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbm90TXVsdGlwbGVJbnB1dD5cbiAgPGlucHV0ICNmaWxlIHR5cGU9XCJmaWxlXCIgKGNoYW5nZSk9XCJvblNlbGVjdEZpbGUoJGV2ZW50KVwiIFthY2NlcHRdPVwiYWNjZXB0XCIgLz5cbjwvbmctdGVtcGxhdGU+Il19
@@ -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_r1 = i0.ɵɵnextContext().index;
18
- const ctx_r1 = i0.ɵɵnextContext();
19
- i0.ɵɵadvance();
20
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r1.getErrorMessage(i_r1)));
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_r3 = ctx.$implicit;
29
- const i_r1 = ctx.index;
30
- const ctx_r1 = i0.ɵɵnextContext();
31
- i0.ɵɵproperty("label", lang_r3);
32
- i0.ɵɵadvance(2);
33
- i0.ɵɵproperty("placeholder", lang_r3)("formControl", ctx_r1.forms[i_r1]);
34
- i0.ɵɵadvance();
35
- i0.ɵɵproperty("ngIf", ctx_r1.forms[i_r1].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, "selectedIndexChange", "selectedIndex"], [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();
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtaW5wdXQtbXVsdGlwbGUtbGFuZ3VlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLW1hdGVyaWFsL3NyYy9saWIvY2F1Y2EtaW5wdXQtbXVsdGlwbGUtbGFuZ3VlL2NhdWNhLWlucHV0LW11bHRpcGxlLWxhbmd1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYXRlcmlhbC9zcmMvbGliL2NhdWNhLWlucHV0LW11bHRpcGxlLWxhbmd1ZS9jYXVjYS1pbnB1dC1tdWx0aXBsZS1sYW5ndWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0lDR3hELGlDQUFvQztJQUFBLFlBQWtDOztJQUFBLGlCQUFZOzs7O0lBQTlDLGNBQWtDO0lBQWxDLHdFQUFrQzs7O0lBRnhFLEFBREYsa0NBQW1FLHdCQUN0QjtJQUN6QywyQkFBa0Y7SUFDbEYsd0dBQW9DO0lBRXhDLEFBREUsaUJBQWlCLEVBQ1Q7Ozs7O0lBTDBDLCtCQUFjO0lBRTlDLGVBQW9CO0lBQUMsQUFBckIscUNBQW9CLG1DQUF5QjtJQUNqRCxjQUFzQjtJQUF0QixpREFBc0I7O0FES3hDLE1BQU0sT0FBTyxpQ0FBaUM7SUFRMUMsWUFDSSxXQUE2QixFQUNyQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQVJoQyxVQUFLLEdBQWEsRUFBRSxDQUFDO1FBRXJCLFVBQUssR0FBeUIsRUFBRSxDQUFDO1FBQ2pDLFdBQU0sR0FBYSxFQUFFLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFNckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVNLFFBQVE7UUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ2hFLEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLENBQUM7WUFDTCxDQUFDO1lBQ0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFlBQVksQ0FBQyxRQUFnQjtRQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxlQUFlLENBQUMsS0FBVTtRQUM3QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFFLENBQUM7SUFFTyxlQUFlO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUyxFQUFFLEtBQWEsRUFBRSxFQUFFO1lBQzdDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztrR0F2Q1EsaUNBQWlDO29FQUFqQyxpQ0FBaUM7WUNUOUMsd0NBQTRGO1lBQTdDLHVKQUF1Qix3QkFBb0IsSUFBQztZQUN6RiwwRkFBbUU7WUFNckUsaUJBQWdCOztZQVBELGlEQUErQjtZQUNsQixjQUFXO1lBQVgsb0NBQVc7OztpRkRRMUIsaUNBQWlDO2NBTDdDLFNBQVM7MkJBQ0ksNkJBQTZCO2dGQU1oQyxLQUFLO2tCQURYLEtBQUs7O2tGQURHLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb24sIENhdWNhQ29yZVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BjYXVjYS05MTEvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2F1Y2EtaW5wdXQtbXVsdGlwbGUtbGFuZ3VlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2F1Y2EtaW5wdXQtbXVsdGlwbGUtbGFuZ3VlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYXVjYS1pbnB1dC1tdWx0aXBsZS1sYW5ndWUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXVjYUlucHV0TXVsdGlwbGVMYW5ndWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZhbHVlOiBzdHJpbmdbXSA9IFtdO1xuICAgIHB1YmxpYyBjb25maWc6IENvbmZpZ3VyYXRpb247XG4gICAgcHVibGljIGZvcm1zOiBVbnR5cGVkRm9ybUNvbnRyb2xbXSA9IFtdO1xuICAgIHB1YmxpYyBsYWJlbHM6IHN0cmluZ1tdID0gW107XG4gICAgcHVibGljIHNlbGVjdGVkSW5kZXggPSAwO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBjb3JlU2VydmljZTogQ2F1Y2FDb3JlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29uZmlnID0gY29yZVNlcnZpY2UuZ2V0Q29uZmlnKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQodGhpcy5jb25maWcubGFuZ3VhZ2VzKS5zdWJzY3JpYmUoKGxhYmVsczogYW55KSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGkgaW4gbGFiZWxzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGxhYmVsc1tpXSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhYmVscy5wdXNoKGxhYmVsc1tpXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplRm9ybXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVGFnQ2hhbmdlZCh0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjYXVjYS1tYXRlcmlhbCwgb25UYWJDaGFuZ2VkJywgdGFiSW5kZXgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFcnJvck1lc3NhZ2UoaW5kZXg6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1zW2luZGV4XS5oYXNFcnJvcigncmVxdWlyZWQnKSA/ICdlcnJvci5yZXF1aXJlZCcgOiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRpYWxpemVGb3JtcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYWJlbHMuZm9yRWFjaCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvcm1zW2luZGV4XSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG4gICAgICAgICAgICB0aGlzLmZvcm1zW2luZGV4XS5zZXRWYWx1ZSh0aGlzLnZhbHVlW2luZGV4XSB8fCAnJyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxtYXQtdGFiLWdyb3VwIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkSW5kZXhcIiAoc2VsZWN0ZWRJbmRleENoYW5nZSk9XCJvblRhZ0NoYW5nZWQoJGV2ZW50KVwiPlxuICA8bWF0LXRhYiAqbmdGb3I9XCJsZXQgbGFuZyBvZiBsYWJlbHM7IGxldCBpID0gaW5kZXhcIiBbbGFiZWxdPVwibGFuZ1wiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBoaWRlUmVxdWlyZWRNYXJrZXI9XCJuZXZlclwiPlxuICAgICAgPGlucHV0IG1hdElucHV0IFtwbGFjZWhvbGRlcl09XCJsYW5nXCIgW2Zvcm1Db250cm9sXT1cImZvcm1zW2ldXCIgcmVxdWlyZWQ9XCJyZXF1aXJlZFwiPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1zW2ldLmludmFsaWRcIj57e2dldEVycm9yTWVzc2FnZShpKSB8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPiJdfQ==