@litigiovirtual/ius-design-components 1.0.205 → 1.0.207

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.
@@ -20,7 +20,7 @@ export class DrawerContainerRightComponent {
20
20
  }
21
21
  }
22
22
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DrawerContainerRightComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DrawerContainerRightComponent, isStandalone: true, selector: "ius-drawer-container-right", inputs: { titleDrawer: "titleDrawer", percentProgressBar: "percentProgressBar" }, outputs: { onPressedBackEvent: "onPressedBackEvent", onDrawerClosed: "onDrawerClosed" }, ngImport: i0, template: "<div class=\"background-drawer\">\r\n @if (isVisible) {\r\n <div class=\"create-container\" @slideInOut (@slideInOut.done)=\"onAnimDone($event)\">\r\n <div class=\"header-drawer\">\r\n <div class=\"button-header-drawer\">\r\n <ius-button-circle-tertiary\r\n (buttonClicked)=\"close()\"\r\n iconName=\"icon-arrow-left-alt\"\r\n ></ius-button-circle-tertiary>\r\n </div>\r\n <div class=\"title-header-drawer\">{{ titleDrawer }}</div>\r\n </div>\r\n <ius-linear-progress-bar\r\n [porcentaje]=\"percentProgressBar\"\r\n ></ius-linear-progress-bar>\r\n <div\r\n class=\"scrollable-small\"\r\n style=\"height: calc(100% - 69px); overflow-y:auto;\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.background-drawer{position:absolute;top:0;left:0;display:flex;height:100%;width:100%;justify-content:center;background-color:#0003;transition:.2s ease-in-out;align-items:center;z-index:900}.create-container{height:calc(100vh - 60px);position:absolute;z-index:1000;width:390px;top:60px;right:0;background-color:#fff;border-radius:8px 0 0 8px;box-shadow:0 2px 6px 3px #00000026,0 1px 3px #0000004d}.header-drawer{display:flex;padding:12px 16px}.title-header-drawer{width:100%;font-family:Roboto,sans-serif;font-size:1.25rem;color:#333;line-height:26px;letter-spacing:.2px;padding-top:10px;font-weight:700;display:flex;justify-content:center;overflow:hidden;white-space:normal;text-overflow:ellipsis}.button-header-drawer{margin-left:3px;margin-top:1px}.scrollable-small::-webkit-scrollbar{-webkit-appearance:none}.scrollable-small::-webkit-scrollbar:vertical{width:8px;height:32px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar:horizontal{height:5px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar-thumb{background-color:#08a6db;border-radius:4px}\n"], dependencies: [{ kind: "component", type: LinearProgressBarComponent, selector: "ius-linear-progress-bar", inputs: ["porcentaje"] }, { kind: "component", type: ButtonCircleTertiaryComponent, selector: "ius-button-circle-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }], animations: [
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DrawerContainerRightComponent, isStandalone: true, selector: "ius-drawer-container-right", inputs: { titleDrawer: "titleDrawer", percentProgressBar: "percentProgressBar" }, outputs: { onPressedBackEvent: "onPressedBackEvent", onDrawerClosed: "onDrawerClosed" }, ngImport: i0, template: "<div class=\"background-drawer\">\r\n @if (isVisible) {\r\n <div class=\"create-container\" @slideInOut (@slideInOut.done)=\"onAnimDone($event)\">\r\n <div class=\"header-drawer\">\r\n <div class=\"button-header-drawer\">\r\n <ius-button-circle-tertiary\r\n (buttonClicked)=\"close()\"\r\n iconName=\"icon-arrow-left-alt\"\r\n ></ius-button-circle-tertiary>\r\n </div>\r\n <div class=\"title-header-drawer\">{{ titleDrawer }}</div>\r\n </div>\r\n <ius-linear-progress-bar\r\n [porcentaje]=\"percentProgressBar\"\r\n ></ius-linear-progress-bar>\r\n <div\r\n class=\"scrollable\"\r\n style=\"height: calc(100% - 69px); overflow-y:auto;\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.background-drawer{position:absolute;top:0;left:0;display:flex;height:100%;width:100%;justify-content:center;background-color:#0003;transition:.2s ease-in-out;align-items:center;z-index:900}.create-container{height:calc(100vh - 60px);position:absolute;z-index:1000;width:390px;top:60px;right:0;background-color:#fff;border-radius:8px 0 0 8px;box-shadow:0 2px 6px 3px #00000026,0 1px 3px #0000004d}.header-drawer{display:flex;padding:12px 16px}.title-header-drawer{width:100%;font-family:Roboto,sans-serif;font-size:1.25rem;color:#333;line-height:26px;letter-spacing:.2px;padding-top:10px;font-weight:700;display:flex;justify-content:center;overflow:hidden;white-space:normal;text-overflow:ellipsis}.button-header-drawer{margin-left:3px;margin-top:1px}.scrollable{overflow-y:auto;overflow-x:hidden}.scrollable::-webkit-scrollbar{-webkit-appearance:none}.scrollable::-webkit-scrollbar:vertical{width:7px}.scrollable::-webkit-scrollbar-thumb{background-color:#d8d6d6;border-radius:20px}\n"], dependencies: [{ kind: "component", type: LinearProgressBarComponent, selector: "ius-linear-progress-bar", inputs: ["porcentaje"] }, { kind: "component", type: ButtonCircleTertiaryComponent, selector: "ius-button-circle-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }], animations: [
24
24
  trigger('slideInOut', [
25
25
  state('void', style({
26
26
  transform: 'translateX(100%)',
@@ -58,7 +58,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
58
58
  animate('300ms ease-out')
59
59
  ])
60
60
  ])
61
- ], template: "<div class=\"background-drawer\">\r\n @if (isVisible) {\r\n <div class=\"create-container\" @slideInOut (@slideInOut.done)=\"onAnimDone($event)\">\r\n <div class=\"header-drawer\">\r\n <div class=\"button-header-drawer\">\r\n <ius-button-circle-tertiary\r\n (buttonClicked)=\"close()\"\r\n iconName=\"icon-arrow-left-alt\"\r\n ></ius-button-circle-tertiary>\r\n </div>\r\n <div class=\"title-header-drawer\">{{ titleDrawer }}</div>\r\n </div>\r\n <ius-linear-progress-bar\r\n [porcentaje]=\"percentProgressBar\"\r\n ></ius-linear-progress-bar>\r\n <div\r\n class=\"scrollable-small\"\r\n style=\"height: calc(100% - 69px); overflow-y:auto;\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.background-drawer{position:absolute;top:0;left:0;display:flex;height:100%;width:100%;justify-content:center;background-color:#0003;transition:.2s ease-in-out;align-items:center;z-index:900}.create-container{height:calc(100vh - 60px);position:absolute;z-index:1000;width:390px;top:60px;right:0;background-color:#fff;border-radius:8px 0 0 8px;box-shadow:0 2px 6px 3px #00000026,0 1px 3px #0000004d}.header-drawer{display:flex;padding:12px 16px}.title-header-drawer{width:100%;font-family:Roboto,sans-serif;font-size:1.25rem;color:#333;line-height:26px;letter-spacing:.2px;padding-top:10px;font-weight:700;display:flex;justify-content:center;overflow:hidden;white-space:normal;text-overflow:ellipsis}.button-header-drawer{margin-left:3px;margin-top:1px}.scrollable-small::-webkit-scrollbar{-webkit-appearance:none}.scrollable-small::-webkit-scrollbar:vertical{width:8px;height:32px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar:horizontal{height:5px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar-thumb{background-color:#08a6db;border-radius:4px}\n"] }]
61
+ ], template: "<div class=\"background-drawer\">\r\n @if (isVisible) {\r\n <div class=\"create-container\" @slideInOut (@slideInOut.done)=\"onAnimDone($event)\">\r\n <div class=\"header-drawer\">\r\n <div class=\"button-header-drawer\">\r\n <ius-button-circle-tertiary\r\n (buttonClicked)=\"close()\"\r\n iconName=\"icon-arrow-left-alt\"\r\n ></ius-button-circle-tertiary>\r\n </div>\r\n <div class=\"title-header-drawer\">{{ titleDrawer }}</div>\r\n </div>\r\n <ius-linear-progress-bar\r\n [porcentaje]=\"percentProgressBar\"\r\n ></ius-linear-progress-bar>\r\n <div\r\n class=\"scrollable\"\r\n style=\"height: calc(100% - 69px); overflow-y:auto;\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.background-drawer{position:absolute;top:0;left:0;display:flex;height:100%;width:100%;justify-content:center;background-color:#0003;transition:.2s ease-in-out;align-items:center;z-index:900}.create-container{height:calc(100vh - 60px);position:absolute;z-index:1000;width:390px;top:60px;right:0;background-color:#fff;border-radius:8px 0 0 8px;box-shadow:0 2px 6px 3px #00000026,0 1px 3px #0000004d}.header-drawer{display:flex;padding:12px 16px}.title-header-drawer{width:100%;font-family:Roboto,sans-serif;font-size:1.25rem;color:#333;line-height:26px;letter-spacing:.2px;padding-top:10px;font-weight:700;display:flex;justify-content:center;overflow:hidden;white-space:normal;text-overflow:ellipsis}.button-header-drawer{margin-left:3px;margin-top:1px}.scrollable{overflow-y:auto;overflow-x:hidden}.scrollable::-webkit-scrollbar{-webkit-appearance:none}.scrollable::-webkit-scrollbar:vertical{width:7px}.scrollable::-webkit-scrollbar-thumb{background-color:#d8d6d6;border-radius:20px}\n"] }]
62
62
  }], propDecorators: { titleDrawer: [{
63
63
  type: Input
64
64
  }], percentProgressBar: [{
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
68
68
  }], onDrawerClosed: [{
69
69
  type: Output
70
70
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWNvbnRhaW5lci1yaWdodC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9kcmF3ZXItY29udGFpbmVyLXJpZ2h0L2RyYXdlci1jb250YWluZXItcmlnaHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZHJhd2VyLWNvbnRhaW5lci1yaWdodC9kcmF3ZXItY29udGFpbmVyLXJpZ2h0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQzs7QUEyQjNHLE1BQU0sT0FBTyw2QkFBNkI7SUF6QjFDO1FBMEJXLGdCQUFXLEdBQVcsY0FBYyxDQUFDO1FBQ3JDLHVCQUFrQixHQUFXLEVBQUUsQ0FBQztRQUUvQix1QkFBa0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzRCxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFcEQsY0FBUyxHQUFZLElBQUksQ0FBQztLQVczQjtJQVRDLEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7K0dBakJVLDZCQUE2QjttR0FBN0IsNkJBQTZCLGlRQzlCMUMsNnlCQXdCQSx1bEZEaEJZLDBCQUEwQiw0RkFBRSw2QkFBNkIsdUhBR3ZEO1lBQ1YsT0FBTyxDQUFDLFlBQVksRUFBRTtnQkFDcEIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7b0JBQ2xCLFNBQVMsRUFBRSxrQkFBa0I7b0JBQzdCLE9BQU8sRUFBRSxDQUFDO2lCQUNYLENBQUMsQ0FBQztnQkFDSCxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQztvQkFDZixTQUFTLEVBQUUsZUFBZTtvQkFDMUIsT0FBTyxFQUFFLENBQUM7aUJBQ1gsQ0FBQyxDQUFDO2dCQUNILFVBQVUsQ0FBQyxXQUFXLEVBQUU7b0JBQ3RCLE9BQU8sQ0FBQyxlQUFlLENBQUM7aUJBQ3pCLENBQUM7Z0JBQ0YsVUFBVSxDQUFDLFdBQVcsRUFBRTtvQkFDdEIsT0FBTyxDQUFDLGdCQUFnQixDQUFDO2lCQUMxQixDQUFDO2FBQ0gsQ0FBQztTQUNIOzs0RkFFVSw2QkFBNkI7a0JBekJ6QyxTQUFTOytCQUNFLDRCQUE0QixjQUMxQixJQUFJLFdBQ1AsQ0FBQywwQkFBMEIsRUFBRSw2QkFBNkIsQ0FBQyxjQUd4RDt3QkFDVixPQUFPLENBQUMsWUFBWSxFQUFFOzRCQUNwQixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztnQ0FDbEIsU0FBUyxFQUFFLGtCQUFrQjtnQ0FDN0IsT0FBTyxFQUFFLENBQUM7NkJBQ1gsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDO2dDQUNmLFNBQVMsRUFBRSxlQUFlO2dDQUMxQixPQUFPLEVBQUUsQ0FBQzs2QkFDWCxDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLFdBQVcsRUFBRTtnQ0FDdEIsT0FBTyxDQUFDLGVBQWUsQ0FBQzs2QkFDekIsQ0FBQzs0QkFDRixVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixPQUFPLENBQUMsZ0JBQWdCLENBQUM7NkJBQzFCLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDs4QkFHUSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMaW5lYXJQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gXCIuLi9saW5lYXItcHJvZ3Jlc3MtYmFyL2xpbmVhci1wcm9ncmVzcy1iYXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEJ1dHRvbkNpcmNsZVRlcnRpYXJ5Q29tcG9uZW50IH0gZnJvbSBcIi4uL2J1dHRvbi1jaXJjbGUtdGVydGlhcnkvYnV0dG9uLWNpcmNsZS10ZXJ0aWFyeS5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWRyYXdlci1jb250YWluZXItcmlnaHQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0xpbmVhclByb2dyZXNzQmFyQ29tcG9uZW50LCBCdXR0b25DaXJjbGVUZXJ0aWFyeUNvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RyYXdlci1jb250YWluZXItcmlnaHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9kcmF3ZXItY29udGFpbmVyLXJpZ2h0LmNvbXBvbmVudC5zY3NzJyxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xyXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHtcclxuICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyxcclxuICAgICAgICBvcGFjaXR5OiAwXHJcbiAgICAgIH0pKSxcclxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7XHJcbiAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScsXHJcbiAgICAgICAgb3BhY2l0eTogMVxyXG4gICAgICB9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtcclxuICAgICAgICBhbmltYXRlKCczMDBtcyBlYXNlLWluJylcclxuICAgICAgXSksXHJcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIFtcclxuICAgICAgICBhbmltYXRlKCczMDBtcyBlYXNlLW91dCcpXHJcbiAgICAgIF0pXHJcbiAgICBdKVxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcmF3ZXJDb250YWluZXJSaWdodENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgdGl0bGVEcmF3ZXI6IHN0cmluZyA9IFwiVGl0bGUgRHJhd2VyXCI7XHJcbiAgQElucHV0KCkgcGVyY2VudFByb2dyZXNzQmFyOiBudW1iZXIgPSA1MDtcclxuXHJcbiAgQE91dHB1dCgpIG9uUHJlc3NlZEJhY2tFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uRHJhd2VyQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIFxyXG4gIGlzVmlzaWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uQW5pbURvbmUoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2b2lkJykge1xyXG4gICAgICB0aGlzLm9uRHJhd2VyQ2xvc2VkLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImJhY2tncm91bmQtZHJhd2VyXCI+XHJcbiAgQGlmIChpc1Zpc2libGUpIHtcclxuICA8ZGl2IGNsYXNzPVwiY3JlYXRlLWNvbnRhaW5lclwiIEBzbGlkZUluT3V0IChAc2xpZGVJbk91dC5kb25lKT1cIm9uQW5pbURvbmUoJGV2ZW50KVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImhlYWRlci1kcmF3ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1oZWFkZXItZHJhd2VyXCI+XHJcbiAgICAgICAgPGl1cy1idXR0b24tY2lyY2xlLXRlcnRpYXJ5XHJcbiAgICAgICAgICAoYnV0dG9uQ2xpY2tlZCk9XCJjbG9zZSgpXCJcclxuICAgICAgICAgIGljb25OYW1lPVwiaWNvbi1hcnJvdy1sZWZ0LWFsdFwiXHJcbiAgICAgICAgPjwvaXVzLWJ1dHRvbi1jaXJjbGUtdGVydGlhcnk+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtaGVhZGVyLWRyYXdlclwiPnt7IHRpdGxlRHJhd2VyIH19PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxpdXMtbGluZWFyLXByb2dyZXNzLWJhclxyXG4gICAgICBbcG9yY2VudGFqZV09XCJwZXJjZW50UHJvZ3Jlc3NCYXJcIlxyXG4gICAgPjwvaXVzLWxpbmVhci1wcm9ncmVzcy1iYXI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwic2Nyb2xsYWJsZS1zbWFsbFwiXHJcbiAgICAgIHN0eWxlPVwiaGVpZ2h0OiBjYWxjKDEwMCUgLSA2OXB4KTsgb3ZlcmZsb3cteTphdXRvO1wiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWNvbnRhaW5lci1yaWdodC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9kcmF3ZXItY29udGFpbmVyLXJpZ2h0L2RyYXdlci1jb250YWluZXItcmlnaHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZHJhd2VyLWNvbnRhaW5lci1yaWdodC9kcmF3ZXItY29udGFpbmVyLXJpZ2h0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQzs7QUEyQjNHLE1BQU0sT0FBTyw2QkFBNkI7SUF6QjFDO1FBMEJXLGdCQUFXLEdBQVcsY0FBYyxDQUFDO1FBQ3JDLHVCQUFrQixHQUFXLEVBQUUsQ0FBQztRQUUvQix1QkFBa0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzRCxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFcEQsY0FBUyxHQUFZLElBQUksQ0FBQztLQVczQjtJQVRDLEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7K0dBakJVLDZCQUE2QjttR0FBN0IsNkJBQTZCLGlRQzlCMUMsdXlCQXdCQSx1K0VEaEJZLDBCQUEwQiw0RkFBRSw2QkFBNkIsdUhBR3ZEO1lBQ1YsT0FBTyxDQUFDLFlBQVksRUFBRTtnQkFDcEIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7b0JBQ2xCLFNBQVMsRUFBRSxrQkFBa0I7b0JBQzdCLE9BQU8sRUFBRSxDQUFDO2lCQUNYLENBQUMsQ0FBQztnQkFDSCxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQztvQkFDZixTQUFTLEVBQUUsZUFBZTtvQkFDMUIsT0FBTyxFQUFFLENBQUM7aUJBQ1gsQ0FBQyxDQUFDO2dCQUNILFVBQVUsQ0FBQyxXQUFXLEVBQUU7b0JBQ3RCLE9BQU8sQ0FBQyxlQUFlLENBQUM7aUJBQ3pCLENBQUM7Z0JBQ0YsVUFBVSxDQUFDLFdBQVcsRUFBRTtvQkFDdEIsT0FBTyxDQUFDLGdCQUFnQixDQUFDO2lCQUMxQixDQUFDO2FBQ0gsQ0FBQztTQUNIOzs0RkFFVSw2QkFBNkI7a0JBekJ6QyxTQUFTOytCQUNFLDRCQUE0QixjQUMxQixJQUFJLFdBQ1AsQ0FBQywwQkFBMEIsRUFBRSw2QkFBNkIsQ0FBQyxjQUd4RDt3QkFDVixPQUFPLENBQUMsWUFBWSxFQUFFOzRCQUNwQixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztnQ0FDbEIsU0FBUyxFQUFFLGtCQUFrQjtnQ0FDN0IsT0FBTyxFQUFFLENBQUM7NkJBQ1gsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDO2dDQUNmLFNBQVMsRUFBRSxlQUFlO2dDQUMxQixPQUFPLEVBQUUsQ0FBQzs2QkFDWCxDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLFdBQVcsRUFBRTtnQ0FDdEIsT0FBTyxDQUFDLGVBQWUsQ0FBQzs2QkFDekIsQ0FBQzs0QkFDRixVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixPQUFPLENBQUMsZ0JBQWdCLENBQUM7NkJBQzFCLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDs4QkFHUSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMaW5lYXJQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gXCIuLi9saW5lYXItcHJvZ3Jlc3MtYmFyL2xpbmVhci1wcm9ncmVzcy1iYXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEJ1dHRvbkNpcmNsZVRlcnRpYXJ5Q29tcG9uZW50IH0gZnJvbSBcIi4uL2J1dHRvbi1jaXJjbGUtdGVydGlhcnkvYnV0dG9uLWNpcmNsZS10ZXJ0aWFyeS5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWRyYXdlci1jb250YWluZXItcmlnaHQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0xpbmVhclByb2dyZXNzQmFyQ29tcG9uZW50LCBCdXR0b25DaXJjbGVUZXJ0aWFyeUNvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RyYXdlci1jb250YWluZXItcmlnaHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9kcmF3ZXItY29udGFpbmVyLXJpZ2h0LmNvbXBvbmVudC5zY3NzJyxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xyXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHtcclxuICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyxcclxuICAgICAgICBvcGFjaXR5OiAwXHJcbiAgICAgIH0pKSxcclxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7XHJcbiAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScsXHJcbiAgICAgICAgb3BhY2l0eTogMVxyXG4gICAgICB9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtcclxuICAgICAgICBhbmltYXRlKCczMDBtcyBlYXNlLWluJylcclxuICAgICAgXSksXHJcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIFtcclxuICAgICAgICBhbmltYXRlKCczMDBtcyBlYXNlLW91dCcpXHJcbiAgICAgIF0pXHJcbiAgICBdKVxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcmF3ZXJDb250YWluZXJSaWdodENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgdGl0bGVEcmF3ZXI6IHN0cmluZyA9IFwiVGl0bGUgRHJhd2VyXCI7XHJcbiAgQElucHV0KCkgcGVyY2VudFByb2dyZXNzQmFyOiBudW1iZXIgPSA1MDtcclxuXHJcbiAgQE91dHB1dCgpIG9uUHJlc3NlZEJhY2tFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uRHJhd2VyQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIFxyXG4gIGlzVmlzaWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uQW5pbURvbmUoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2b2lkJykge1xyXG4gICAgICB0aGlzLm9uRHJhd2VyQ2xvc2VkLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImJhY2tncm91bmQtZHJhd2VyXCI+XHJcbiAgQGlmIChpc1Zpc2libGUpIHtcclxuICA8ZGl2IGNsYXNzPVwiY3JlYXRlLWNvbnRhaW5lclwiIEBzbGlkZUluT3V0IChAc2xpZGVJbk91dC5kb25lKT1cIm9uQW5pbURvbmUoJGV2ZW50KVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImhlYWRlci1kcmF3ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1oZWFkZXItZHJhd2VyXCI+XHJcbiAgICAgICAgPGl1cy1idXR0b24tY2lyY2xlLXRlcnRpYXJ5XHJcbiAgICAgICAgICAoYnV0dG9uQ2xpY2tlZCk9XCJjbG9zZSgpXCJcclxuICAgICAgICAgIGljb25OYW1lPVwiaWNvbi1hcnJvdy1sZWZ0LWFsdFwiXHJcbiAgICAgICAgPjwvaXVzLWJ1dHRvbi1jaXJjbGUtdGVydGlhcnk+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtaGVhZGVyLWRyYXdlclwiPnt7IHRpdGxlRHJhd2VyIH19PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxpdXMtbGluZWFyLXByb2dyZXNzLWJhclxyXG4gICAgICBbcG9yY2VudGFqZV09XCJwZXJjZW50UHJvZ3Jlc3NCYXJcIlxyXG4gICAgPjwvaXVzLWxpbmVhci1wcm9ncmVzcy1iYXI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwic2Nyb2xsYWJsZVwiXHJcbiAgICAgIHN0eWxlPVwiaGVpZ2h0OiBjYWxjKDEwMCUgLSA2OXB4KTsgb3ZlcmZsb3cteTphdXRvO1wiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,17 +1,25 @@
1
- import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
1
+ import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
2
+ import { TemplatePortal } from '@angular/cdk/portal';
2
3
  import { IconMdComponent } from '../icon-md/icon-md.component';
3
4
  import { CommonModule } from '@angular/common';
4
5
  import { FormsModule } from '@angular/forms';
5
6
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- import * as i2 from "@angular/common";
7
+ import * as i1 from "@angular/cdk/overlay";
8
+ import * as i2 from "@angular/forms";
9
+ import * as i3 from "@angular/common";
8
10
  export class InputSelectComponent {
9
- constructor() {
11
+ get showList() {
12
+ return this._overlayRef !== null;
13
+ }
14
+ constructor(_el, _overlay, _vcr) {
15
+ this._el = _el;
16
+ this._overlay = _overlay;
17
+ this._vcr = _vcr;
10
18
  this.isFocused = false;
11
19
  this.isAlertText = false;
12
- this.showList = false;
13
- this.hasClickedInside = false; //Bandera para detectar que ya dieron el primer click en el componente
20
+ this.hasClickedInside = false;
14
21
  this.selected = false;
22
+ this._overlayRef = null;
15
23
  this.componentId = ''; //Debe mandar un componenteID para llamar el input varias veces
16
24
  this.required = false;
17
25
  this.disabled = false;
@@ -21,36 +29,30 @@ export class InputSelectComponent {
21
29
  this.onChangesValueEvent = new EventEmitter();
22
30
  this.onEnterKey = new EventEmitter();
23
31
  }
24
- //Esta funcion permite que se cierre el listado si el usuario da click en otro lado fuera del componente
25
32
  onClickOutside(event) {
26
33
  if (!this.hasClickedInside) {
27
34
  return;
28
35
  }
29
36
  const target = event.target;
37
+ // Si el click es dentro del panel overlay del input-select, no cerrar
38
+ if (this._overlayRef?.overlayElement.contains(target)) {
39
+ return;
40
+ }
30
41
  const container = document.getElementById(this.componentId);
31
- const containerTextfield = container?.querySelector('.container-textfield');
32
- const containerList = container?.querySelector('.container-list');
33
- // 1. Cierra la lista si el click está completamente fuera del componente
34
- if (container && !container.contains(target)) {
42
+ // Si container es null significa que ya no está en el DOM
43
+ // (p.ej. el button-filter cerró y eliminó el host del DOM) → cerrar
44
+ // Si está en el DOM y el click fue fuera cerrar
45
+ if (!container || !container.contains(target)) {
35
46
  this.closeList();
36
47
  }
37
- // 2. Si el click está dentro del componente pero
38
- // NO está ni en el textfield ni en la lista, también cierra
39
- else if (containerTextfield && containerList) {
40
- const clickEnTextfield = containerTextfield.contains(target);
41
- const clickEnLista = containerList.contains(target);
42
- if (!clickEnTextfield && !clickEnLista) {
43
- this.closeList();
44
- }
45
- }
46
48
  }
47
49
  closeList(event) {
48
50
  if (event) {
49
51
  event.stopImmediatePropagation();
50
52
  }
51
53
  this.isFocused = false;
52
- this.showList = false;
53
- if (!this.selected && !this.showList && this.required) {
54
+ this._closePanel();
55
+ if (!this.selected && this.required) {
54
56
  this.isAlertText = true;
55
57
  }
56
58
  else {
@@ -68,8 +70,10 @@ export class InputSelectComponent {
68
70
  return;
69
71
  }
70
72
  this.isFocused = true;
71
- this.showList = true;
72
73
  this.hasClickedInside = true;
74
+ if (!this.showList) {
75
+ this._openPanel();
76
+ }
73
77
  }
74
78
  onBlur() {
75
79
  this.isFocused = false;
@@ -92,7 +96,7 @@ export class InputSelectComponent {
92
96
  onSelectOption() {
93
97
  this.selected = true;
94
98
  this.isFocused = false;
95
- this.showList = false;
99
+ this._closePanel();
96
100
  this.isAlertText = false;
97
101
  }
98
102
  onDropBlock(event) {
@@ -103,13 +107,42 @@ export class InputSelectComponent {
103
107
  // Evita que se permita arrastrar texto sobre el input
104
108
  event.preventDefault();
105
109
  }
106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
107
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputSelectComponent, isStandalone: true, selector: "ius-input-select", inputs: { componentId: "componentId", required: "required", disabled: "disabled", showHelpText: "showHelpText", labelSuperior: "labelSuperior", labelInferior: "labelInferior", labelInput: "labelInput", iconInput: "iconInput", textInput: "textInput", maxlenght: "maxlenght", inputType: "inputType" }, outputs: { onChangesValueEvent: "onChangesValueEvent", onEnterKey: "onEnterKey" }, host: { listeners: { "document:click": "onClickOutside($event)" } }, ngImport: i0, template: "<div class=\"container-general\" [id]=\"componentId\">\r\n @if (labelSuperior) {\r\n <div class=\"container-label-sup\" [ngClass]=\"{\r\n 'disabled': disabled\r\n }\">\r\n @if(!disabled && required){\r\n <div class=\"icon-dot\"></div>\r\n }\r\n <span class=\"\">{{labelSuperior}}</span>\r\n @if(!disabled && showHelpText){\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-color-help\"></ius-icon-md>\r\n }\r\n <span>:</span>\r\n </div>\r\n }\r\n <div class=\"container-textfield\" [ngClass]=\"{\r\n 'disabled': disabled,\r\n 'focused': isFocused,\r\n 'alert': !isFocused && isAlertText && !disabled\r\n }\" (click)=\"onFocus()\">\r\n @if (iconInput) {\r\n <ius-icon-md [iconName]=\"iconInput\" class=\"icon-color\"></ius-icon-md>\r\n }\r\n <input [type]=\"inputType\" [(ngModel)]=\"textInput\" [placeholder]=\"labelInput\" [disabled]=\"disabled\" (input)=\"onInput()\"\r\n [maxlength]=\"maxlenght ?? null\" (focus)=\"onFocus()\" (blur)=\"onBlur()\"\r\n (keypress)=\"onKeyPress($event)\" (drop)=\"onDropBlock($event)\" (dragover)=\"onDragOverBlock($event)\">\r\n <div class=\"cnt-icon-right\">\r\n @if(!showList){\r\n <ius-icon-md iconName=\"icon-keyboard-arrow-down\" class=\"icon-arrows\"></ius-icon-md>\r\n }@else{\r\n <div (click)=\"closeList($event)\" style=\"height: 20px;\">\r\n <ius-icon-md iconName=\"icon-keyboard-arrow-up\" class=\"icon-arrows\"></ius-icon-md>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if (labelInferior && isFocused) {\r\n <span class=\"label-inf\">{{labelInferior}}</span>\r\n }\r\n @if (labelInferior && !isFocused && isAlertText) {\r\n <span class=\"label-inf\" [ngClass]=\"{\r\n 'alert': !isFocused && isAlertText && !disabled\r\n }\">{{labelInferior}}</span>\r\n }\r\n @if (showList) {\r\n <div class=\"container-list scrollable-small\">\r\n <div (click)=\"onSelectOption()\">\r\n <ng-content selector=\"ius-option\"></ng-content>\r\n </div>\r\n </div>\r\n }\r\n</div>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.container-general{position:relative;height:100%}.container-textfield{display:flex;padding:10px 12px;justify-content:center;align-items:flex-start;gap:4px;cursor:pointer;border:1px solid #f5f5f5;border-radius:8px;background:#f5f5f5;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.container-textfield:hover:not(.disabled):not(.focused):not(.alert){background:#edf6ff}.container-textfield.focused{border:1px solid #0581BC;background:#edf6ff}.container-textfield.disabled{cursor:default;background:#f5f5f5}.container-textfield.disabled .icon-color,.container-textfield.disabled .icon-arrows,.container-textfield.disabled input{color:#bfbfbf}.container-textfield.disabled input::placeholder{color:#bfbfbf;opacity:1}.container-textfield.alert{border:1px solid #DB2E2A;background:#fff4f0}.container-textfield .icon-arrows{pointer-events:none}.container-textfield .icon-arrows svg{pointer-events:none}.icon-color{color:#595959}.icon-arrows{color:#333}input{display:flex;align-items:center;flex:1 0 0;border:none;outline:none;background-color:transparent;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.cnt-icon-right{display:flex;align-items:center;justify-content:center;background:none;padding:0;color:#333}.container-label-sup{display:flex;align-items:center;gap:4px;margin-bottom:8px;color:#333;font-family:Roboto,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.container-label-sup.disabled{color:#bfbfbf}.icon-dot{display:flex;align-items:center;width:4px;height:4px;aspect-ratio:1/1;background-color:#db2e2a;border-radius:100px}.icon-color-help{color:#8c8c8c}.label-inf{display:flex;position:absolute;margin-top:4px;color:#595959;font-family:Roboto,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}.label-inf.alert{color:#931224}.container-list{position:absolute;max-height:144px;width:100%;display:flex;flex-direction:column;margin-top:4px;border-radius:8px;background:#fff;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a;z-index:1000;overflow-y:auto}.scrollable-small::-webkit-scrollbar{-webkit-appearance:none}.scrollable-small::-webkit-scrollbar:vertical{width:4px;height:32px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar:horizontal{height:5px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar-thumb{background-color:#08a6db;border-radius:4px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
110
+ _openPanel() {
111
+ const positionStrategy = this._overlay
112
+ .position()
113
+ .flexibleConnectedTo(this._el)
114
+ .withFlexibleDimensions(false)
115
+ .withPush(false)
116
+ .withPositions([
117
+ { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetY: 4 },
118
+ { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetY: -4 },
119
+ ]);
120
+ this._overlayRef = this._overlay.create({
121
+ positionStrategy,
122
+ scrollStrategy: this._overlay.scrollStrategies.reposition(),
123
+ width: this._el.nativeElement.getBoundingClientRect().width,
124
+ });
125
+ this._overlayRef.attach(new TemplatePortal(this.listPanel, this._vcr));
126
+ }
127
+ _closePanel() {
128
+ if (this._overlayRef) {
129
+ this._overlayRef.dispose();
130
+ this._overlayRef = null;
131
+ }
132
+ }
133
+ ngOnDestroy() {
134
+ this._closePanel();
135
+ }
136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputSelectComponent, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
137
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputSelectComponent, isStandalone: true, selector: "ius-input-select", inputs: { componentId: "componentId", required: "required", disabled: "disabled", showHelpText: "showHelpText", labelSuperior: "labelSuperior", labelInferior: "labelInferior", labelInput: "labelInput", iconInput: "iconInput", textInput: "textInput", maxlenght: "maxlenght", inputType: "inputType" }, outputs: { onChangesValueEvent: "onChangesValueEvent", onEnterKey: "onEnterKey" }, host: { listeners: { "document:click": "onClickOutside($event)" } }, viewQueries: [{ propertyName: "listPanel", first: true, predicate: ["listPanel"], descendants: true }], ngImport: i0, template: "<div class=\"container-general\" [id]=\"componentId\">\r\n @if (labelSuperior) {\r\n <div class=\"container-label-sup\" [ngClass]=\"{\r\n 'disabled': disabled\r\n }\">\r\n @if(!disabled && required){\r\n <div class=\"icon-dot\"></div>\r\n }\r\n <span class=\"\">{{labelSuperior}}</span>\r\n @if(!disabled && showHelpText){\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-color-help\"></ius-icon-md>\r\n }\r\n <span>:</span>\r\n </div>\r\n }\r\n <div class=\"container-textfield\" [ngClass]=\"{\r\n 'disabled': disabled,\r\n 'focused': isFocused,\r\n 'alert': !isFocused && isAlertText && !disabled\r\n }\" (click)=\"onFocus()\">\r\n @if (iconInput) {\r\n <ius-icon-md [iconName]=\"iconInput\" class=\"icon-color\"></ius-icon-md>\r\n }\r\n <input [type]=\"inputType\" [(ngModel)]=\"textInput\" [placeholder]=\"labelInput\" [disabled]=\"disabled\" (input)=\"onInput()\"\r\n [maxlength]=\"maxlenght ?? null\" (focus)=\"onFocus()\" (blur)=\"onBlur()\"\r\n (keypress)=\"onKeyPress($event)\" (drop)=\"onDropBlock($event)\" (dragover)=\"onDragOverBlock($event)\">\r\n <div class=\"cnt-icon-right\">\r\n @if(!showList){\r\n <ius-icon-md iconName=\"icon-keyboard-arrow-down\" class=\"icon-arrows\"></ius-icon-md>\r\n }@else{\r\n <div (click)=\"closeList($event)\" style=\"height: 20px;\">\r\n <ius-icon-md iconName=\"icon-keyboard-arrow-up\" class=\"icon-arrows\"></ius-icon-md>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if (labelInferior && isFocused) {\r\n <span class=\"label-inf\">{{labelInferior}}</span>\r\n }\r\n @if (labelInferior && !isFocused && isAlertText) {\r\n <span class=\"label-inf\" [ngClass]=\"{\r\n 'alert': !isFocused && isAlertText && !disabled\r\n }\">{{labelInferior}}</span>\r\n }\r\n <ng-template #listPanel>\r\n <div class=\"container-list scrollable-small\">\r\n <div (click)=\"onSelectOption()\">\r\n <ng-content selector=\"ius-option\"></ng-content>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.container-general{position:relative;height:100%}.container-textfield{display:flex;padding:10px 12px;justify-content:center;align-items:flex-start;gap:4px;cursor:pointer;border:1px solid #f5f5f5;border-radius:8px;background:#f5f5f5;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.container-textfield:hover:not(.disabled):not(.focused):not(.alert){background:#edf6ff}.container-textfield.focused{border:1px solid #0581BC;background:#edf6ff}.container-textfield.disabled{cursor:default;background:#f5f5f5}.container-textfield.disabled .icon-color,.container-textfield.disabled .icon-arrows,.container-textfield.disabled input{color:#bfbfbf}.container-textfield.disabled input::placeholder{color:#bfbfbf;opacity:1}.container-textfield.alert{border:1px solid #DB2E2A;background:#fff4f0}.container-textfield .icon-arrows{pointer-events:none}.container-textfield .icon-arrows svg{pointer-events:none}.icon-color{color:#595959}.icon-arrows{color:#333}input{display:flex;align-items:center;flex:1 0 0;border:none;outline:none;background-color:transparent;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.cnt-icon-right{display:flex;align-items:center;justify-content:center;background:none;padding:0;color:#333}.container-label-sup{display:flex;align-items:center;gap:4px;margin-bottom:8px;color:#333;font-family:Roboto,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.container-label-sup.disabled{color:#bfbfbf}.icon-dot{display:flex;align-items:center;width:4px;height:4px;aspect-ratio:1/1;background-color:#db2e2a;border-radius:100px}.icon-color-help{color:#8c8c8c}.label-inf{display:flex;position:absolute;margin-top:4px;color:#595959;font-family:Roboto,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}.label-inf.alert{color:#931224}.container-list{max-height:144px;width:100%;display:flex;flex-direction:column;border-radius:8px;background:#fff;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a;overflow-y:auto}.scrollable-small::-webkit-scrollbar{-webkit-appearance:none}.scrollable-small::-webkit-scrollbar:vertical{width:4px;height:32px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar:horizontal{height:5px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar-thumb{background-color:#08a6db;border-radius:4px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
108
138
  }
109
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputSelectComponent, decorators: [{
110
140
  type: Component,
111
- args: [{ selector: 'ius-input-select', standalone: true, imports: [IconMdComponent, FormsModule, CommonModule], template: "<div class=\"container-general\" [id]=\"componentId\">\r\n @if (labelSuperior) {\r\n <div class=\"container-label-sup\" [ngClass]=\"{\r\n 'disabled': disabled\r\n }\">\r\n @if(!disabled && required){\r\n <div class=\"icon-dot\"></div>\r\n }\r\n <span class=\"\">{{labelSuperior}}</span>\r\n @if(!disabled && showHelpText){\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-color-help\"></ius-icon-md>\r\n }\r\n <span>:</span>\r\n </div>\r\n }\r\n <div class=\"container-textfield\" [ngClass]=\"{\r\n 'disabled': disabled,\r\n 'focused': isFocused,\r\n 'alert': !isFocused && isAlertText && !disabled\r\n }\" (click)=\"onFocus()\">\r\n @if (iconInput) {\r\n <ius-icon-md [iconName]=\"iconInput\" class=\"icon-color\"></ius-icon-md>\r\n }\r\n <input [type]=\"inputType\" [(ngModel)]=\"textInput\" [placeholder]=\"labelInput\" [disabled]=\"disabled\" (input)=\"onInput()\"\r\n [maxlength]=\"maxlenght ?? null\" (focus)=\"onFocus()\" (blur)=\"onBlur()\"\r\n (keypress)=\"onKeyPress($event)\" (drop)=\"onDropBlock($event)\" (dragover)=\"onDragOverBlock($event)\">\r\n <div class=\"cnt-icon-right\">\r\n @if(!showList){\r\n <ius-icon-md iconName=\"icon-keyboard-arrow-down\" class=\"icon-arrows\"></ius-icon-md>\r\n }@else{\r\n <div (click)=\"closeList($event)\" style=\"height: 20px;\">\r\n <ius-icon-md iconName=\"icon-keyboard-arrow-up\" class=\"icon-arrows\"></ius-icon-md>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if (labelInferior && isFocused) {\r\n <span class=\"label-inf\">{{labelInferior}}</span>\r\n }\r\n @if (labelInferior && !isFocused && isAlertText) {\r\n <span class=\"label-inf\" [ngClass]=\"{\r\n 'alert': !isFocused && isAlertText && !disabled\r\n }\">{{labelInferior}}</span>\r\n }\r\n @if (showList) {\r\n <div class=\"container-list scrollable-small\">\r\n <div (click)=\"onSelectOption()\">\r\n <ng-content selector=\"ius-option\"></ng-content>\r\n </div>\r\n </div>\r\n }\r\n</div>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.container-general{position:relative;height:100%}.container-textfield{display:flex;padding:10px 12px;justify-content:center;align-items:flex-start;gap:4px;cursor:pointer;border:1px solid #f5f5f5;border-radius:8px;background:#f5f5f5;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.container-textfield:hover:not(.disabled):not(.focused):not(.alert){background:#edf6ff}.container-textfield.focused{border:1px solid #0581BC;background:#edf6ff}.container-textfield.disabled{cursor:default;background:#f5f5f5}.container-textfield.disabled .icon-color,.container-textfield.disabled .icon-arrows,.container-textfield.disabled input{color:#bfbfbf}.container-textfield.disabled input::placeholder{color:#bfbfbf;opacity:1}.container-textfield.alert{border:1px solid #DB2E2A;background:#fff4f0}.container-textfield .icon-arrows{pointer-events:none}.container-textfield .icon-arrows svg{pointer-events:none}.icon-color{color:#595959}.icon-arrows{color:#333}input{display:flex;align-items:center;flex:1 0 0;border:none;outline:none;background-color:transparent;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.cnt-icon-right{display:flex;align-items:center;justify-content:center;background:none;padding:0;color:#333}.container-label-sup{display:flex;align-items:center;gap:4px;margin-bottom:8px;color:#333;font-family:Roboto,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.container-label-sup.disabled{color:#bfbfbf}.icon-dot{display:flex;align-items:center;width:4px;height:4px;aspect-ratio:1/1;background-color:#db2e2a;border-radius:100px}.icon-color-help{color:#8c8c8c}.label-inf{display:flex;position:absolute;margin-top:4px;color:#595959;font-family:Roboto,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}.label-inf.alert{color:#931224}.container-list{position:absolute;max-height:144px;width:100%;display:flex;flex-direction:column;margin-top:4px;border-radius:8px;background:#fff;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a;z-index:1000;overflow-y:auto}.scrollable-small::-webkit-scrollbar{-webkit-appearance:none}.scrollable-small::-webkit-scrollbar:vertical{width:4px;height:32px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar:horizontal{height:5px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar-thumb{background-color:#08a6db;border-radius:4px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"] }]
112
- }], propDecorators: { componentId: [{
141
+ args: [{ selector: 'ius-input-select', standalone: true, imports: [IconMdComponent, FormsModule, CommonModule], template: "<div class=\"container-general\" [id]=\"componentId\">\r\n @if (labelSuperior) {\r\n <div class=\"container-label-sup\" [ngClass]=\"{\r\n 'disabled': disabled\r\n }\">\r\n @if(!disabled && required){\r\n <div class=\"icon-dot\"></div>\r\n }\r\n <span class=\"\">{{labelSuperior}}</span>\r\n @if(!disabled && showHelpText){\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-color-help\"></ius-icon-md>\r\n }\r\n <span>:</span>\r\n </div>\r\n }\r\n <div class=\"container-textfield\" [ngClass]=\"{\r\n 'disabled': disabled,\r\n 'focused': isFocused,\r\n 'alert': !isFocused && isAlertText && !disabled\r\n }\" (click)=\"onFocus()\">\r\n @if (iconInput) {\r\n <ius-icon-md [iconName]=\"iconInput\" class=\"icon-color\"></ius-icon-md>\r\n }\r\n <input [type]=\"inputType\" [(ngModel)]=\"textInput\" [placeholder]=\"labelInput\" [disabled]=\"disabled\" (input)=\"onInput()\"\r\n [maxlength]=\"maxlenght ?? null\" (focus)=\"onFocus()\" (blur)=\"onBlur()\"\r\n (keypress)=\"onKeyPress($event)\" (drop)=\"onDropBlock($event)\" (dragover)=\"onDragOverBlock($event)\">\r\n <div class=\"cnt-icon-right\">\r\n @if(!showList){\r\n <ius-icon-md iconName=\"icon-keyboard-arrow-down\" class=\"icon-arrows\"></ius-icon-md>\r\n }@else{\r\n <div (click)=\"closeList($event)\" style=\"height: 20px;\">\r\n <ius-icon-md iconName=\"icon-keyboard-arrow-up\" class=\"icon-arrows\"></ius-icon-md>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if (labelInferior && isFocused) {\r\n <span class=\"label-inf\">{{labelInferior}}</span>\r\n }\r\n @if (labelInferior && !isFocused && isAlertText) {\r\n <span class=\"label-inf\" [ngClass]=\"{\r\n 'alert': !isFocused && isAlertText && !disabled\r\n }\">{{labelInferior}}</span>\r\n }\r\n <ng-template #listPanel>\r\n <div class=\"container-list scrollable-small\">\r\n <div (click)=\"onSelectOption()\">\r\n <ng-content selector=\"ius-option\"></ng-content>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.container-general{position:relative;height:100%}.container-textfield{display:flex;padding:10px 12px;justify-content:center;align-items:flex-start;gap:4px;cursor:pointer;border:1px solid #f5f5f5;border-radius:8px;background:#f5f5f5;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.container-textfield:hover:not(.disabled):not(.focused):not(.alert){background:#edf6ff}.container-textfield.focused{border:1px solid #0581BC;background:#edf6ff}.container-textfield.disabled{cursor:default;background:#f5f5f5}.container-textfield.disabled .icon-color,.container-textfield.disabled .icon-arrows,.container-textfield.disabled input{color:#bfbfbf}.container-textfield.disabled input::placeholder{color:#bfbfbf;opacity:1}.container-textfield.alert{border:1px solid #DB2E2A;background:#fff4f0}.container-textfield .icon-arrows{pointer-events:none}.container-textfield .icon-arrows svg{pointer-events:none}.icon-color{color:#595959}.icon-arrows{color:#333}input{display:flex;align-items:center;flex:1 0 0;border:none;outline:none;background-color:transparent;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.cnt-icon-right{display:flex;align-items:center;justify-content:center;background:none;padding:0;color:#333}.container-label-sup{display:flex;align-items:center;gap:4px;margin-bottom:8px;color:#333;font-family:Roboto,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.container-label-sup.disabled{color:#bfbfbf}.icon-dot{display:flex;align-items:center;width:4px;height:4px;aspect-ratio:1/1;background-color:#db2e2a;border-radius:100px}.icon-color-help{color:#8c8c8c}.label-inf{display:flex;position:absolute;margin-top:4px;color:#595959;font-family:Roboto,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}.label-inf.alert{color:#931224}.container-list{max-height:144px;width:100%;display:flex;flex-direction:column;border-radius:8px;background:#fff;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a;overflow-y:auto}.scrollable-small::-webkit-scrollbar{-webkit-appearance:none}.scrollable-small::-webkit-scrollbar:vertical{width:4px;height:32px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar:horizontal{height:5px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar-thumb{background-color:#08a6db;border-radius:4px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"] }]
142
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }], propDecorators: { listPanel: [{
143
+ type: ViewChild,
144
+ args: ['listPanel']
145
+ }], componentId: [{
113
146
  type: Input,
114
147
  args: [{ required: true }]
115
148
  }], required: [{
@@ -140,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
140
173
  type: HostListener,
141
174
  args: ['document:click', ['$event']]
142
175
  }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2lucHV0LXNlbGVjdC9pbnB1dC1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtc2VsZWN0L2lucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVM3QyxNQUFNLE9BQU8sb0JBQW9CO0lBUGpDO1FBU0UsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLHFCQUFnQixHQUFZLEtBQUssQ0FBQyxDQUFDLHNFQUFzRTtRQUN6RyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRUMsZ0JBQVcsR0FBVyxFQUFFLENBQUMsQ0FBQywrREFBK0Q7UUFDM0csYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBT3JCLGNBQVMsR0FBWSxFQUFFLENBQUM7UUFFeEIsY0FBUyxHQUFXLE1BQU0sQ0FBQztRQUUxQix3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzlDLGVBQVUsR0FBRyxJ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RyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBSVAsY0FBYztzQkFEYixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJY29uTWRDb21wb25lbnQgfSBmcm9tICcuLi9pY29uLW1kL2ljb24tbWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2l1cy1pbnB1dC1zZWxlY3QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0ljb25NZENvbXBvbmVudCwgRm9ybXNNb2R1bGUsIENvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2lucHV0LXNlbGVjdC5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFNlbGVjdENvbXBvbmVudCB7XHJcblxyXG4gIGlzRm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzQWxlcnRUZXh0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd0xpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBoYXNDbGlja2VkSW5zaWRlOiBib29sZWFuID0gZmFsc2U7IC8vQmFuZGVyYSBwYXJhIGRldGVjdGFyIHF1ZSB5YSBkaWVyb24gZWwgcHJpbWVyIGNsaWNrIGVuIGVsIGNvbXBvbmVudGVcclxuICBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb21wb25lbnRJZDogc3RyaW5nID0gJyc7IC8vRGViZSBtYW5kYXIgdW4gY29tcG9uZW50ZUlEIHBhcmEgbGxhbWFyIGVsIGlucHV0IHZhcmlhcyB2ZWNlc1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93SGVscFRleHQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbGFiZWxTdXBlcmlvcj86IHN0cmluZztcclxuICBASW5wdXQoKSBsYWJlbEluZmVyaW9yPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsSW5wdXQ/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaWNvbklucHV0Pzogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSB0ZXh0SW5wdXQ/OiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBtYXhsZW5naHQ/OiBudW1iZXI7XHJcbiAgQElucHV0KCkgaW5wdXRUeXBlOiBzdHJpbmcgPSAndGV4dCc7XHJcblxyXG4gIEBPdXRwdXQoKSBvbkNoYW5nZXNWYWx1ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIG9uRW50ZXJLZXkgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgLy9Fc3RhIGZ1bmNpb24gcGVybWl0ZSBxdWUgc2UgY2llcnJlIGVsIGxpc3RhZG8gc2kgZWwgdXN1YXJpbyBkYSBjbGljayBlbiBvdHJvIGxhZG8gZnVlcmEgZGVsIGNvbXBvbmVudGVcclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgb25DbGlja091dHNpZGUoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBpZiAoIXRoaXMuaGFzQ2xpY2tlZEluc2lkZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmNvbXBvbmVudElkKTtcclxuICAgIGNvbnN0IGNvbnRhaW5lclRleHRmaWVsZCA9IGNvbnRhaW5lcj8ucXVlcnlTZWxlY3RvcignLmNvbnRhaW5lci10ZXh0ZmllbGQnKTtcclxuICAgIGNvbnN0IGNvbnRhaW5lckxpc3QgPSBjb250YWluZXI/LnF1ZXJ5U2VsZWN0b3IoJy5jb250YWluZXItbGlzdCcpO1xyXG5cclxuICAgIC8vIDEuIENpZXJyYSBsYSBsaXN0YSBzaSBlbCBjbGljayBlc3TDoSBjb21wbGV0YW1lbnRlIGZ1ZXJhIGRlbCBjb21wb25lbnRlXHJcbiAgICBpZiAoY29udGFpbmVyICYmICFjb250YWluZXIuY29udGFpbnModGFyZ2V0KSkge1xyXG4gICAgICB0aGlzLmNsb3NlTGlzdCgpO1xyXG4gICAgfVxyXG4gICAgLy8gMi4gU2kgZWwgY2xpY2sgZXN0w6EgZGVudHJvIGRlbCBjb21wb25lbnRlIHBlcm9cclxuICAgIC8vICAgIE5PIGVzdMOhIG5pIGVuIGVsIHRleHRmaWVsZCBuaSBlbiBsYSBsaXN0YSwgdGFtYmnDqW4gY2llcnJhXHJcbiAgICBlbHNlIGlmIChjb250YWluZXJUZXh0ZmllbGQgJiYgY29udGFpbmVyTGlzdCkge1xyXG4gICAgICBjb25zdCBjbGlja0VuVGV4dGZpZWxkID0gY29udGFpbmVyVGV4dGZpZWxkLmNvbnRhaW5zKHRhcmdldCk7XHJcbiAgICAgIGNvbnN0IGNsaWNrRW5MaXN0YSA9IGNvbnRhaW5lckxpc3QuY29udGFpbnModGFyZ2V0KTtcclxuICAgICAgaWYgKCFjbGlja0VuVGV4dGZpZWxkICYmICFjbGlja0VuTGlzdGEpIHtcclxuICAgICAgICB0aGlzLmNsb3NlTGlzdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgY2xvc2VMaXN0KGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dMaXN0ID0gZmFsc2U7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWQgJiYgIXRoaXMuc2hvd0xpc3QgJiYgdGhpcy5yZXF1aXJlZCkge1xyXG4gICAgICB0aGlzLmlzQWxlcnRUZXh0ID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNBbGVydFRleHQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSW5wdXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQ2hhbmdlc1ZhbHVlRXZlbnQuZW1pdCh0aGlzLnRleHRJbnB1dCk7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0ZvY3VzZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5zaG93TGlzdCA9IHRydWU7XHJcbiAgICB0aGlzLmhhc0NsaWNrZWRJbnNpZGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgb25CbHVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLnJlcXVpcmVkICYmICF0aGlzLnNlbGVjdGVkKSB7XHJcbiAgICAgIGlmICh0aGlzLnRleHRJbnB1dCA9PT0gJycpIHtcclxuICAgICAgICB0aGlzLmlzQWxlcnRUZXh0ID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzQWxlcnRUZXh0ID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uS2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcclxuICAgICAgaWYgKHRoaXMudGV4dElucHV0IS50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgICAgdGhpcy5vbkVudGVyS2V5LmVtaXQodGhpcy50ZXh0SW5wdXQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdE9wdGlvbigpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd0xpc3QgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNBbGVydFRleHQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uRHJvcEJsb2NrKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIC8vIEV2aXRhIHF1ZSBzZSBkcm9wZWUgY29udGVuaWRvIGVuIGVsIGlucHV0XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgb25EcmFnT3ZlckJsb2NrKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIC8vIEV2aXRhIHF1ZSBzZSBwZXJtaXRhIGFycmFzdHJhciB0ZXh0byBzb2JyZSBlbCBpbnB1dFxyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1nZW5lcmFsXCIgW2lkXT1cImNvbXBvbmVudElkXCI+XHJcbiAgQGlmIChsYWJlbFN1cGVyaW9yKSB7XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1sYWJlbC1zdXBcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ2Rpc2FibGVkJzogZGlzYWJsZWRcclxuICAgIH1cIj5cclxuICAgIEBpZighZGlzYWJsZWQgJiYgcmVxdWlyZWQpe1xyXG4gICAgPGRpdiBjbGFzcz1cImljb24tZG90XCI+PC9kaXY+XHJcbiAgICB9XHJcbiAgICA8c3BhbiBjbGFzcz1cIlwiPnt7bGFiZWxTdXBlcmlvcn19PC9zcGFuPlxyXG4gICAgQGlmKCFkaXNhYmxlZCAmJiBzaG93SGVscFRleHQpe1xyXG4gICAgPGl1cy1pY29uLW1kIGljb25OYW1lPVwiaWNvbi1oZWxwXCIgY2xhc3M9XCJpY29uLWNvbG9yLWhlbHBcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgfVxyXG4gICAgPHNwYW4+Ojwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICB9XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci10ZXh0ZmllbGRcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ2Rpc2FibGVkJzogZGlzYWJsZWQsXHJcbiAgICAgICAgJ2ZvY3VzZWQnOiBpc0ZvY3VzZWQsXHJcbiAgICAgICAgJ2FsZXJ0JzogIWlzRm9jdXNlZCAmJiBpc0FsZXJ0VGV4dCAmJiAhZGlzYWJsZWRcclxuICAgIH1cIiAoY2xpY2spPVwib25Gb2N1cygpXCI+XHJcbiAgICBAaWYgKGljb25JbnB1dCkge1xyXG4gICAgPGl1cy1pY29uLW1kIFtpY29uTmFtZV09XCJpY29uSW5wdXRcIiBjbGFzcz1cImljb24tY29sb3JcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgfVxyXG4gICAgPGlucHV0IFt0eXBlXT1cImlucHV0VHlwZVwiIFsobmdNb2RlbCldPVwidGV4dElucHV0XCIgW3BsYWNlaG9sZGVyXT1cImxhYmVsSW5wdXRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAoaW5wdXQpPVwib25JbnB1dCgpXCJcclxuICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5naHQgPz8gbnVsbFwiIChmb2N1cyk9XCJvbkZvY3VzKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIiAoZHJvcCk9XCJvbkRyb3BCbG9jaygkZXZlbnQpXCIgKGRyYWdvdmVyKT1cIm9uRHJhZ092ZXJCbG9jaygkZXZlbnQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY250LWljb24tcmlnaHRcIj5cclxuICAgICAgQGlmKCFzaG93TGlzdCl7XHJcbiAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctZG93blwiIGNsYXNzPVwiaWNvbi1hcnJvd3NcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICB9QGVsc2V7XHJcbiAgICAgIDxkaXYgKGNsaWNrKT1cImNsb3NlTGlzdCgkZXZlbnQpXCIgc3R5bGU9XCJoZWlnaHQ6IDIwcHg7XCI+XHJcbiAgICAgICAgPGl1cy1pY29uLW1kIGljb25OYW1lPVwiaWNvbi1rZXlib2FyZC1hcnJvdy11cFwiIGNsYXNzPVwiaWNvbi1hcnJvd3NcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgQGlmIChsYWJlbEluZmVyaW9yICYmIGlzRm9jdXNlZCkge1xyXG4gIDxzcGFuIGNsYXNzPVwibGFiZWwtaW5mXCI+e3tsYWJlbEluZmVyaW9yfX08L3NwYW4+XHJcbiAgfVxyXG4gIEBpZiAobGFiZWxJbmZlcmlvciAmJiAhaXNGb2N1c2VkICYmIGlzQWxlcnRUZXh0KSB7XHJcbiAgPHNwYW4gY2xhc3M9XCJsYWJlbC1pbmZcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ2FsZXJ0JzogIWlzRm9jdXNlZCAmJiBpc0FsZXJ0VGV4dCAmJiAhZGlzYWJsZWRcclxuICAgIH1cIj57e2xhYmVsSW5mZXJpb3J9fTwvc3Bhbj5cclxuICB9XHJcbiAgQGlmIChzaG93TGlzdCkge1xyXG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItbGlzdCBzY3JvbGxhYmxlLXNtYWxsXCI+XHJcbiAgICA8ZGl2IChjbGljayk9XCJvblNlbGVjdE9wdGlvbigpXCI+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdG9yPVwiaXVzLW9wdGlvblwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+Il19
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2lucHV0LXNlbGVjdC9pbnB1dC1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtc2VsZWN0L2lucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBZSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRXRKLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFTN0MsTUFBTSxPQUFPLG9CQUFvQjtJQVUvQixJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFtQkQsWUFDbUIsR0FBZSxFQUNmLFFBQWlCLEVBQ2pCLElBQXNCO1FBRnRCLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBaEN6QyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBR2xCLGdCQUFXLEdBQXNCLElBQUksQ0FB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Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBU1AsY0FBYztzQkFEYixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IEljb25NZENvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tbWQvaWNvbi1tZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWlucHV0LXNlbGVjdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbSWNvbk1kQ29tcG9uZW50LCBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaW5wdXQtc2VsZWN0LmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0U2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgaXNGb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNBbGVydFRleHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBoYXNDbGlja2VkSW5zaWRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnbGlzdFBhbmVsJykgcHJpdmF0ZSBsaXN0UGFuZWwhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcclxuICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGdldCBzaG93TGlzdCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9vdmVybGF5UmVmICE9PSBudWxsO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29tcG9uZW50SWQ6IHN0cmluZyA9ICcnOyAvL0RlYmUgbWFuZGFyIHVuIGNvbXBvbmVudGVJRCBwYXJhIGxsYW1hciBlbCBpbnB1dCB2YXJpYXMgdmVjZXNcclxuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd0hlbHBUZXh0ID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGxhYmVsU3VwZXJpb3I/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGFiZWxJbmZlcmlvcj86IHN0cmluZztcclxuICBASW5wdXQoKSBsYWJlbElucHV0Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGljb25JbnB1dD86IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgdGV4dElucHV0Pzogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgbWF4bGVuZ2h0PzogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGlucHV0VHlwZTogc3RyaW5nID0gJ3RleHQnO1xyXG5cclxuICBAT3V0cHV0KCkgb25DaGFuZ2VzVmFsdWVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBvbkVudGVyS2V5ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdmNyOiBWaWV3Q29udGFpbmVyUmVmXHJcbiAgKSB7fVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgb25DbGlja091dHNpZGUoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBpZiAoIXRoaXMuaGFzQ2xpY2tlZEluc2lkZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgLy8gU2kgZWwgY2xpY2sgZXMgZGVudHJvIGRlbCBwYW5lbCBvdmVybGF5IGRlbCBpbnB1dC1zZWxlY3QsIG5vIGNlcnJhclxyXG4gICAgaWYgKHRoaXMuX292ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29tcG9uZW50SWQpO1xyXG5cclxuICAgIC8vIFNpIGNvbnRhaW5lciBlcyBudWxsIHNpZ25pZmljYSBxdWUgeWEgbm8gZXN0w6EgZW4gZWwgRE9NXHJcbiAgICAvLyAocC5lai4gZWwgYnV0dG9uLWZpbHRlciBjZXJyw7MgeSBlbGltaW7DsyBlbCBob3N0IGRlbCBET00pIOKGkiBjZXJyYXJcclxuICAgIC8vIFNpIGVzdMOhIGVuIGVsIERPTSB5IGVsIGNsaWNrIGZ1ZSBmdWVyYSDihpIgY2VycmFyXHJcbiAgICBpZiAoIWNvbnRhaW5lciB8fCAhY29udGFpbmVyLmNvbnRhaW5zKHRhcmdldCkpIHtcclxuICAgICAgdGhpcy5jbG9zZUxpc3QoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBjbG9zZUxpc3QoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuX2Nsb3NlUGFuZWwoKTtcclxuICAgIGlmICghdGhpcy5zZWxlY3RlZCAmJiB0aGlzLnJlcXVpcmVkKSB7XHJcbiAgICAgIHRoaXMuaXNBbGVydFRleHQgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pc0FsZXJ0VGV4dCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25JbnB1dCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMub25DaGFuZ2VzVmFsdWVFdmVudC5lbWl0KHRoaXMudGV4dElucHV0KTtcclxuICB9XHJcblxyXG4gIG9uRm9jdXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XHJcbiAgICB0aGlzLmhhc0NsaWNrZWRJbnNpZGUgPSB0cnVlO1xyXG4gICAgaWYgKCF0aGlzLnNob3dMaXN0KSB7XHJcbiAgICAgIHRoaXMuX29wZW5QYW5lbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25CbHVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLnJlcXVpcmVkICYmICF0aGlzLnNlbGVjdGVkKSB7XHJcbiAgICAgIGlmICh0aGlzLnRleHRJbnB1dCA9PT0gJycpIHtcclxuICAgICAgICB0aGlzLmlzQWxlcnRUZXh0ID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzQWxlcnRUZXh0ID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uS2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcclxuICAgICAgaWYgKHRoaXMudGV4dElucHV0IS50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgICAgdGhpcy5vbkVudGVyS2V5LmVtaXQodGhpcy50ZXh0SW5wdXQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdE9wdGlvbigpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuX2Nsb3NlUGFuZWwoKTtcclxuICAgIHRoaXMuaXNBbGVydFRleHQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uRHJvcEJsb2NrKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIC8vIEV2aXRhIHF1ZSBzZSBkcm9wZWUgY29udGVuaWRvIGVuIGVsIGlucHV0XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgb25EcmFnT3ZlckJsb2NrKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIC8vIEV2aXRhIHF1ZSBzZSBwZXJtaXRhIGFycmFzdHJhciB0ZXh0byBzb2JyZSBlbCBpbnB1dFxyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29wZW5QYW5lbCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5XHJcbiAgICAgIC5wb3NpdGlvbigpXHJcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuX2VsKVxyXG4gICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSlcclxuICAgICAgLndpdGhQdXNoKGZhbHNlKVxyXG4gICAgICAud2l0aFBvc2l0aW9ucyhbXHJcbiAgICAgICAgeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WTogNCB9LFxyXG4gICAgICAgIHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ3RvcCcsICAgIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFk6IC00IH0sXHJcbiAgICAgIF0pO1xyXG5cclxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxyXG4gICAgICB3aWR0aDogdGhpcy5fZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCxcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmxpc3RQYW5lbCwgdGhpcy5fdmNyKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jbG9zZVBhbmVsKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kaXNwb3NlKCk7XHJcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jbG9zZVBhbmVsKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItZ2VuZXJhbFwiIFtpZF09XCJjb21wb25lbnRJZFwiPlxyXG4gIEBpZiAobGFiZWxTdXBlcmlvcikge1xyXG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItbGFiZWwtc3VwXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICdkaXNhYmxlZCc6IGRpc2FibGVkXHJcbiAgICB9XCI+XHJcbiAgICBAaWYoIWRpc2FibGVkICYmIHJlcXVpcmVkKXtcclxuICAgIDxkaXYgY2xhc3M9XCJpY29uLWRvdFwiPjwvZGl2PlxyXG4gICAgfVxyXG4gICAgPHNwYW4gY2xhc3M9XCJcIj57e2xhYmVsU3VwZXJpb3J9fTwvc3Bhbj5cclxuICAgIEBpZighZGlzYWJsZWQgJiYgc2hvd0hlbHBUZXh0KXtcclxuICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24taGVscFwiIGNsYXNzPVwiaWNvbi1jb2xvci1oZWxwXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgIH1cclxuICAgIDxzcGFuPjo8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItdGV4dGZpZWxkXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICdkaXNhYmxlZCc6IGRpc2FibGVkLFxyXG4gICAgICAgICdmb2N1c2VkJzogaXNGb2N1c2VkLFxyXG4gICAgICAgICdhbGVydCc6ICFpc0ZvY3VzZWQgJiYgaXNBbGVydFRleHQgJiYgIWRpc2FibGVkXHJcbiAgICB9XCIgKGNsaWNrKT1cIm9uRm9jdXMoKVwiPlxyXG4gICAgQGlmIChpY29uSW5wdXQpIHtcclxuICAgIDxpdXMtaWNvbi1tZCBbaWNvbk5hbWVdPVwiaWNvbklucHV0XCIgY2xhc3M9XCJpY29uLWNvbG9yXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgIH1cclxuICAgIDxpbnB1dCBbdHlwZV09XCJpbnB1dFR5cGVcIiBbKG5nTW9kZWwpXT1cInRleHRJbnB1dFwiIFtwbGFjZWhvbGRlcl09XCJsYWJlbElucHV0XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKGlucHV0KT1cIm9uSW5wdXQoKVwiXHJcbiAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ2h0ID8/IG51bGxcIiAoZm9jdXMpPVwib25Gb2N1cygpXCIgKGJsdXIpPVwib25CbHVyKClcIlxyXG4gICAgICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCIgKGRyb3ApPVwib25Ecm9wQmxvY2soJGV2ZW50KVwiIChkcmFnb3Zlcik9XCJvbkRyYWdPdmVyQmxvY2soJGV2ZW50KVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNudC1pY29uLXJpZ2h0XCI+XHJcbiAgICAgIEBpZighc2hvd0xpc3Qpe1xyXG4gICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LWRvd25cIiBjbGFzcz1cImljb24tYXJyb3dzXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgfUBlbHNle1xyXG4gICAgICA8ZGl2IChjbGljayk9XCJjbG9zZUxpc3QoJGV2ZW50KVwiIHN0eWxlPVwiaGVpZ2h0OiAyMHB4O1wiPlxyXG4gICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctdXBcIiBjbGFzcz1cImljb24tYXJyb3dzXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIEBpZiAobGFiZWxJbmZlcmlvciAmJiBpc0ZvY3VzZWQpIHtcclxuICA8c3BhbiBjbGFzcz1cImxhYmVsLWluZlwiPnt7bGFiZWxJbmZlcmlvcn19PC9zcGFuPlxyXG4gIH1cclxuICBAaWYgKGxhYmVsSW5mZXJpb3IgJiYgIWlzRm9jdXNlZCAmJiBpc0FsZXJ0VGV4dCkge1xyXG4gIDxzcGFuIGNsYXNzPVwibGFiZWwtaW5mXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICdhbGVydCc6ICFpc0ZvY3VzZWQgJiYgaXNBbGVydFRleHQgJiYgIWRpc2FibGVkXHJcbiAgICB9XCI+e3tsYWJlbEluZmVyaW9yfX08L3NwYW4+XHJcbiAgfVxyXG4gIDxuZy10ZW1wbGF0ZSAjbGlzdFBhbmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1saXN0IHNjcm9sbGFibGUtc21hbGxcIj5cclxuICAgICAgPGRpdiAoY2xpY2spPVwib25TZWxlY3RPcHRpb24oKVwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdG9yPVwiaXVzLW9wdGlvblwiPjwvbmctY29udGVudD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj4iXX0=