@sapphire-ion/framework 1.0.16 → 1.0.17
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.
- package/esm2022/lib/components/drawer/drawer-group/drawer-group.component.mjs +3 -3
- package/esm2022/lib/components/drawer/drawer.component.mjs +52 -13
- package/esm2022/lib/components/inputs/input-bool/input-bool.component.mjs +2 -2
- package/esm2022/lib/components/inputs/input-cep/input-cep.component.mjs +2 -2
- package/esm2022/lib/components/inputs/input-color/input-color.component.mjs +2 -2
- package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.mjs +2 -2
- package/esm2022/lib/components/inputs/input-date/input-date.component.mjs +2 -2
- package/esm2022/lib/components/inputs/input-decimal/input-decimal.component.mjs +2 -2
- package/esm2022/lib/components/inputs/input-file/input-file.component.mjs +2 -2
- package/esm2022/lib/components/inputs/input-icon/input-icon.component.mjs +2 -2
- package/esm2022/lib/components/inputs/input-select/input-select.component.mjs +2 -2
- package/esm2022/lib/components/inputs/input-string/input-string.component.mjs +2 -2
- package/esm2022/lib/components/inputs/input-telefone/input-telefone.component.mjs +2 -2
- package/esm2022/lib/components/inputs/input-textarea/input-textarea.component.mjs +2 -2
- package/fesm2022/sapphire-ion-framework.mjs +65 -33
- package/fesm2022/sapphire-ion-framework.mjs.map +1 -1
- package/lib/components/drawer/drawer.component.d.ts +12 -2
- package/package.json +1 -1
- package/themes/compiled-styles.scss +17 -0
- package/themes/components/drawer/drawer-group/drawer-group.component.scss +1 -1
- package/themes/components/drawer/drawer.component.scss +58 -2
- package/themes/components/inputs/inputs.scss +1 -1
|
@@ -34,11 +34,11 @@ export class DrawerGroupComponent {
|
|
|
34
34
|
this.genericService.SetTitle(item.title);
|
|
35
35
|
}
|
|
36
36
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerGroupComponent, deps: [{ token: i1.Router }, { token: i2.NavController }, { token: i3.GenericService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DrawerGroupComponent, isStandalone: true, selector: "drawer-group", inputs: { MenuGroup: "MenuGroup", colapsed: "colapsed", useTranslation: "useTranslation" }, viewQueries: [{ propertyName: "lstIonAcordionGroup", predicate: IonAccordionGroup, descendants: true }], ngImport: i0, template: "<div class=\"size-full flex flex-col verflow-hidden\">\r\n <div class=\"w-full text-center\">\r\n <!-- <ion-item class=\"bg-inactive bg-active\" lines=\"none\" style=\"--border-radius: 1rem\">\r\n <ion-label class=\"text-center\">\r\n <ion-icon class=\"text-2xl\" [name]=\"MenuGroup.icon\"></ion-icon> <br>\r\n <ion-text class=\"text-lg\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + MenuGroup.id | translate) : MenuGroup.title}} \r\n </ion-text>\r\n </ion-label>\r\n </ion-item> -->\r\n <div class=\"gradient-background header flex flex-col gap-1 p-2 text-center items-center justify-center rounded-xl\">\r\n <ion-icon class=\"text-2xl\" [name]=\"MenuGroup.icon\"></ion-icon>\r\n <ion-text class=\"text-dark\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + MenuGroup.id | translate) : MenuGroup.title}} \r\n </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-col gap-2 w-full pt-2 mask-y overflow-y-auto\">\r\n @for (mGroup of MenuGroup.lstMenu; track $index) {\r\n <!-- Menu -->\r\n @if(mGroup.type == \"Menu\"){\r\n <div (click)=\"HandleNav(mGroup, $event)\" \r\n class=\"bg-inactive gradient-background menu\"\r\n [
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DrawerGroupComponent, isStandalone: true, selector: "drawer-group", inputs: { MenuGroup: "MenuGroup", colapsed: "colapsed", useTranslation: "useTranslation" }, viewQueries: [{ propertyName: "lstIonAcordionGroup", predicate: IonAccordionGroup, descendants: true }], ngImport: i0, template: "<div class=\"size-full flex flex-col verflow-hidden\">\r\n <div class=\"w-full text-center\">\r\n <!-- <ion-item class=\"bg-inactive bg-active\" lines=\"none\" style=\"--border-radius: 1rem\">\r\n <ion-label class=\"text-center\">\r\n <ion-icon class=\"text-2xl\" [name]=\"MenuGroup.icon\"></ion-icon> <br>\r\n <ion-text class=\"text-lg\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + MenuGroup.id | translate) : MenuGroup.title}} \r\n </ion-text>\r\n </ion-label>\r\n </ion-item> -->\r\n <div class=\"gradient-background header flex flex-col gap-1 p-2 text-center items-center justify-center rounded-xl\">\r\n <ion-icon class=\"text-2xl\" [name]=\"MenuGroup.icon\"></ion-icon>\r\n <ion-text class=\"text-dark\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + MenuGroup.id | translate) : MenuGroup.title}} \r\n </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-col gap-2 w-full pt-2 mask-y overflow-y-auto\">\r\n @for (mGroup of MenuGroup.lstMenu; track $index) {\r\n <!-- Menu -->\r\n @if(mGroup.type == \"Menu\"){\r\n <div (click)=\"HandleNav(mGroup, $event)\" \r\n class=\"bg-inactive gradient-background menu\"\r\n [class.bg-active]=\"router.isActive('/' + mGroup.route, false)\"\r\n >\r\n <div class=\"content\">\r\n <ion-icon class=\"shrink-0\" [name]=\"mGroup.icon\"></ion-icon>\r\n <ion-label class=\"shrink\">\r\n {{useTranslation ? (TranslationModule.Permissao + mGroup.id | translate) : mGroup.title}} \r\n </ion-label>\r\n </div>\r\n </div>\r\n <!-- <ion-item \r\n class=\"bg-inactive shrink-0\" lines=\"none\" \r\n (click)=\"HandleNav(mGroup)\"\r\n [ngClass]=\"{'colapsed': colapsed, 'bg-active' : router.isActive('/' + mGroup.route, false)}\">\r\n <ion-icon slot=\"start\" [name]=\"mGroup.icon\"></ion-icon>\r\n <ion-label class=\"ion-text-nowrap\">\r\n {{useTranslation ? (TranslationModule.Permissao + mGroup.id | translate) : mGroup.title}} \r\n </ion-label>\r\n </ion-item> -->\r\n } \r\n @else if (mGroup.type == \"MenuGroup\") {\r\n <!-- MenuGroup -->\r\n <!-- <div class=\"w-full overflow-hidden shrink-0\">\r\n <ion-accordion-group class=\"ion-text-nowrap w-full\">\r\n <ion-accordion class=\"bg-transparent\" [value]=\"mGroup\">\r\n <ion-item slot=\"header\" color=\"light\" class=\"ion-text-nowrap bg-inactive\" style=\"--ion-color-base: var(--background) !important\">\r\n <ion-icon slot=\"start\" [name]=\"mGroup.icon\"></ion-icon>\r\n <ion-label>\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + mGroup.id | translate) : mGroup.title}}\r\n </ion-label>\r\n </ion-item>\r\n <div slot=\"content\">\r\n <div class=\"pl-8\">\r\n <div class=\"w-full border-l-2 border-solid rounded-bl-2xl grid gap-2 pl-2 py-2\" style=\"border-color: color-mix(in srgb, var(--ion-color-primary) 30%, transparent 70%)\">\r\n @for (mMenu of mGroup.lstMenu; track $index) {\r\n @if (mMenu.type == \"Menu\") {\r\n <ion-item \r\n class=\"bg-inactive\" lines=\"none\" \r\n (click)=\"HandleNav(mMenu)\"\r\n [ngClass]=\"{'colapsed': colapsed, 'bg-active' : router.isActive('/' + mMenu.route, false)}\">\r\n <ion-icon slot=\"start\" [name]=\"mMenu.icon\"></ion-icon>\r\n <ion-label class=\"ion-text-nowrap\">\r\n {{useTranslation ? (TranslationModule.Permissao + mMenu.id | translate) : mMenu.title}}\r\n </ion-label>\r\n </ion-item>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </ion-accordion>\r\n </ion-accordion-group>\r\n </div> -->\r\n }\r\n }\r\n </div>\r\n</div>", styles: [".menu{display:flex;flex-shrink:0;cursor:pointer;align-items:center;justify-content:flex-start;overflow:hidden;border-radius:.75rem;padding:.375rem;transition:--color-primary,--step-1-opacity,--step-2-opacity .2s ease-in-out;--inset: var(--color-primary) 0px 1.75px 2px 0px inset;box-shadow:var(--inset)}.menu .content{display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.menu.bg-active:after{content:\"\";position:absolute;top:50%;right:0;width:.375rem;height:75%;transform:translateY(-50%);border-radius:inherit;background-color:color-mix(in srgb,var(--ion-color-primary) 70%,transparent);opacity:1!important;filter:drop-shadow(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0px 0px 3px)}.menu.bg-active:before{content:\"\";position:absolute;top:50%;right:-2.3rem;width:5rem;height:7rem;transform:translateY(-50%);border-radius:inherit;opacity:.5!important;background:radial-gradient(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0%,transparent 66%)}.menu.bg-inactive{--color-primary: var(--ion-color-step-250);--step-1-opacity: .5;--step-2-opacity: .4;--step-3-opacity: .8;position:relative}.menu.bg-inactive:after{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}.menu.bg-inactive:before{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}.header{--color-primary: var(--ion-color-primary) !important;--step-1-opacity: .7 !important;--step-2-opacity: .3 !important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
38
38
|
}
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerGroupComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
|
-
args: [{ standalone: true, imports: [CommonModule, IonicModule, RouterLinkWithHref, TranslateModule], selector: 'drawer-group', template: "<div class=\"size-full flex flex-col verflow-hidden\">\r\n <div class=\"w-full text-center\">\r\n <!-- <ion-item class=\"bg-inactive bg-active\" lines=\"none\" style=\"--border-radius: 1rem\">\r\n <ion-label class=\"text-center\">\r\n <ion-icon class=\"text-2xl\" [name]=\"MenuGroup.icon\"></ion-icon> <br>\r\n <ion-text class=\"text-lg\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + MenuGroup.id | translate) : MenuGroup.title}} \r\n </ion-text>\r\n </ion-label>\r\n </ion-item> -->\r\n <div class=\"gradient-background header flex flex-col gap-1 p-2 text-center items-center justify-center rounded-xl\">\r\n <ion-icon class=\"text-2xl\" [name]=\"MenuGroup.icon\"></ion-icon>\r\n <ion-text class=\"text-dark\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + MenuGroup.id | translate) : MenuGroup.title}} \r\n </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-col gap-2 w-full pt-2 mask-y overflow-y-auto\">\r\n @for (mGroup of MenuGroup.lstMenu; track $index) {\r\n <!-- Menu -->\r\n @if(mGroup.type == \"Menu\"){\r\n <div (click)=\"HandleNav(mGroup, $event)\" \r\n class=\"bg-inactive gradient-background menu\"\r\n [
|
|
41
|
+
args: [{ standalone: true, imports: [CommonModule, IonicModule, RouterLinkWithHref, TranslateModule], selector: 'drawer-group', template: "<div class=\"size-full flex flex-col verflow-hidden\">\r\n <div class=\"w-full text-center\">\r\n <!-- <ion-item class=\"bg-inactive bg-active\" lines=\"none\" style=\"--border-radius: 1rem\">\r\n <ion-label class=\"text-center\">\r\n <ion-icon class=\"text-2xl\" [name]=\"MenuGroup.icon\"></ion-icon> <br>\r\n <ion-text class=\"text-lg\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + MenuGroup.id | translate) : MenuGroup.title}} \r\n </ion-text>\r\n </ion-label>\r\n </ion-item> -->\r\n <div class=\"gradient-background header flex flex-col gap-1 p-2 text-center items-center justify-center rounded-xl\">\r\n <ion-icon class=\"text-2xl\" [name]=\"MenuGroup.icon\"></ion-icon>\r\n <ion-text class=\"text-dark\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + MenuGroup.id | translate) : MenuGroup.title}} \r\n </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-col gap-2 w-full pt-2 mask-y overflow-y-auto\">\r\n @for (mGroup of MenuGroup.lstMenu; track $index) {\r\n <!-- Menu -->\r\n @if(mGroup.type == \"Menu\"){\r\n <div (click)=\"HandleNav(mGroup, $event)\" \r\n class=\"bg-inactive gradient-background menu\"\r\n [class.bg-active]=\"router.isActive('/' + mGroup.route, false)\"\r\n >\r\n <div class=\"content\">\r\n <ion-icon class=\"shrink-0\" [name]=\"mGroup.icon\"></ion-icon>\r\n <ion-label class=\"shrink\">\r\n {{useTranslation ? (TranslationModule.Permissao + mGroup.id | translate) : mGroup.title}} \r\n </ion-label>\r\n </div>\r\n </div>\r\n <!-- <ion-item \r\n class=\"bg-inactive shrink-0\" lines=\"none\" \r\n (click)=\"HandleNav(mGroup)\"\r\n [ngClass]=\"{'colapsed': colapsed, 'bg-active' : router.isActive('/' + mGroup.route, false)}\">\r\n <ion-icon slot=\"start\" [name]=\"mGroup.icon\"></ion-icon>\r\n <ion-label class=\"ion-text-nowrap\">\r\n {{useTranslation ? (TranslationModule.Permissao + mGroup.id | translate) : mGroup.title}} \r\n </ion-label>\r\n </ion-item> -->\r\n } \r\n @else if (mGroup.type == \"MenuGroup\") {\r\n <!-- MenuGroup -->\r\n <!-- <div class=\"w-full overflow-hidden shrink-0\">\r\n <ion-accordion-group class=\"ion-text-nowrap w-full\">\r\n <ion-accordion class=\"bg-transparent\" [value]=\"mGroup\">\r\n <ion-item slot=\"header\" color=\"light\" class=\"ion-text-nowrap bg-inactive\" style=\"--ion-color-base: var(--background) !important\">\r\n <ion-icon slot=\"start\" [name]=\"mGroup.icon\"></ion-icon>\r\n <ion-label>\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + mGroup.id | translate) : mGroup.title}}\r\n </ion-label>\r\n </ion-item>\r\n <div slot=\"content\">\r\n <div class=\"pl-8\">\r\n <div class=\"w-full border-l-2 border-solid rounded-bl-2xl grid gap-2 pl-2 py-2\" style=\"border-color: color-mix(in srgb, var(--ion-color-primary) 30%, transparent 70%)\">\r\n @for (mMenu of mGroup.lstMenu; track $index) {\r\n @if (mMenu.type == \"Menu\") {\r\n <ion-item \r\n class=\"bg-inactive\" lines=\"none\" \r\n (click)=\"HandleNav(mMenu)\"\r\n [ngClass]=\"{'colapsed': colapsed, 'bg-active' : router.isActive('/' + mMenu.route, false)}\">\r\n <ion-icon slot=\"start\" [name]=\"mMenu.icon\"></ion-icon>\r\n <ion-label class=\"ion-text-nowrap\">\r\n {{useTranslation ? (TranslationModule.Permissao + mMenu.id | translate) : mMenu.title}}\r\n </ion-label>\r\n </ion-item>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </ion-accordion>\r\n </ion-accordion-group>\r\n </div> -->\r\n }\r\n }\r\n </div>\r\n</div>", styles: [".menu{display:flex;flex-shrink:0;cursor:pointer;align-items:center;justify-content:flex-start;overflow:hidden;border-radius:.75rem;padding:.375rem;transition:--color-primary,--step-1-opacity,--step-2-opacity .2s ease-in-out;--inset: var(--color-primary) 0px 1.75px 2px 0px inset;box-shadow:var(--inset)}.menu .content{display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.menu.bg-active:after{content:\"\";position:absolute;top:50%;right:0;width:.375rem;height:75%;transform:translateY(-50%);border-radius:inherit;background-color:color-mix(in srgb,var(--ion-color-primary) 70%,transparent);opacity:1!important;filter:drop-shadow(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0px 0px 3px)}.menu.bg-active:before{content:\"\";position:absolute;top:50%;right:-2.3rem;width:5rem;height:7rem;transform:translateY(-50%);border-radius:inherit;opacity:.5!important;background:radial-gradient(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0%,transparent 66%)}.menu.bg-inactive{--color-primary: var(--ion-color-step-250);--step-1-opacity: .5;--step-2-opacity: .4;--step-3-opacity: .8;position:relative}.menu.bg-inactive:after{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}.menu.bg-inactive:before{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}.header{--color-primary: var(--ion-color-primary) !important;--step-1-opacity: .7 !important;--step-2-opacity: .3 !important}\n"] }]
|
|
42
42
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.NavController }, { type: i3.GenericService }], propDecorators: { MenuGroup: [{
|
|
43
43
|
type: Input
|
|
44
44
|
}], colapsed: [{
|
|
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
49
49
|
type: ViewChildren,
|
|
50
50
|
args: [IonAccordionGroup]
|
|
51
51
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kcmF3ZXIvZHJhd2VyLWdyb3VwL2RyYXdlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZHJhd2VyL2RyYXdlci1ncm91cC9kcmF3ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFnQixpQkFBaUIsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0YsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBU3RELE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFDUyxNQUFjLEVBQ2IsYUFBNEIsRUFDNUIsY0FBOEI7UUFGL0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNiLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVh4QyxzQkFBaUIsR0FBUTtZQUN2QixTQUFTLEVBQU8scUJBQXFCO1lBQ3JDLGNBQWMsRUFBRSwwQkFBMEI7U0FDM0MsQ0FBQztJQVNFLENBQUM7SUFFTCxRQUFRLEtBQUksQ0FBQztJQUViLFNBQVMsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQzNDLElBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFDLENBQUM7WUFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3hELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQVU7UUFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7K0dBN0JVLG9CQUFvQjttR0FBcEIsb0JBQW9CLDRNQStCakIsaUJBQWlCLGdEQy9DakMsNHRJQStFTSxzL0NEcEVNLFlBQVksOEJBQUUsV0FBVyxxZUFBRSxrQkFBa0IsbU9BQUUsZUFBZTs7NEZBSzdELG9CQUFvQjtrQkFQaEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxZQUMvRCxjQUFjO29JQVVmLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQXVCMkIsbUJBQW1CO3NCQUFuRCxZQUFZO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW9uQWNjb3JkaW9uLCBJb25BY2NvcmRpb25Hcm91cCwgSW9uaWNNb2R1bGUsIE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IE1lbnUgfSBmcm9tICcuLi8uL21lbnUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlckxpbmtXaXRoSHJlZiB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZ2VuZXJpY3Muc2VydmljZSc7XHJcbmltcG9ydCB7IE5nVmFyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9uZy12YXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbmljTW9kdWxlLCBSb3V0ZXJMaW5rV2l0aEhyZWYsIFRyYW5zbGF0ZU1vZHVsZV0sXHJcbiAgc2VsZWN0b3I6ICdkcmF3ZXItZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kcmF3ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RyYXdlci1ncm91cC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJhd2VyR3JvdXBDb21wb25lbnQgIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgVHJhbnNsYXRpb25Nb2R1bGU6IGFueSA9IHtcclxuICAgIFBlcm1pc3NhbyAgICAgOiAnRW50aXRpZXMuUGVybWlzc2FvLicsXHJcbiAgICBQZXJtaXNzYW9HcnVwbzogJ0VudGl0aWVzLlBlcm1pc3Nhb0dydXBvLidcclxuICB9O1xyXG4gIEBJbnB1dCgpIE1lbnVHcm91cDogTWVudTtcclxuICBASW5wdXQoKSBjb2xhcHNlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSB1c2VUcmFuc2xhdGlvbjogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIG5hdkNvbnRyb2xsZXI6IE5hdkNvbnRyb2xsZXIsXHJcbiAgICBwcml2YXRlIGdlbmVyaWNTZXJ2aWNlOiBHZW5lcmljU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgSGFuZGxlTmF2KGl0ZW06IE1lbnUgfCBhbnksIGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZihldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkpe1xyXG4gICAgICB3aW5kb3cub3Blbih3aW5kb3cub3JpZ2luICsgJy8nICsgaXRlbS5yb3V0ZSwgJ19ibGFuaycpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLlNldFRpdGxlKGl0ZW0pO1xyXG4gICAgdGhpcy5uYXZDb250cm9sbGVyLm5hdmlnYXRlUm9vdCgnLycgKyBpdGVtLnJvdXRlKTtcclxuICB9XHJcbiAgU2V0VGl0bGUoaXRlbTogTWVudSl7XHJcbiAgICB0aGlzLmdlbmVyaWNTZXJ2aWNlLlNldFRpdGxlKGl0ZW0udGl0bGUpO1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZHJlbihJb25BY2NvcmRpb25Hcm91cCkgbHN0SW9uQWNvcmRpb25Hcm91cDogUXVlcnlMaXN0PElvbkFjY29yZGlvbj5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2l6ZS1mdWxsIGZsZXggZmxleC1jb2wgIHZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgPGRpdiBjbGFzcz1cInctZnVsbCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgPCEtLSA8aW9uLWl0ZW0gY2xhc3M9XCJiZy1pbmFjdGl2ZSBiZy1hY3RpdmVcIiBsaW5lcz1cIm5vbmVcIiBzdHlsZT1cIi0tYm9yZGVyLXJhZGl1czogMXJlbVwiPlxyXG4gICAgICA8aW9uLWxhYmVsIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICA8aW9uLWljb24gY2xhc3M9XCJ0ZXh0LTJ4bFwiIFtuYW1lXT1cIk1lbnVHcm91cC5pY29uXCI+PC9pb24taWNvbj4gPGJyPlxyXG4gICAgICAgIDxpb24tdGV4dCBjbGFzcz1cInRleHQtbGdcIj5cclxuICAgICAgICAgIHt7dXNlVHJhbnNsYXRpb24gPyAoVHJhbnNsYXRpb25Nb2R1bGUuUGVybWlzc2FvR3J1cG8gKyBNZW51R3JvdXAuaWQgfCB0cmFuc2xhdGUpIDogTWVudUdyb3VwLnRpdGxlfX0gXHJcbiAgICAgICAgPC9pb24tdGV4dD5cclxuICAgICAgPC9pb24tbGFiZWw+XHJcbiAgICA8L2lvbi1pdGVtPiAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJncmFkaWVudC1iYWNrZ3JvdW5kIGhlYWRlciBmbGV4IGZsZXgtY29sIGdhcC0xIHAtMiB0ZXh0LWNlbnRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC14bFwiPlxyXG4gICAgICA8aW9uLWljb24gY2xhc3M9XCJ0ZXh0LTJ4bFwiIFtuYW1lXT1cIk1lbnVHcm91cC5pY29uXCI+PC9pb24taWNvbj5cclxuICAgICAgPGlvbi10ZXh0IGNsYXNzPVwidGV4dC1kYXJrXCI+XHJcbiAgICAgICAge3t1c2VUcmFuc2xhdGlvbiA/IChUcmFuc2xhdGlvbk1vZHVsZS5QZXJtaXNzYW9HcnVwbyArIE1lbnVHcm91cC5pZCB8IHRyYW5zbGF0ZSkgOiBNZW51R3JvdXAudGl0bGV9fSBcclxuICAgICAgPC9pb24tdGV4dD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yIHctZnVsbCBwdC0yIG1hc2steSBvdmVyZmxvdy15LWF1dG9cIj5cclxuICAgIEBmb3IgKG1Hcm91cCBvZiBNZW51R3JvdXAubHN0TWVudTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgIDwhLS0gTWVudSAtLT5cclxuICAgICAgQGlmKG1Hcm91cC50eXBlID09IFwiTWVudVwiKXtcclxuICAgICAgICA8ZGl2IChjbGljayk9XCJIYW5kbGVOYXYobUdyb3VwLCAkZXZlbnQpXCIgXHJcbiAgICAgICAgICBjbGFzcz1cImJnLWluYWN0aXZlIGdyYWRpZW50LWJhY2tncm91bmQgbWVudVwiXHJcbiAgICAgICAgICBbcm91dGVyTGlua109XCJbbUdyb3VwLnJvdXRlXVwiXHJcbiAgICAgICAgICBbY2xhc3MuYmctYWN0aXZlXT1cInJvdXRlci5pc0FjdGl2ZSgnLycgKyBtR3JvdXAucm91dGUsIGZhbHNlKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIGNsYXNzPVwic2hyaW5rLTBcIiBbbmFtZV09XCJtR3JvdXAuaWNvblwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJzaHJpbmtcIj5cclxuICAgICAgICAgICAgICB7e3VzZVRyYW5zbGF0aW9uID8gKFRyYW5zbGF0aW9uTW9kdWxlLlBlcm1pc3NhbyArIG1Hcm91cC5pZCB8IHRyYW5zbGF0ZSkgOiBtR3JvdXAudGl0bGV9fSAgICAgICAgICBcclxuICAgICAgICAgICAgPC9pb24tbGFiZWw+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDxpb24taXRlbSBcclxuICAgICAgICAgIGNsYXNzPVwiYmctaW5hY3RpdmUgc2hyaW5rLTBcIiBsaW5lcz1cIm5vbmVcIiBcclxuICAgICAgICAgIChjbGljayk9XCJIYW5kbGVOYXYobUdyb3VwKVwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J2NvbGFwc2VkJzogY29sYXBzZWQsICdiZy1hY3RpdmUnIDogcm91dGVyLmlzQWN0aXZlKCcvJyArIG1Hcm91cC5yb3V0ZSwgZmFsc2UpfVwiPlxyXG4gICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIFtuYW1lXT1cIm1Hcm91cC5pY29uXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAge3t1c2VUcmFuc2xhdGlvbiA/IChUcmFuc2xhdGlvbk1vZHVsZS5QZXJtaXNzYW8gKyBtR3JvdXAuaWQgfCB0cmFuc2xhdGUpIDogbUdyb3VwLnRpdGxlfX0gICAgICAgICAgXHJcbiAgICAgICAgICA8L2lvbi1sYWJlbD5cclxuICAgICAgICA8L2lvbi1pdGVtPiAtLT5cclxuICAgICAgfSBcclxuICAgICAgQGVsc2UgaWYgKG1Hcm91cC50eXBlID09IFwiTWVudUdyb3VwXCIpIHtcclxuICAgICAgICA8IS0tIE1lbnVHcm91cCAtLT5cclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIHNocmluay0wXCI+XHJcbiAgICAgICAgICA8aW9uLWFjY29yZGlvbi1ncm91cCBjbGFzcz1cImlvbi10ZXh0LW5vd3JhcCB3LWZ1bGxcIj5cclxuICAgICAgICAgICAgPGlvbi1hY2NvcmRpb24gY2xhc3M9XCJiZy10cmFuc3BhcmVudFwiIFt2YWx1ZV09XCJtR3JvdXBcIj5cclxuICAgICAgICAgICAgICA8aW9uLWl0ZW0gc2xvdD1cImhlYWRlclwiIGNvbG9yPVwibGlnaHRcIiBjbGFzcz1cImlvbi10ZXh0LW5vd3JhcCBiZy1pbmFjdGl2ZVwiIHN0eWxlPVwiLS1pb24tY29sb3ItYmFzZTogdmFyKC0tYmFja2dyb3VuZCkgIWltcG9ydGFudFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIFtuYW1lXT1cIm1Hcm91cC5pY29uXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgIDxpb24tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIHt7dXNlVHJhbnNsYXRpb24gPyAoVHJhbnNsYXRpb25Nb2R1bGUuUGVybWlzc2FvR3J1cG8gKyBtR3JvdXAuaWQgfCB0cmFuc2xhdGUpIDogbUdyb3VwLnRpdGxlfX1cclxuICAgICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgIDwvaW9uLWl0ZW0+XHJcbiAgICAgICAgICAgICAgPGRpdiBzbG90PVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsLThcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBib3JkZXItbC0yIGJvcmRlci1zb2xpZCByb3VuZGVkLWJsLTJ4bCBncmlkIGdhcC0yIHBsLTIgcHktMlwiIHN0eWxlPVwiYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpIDMwJSwgdHJhbnNwYXJlbnQgNzAlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKG1NZW51IG9mIG1Hcm91cC5sc3RNZW51OyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIEBpZiAobU1lbnUudHlwZSA9PSBcIk1lbnVcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWl0ZW0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiZy1pbmFjdGl2ZVwiIGxpbmVzPVwibm9uZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJIYW5kbGVOYXYobU1lbnUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2NvbGFwc2VkJzogY29sYXBzZWQsICdiZy1hY3RpdmUnIDogcm91dGVyLmlzQWN0aXZlKCcvJyArIG1NZW51LnJvdXRlLCBmYWxzZSl9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIFtuYW1lXT1cIm1NZW51Lmljb25cIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dXNlVHJhbnNsYXRpb24gPyAoVHJhbnNsYXRpb25Nb2R1bGUuUGVybWlzc2FvICsgbU1lbnUuaWQgfCB0cmFuc2xhdGUpIDogbU1lbnUudGl0bGV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tYWNjb3JkaW9uPlxyXG4gICAgICAgICAgPC9pb24tYWNjb3JkaW9uLWdyb3VwPlxyXG4gICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kcmF3ZXIvZHJhd2VyLWdyb3VwL2RyYXdlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZHJhd2VyL2RyYXdlci1ncm91cC9kcmF3ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFnQixpQkFBaUIsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0YsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBU3RELE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFDUyxNQUFjLEVBQ2IsYUFBNEIsRUFDNUIsY0FBOEI7UUFGL0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNiLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVh4QyxzQkFBaUIsR0FBUTtZQUN2QixTQUFTLEVBQU8scUJBQXFCO1lBQ3JDLGNBQWMsRUFBRSwwQkFBMEI7U0FDM0MsQ0FBQztJQVNFLENBQUM7SUFFTCxRQUFRLEtBQUksQ0FBQztJQUViLFNBQVMsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQzNDLElBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFDLENBQUM7WUFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3hELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQVU7UUFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7K0dBN0JVLG9CQUFvQjttR0FBcEIsb0JBQW9CLDRNQStCakIsaUJBQWlCLGdEQy9DakMsK3FJQThFTSxzL0NEbkVNLFlBQVksOEJBQUUsV0FBVyxxWUFBc0IsZUFBZTs7NEZBSzdELG9CQUFvQjtrQkFQaEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxZQUMvRCxjQUFjO29JQVVmLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQXVCMkIsbUJBQW1CO3NCQUFuRCxZQUFZO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW9uQWNjb3JkaW9uLCBJb25BY2NvcmRpb25Hcm91cCwgSW9uaWNNb2R1bGUsIE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IE1lbnUgfSBmcm9tICcuLi8uL21lbnUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlckxpbmtXaXRoSHJlZiB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZ2VuZXJpY3Muc2VydmljZSc7XHJcbmltcG9ydCB7IE5nVmFyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9uZy12YXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbmljTW9kdWxlLCBSb3V0ZXJMaW5rV2l0aEhyZWYsIFRyYW5zbGF0ZU1vZHVsZV0sXHJcbiAgc2VsZWN0b3I6ICdkcmF3ZXItZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kcmF3ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RyYXdlci1ncm91cC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJhd2VyR3JvdXBDb21wb25lbnQgIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgVHJhbnNsYXRpb25Nb2R1bGU6IGFueSA9IHtcclxuICAgIFBlcm1pc3NhbyAgICAgOiAnRW50aXRpZXMuUGVybWlzc2FvLicsXHJcbiAgICBQZXJtaXNzYW9HcnVwbzogJ0VudGl0aWVzLlBlcm1pc3Nhb0dydXBvLidcclxuICB9O1xyXG4gIEBJbnB1dCgpIE1lbnVHcm91cDogTWVudTtcclxuICBASW5wdXQoKSBjb2xhcHNlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSB1c2VUcmFuc2xhdGlvbjogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIG5hdkNvbnRyb2xsZXI6IE5hdkNvbnRyb2xsZXIsXHJcbiAgICBwcml2YXRlIGdlbmVyaWNTZXJ2aWNlOiBHZW5lcmljU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgSGFuZGxlTmF2KGl0ZW06IE1lbnUgfCBhbnksIGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZihldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkpe1xyXG4gICAgICB3aW5kb3cub3Blbih3aW5kb3cub3JpZ2luICsgJy8nICsgaXRlbS5yb3V0ZSwgJ19ibGFuaycpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLlNldFRpdGxlKGl0ZW0pO1xyXG4gICAgdGhpcy5uYXZDb250cm9sbGVyLm5hdmlnYXRlUm9vdCgnLycgKyBpdGVtLnJvdXRlKTtcclxuICB9XHJcbiAgU2V0VGl0bGUoaXRlbTogTWVudSl7XHJcbiAgICB0aGlzLmdlbmVyaWNTZXJ2aWNlLlNldFRpdGxlKGl0ZW0udGl0bGUpO1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZHJlbihJb25BY2NvcmRpb25Hcm91cCkgbHN0SW9uQWNvcmRpb25Hcm91cDogUXVlcnlMaXN0PElvbkFjY29yZGlvbj5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2l6ZS1mdWxsIGZsZXggZmxleC1jb2wgIHZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgPGRpdiBjbGFzcz1cInctZnVsbCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgPCEtLSA8aW9uLWl0ZW0gY2xhc3M9XCJiZy1pbmFjdGl2ZSBiZy1hY3RpdmVcIiBsaW5lcz1cIm5vbmVcIiBzdHlsZT1cIi0tYm9yZGVyLXJhZGl1czogMXJlbVwiPlxyXG4gICAgICA8aW9uLWxhYmVsIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICA8aW9uLWljb24gY2xhc3M9XCJ0ZXh0LTJ4bFwiIFtuYW1lXT1cIk1lbnVHcm91cC5pY29uXCI+PC9pb24taWNvbj4gPGJyPlxyXG4gICAgICAgIDxpb24tdGV4dCBjbGFzcz1cInRleHQtbGdcIj5cclxuICAgICAgICAgIHt7dXNlVHJhbnNsYXRpb24gPyAoVHJhbnNsYXRpb25Nb2R1bGUuUGVybWlzc2FvR3J1cG8gKyBNZW51R3JvdXAuaWQgfCB0cmFuc2xhdGUpIDogTWVudUdyb3VwLnRpdGxlfX0gXHJcbiAgICAgICAgPC9pb24tdGV4dD5cclxuICAgICAgPC9pb24tbGFiZWw+XHJcbiAgICA8L2lvbi1pdGVtPiAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJncmFkaWVudC1iYWNrZ3JvdW5kIGhlYWRlciBmbGV4IGZsZXgtY29sIGdhcC0xIHAtMiB0ZXh0LWNlbnRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC14bFwiPlxyXG4gICAgICA8aW9uLWljb24gY2xhc3M9XCJ0ZXh0LTJ4bFwiIFtuYW1lXT1cIk1lbnVHcm91cC5pY29uXCI+PC9pb24taWNvbj5cclxuICAgICAgPGlvbi10ZXh0IGNsYXNzPVwidGV4dC1kYXJrXCI+XHJcbiAgICAgICAge3t1c2VUcmFuc2xhdGlvbiA/IChUcmFuc2xhdGlvbk1vZHVsZS5QZXJtaXNzYW9HcnVwbyArIE1lbnVHcm91cC5pZCB8IHRyYW5zbGF0ZSkgOiBNZW51R3JvdXAudGl0bGV9fSBcclxuICAgICAgPC9pb24tdGV4dD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yIHctZnVsbCBwdC0yIG1hc2steSBvdmVyZmxvdy15LWF1dG9cIj5cclxuICAgIEBmb3IgKG1Hcm91cCBvZiBNZW51R3JvdXAubHN0TWVudTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgIDwhLS0gTWVudSAtLT5cclxuICAgICAgQGlmKG1Hcm91cC50eXBlID09IFwiTWVudVwiKXtcclxuICAgICAgICA8ZGl2IChjbGljayk9XCJIYW5kbGVOYXYobUdyb3VwLCAkZXZlbnQpXCIgXHJcbiAgICAgICAgICBjbGFzcz1cImJnLWluYWN0aXZlIGdyYWRpZW50LWJhY2tncm91bmQgbWVudVwiXHJcbiAgICAgICAgICBbY2xhc3MuYmctYWN0aXZlXT1cInJvdXRlci5pc0FjdGl2ZSgnLycgKyBtR3JvdXAucm91dGUsIGZhbHNlKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIGNsYXNzPVwic2hyaW5rLTBcIiBbbmFtZV09XCJtR3JvdXAuaWNvblwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJzaHJpbmtcIj5cclxuICAgICAgICAgICAgICB7e3VzZVRyYW5zbGF0aW9uID8gKFRyYW5zbGF0aW9uTW9kdWxlLlBlcm1pc3NhbyArIG1Hcm91cC5pZCB8IHRyYW5zbGF0ZSkgOiBtR3JvdXAudGl0bGV9fSAgICAgICAgICBcclxuICAgICAgICAgICAgPC9pb24tbGFiZWw+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDxpb24taXRlbSBcclxuICAgICAgICAgIGNsYXNzPVwiYmctaW5hY3RpdmUgc2hyaW5rLTBcIiBsaW5lcz1cIm5vbmVcIiBcclxuICAgICAgICAgIChjbGljayk9XCJIYW5kbGVOYXYobUdyb3VwKVwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J2NvbGFwc2VkJzogY29sYXBzZWQsICdiZy1hY3RpdmUnIDogcm91dGVyLmlzQWN0aXZlKCcvJyArIG1Hcm91cC5yb3V0ZSwgZmFsc2UpfVwiPlxyXG4gICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIFtuYW1lXT1cIm1Hcm91cC5pY29uXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAge3t1c2VUcmFuc2xhdGlvbiA/IChUcmFuc2xhdGlvbk1vZHVsZS5QZXJtaXNzYW8gKyBtR3JvdXAuaWQgfCB0cmFuc2xhdGUpIDogbUdyb3VwLnRpdGxlfX0gICAgICAgICAgXHJcbiAgICAgICAgICA8L2lvbi1sYWJlbD5cclxuICAgICAgICA8L2lvbi1pdGVtPiAtLT5cclxuICAgICAgfSBcclxuICAgICAgQGVsc2UgaWYgKG1Hcm91cC50eXBlID09IFwiTWVudUdyb3VwXCIpIHtcclxuICAgICAgICA8IS0tIE1lbnVHcm91cCAtLT5cclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIHNocmluay0wXCI+XHJcbiAgICAgICAgICA8aW9uLWFjY29yZGlvbi1ncm91cCBjbGFzcz1cImlvbi10ZXh0LW5vd3JhcCB3LWZ1bGxcIj5cclxuICAgICAgICAgICAgPGlvbi1hY2NvcmRpb24gY2xhc3M9XCJiZy10cmFuc3BhcmVudFwiIFt2YWx1ZV09XCJtR3JvdXBcIj5cclxuICAgICAgICAgICAgICA8aW9uLWl0ZW0gc2xvdD1cImhlYWRlclwiIGNvbG9yPVwibGlnaHRcIiBjbGFzcz1cImlvbi10ZXh0LW5vd3JhcCBiZy1pbmFjdGl2ZVwiIHN0eWxlPVwiLS1pb24tY29sb3ItYmFzZTogdmFyKC0tYmFja2dyb3VuZCkgIWltcG9ydGFudFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIFtuYW1lXT1cIm1Hcm91cC5pY29uXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgIDxpb24tbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIHt7dXNlVHJhbnNsYXRpb24gPyAoVHJhbnNsYXRpb25Nb2R1bGUuUGVybWlzc2FvR3J1cG8gKyBtR3JvdXAuaWQgfCB0cmFuc2xhdGUpIDogbUdyb3VwLnRpdGxlfX1cclxuICAgICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgIDwvaW9uLWl0ZW0+XHJcbiAgICAgICAgICAgICAgPGRpdiBzbG90PVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsLThcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBib3JkZXItbC0yIGJvcmRlci1zb2xpZCByb3VuZGVkLWJsLTJ4bCBncmlkIGdhcC0yIHBsLTIgcHktMlwiIHN0eWxlPVwiYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpIDMwJSwgdHJhbnNwYXJlbnQgNzAlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKG1NZW51IG9mIG1Hcm91cC5sc3RNZW51OyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIEBpZiAobU1lbnUudHlwZSA9PSBcIk1lbnVcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWl0ZW0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiZy1pbmFjdGl2ZVwiIGxpbmVzPVwibm9uZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJIYW5kbGVOYXYobU1lbnUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2NvbGFwc2VkJzogY29sYXBzZWQsICdiZy1hY3RpdmUnIDogcm91dGVyLmlzQWN0aXZlKCcvJyArIG1NZW51LnJvdXRlLCBmYWxzZSl9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIFtuYW1lXT1cIm1NZW51Lmljb25cIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dXNlVHJhbnNsYXRpb24gPyAoVHJhbnNsYXRpb25Nb2R1bGUuUGVybWlzc2FvICsgbU1lbnUuaWQgfCB0cmFuc2xhdGUpIDogbU1lbnUudGl0bGV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tYWNjb3JkaW9uPlxyXG4gICAgICAgICAgPC9pb24tYWNjb3JkaW9uLWdyb3VwPlxyXG4gICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -1,20 +1,31 @@
|
|
|
1
|
-
import { Component, computed, effect, EventEmitter, input, Input, Output } from '@angular/core';
|
|
1
|
+
import { Component, computed, effect, EventEmitter, input, Input, Output, signal } from '@angular/core';
|
|
2
2
|
import { TranslateModule } from '@ngx-translate/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { IonicModule } from '@ionic/angular';
|
|
4
|
+
import { IonicModule, NavController } from '@ionic/angular';
|
|
5
|
+
import { Menu } from './menu';
|
|
5
6
|
import { DrawerGroupComponent } from './drawer-group/drawer-group.component';
|
|
6
7
|
import { LoadingComponent } from '../../components/loading/loading.component';
|
|
7
8
|
import { SIonPopoverModule } from '../popover/sion-popover.module';
|
|
9
|
+
import { Router, RouterLinkWithHref } from '@angular/router';
|
|
10
|
+
import { GenericService } from '../../services/generics.service';
|
|
11
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
8
12
|
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/
|
|
13
|
+
import * as i1 from "@angular/router";
|
|
10
14
|
import * as i2 from "@ionic/angular";
|
|
11
|
-
import * as i3 from "
|
|
12
|
-
import * as i4 from "
|
|
15
|
+
import * as i3 from "../../services/generics.service";
|
|
16
|
+
import * as i4 from "@angular/common";
|
|
17
|
+
import * as i5 from "@ngx-translate/core";
|
|
18
|
+
import * as i6 from "../popover/sion-popover/sion-popover.component";
|
|
19
|
+
import * as i7 from "@angular/forms";
|
|
13
20
|
export class DrawerComponent {
|
|
14
|
-
constructor() {
|
|
21
|
+
constructor(router, navController, genericService) {
|
|
22
|
+
this.router = router;
|
|
23
|
+
this.navController = navController;
|
|
24
|
+
this.genericService = genericService;
|
|
15
25
|
this.TranslationModule = {
|
|
16
26
|
Permissao: 'Entities.Permissao.',
|
|
17
|
-
PermissaoGrupo: 'Entities.PermissaoGrupo.'
|
|
27
|
+
PermissaoGrupo: 'Entities.PermissaoGrupo.',
|
|
28
|
+
SemResultado: 'Messages.SemResultado'
|
|
18
29
|
};
|
|
19
30
|
this.loading = true;
|
|
20
31
|
this.lstMenu = input();
|
|
@@ -24,6 +35,15 @@ export class DrawerComponent {
|
|
|
24
35
|
this.useTranslation = false;
|
|
25
36
|
this.CurrentGroupActive = null;
|
|
26
37
|
this._enterColapsed = false;
|
|
38
|
+
this.search = signal("");
|
|
39
|
+
this.lstMenuFiltered = computed(() => {
|
|
40
|
+
const str = this.search().toLowerCase();
|
|
41
|
+
const lstS1 = this.lstMenu().map(p => {
|
|
42
|
+
return new Menu(p.type, p.title, p.icon, p.lstMenu.filter(x => x.title.toLowerCase().includes(str)), p.route);
|
|
43
|
+
});
|
|
44
|
+
const lstS2 = lstS1.filter(p => p.lstMenu.length > 0);
|
|
45
|
+
return lstS2;
|
|
46
|
+
});
|
|
27
47
|
effect(() => {
|
|
28
48
|
//Handle Menu Title
|
|
29
49
|
const lstFlat = this.lstFlattenMenu();
|
|
@@ -53,8 +73,24 @@ export class DrawerComponent {
|
|
|
53
73
|
this.colapsedChange.emit(true);
|
|
54
74
|
}
|
|
55
75
|
}
|
|
56
|
-
|
|
57
|
-
|
|
76
|
+
HandleNav(item, event) {
|
|
77
|
+
if (event.ctrlKey || event.metaKey) {
|
|
78
|
+
window.open(window.origin + '/' + item.route, '_blank');
|
|
79
|
+
event.preventDefault();
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
this.SetTitle(item);
|
|
83
|
+
const vGroup = FindMenuParent(this.lstMenu(), item);
|
|
84
|
+
if (vGroup) {
|
|
85
|
+
this.CurrentGroupActive = vGroup;
|
|
86
|
+
}
|
|
87
|
+
this.navController.navigateRoot('/' + item.route);
|
|
88
|
+
}
|
|
89
|
+
SetTitle(item) {
|
|
90
|
+
this.genericService.SetTitle(item.title);
|
|
91
|
+
}
|
|
92
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerComponent, deps: [{ token: i1.Router }, { token: i2.NavController }, { token: i3.GenericService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
93
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DrawerComponent, isStandalone: true, selector: "drawer", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, lstMenu: { classPropertyName: "lstMenu", publicName: "lstMenu", isSignal: true, isRequired: false, transformFunction: null }, colapsed: { classPropertyName: "colapsed", publicName: "colapsed", isSignal: false, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: false, isRequired: false, transformFunction: null }, useTranslation: { classPropertyName: "useTranslation", publicName: "useTranslation", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { colapsedChange: "colapsedChange" }, ngImport: i0, template: "<div class=\"absolute left-0 top-0 h-full bg-light size-full flex flex-col p-2 !pr-0 w-[19rem] overflow-hidden\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\r\n <!-- [ Header ] -->\r\n <div class=\"shrink-0 w-full flex justify-between items-center\">\r\n <div #anchor\r\n (click)=\"ToggleCollapsed()\" \r\n class=\"toggle size-10 aspect-square shrink-0 rounded-xl bg-inactive gradient-background menu\"\r\n >\r\n <ion-icon name=\"menu\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n <!-- <ion-button class=\"size-10 shrink-0 aspect-square\" size=\"small\" color=\"medium\" (click)=\"ToggleCollapsed()\">\r\n <ion-icon name=\"menu\" slot=\"icon-only\"></ion-icon>\r\n </ion-button> -->\r\n\r\n <div class=\"size-full shrink flex pl-2 \">\r\n <div class=\"size-full flex flex-wrap overflow-hidden\">\r\n @if (!ref.children.length) {\r\n <ion-text class=\"size-full flex items-center justify-center default-transition z-0\" [ngClass]=\"{'opacity-0 -translate-x-1/2 pointer-events-none': colapsed }\"> \r\n {{title}}\r\n </ion-text>\r\n }\r\n <div #ref class=\"size-full flex items-center justify-center shrink-0\">\r\n <ng-content select=\"[slot=logo]\"></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- [ Content ] -->\r\n <div class=\"size-full shrink flex flex-col relative overflow-hidden\">\r\n <loading [type]=\"3\" [loading]=\"loading\" text=\"\"></loading>\r\n <div class=\"size-full shrink flex gap-2\">\r\n <div class=\"h-full supports-[selector(::-webkit-scrollbar-thumb)]:!w-[3.375rem] w-12 pr-2 py-2 mask-y shrink-0 flex flex-col gap-2 overflow-y-auto border-dashed border-r border-r-medium/30\">\r\n <div #searchAnchor (click)=\"modal.present()\" class=\"search-button size-10 aspect-square shrink-0 rounded-xl bg-inactive gradient-background menu\">\r\n <ion-icon name=\"search\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n\r\n @for (item of lstMenu(); track $index) {\r\n <div>\r\n <div\r\n [class.bg-active]=\"CurrentGroupActive == item\"\r\n #anchor (mouseenter)=\"popover.present($event)\" \r\n (mouseleave)=\"popover.dismiss()\" \r\n (click)=\"CurrentGroupActive = item\" \r\n class=\"w-full aspect-square shrink-0 rounded-xl bg-inactive gradient-background menu\"\r\n >\r\n <ion-icon [name]=\"item.icon\"></ion-icon>\r\n </div>\r\n <sion-popover #popover [anchor]=\"anchor\" [flip]=\"false\" placement=\"right\" fill=\"solid\">\r\n <div class=\"p-1\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + item.id | translate) : item.title}}\r\n </div>\r\n </sion-popover>\r\n </div>\r\n }\r\n\r\n </div>\r\n <div class=\"size-full shrink relative\">\r\n @for (mGroup of lstMenu(); track $index) {\r\n <div class=\"absolute top-0 left-0 size-full py-2 default-transition opacity-0 translate-x-full z-0 overflow-hidden\" [ngClass]=\"{'opacity-100 !translate-x-0': CurrentGroupActive == mGroup}\">\r\n <drawer-group [MenuGroup]=\"mGroup\" [useTranslation]=\"useTranslation\" [colapsed]=\"colapsed\"></drawer-group>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- [ End ] -->\r\n <div class=\"shrink-0 w-full\">\r\n <ng-content select=\"[slot=drawer]\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<ion-modal #modal [keepContentsMounted]=\"true\" (onWillDismiss)=\"search.set('')\">\r\n <ng-template>\r\n <ion-content>\r\n <ion-card class=\"size-full m-0 overflow-hidden\">\r\n <ion-card-content class=\"size-full flex flex-col overflow-hidden p-0\">\r\n <div class=\"shrink-0 w-full flex items-center justify-center\">\r\n <ion-searchbar class=\"p-0 !py-2\" [ngModel]=\"this.search()\" (ngModelChange)=\"this.search.set($event)\" [debounce]=\"200\"></ion-searchbar>\r\n <ion-button size=\"small\" fill=\"clear\" (click)=\"modal.dismiss()\">\r\n <ion-icon name=\"close\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"size-full flex flex-col shrink gap-2 overflow-y-auto p-2 mask-y\">\r\n @for (vGroup of lstMenuFiltered(); track $index) {\r\n <ion-card class=\"m-0 shrink-0\">\r\n <ion-card-content class=\"p-0 gradient-background bg-inactive flex flex-col\">\r\n <div class=\"w-full flex items-center !justify-start gap-2 text-dark shrink-0 p-2\">\r\n <ion-icon [name]=\"vGroup.icon\"></ion-icon>\r\n <ion-text>\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + vGroup.id | translate) : vGroup.title}} \r\n </ion-text>\r\n </div>\r\n @for (vMenu of vGroup.lstMenu; track $index) {\r\n <div \r\n (click)=\"HandleNav(vMenu, $event); modal.dismiss()\"\r\n [class.bg-active]=\"router.isActive('/' + vMenu.route, false)\"\r\n class=\"w-full flex items-center !justify-start gap-2 text-dark shrink-0 !pl-8 p-1.5 border-t border-t-medium/30 menu-search\">\r\n <ion-icon [name]=\"vMenu.icon\"></ion-icon>\r\n <ion-text>\r\n {{useTranslation ? (TranslationModule.Permissao + vMenu.id | translate) : vMenu.title}} \r\n </ion-text>\r\n </div>\r\n }\r\n </ion-card-content>\r\n </ion-card>\r\n }\r\n\r\n @if (lstMenuFiltered().length == 0) {\r\n <ion-text class=\"text-center text-medium\">\r\n {{useTranslation ? (TranslationModule.SemResultado | translate) : 'Sem resultados encontrados'}}\r\n </ion-text>\r\n }\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </ion-content>\r\n </ng-template>\r\n</ion-modal>", styles: [".bg-active{--color-primary: var(--ion-color-primary) !important;--step-1-opacity: .7 !important;--step-2-opacity: .3 !important}.bg-inactive{--color-primary: var(--ion-color-step-250);--step-1-opacity: .5;--step-2-opacity: .4;--step-3-opacity: .8}.menu{display:flex;cursor:pointer;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.5rem;transition:--color-primary,--step-1-opacity,--step-2-opacity .2s ease-in-out;--inset: var(--color-primary) 0px 1.75px 2px 0px inset;box-shadow:var(--inset)}.toggle:hover{--color-primary: var(--ion-color-step-500) !important;transition:--color-primary .2s ease-in-out}.search-button{--inset2: var(--ion-color-medium) 0px 0px 5px -1px inset;box-shadow:var(--inset2)}.menu-search{position:relative;cursor:pointer;overflow:hidden}.menu-search.bg-active:after{content:\"\";position:absolute;top:50%;right:0;width:.375rem;height:75%;transform:translateY(-50%);border-radius:1rem;background-color:color-mix(in srgb,var(--ion-color-primary) 70%,transparent);opacity:1!important;filter:drop-shadow(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0px 0px 3px)}.menu-search.bg-active:before{content:\"\";position:absolute;top:50%;right:-2.3rem;width:5rem;height:7rem;transform:translateY(-50%);border-radius:1rem;opacity:.5!important;background:radial-gradient(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0%,transparent 66%)}.menu-search.bg-inactive{--color-primary: var(--ion-color-step-250);--step-1-opacity: .5;--step-2-opacity: .4;--step-3-opacity: .8;position:relative}.menu-search.bg-inactive:after{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}.menu-search.bg-inactive:before{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocapitalize", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "maxlength", "minlength", "mode", "name", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonModal, selector: "ion-modal" }, { kind: "directive", type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "component", type: LoadingComponent, selector: "loading", inputs: ["text", "type", "loading"] }, { kind: "component", type: DrawerGroupComponent, selector: "drawer-group", inputs: ["MenuGroup", "colapsed", "useTranslation"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: SIonPopoverModule }, { kind: "component", type: i6.SIonPopoverComponent, selector: "sion-popover", inputs: ["fill", "arrow", "flip", "placement", "height", "width", "anchor"], outputs: ["onWillPresent", "onDidPresent", "onWillDismiss", "onDidDismiss", "isVisibleChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
58
94
|
}
|
|
59
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerComponent, decorators: [{
|
|
60
96
|
type: Component,
|
|
@@ -64,9 +100,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
64
100
|
LoadingComponent,
|
|
65
101
|
DrawerGroupComponent,
|
|
66
102
|
TranslateModule,
|
|
67
|
-
SIonPopoverModule
|
|
68
|
-
|
|
69
|
-
|
|
103
|
+
SIonPopoverModule,
|
|
104
|
+
RouterLinkWithHref,
|
|
105
|
+
ReactiveFormsModule,
|
|
106
|
+
FormsModule
|
|
107
|
+
], selector: 'drawer', template: "<div class=\"absolute left-0 top-0 h-full bg-light size-full flex flex-col p-2 !pr-0 w-[19rem] overflow-hidden\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\r\n <!-- [ Header ] -->\r\n <div class=\"shrink-0 w-full flex justify-between items-center\">\r\n <div #anchor\r\n (click)=\"ToggleCollapsed()\" \r\n class=\"toggle size-10 aspect-square shrink-0 rounded-xl bg-inactive gradient-background menu\"\r\n >\r\n <ion-icon name=\"menu\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n <!-- <ion-button class=\"size-10 shrink-0 aspect-square\" size=\"small\" color=\"medium\" (click)=\"ToggleCollapsed()\">\r\n <ion-icon name=\"menu\" slot=\"icon-only\"></ion-icon>\r\n </ion-button> -->\r\n\r\n <div class=\"size-full shrink flex pl-2 \">\r\n <div class=\"size-full flex flex-wrap overflow-hidden\">\r\n @if (!ref.children.length) {\r\n <ion-text class=\"size-full flex items-center justify-center default-transition z-0\" [ngClass]=\"{'opacity-0 -translate-x-1/2 pointer-events-none': colapsed }\"> \r\n {{title}}\r\n </ion-text>\r\n }\r\n <div #ref class=\"size-full flex items-center justify-center shrink-0\">\r\n <ng-content select=\"[slot=logo]\"></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- [ Content ] -->\r\n <div class=\"size-full shrink flex flex-col relative overflow-hidden\">\r\n <loading [type]=\"3\" [loading]=\"loading\" text=\"\"></loading>\r\n <div class=\"size-full shrink flex gap-2\">\r\n <div class=\"h-full supports-[selector(::-webkit-scrollbar-thumb)]:!w-[3.375rem] w-12 pr-2 py-2 mask-y shrink-0 flex flex-col gap-2 overflow-y-auto border-dashed border-r border-r-medium/30\">\r\n <div #searchAnchor (click)=\"modal.present()\" class=\"search-button size-10 aspect-square shrink-0 rounded-xl bg-inactive gradient-background menu\">\r\n <ion-icon name=\"search\" slot=\"icon-only\"></ion-icon>\r\n </div>\r\n\r\n @for (item of lstMenu(); track $index) {\r\n <div>\r\n <div\r\n [class.bg-active]=\"CurrentGroupActive == item\"\r\n #anchor (mouseenter)=\"popover.present($event)\" \r\n (mouseleave)=\"popover.dismiss()\" \r\n (click)=\"CurrentGroupActive = item\" \r\n class=\"w-full aspect-square shrink-0 rounded-xl bg-inactive gradient-background menu\"\r\n >\r\n <ion-icon [name]=\"item.icon\"></ion-icon>\r\n </div>\r\n <sion-popover #popover [anchor]=\"anchor\" [flip]=\"false\" placement=\"right\" fill=\"solid\">\r\n <div class=\"p-1\">\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + item.id | translate) : item.title}}\r\n </div>\r\n </sion-popover>\r\n </div>\r\n }\r\n\r\n </div>\r\n <div class=\"size-full shrink relative\">\r\n @for (mGroup of lstMenu(); track $index) {\r\n <div class=\"absolute top-0 left-0 size-full py-2 default-transition opacity-0 translate-x-full z-0 overflow-hidden\" [ngClass]=\"{'opacity-100 !translate-x-0': CurrentGroupActive == mGroup}\">\r\n <drawer-group [MenuGroup]=\"mGroup\" [useTranslation]=\"useTranslation\" [colapsed]=\"colapsed\"></drawer-group>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- [ End ] -->\r\n <div class=\"shrink-0 w-full\">\r\n <ng-content select=\"[slot=drawer]\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<ion-modal #modal [keepContentsMounted]=\"true\" (onWillDismiss)=\"search.set('')\">\r\n <ng-template>\r\n <ion-content>\r\n <ion-card class=\"size-full m-0 overflow-hidden\">\r\n <ion-card-content class=\"size-full flex flex-col overflow-hidden p-0\">\r\n <div class=\"shrink-0 w-full flex items-center justify-center\">\r\n <ion-searchbar class=\"p-0 !py-2\" [ngModel]=\"this.search()\" (ngModelChange)=\"this.search.set($event)\" [debounce]=\"200\"></ion-searchbar>\r\n <ion-button size=\"small\" fill=\"clear\" (click)=\"modal.dismiss()\">\r\n <ion-icon name=\"close\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n\r\n <div class=\"size-full flex flex-col shrink gap-2 overflow-y-auto p-2 mask-y\">\r\n @for (vGroup of lstMenuFiltered(); track $index) {\r\n <ion-card class=\"m-0 shrink-0\">\r\n <ion-card-content class=\"p-0 gradient-background bg-inactive flex flex-col\">\r\n <div class=\"w-full flex items-center !justify-start gap-2 text-dark shrink-0 p-2\">\r\n <ion-icon [name]=\"vGroup.icon\"></ion-icon>\r\n <ion-text>\r\n {{useTranslation ? (TranslationModule.PermissaoGrupo + vGroup.id | translate) : vGroup.title}} \r\n </ion-text>\r\n </div>\r\n @for (vMenu of vGroup.lstMenu; track $index) {\r\n <div \r\n (click)=\"HandleNav(vMenu, $event); modal.dismiss()\"\r\n [class.bg-active]=\"router.isActive('/' + vMenu.route, false)\"\r\n class=\"w-full flex items-center !justify-start gap-2 text-dark shrink-0 !pl-8 p-1.5 border-t border-t-medium/30 menu-search\">\r\n <ion-icon [name]=\"vMenu.icon\"></ion-icon>\r\n <ion-text>\r\n {{useTranslation ? (TranslationModule.Permissao + vMenu.id | translate) : vMenu.title}} \r\n </ion-text>\r\n </div>\r\n }\r\n </ion-card-content>\r\n </ion-card>\r\n }\r\n\r\n @if (lstMenuFiltered().length == 0) {\r\n <ion-text class=\"text-center text-medium\">\r\n {{useTranslation ? (TranslationModule.SemResultado | translate) : 'Sem resultados encontrados'}}\r\n </ion-text>\r\n }\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </ion-content>\r\n </ng-template>\r\n</ion-modal>", styles: [".bg-active{--color-primary: var(--ion-color-primary) !important;--step-1-opacity: .7 !important;--step-2-opacity: .3 !important}.bg-inactive{--color-primary: var(--ion-color-step-250);--step-1-opacity: .5;--step-2-opacity: .4;--step-3-opacity: .8}.menu{display:flex;cursor:pointer;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.5rem;transition:--color-primary,--step-1-opacity,--step-2-opacity .2s ease-in-out;--inset: var(--color-primary) 0px 1.75px 2px 0px inset;box-shadow:var(--inset)}.toggle:hover{--color-primary: var(--ion-color-step-500) !important;transition:--color-primary .2s ease-in-out}.search-button{--inset2: var(--ion-color-medium) 0px 0px 5px -1px inset;box-shadow:var(--inset2)}.menu-search{position:relative;cursor:pointer;overflow:hidden}.menu-search.bg-active:after{content:\"\";position:absolute;top:50%;right:0;width:.375rem;height:75%;transform:translateY(-50%);border-radius:1rem;background-color:color-mix(in srgb,var(--ion-color-primary) 70%,transparent);opacity:1!important;filter:drop-shadow(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0px 0px 3px)}.menu-search.bg-active:before{content:\"\";position:absolute;top:50%;right:-2.3rem;width:5rem;height:7rem;transform:translateY(-50%);border-radius:1rem;opacity:.5!important;background:radial-gradient(color-mix(in srgb,var(--ion-color-primary) 70%,transparent) 0%,transparent 66%)}.menu-search.bg-inactive{--color-primary: var(--ion-color-step-250);--step-1-opacity: .5;--step-2-opacity: .4;--step-3-opacity: .8;position:relative}.menu-search.bg-inactive:after{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}.menu-search.bg-inactive:before{content:\"\";opacity:0;transition:opacity .2s ease-in-out;will-change:opacity}\n"] }]
|
|
108
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.NavController }, { type: i3.GenericService }], propDecorators: { loading: [{
|
|
70
109
|
type: Input
|
|
71
110
|
}], colapsed: [{
|
|
72
111
|
type: Input
|
|
@@ -114,4 +153,4 @@ function FindMenuParent(menus, targetMenu) {
|
|
|
114
153
|
}
|
|
115
154
|
return null;
|
|
116
155
|
}
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kcmF3ZXIvZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kcmF3ZXIvZHJhd2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBZSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7OztBQWVuRSxNQUFNLE9BQU8sZUFBZTtJQWdCMUI7UUFkQSxzQkFBaUIsR0FBUTtZQUN2QixTQUFTLEVBQU8scUJBQXFCO1lBQ3JDLGNBQWMsRUFBRSwwQkFBMEI7U0FDM0MsQ0FBQztRQUVPLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDakMsWUFBTyxHQUF3QixLQUFLLEVBQVUsQ0FBQTtRQUM5QyxtQkFBYyxHQUFtQixRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVoRixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQ3pCLG1CQUFjLEdBQTBC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RUQsU0FBUyxjQUFjLENBQUMsS0FBYSxFQUFFLFVBQWdCO0lBQ3JELEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsOERBQThEO1FBQzlELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzdELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELGlDQUFpQztRQUNqQyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUMsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDeEQsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIEV2ZW50RW1pdHRlciwgaW5wdXQsIElucHV0LCBJbnB1dFNpZ25hbCwgT3V0cHV0LCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnLi9tZW51JztcclxuXHJcbmltcG9ydCB7IERyYXdlckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9kcmF3ZXItZ3JvdXAvZHJhd2VyLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvYWRpbmdDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTSW9uUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uL3BvcG92ZXIvc2lvbi1wb3BvdmVyLm1vZHVsZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSW9uaWNNb2R1bGUsXHJcbiAgICBMb2FkaW5nQ29tcG9uZW50LFxyXG4gICAgRHJhd2VyR3JvdXBDb21wb25lbnQsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBTSW9uUG9wb3Zlck1vZHVsZVxyXG4gIF0sXHJcbiAgc2VsZWN0b3I6ICdkcmF3ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kcmF3ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RyYXdlci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJhd2VyQ29tcG9uZW50IHtcclxuXHJcbiAgVHJhbnNsYXRpb25Nb2R1bGU6IGFueSA9IHtcclxuICAgIFBlcm1pc3NhbyAgICAgOiAnRW50aXRpZXMuUGVybWlzc2FvLicsXHJcbiAgICBQZXJtaXNzYW9HcnVwbzogJ0VudGl0aWVzLlBlcm1pc3Nhb0dydXBvLidcclxuICB9O1xyXG5cclxuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBsc3RNZW51OiBJbnB1dFNpZ25hbDxNZW51W10+ID0gaW5wdXQ8TWVudVtdPigpIFxyXG4gIGxzdEZsYXR0ZW5NZW51OiBTaWduYWw8TWVudVtdPiA9IGNvbXB1dGVkKCgpID0+IHsgcmV0dXJuIEZsYXR0ZW5NZW51cyh0aGlzLmxzdE1lbnUoKSkgfSk7XHJcblxyXG4gIEBJbnB1dCgpIGNvbGFwc2VkOiBib29sZWFuID0gZmFsc2U7ICBcclxuICBAT3V0cHV0KCkgY29sYXBzZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47ICBcclxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHVzZVRyYW5zbGF0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IoKSB7IFxyXG4gICAgZWZmZWN0KCgpID0+IHtcclxuICAgICAgLy9IYW5kbGUgTWVudSBUaXRsZVxyXG4gICAgICBjb25zdCBsc3RGbGF0ID0gdGhpcy5sc3RGbGF0dGVuTWVudSgpO1xyXG4gICAgICBjb25zdCBjdXJyZW50TWVudSA9IGxzdEZsYXQuZmluZChwID0+IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmNsdWRlcygnLycgKyBwLnJvdXRlKSk7XHJcbiAgICAgIGNvbnN0IGdyb3VwOiBNZW51IHwgbnVsbCA9IEZpbmRNZW51UGFyZW50KHRoaXMubHN0TWVudSgpLCBjdXJyZW50TWVudSk7XHJcbiAgICAgIGlmKGdyb3VwKXtcclxuICAgICAgICB0aGlzLkN1cnJlbnRHcm91cEFjdGl2ZSA9IGdyb3VwO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2V7XHJcbiAgICAgICAgdGhpcy5DdXJyZW50R3JvdXBBY3RpdmUgPSB0aGlzLmxzdE1lbnUoKVswXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIEN1cnJlbnRHcm91cEFjdGl2ZTogTWVudSA9IG51bGw7XHJcblxyXG4gIFRvZ2dsZUNvbGxhcHNlZCgpe1xyXG4gICAgdGhpcy5jb2xhcHNlZENoYW5nZS5lbWl0KCF0aGlzLl9lbnRlckNvbGFwc2VkKTtcclxuICAgIHRoaXMuX2VudGVyQ29sYXBzZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIF9lbnRlckNvbGFwc2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgb25Nb3VzZUVudGVyKCl7XHJcbiAgICBpZih0aGlzLmNvbGFwc2VkKXtcclxuICAgICAgdGhpcy5fZW50ZXJDb2xhcHNlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuY29sYXBzZWRDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uTW91c2VMZWF2ZSgpe1xyXG4gICAgaWYodGhpcy5fZW50ZXJDb2xhcHNlZCl7XHJcbiAgICAgIHRoaXMuX2VudGVyQ29sYXBzZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jb2xhcHNlZENoYW5nZS5lbWl0KHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEZsYXR0ZW5zIGEgaGllcmFyY2hpY2FsIE1lbnVbXSBzdHJ1Y3R1cmUgaW50byBhIHNpbmdsZSBhcnJheVxyXG4gKiBjb250YWluaW5nIGFsbCBNZW51IGl0ZW1zIGZyb20gdGhlIG9yaWdpbmFsIGFycmF5IGFuZCBhbGwgbmVzdGVkIGl0ZW1zXHJcbiAqIEBwYXJhbSBtZW51cyBUaGUgYXJyYXkgb2YgTWVudSBpdGVtcyB0byBmbGF0dGVuXHJcbiAqIEByZXR1cm5zIEEgZmxhdHRlbmVkIGFycmF5IGNvbnRhaW5pbmcgYWxsIE1lbnUgaXRlbXNcclxuICovXHJcbmZ1bmN0aW9uIEZsYXR0ZW5NZW51cyhtZW51czogTWVudVtdKTogTWVudVtdIHtcclxuICBjb25zdCByZXN1bHQ6IE1lbnVbXSA9IFtdO1xyXG4gIFxyXG4gIGZ1bmN0aW9uIGFkZE1lbnVJdGVtcyhpdGVtczogTWVudVtdKSB7XHJcbiAgICBmb3IgKGNvbnN0IG1lbnUgb2YgaXRlbXMpIHtcclxuICAgICAgLy8gQWRkIGN1cnJlbnQgbWVudSB0byByZXN1bHRcclxuICAgICAgcmVzdWx0LnB1c2gobWVudSk7XHJcbiAgICAgIFxyXG4gICAgICAvLyBQcm9jZXNzIG5lc3RlZCBtZW51cyBpZiB0aGV5IGV4aXN0XHJcbiAgICAgIGlmIChtZW51LmxzdE1lbnUgJiYgbWVudS5sc3RNZW51Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICBhZGRNZW51SXRlbXMobWVudS5sc3RNZW51KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBhZGRNZW51SXRlbXMobWVudXMpO1xyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEZpbmRNZW51UGFyZW50KG1lbnVzOiBNZW51W10sIHRhcmdldE1lbnU6IE1lbnUpOiBNZW51IHwgbnVsbCB7XHJcbiAgZm9yIChjb25zdCBtZW51IG9mIG1lbnVzKSB7XHJcbiAgICAvLyBDaGVjayBpZiBjdXJyZW50IG1lbnUgaGFzIHRoZSB0YXJnZXQgaW4gaXRzIGRpcmVjdCBjaGlsZHJlblxyXG4gICAgaWYgKG1lbnUubHN0TWVudSAmJiBtZW51LmxzdE1lbnUuc29tZShtID0+IG0gPT09IHRhcmdldE1lbnUpKSB7XHJcbiAgICAgIHJldHVybiBtZW51O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBTZWFyY2ggZGVlcGVyIGluIHRoZSBoaWVyYXJjaHlcclxuICAgIGlmIChtZW51LmxzdE1lbnUgJiYgbWVudS5sc3RNZW51Lmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgcGFyZW50ID0gRmluZE1lbnVQYXJlbnQobWVudS5sc3RNZW51LCB0YXJnZXRNZW51KTtcclxuICAgICAgaWYgKHBhcmVudCkge1xyXG4gICAgICAgIHJldHVybiBwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgcmV0dXJuIG51bGw7XHJcbn0iLCI8IS0tIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBsZWZ0LTAgdG9wLTAgaC1mdWxsIHctWzE5cmVtXSBmbGV4IGZsZXgtY29sIGJnLWxpZ2h0XCIgKG1vdXNlZW50ZXIpPVwib25Nb3VzZUVudGVyKClcIiAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgcHgtMiBoLTE0IHB0LTIgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHRleHQtM3hsIHRleHQtY2VudGVyXCI+XHJcbiAgICA8aW9uLWJ1dHRvbiBpZD1cImRyYXdlci1idXR0b25cIiBjbGFzcz1cInNocmluay0wIHBvcnRyYWl0OmhpZGRlbiBhc3BlY3Qtc3F1YXJlIGgtMTIgei0xMCBkZWZhdWx0LXRyYW5zaXRpb24gbS0wXCIgc2l6ZT1cInNtYWxsXCIgZmlsbD1cIm91dGxpbmVcIiBjb2xvcj1cImRhcmtcIiBzdHlsZT1cIi0tYm9yZGVyLXJhZGl1czogOTk5cmVtOyAtLWJvcmRlci13aWR0aDogMDtcIiAoY2xpY2spPVwiVG9nZ2xlQ29sbGFwc2VkKClcIj4gXHJcbiAgICAgIDxpb24taWNvbiBuYW1lPVwibWVudVwiIHNsb3Q9XCJpY29uLW9ubHlcIj48L2lvbi1pY29uPlxyXG4gICAgPC9pb24tYnV0dG9uPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpemUtZnVsbFwiPlxyXG4gICAgICBAaWYgKCFyZWYuY2hpbGRyZW4ubGVuZ3RoKSB7XHJcbiAgICAgICAgPGlvbi10ZXh0IGNsYXNzPVwic2l6ZS1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGRlZmF1bHQtdHJhbnNpdGlvbiB6LTBcIiBbbmdDbGFzc109XCJ7J29wYWNpdHktMCAtdHJhbnNsYXRlLXgtMS8yJzogY29sYXBzZWQgfVwiPiBcclxuICAgICAgICAgIHt7dGl0bGV9fVxyXG4gICAgICAgIDwvaW9uLXRleHQ+XHJcbiAgICAgIH1cclxuICAgICAgPGRpdiAjcmVmIGNsYXNzPVwic2l6ZS1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Nsb3Q9bG9nb11cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgaWQ9XCJtZW51LWNvbnRlaW5lclwiIGNsYXNzPVwibWFzay15IGZsZXggZmxleC1jb2wgcmVsYXRpdmVcIj5cclxuICAgIDxsb2FkaW5nIFt0eXBlXT1cIjNcIiBbbG9hZGluZ109XCJsb2FkaW5nXCIgdGV4dD1cIlwiPjwvbG9hZGluZz5cclxuICAgIDxkaXYgY2xhc3M9XCJzaXplLWZ1bGwgc2hyaW5rIGZsZXhcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImgtZnVsbCB3LTE2IHAtMiBzaHJpbmstMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdhcC0yXCI+XHJcbiAgICAgICAgICBAZm9yIChpdGVtIG9mIGxzdE1lbnUoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxpb24taXRlbSBcclxuICAgICAgICAgICAgICBpZD1cImdyb3VwLW1lbnVcIiBbdGl0bGVdPVwiaXRlbS50aXRsZVwiIGNsYXNzPVwiYmctaW5hY3RpdmUgcmVsYXRpdmUgb3ZlcmZsb3ctdmlzaWJsZVwiIGxpbmVzPVwibm9uZVwiIHN0eWxlPVwiLS1wYWRkaW5nLXN0YXJ0OiAwO1wiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIkN1cnJlbnRHcm91cEFjdGl2ZSA9IGl0ZW1cIiBcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2JnLWFjdGl2ZSc6IEN1cnJlbnRHcm91cEFjdGl2ZSA9PSBpdGVtfVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2IGlkPVwidG9vbHRpcFwiIGNsYXNzPVwib3BhY2l0eS0wICFwb2ludGVyLWV2ZW50cy1ub25lIC10cmFuc2xhdGUteC00IGFic29sdXRlIHRvcC0wIGJvdHRvbS0wIGRlZmF1bHQtdHJhbnNpdGlvbiBsZWZ0LTE0IHB4LTIgbXktYXV0byB0ZXh0LW5vd3JhcCBoLTggYmctW3ZhcigtLWlvbi1jb2xvci1zZWNvbmRhcnkpXSAtei0zMCByb3VuZGVkLXhsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWJzb2x1dGUgLWxlZnQtMSB0b3AtMCByb3VuZGVkIGJvdHRvbS0wIG15LWF1dG8gcm90YXRlLTQ1IGgtNCBhc3BlY3Qtc3F1YXJlIGJnLVt2YXIoLS1pb24tY29sb3Itc2Vjb25kYXJ5KV1cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBjbGFzcz1cInotNTAgbXItMlwiIFtuYW1lXT1cIml0ZW0uaWNvblwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXRleHQgY2xhc3M9XCJ6LTUwXCI+IFxyXG4gICAgICAgICAgICAgICAgICB7e3VzZVRyYW5zbGF0aW9uID8gKFRyYW5zbGF0aW9uTW9kdWxlLlBlcm1pc3Nhb0dydXBvICsgaXRlbS5pZCB8IHRyYW5zbGF0ZSkgOiBpdGVtLnRpdGxlfX1cclxuICAgICAgICAgICAgICAgIDwvaW9uLXRleHQ+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFic29sdXRlIHRvcC0wIHNpemUtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBvdmVyZmxvdy12aXNpYmxlXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gY2xhc3M9XCJ0ZXh0LTJ4bFwiIFtuYW1lXT1cIml0ZW0uaWNvblwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaW9uLWl0ZW0+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaC1mdWxsIHctZnVsbCBib3JkZXItZGFzaGVkIGJvcmRlci1sIHJlbGF0aXZlXCIgc3R5bGU9XCJib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1pb24tY29sb3ItZGFyaykgMjAlLCB0cmFuc3BhcmVudCA4MCUpO1wiPlxyXG4gICAgICAgIEBmb3IgKG1Hcm91cCBvZiBsc3RNZW51KCk7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFic29sdXRlIHRvcC0wIGxlZnQtMCBweC0yIHB5LTIgc2l6ZS1mdWxsIGRlZmF1bHQtdHJhbnNpdGlvbiBvcGFjaXR5LTAgdHJhbnNsYXRlLXgtZnVsbCB6LTAgbWFzay15IG92ZXJmbG93LXktYXV0b1wiIFtuZ0NsYXNzXT1cInsnb3BhY2l0eS0xMDAgIXRyYW5zbGF0ZS14LTAnOiBDdXJyZW50R3JvdXBBY3RpdmUgPT0gbUdyb3VwfVwiPlxyXG4gICAgICAgICAgICA8ZHJhd2VyLWdyb3VwIFtNZW51R3JvdXBdPVwibUdyb3VwXCIgW3VzZVRyYW5zbGF0aW9uXT1cInVzZVRyYW5zbGF0aW9uXCIgW2NvbGFwc2VkXT1cImNvbGFwc2VkXCI+PC9kcmF3ZXItZ3JvdXA+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+IFxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzaHJpbmstMCB3LWZ1bGxcIj5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Nsb3Q9ZHJhd2VyXVwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4gLS0+XHJcbjxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBsZWZ0LTAgdG9wLTAgaC1mdWxsIGJnLWxpZ2h0IHNpemUtZnVsbCBmbGV4IGZsZXgtY29sIHAtMiAhcHItMCB3LVsxOXJlbV0gb3ZlcmZsb3ctaGlkZGVuXCIgKG1vdXNlZW50ZXIpPVwib25Nb3VzZUVudGVyKClcIiAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiPlxyXG4gIDwhLS0gWyBIZWFkZXIgXSAtLT5cclxuICA8ZGl2IGNsYXNzPVwic2hyaW5rLTAgdy1mdWxsIGZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgPGRpdiAjYW5jaG9yXHJcbiAgICAgIChjbGljayk9XCJUb2dnbGVDb2xsYXBzZWQoKVwiIFxyXG4gICAgICBjbGFzcz1cInRvZ2dsZSBzaXplLTEwIGFzcGVjdC1zcXVhcmUgc2hyaW5rLTAgcm91bmRlZC14bCBiZy1pbmFjdGl2ZSBncmFkaWVudC1iYWNrZ3JvdW5kIG1lbnVcIlxyXG4gICAgPlxyXG4gICAgICA8aW9uLWljb24gbmFtZT1cIm1lbnVcIiBzbG90PVwiaWNvbi1vbmx5XCI+PC9pb24taWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSA8aW9uLWJ1dHRvbiBjbGFzcz1cInNpemUtMTAgc2hyaW5rLTAgYXNwZWN0LXNxdWFyZVwiIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwibWVkaXVtXCIgKGNsaWNrKT1cIlRvZ2dsZUNvbGxhcHNlZCgpXCI+XHJcbiAgICAgIDxpb24taWNvbiBuYW1lPVwibWVudVwiIHNsb3Q9XCJpY29uLW9ubHlcIj48L2lvbi1pY29uPlxyXG4gICAgPC9pb24tYnV0dG9uPiAtLT5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwic2l6ZS1mdWxsIHNocmlua1wiPlxyXG4gICAgICBAaWYgKCFyZWYuY2hpbGRyZW4ubGVuZ3RoKSB7XHJcbiAgICAgICAgPGlvbi10ZXh0IGNsYXNzPVwic2l6ZS1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGRlZmF1bHQtdHJhbnNpdGlvbiB6LTBcIiBbbmdDbGFzc109XCJ7J29wYWNpdHktMCAtdHJhbnNsYXRlLXgtMS8yIHBvaW50ZXItZXZlbnRzLW5vbmUnOiBjb2xhcHNlZCB9XCI+IFxyXG4gICAgICAgICAge3t0aXRsZX19XHJcbiAgICAgICAgPC9pb24tdGV4dD5cclxuICAgICAgfVxyXG4gICAgICA8ZGl2ICNyZWYgY2xhc3M9XCJzaXplLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD1sb2dvXVwiPjwvbmctY29udGVudD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBbIENvbnRlbnQgXSAtLT5cclxuICA8ZGl2IGNsYXNzPVwic2l6ZS1mdWxsIHNocmluayBmbGV4IGZsZXgtY29sIHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgPGxvYWRpbmcgW3R5cGVdPVwiM1wiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiB0ZXh0PVwiXCI+PC9sb2FkaW5nPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpemUtZnVsbCBzaHJpbmsgZmxleCBnYXAtMlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaC1mdWxsIHN1cHBvcnRzLVtzZWxlY3Rvcig6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iKV06IXctWzMuMzc1cmVtXSB3LTEyIHByLTIgcHktMiBtYXNrLXkgc2hyaW5rLTAgZmxleCBmbGV4LWNvbCBnYXAtMiBvdmVyZmxvdy15LWF1dG8gYm9yZGVyLWRhc2hlZCBib3JkZXItciBib3JkZXItci1tZWRpdW0vMzBcIj5cclxuICAgICAgICBAZm9yIChpdGVtIG9mIGxzdE1lbnUoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgW2NsYXNzLmJnLWFjdGl2ZV09XCJDdXJyZW50R3JvdXBBY3RpdmUgPT0gaXRlbVwiXHJcbiAgICAgICAgICAgICAgI2FuY2hvciAobW91c2VlbnRlcik9XCJwb3BvdmVyLnByZXNlbnQoJGV2ZW50KVwiIFxyXG4gICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cInBvcG92ZXIuZGlzbWlzcygpXCIgXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIkN1cnJlbnRHcm91cEFjdGl2ZSA9IGl0ZW1cIiBcclxuICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBhc3BlY3Qtc3F1YXJlIHNocmluay0wIHJvdW5kZWQteGwgYmctaW5hY3RpdmUgZ3JhZGllbnQtYmFja2dyb3VuZCBtZW51XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJpdGVtLmljb25cIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNpb24tcG9wb3ZlciAjcG9wb3ZlciBbYW5jaG9yXT1cImFuY2hvclwiIFtmbGlwXT1cImZhbHNlXCIgcGxhY2VtZW50PVwicmlnaHRcIiBmaWxsPVwic29saWRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC0xXCI+XHJcbiAgICAgICAgICAgICAgICB7e3VzZVRyYW5zbGF0aW9uID8gKFRyYW5zbGF0aW9uTW9kdWxlLlBlcm1pc3Nhb0dydXBvICsgaXRlbS5pZCB8IHRyYW5zbGF0ZSkgOiBpdGVtLnRpdGxlfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9zaW9uLXBvcG92ZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwhLS0gPGlvbi1idXR0b24gY2xhc3M9XCJ3LWZ1bGwgYXNwZWN0LXNxdWFyZSBzaHJpbmstMFwiIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwic2Vjb25kYXJ5XCIgKGNsaWNrKT1cIkN1cnJlbnRHcm91cEFjdGl2ZSA9IGl0ZW1cIj4gXHJcbiAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJpdGVtLmljb25cIiBzbG90PVwiaWNvbi1vbmx5XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj4gLS0+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzaXplLWZ1bGwgc2hyaW5rIHJlbGF0aXZlXCI+XHJcbiAgICAgICAgQGZvciAobUdyb3VwIG9mIGxzdE1lbnUoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWJzb2x1dGUgdG9wLTAgbGVmdC0wIHNpemUtZnVsbCBweS0yIGRlZmF1bHQtdHJhbnNpdGlvbiBvcGFjaXR5LTAgdHJhbnNsYXRlLXgtZnVsbCB6LTAgb3ZlcmZsb3ctaGlkZGVuXCIgW25nQ2xhc3NdPVwieydvcGFjaXR5LTEwMCAhdHJhbnNsYXRlLXgtMCc6IEN1cnJlbnRHcm91cEFjdGl2ZSA9PSBtR3JvdXB9XCI+XHJcbiAgICAgICAgICAgIDxkcmF3ZXItZ3JvdXAgW01lbnVHcm91cF09XCJtR3JvdXBcIiBbdXNlVHJhbnNsYXRpb25dPVwidXNlVHJhbnNsYXRpb25cIiBbY29sYXBzZWRdPVwiY29sYXBzZWRcIj48L2RyYXdlci1ncm91cD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBbIEVuZCBdIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJzaHJpbmstMCB3LWZ1bGxcIj5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzbG90PWRyYXdlcl1cIj48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kcmF3ZXIvZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kcmF3ZXIvZHJhd2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBZSxNQUFNLEVBQUUsTUFBTSxFQUEwQixNQUFNLGVBQWUsQ0FBQztBQUM3SSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU5QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBa0JsRSxNQUFNLE9BQU8sZUFBZTtJQWlCMUIsWUFDUyxNQUFjLEVBQ2IsYUFBNEIsRUFDNUIsY0FBOEI7UUFGL0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNi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QUFVLENBQUMsRUFBRSxDQUFDO1lBQzdELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELGlDQUFpQztRQUNqQyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUMsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDeEQsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIEV2ZW50RW1pdHRlciwgaW5wdXQsIElucHV0LCBJbnB1dFNpZ25hbCwgT3V0cHV0LCBzaWduYWwsIFNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IElvbmljTW9kdWxlLCBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnLi9tZW51JztcclxuXHJcbmltcG9ydCB7IERyYXdlckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9kcmF3ZXItZ3JvdXAvZHJhd2VyLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvYWRpbmdDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTSW9uUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uL3BvcG92ZXIvc2lvbi1wb3BvdmVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTGlua1dpdGhIcmVmIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgR2VuZXJpY1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9nZW5lcmljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2VhcmNoIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIElvbmljTW9kdWxlLFxyXG4gICAgTG9hZGluZ0NvbXBvbmVudCxcclxuICAgIERyYXdlckdyb3VwQ29tcG9uZW50LFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgU0lvblBvcG92ZXJNb2R1bGUsXHJcbiAgICBSb3V0ZXJMaW5rV2l0aEhyZWYsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGVcclxuICBdLFxyXG4gIHNlbGVjdG9yOiAnZHJhd2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kcmF3ZXIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdlckNvbXBvbmVudCB7XHJcblxyXG4gIFRyYW5zbGF0aW9uTW9kdWxlOiBhbnkgPSB7XHJcbiAgICBQZXJtaXNzYW8gICAgIDogJ0VudGl0aWVzLlBlcm1pc3Nhby4nLFxyXG4gICAgUGVybWlzc2FvR3J1cG86ICdFbnRpdGllcy5QZXJtaXNzYW9HcnVwby4nLFxyXG4gICAgU2VtUmVzdWx0YWRvICA6ICdNZXNzYWdlcy5TZW1SZXN1bHRhZG8nXHJcbiAgfTtcclxuXHJcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgbHN0TWVudTogSW5wdXRTaWduYWw8TWVudVtdPiA9IGlucHV0PE1lbnVbXT4oKTtcclxuICBsc3RGbGF0dGVuTWVudTogU2lnbmFsPE1lbnVbXT4gPSBjb21wdXRlZCgoKSA9PiB7IHJldHVybiBGbGF0dGVuTWVudXModGhpcy5sc3RNZW51KCkpIH0pO1xyXG5cclxuICBASW5wdXQoKSBjb2xhcHNlZDogYm9vbGVhbiA9IGZhbHNlOyAgXHJcbiAgQE91dHB1dCgpIGNvbGFwc2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+OyAgXHJcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoKSB1c2VUcmFuc2xhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBuYXZDb250cm9sbGVyOiBOYXZDb250cm9sbGVyLFxyXG4gICAgcHJpdmF0ZSBnZW5lcmljU2VydmljZTogR2VuZXJpY1NlcnZpY2VcclxuICApIHsgXHJcbiAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICAvL0hhbmRsZSBNZW51IFRpdGxlXHJcbiAgICAgIGNvbnN0IGxzdEZsYXQgPSB0aGlzLmxzdEZsYXR0ZW5NZW51KCk7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRNZW51ID0gbHN0RmxhdC5maW5kKHAgPT4gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLmluY2x1ZGVzKCcvJyArIHAucm91dGUpKTtcclxuICAgICAgY29uc3QgZ3JvdXA6IE1lbnUgfCBudWxsID0gRmluZE1lbnVQYXJlbnQodGhpcy5sc3RNZW51KCksIGN1cnJlbnRNZW51KTtcclxuICAgICAgaWYoZ3JvdXApe1xyXG4gICAgICAgIHRoaXMuQ3VycmVudEdyb3VwQWN0aXZlID0gZ3JvdXA7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZXtcclxuICAgICAgICB0aGlzLkN1cnJlbnRHcm91cEFjdGl2ZSA9IHRoaXMubHN0TWVudSgpWzBdO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgQ3VycmVudEdyb3VwQWN0aXZlOiBNZW51ID0gbnVsbDtcclxuXHJcbiAgVG9nZ2xlQ29sbGFwc2VkKCl7XHJcbiAgICB0aGlzLmNvbGFwc2VkQ2hhbmdlLmVtaXQoIXRoaXMuX2VudGVyQ29sYXBzZWQpO1xyXG4gICAgdGhpcy5fZW50ZXJDb2xhcHNlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgX2VudGVyQ29sYXBzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBvbk1vdXNlRW50ZXIoKXtcclxuICAgIGlmKHRoaXMuY29sYXBzZWQpe1xyXG4gICAgICB0aGlzLl9lbnRlckNvbGFwc2VkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jb2xhcHNlZENoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25Nb3VzZUxlYXZlKCl7XHJcbiAgICBpZih0aGlzLl9lbnRlckNvbGFwc2VkKXtcclxuICAgICAgdGhpcy5fZW50ZXJDb2xhcHNlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNvbGFwc2VkQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBIYW5kbGVOYXYoaXRlbTogTWVudSB8IGFueSwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmKGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSl7XHJcbiAgICAgIHdpbmRvdy5vcGVuKHdpbmRvdy5vcmlnaW4gKyAnLycgKyBpdGVtLnJvdXRlLCAnX2JsYW5rJyk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuU2V0VGl0bGUoaXRlbSk7XHJcbiAgICBjb25zdCB2R3JvdXA6IE1lbnUgfCBudWxsID0gRmluZE1lbnVQYXJlbnQodGhpcy5sc3RNZW51KCksIGl0ZW0pO1xyXG4gICAgaWYodkdyb3VwKXtcclxuICAgICAgdGhpcy5DdXJyZW50R3JvdXBBY3RpdmUgPSB2R3JvdXA7XHJcbiAgICB9XHJcbiAgICB0aGlzLm5hdkNvbnRyb2xsZXIubmF2aWdhdGVSb290KCcvJyArIGl0ZW0ucm91dGUpO1xyXG4gIH1cclxuICBTZXRUaXRsZShpdGVtOiBNZW51KXtcclxuICAgIHRoaXMuZ2VuZXJpY1NlcnZpY2UuU2V0VGl0bGUoaXRlbS50aXRsZSk7XHJcbiAgfVxyXG5cclxuICBzZWFyY2g6IFdyaXRhYmxlU2lnbmFsPHN0cmluZz4gPSBzaWduYWw8c3RyaW5nPihcIlwiKTtcclxuICBsc3RNZW51RmlsdGVyZWQ6IFNpZ25hbDxNZW51W10+ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgY29uc3Qgc3RyID0gdGhpcy5zZWFyY2goKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgY29uc3QgbHN0UzEgPSB0aGlzLmxzdE1lbnUoKS5tYXAocCA9PiB7XHJcbiAgICAgIHJldHVybiBuZXcgTWVudShwLnR5cGUsIHAudGl0bGUsIHAuaWNvbiwgcC5sc3RNZW51LmZpbHRlcih4ID0+IHgudGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzdHIpKSwgcC5yb3V0ZSk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGxzdFMyID0gbHN0UzEuZmlsdGVyKHAgPT4gcC5sc3RNZW51Lmxlbmd0aCA+IDApO1xyXG4gICAgcmV0dXJuIGxzdFMyO1xyXG4gIH0pO1xyXG59XHJcblxyXG4vKipcclxuICogRmxhdHRlbnMgYSBoaWVyYXJjaGljYWwgTWVudVtdIHN0cnVjdHVyZSBpbnRvIGEgc2luZ2xlIGFycmF5XHJcbiAqIGNvbnRhaW5pbmcgYWxsIE1lbnUgaXRlbXMgZnJvbSB0aGUgb3JpZ2luYWwgYXJyYXkgYW5kIGFsbCBuZXN0ZWQgaXRlbXNcclxuICogQHBhcmFtIG1lbnVzIFRoZSBhcnJheSBvZiBNZW51IGl0ZW1zIHRvIGZsYXR0ZW5cclxuICogQHJldHVybnMgQSBmbGF0dGVuZWQgYXJyYXkgY29udGFpbmluZyBhbGwgTWVudSBpdGVtc1xyXG4gKi9cclxuZnVuY3Rpb24gRmxhdHRlbk1lbnVzKG1lbnVzOiBNZW51W10pOiBNZW51W10ge1xyXG4gIGNvbnN0IHJlc3VsdDogTWVudVtdID0gW107XHJcbiAgXHJcbiAgZnVuY3Rpb24gYWRkTWVudUl0ZW1zKGl0ZW1zOiBNZW51W10pIHtcclxuICAgIGZvciAoY29uc3QgbWVudSBvZiBpdGVtcykge1xyXG4gICAgICAvLyBBZGQgY3VycmVudCBtZW51IHRvIHJlc3VsdFxyXG4gICAgICByZXN1bHQucHVzaChtZW51KTtcclxuICAgICAgXHJcbiAgICAgIC8vIFByb2Nlc3MgbmVzdGVkIG1lbnVzIGlmIHRoZXkgZXhpc3RcclxuICAgICAgaWYgKG1lbnUubHN0TWVudSAmJiBtZW51LmxzdE1lbnUubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGFkZE1lbnVJdGVtcyhtZW51LmxzdE1lbnUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIGFkZE1lbnVJdGVtcyhtZW51cyk7XHJcbiAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZnVuY3Rpb24gRmluZE1lbnVQYXJlbnQobWVudXM6IE1lbnVbXSwgdGFyZ2V0TWVudTogTWVudSk6IE1lbnUgfCBudWxsIHtcclxuICBmb3IgKGNvbnN0IG1lbnUgb2YgbWVudXMpIHtcclxuICAgIC8vIENoZWNrIGlmIGN1cnJlbnQgbWVudSBoYXMgdGhlIHRhcmdldCBpbiBpdHMgZGlyZWN0IGNoaWxkcmVuXHJcbiAgICBpZiAobWVudS5sc3RNZW51ICYmIG1lbnUubHN0TWVudS5zb21lKG0gPT4gbSA9PT0gdGFyZ2V0TWVudSkpIHtcclxuICAgICAgcmV0dXJuIG1lbnU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIFNlYXJjaCBkZWVwZXIgaW4gdGhlIGhpZXJhcmNoeVxyXG4gICAgaWYgKG1lbnUubHN0TWVudSAmJiBtZW51LmxzdE1lbnUubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBwYXJlbnQgPSBGaW5kTWVudVBhcmVudChtZW51LmxzdE1lbnUsIHRhcmdldE1lbnUpO1xyXG4gICAgICBpZiAocGFyZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIHBhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICByZXR1cm4gbnVsbDtcclxufSIsIjxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBsZWZ0LTAgdG9wLTAgaC1mdWxsIGJnLWxpZ2h0IHNpemUtZnVsbCBmbGV4IGZsZXgtY29sIHAtMiAhcHItMCB3LVsxOXJlbV0gb3ZlcmZsb3ctaGlkZGVuXCIgKG1vdXNlZW50ZXIpPVwib25Nb3VzZUVudGVyKClcIiAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiPlxyXG4gIDwhLS0gWyBIZWFkZXIgXSAtLT5cclxuICA8ZGl2IGNsYXNzPVwic2hyaW5rLTAgdy1mdWxsIGZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgPGRpdiAjYW5jaG9yXHJcbiAgICAgIChjbGljayk9XCJUb2dnbGVDb2xsYXBzZWQoKVwiIFxyXG4gICAgICBjbGFzcz1cInRvZ2dsZSBzaXplLTEwIGFzcGVjdC1zcXVhcmUgc2hyaW5rLTAgcm91bmRlZC14bCBiZy1pbmFjdGl2ZSBncmFkaWVudC1iYWNrZ3JvdW5kIG1lbnVcIlxyXG4gICAgPlxyXG4gICAgICA8aW9uLWljb24gbmFtZT1cIm1lbnVcIiBzbG90PVwiaWNvbi1vbmx5XCI+PC9pb24taWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSA8aW9uLWJ1dHRvbiBjbGFzcz1cInNpemUtMTAgc2hyaW5rLTAgYXNwZWN0LXNxdWFyZVwiIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwibWVkaXVtXCIgKGNsaWNrKT1cIlRvZ2dsZUNvbGxhcHNlZCgpXCI+XHJcbiAgICAgIDxpb24taWNvbiBuYW1lPVwibWVudVwiIHNsb3Q9XCJpY29uLW9ubHlcIj48L2lvbi1pY29uPlxyXG4gICAgPC9pb24tYnV0dG9uPiAtLT5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwic2l6ZS1mdWxsIHNocmluayBmbGV4IHBsLTIgXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzaXplLWZ1bGwgZmxleCBmbGV4LXdyYXAgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgICAgQGlmICghcmVmLmNoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgPGlvbi10ZXh0IGNsYXNzPVwic2l6ZS1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGRlZmF1bHQtdHJhbnNpdGlvbiB6LTBcIiBbbmdDbGFzc109XCJ7J29wYWNpdHktMCAtdHJhbnNsYXRlLXgtMS8yIHBvaW50ZXItZXZlbnRzLW5vbmUnOiBjb2xhcHNlZCB9XCI+IFxyXG4gICAgICAgICAgICB7e3RpdGxlfX1cclxuICAgICAgICAgIDwvaW9uLXRleHQ+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxkaXYgI3JlZiBjbGFzcz1cInNpemUtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBzaHJpbmstMFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Nsb3Q9bG9nb11cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gWyBDb250ZW50IF0gLS0+XHJcbiAgPGRpdiBjbGFzcz1cInNpemUtZnVsbCBzaHJpbmsgZmxleCBmbGV4LWNvbCByZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW5cIj5cclxuICAgIDxsb2FkaW5nIFt0eXBlXT1cIjNcIiBbbG9hZGluZ109XCJsb2FkaW5nXCIgdGV4dD1cIlwiPjwvbG9hZGluZz5cclxuICAgIDxkaXYgY2xhc3M9XCJzaXplLWZ1bGwgc2hyaW5rIGZsZXggZ2FwLTJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImgtZnVsbCBzdXBwb3J0cy1bc2VsZWN0b3IoOjotd2Via2l0LXNjcm9sbGJhci10aHVtYildOiF3LVszLjM3NXJlbV0gdy0xMiBwci0yIHB5LTIgbWFzay15IHNocmluay0wIGZsZXggZmxleC1jb2wgZ2FwLTIgb3ZlcmZsb3cteS1hdXRvIGJvcmRlci1kYXNoZWQgYm9yZGVyLXIgYm9yZGVyLXItbWVkaXVtLzMwXCI+XHJcbiAgICAgICAgPGRpdiAjc2VhcmNoQW5jaG9yIChjbGljayk9XCJtb2RhbC5wcmVzZW50KClcIiBjbGFzcz1cInNlYXJjaC1idXR0b24gc2l6ZS0xMCBhc3BlY3Qtc3F1YXJlIHNocmluay0wIHJvdW5kZWQteGwgYmctaW5hY3RpdmUgZ3JhZGllbnQtYmFja2dyb3VuZCBtZW51XCI+XHJcbiAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInNlYXJjaFwiIHNsb3Q9XCJpY29uLW9ubHlcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICBAZm9yIChpdGVtIG9mIGxzdE1lbnUoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgW2NsYXNzLmJnLWFjdGl2ZV09XCJDdXJyZW50R3JvdXBBY3RpdmUgPT0gaXRlbVwiXHJcbiAgICAgICAgICAgICAgI2FuY2hvciAobW91c2VlbnRlcik9XCJwb3BvdmVyLnByZXNlbnQoJGV2ZW50KVwiIFxyXG4gICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cInBvcG92ZXIuZGlzbWlzcygpXCIgXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIkN1cnJlbnRHcm91cEFjdGl2ZSA9IGl0ZW1cIiBcclxuICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBhc3BlY3Qtc3F1YXJlIHNocmluay0wIHJvdW5kZWQteGwgYmctaW5hY3RpdmUgZ3JhZGllbnQtYmFja2dyb3VuZCBtZW51XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJpdGVtLmljb25cIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNpb24tcG9wb3ZlciAjcG9wb3ZlciBbYW5jaG9yXT1cImFuY2hvclwiIFtmbGlwXT1cImZhbHNlXCIgcGxhY2VtZW50PVwicmlnaHRcIiBmaWxsPVwic29saWRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC0xXCI+XHJcbiAgICAgICAgICAgICAgICB7e3VzZVRyYW5zbGF0aW9uID8gKFRyYW5zbGF0aW9uTW9kdWxlLlBlcm1pc3Nhb0dydXBvICsgaXRlbS5pZCB8IHRyYW5zbGF0ZSkgOiBpdGVtLnRpdGxlfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9zaW9uLXBvcG92ZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcblxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNpemUtZnVsbCBzaHJpbmsgcmVsYXRpdmVcIj5cclxuICAgICAgICBAZm9yIChtR3JvdXAgb2YgbHN0TWVudSgpOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTAgc2l6ZS1mdWxsIHB5LTIgZGVmYXVsdC10cmFuc2l0aW9uIG9wYWNpdHktMCB0cmFuc2xhdGUteC1mdWxsIHotMCBvdmVyZmxvdy1oaWRkZW5cIiBbbmdDbGFzc109XCJ7J29wYWNpdHktMTAwICF0cmFuc2xhdGUteC0wJzogQ3VycmVudEdyb3VwQWN0aXZlID09IG1Hcm91cH1cIj5cclxuICAgICAgICAgICAgPGRyYXdlci1ncm91cCBbTWVudUdyb3VwXT1cIm1Hcm91cFwiIFt1c2VUcmFuc2xhdGlvbl09XCJ1c2VUcmFuc2xhdGlvblwiIFtjb2xhcHNlZF09XCJjb2xhcHNlZFwiPjwvZHJhd2VyLWdyb3VwPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIFsgRW5kIF0gLS0+XHJcbiAgPGRpdiBjbGFzcz1cInNocmluay0wIHctZnVsbFwiPlxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Nsb3Q9ZHJhd2VyXVwiPjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48aW9uLW1vZGFsICNtb2RhbCBba2VlcENvbnRlbnRzTW91bnRlZF09XCJ0cnVlXCIgKG9uV2lsbERpc21pc3MpPVwic2VhcmNoLnNldCgnJylcIj5cclxuICA8bmctdGVtcGxhdGU+XHJcbiAgICA8aW9uLWNvbnRlbnQ+XHJcbiAgICAgIDxpb24tY2FyZCBjbGFzcz1cInNpemUtZnVsbCBtLTAgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgICAgPGlvbi1jYXJkLWNvbnRlbnQgY2xhc3M9XCJzaXplLWZ1bGwgZmxleCBmbGV4LWNvbCBvdmVyZmxvdy1oaWRkZW4gcC0wXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hyaW5rLTAgdy1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxpb24tc2VhcmNoYmFyIGNsYXNzPVwicC0wICFweS0yXCIgW25nTW9kZWxdPVwidGhpcy5zZWFyY2goKVwiIChuZ01vZGVsQ2hhbmdlKT1cInRoaXMuc2VhcmNoLnNldCgkZXZlbnQpXCIgW2RlYm91bmNlXT1cIjIwMFwiPjwvaW9uLXNlYXJjaGJhcj5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gc2l6ZT1cInNtYWxsXCIgZmlsbD1cImNsZWFyXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2xvc2VcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2l6ZS1mdWxsIGZsZXggZmxleC1jb2wgc2hyaW5rIGdhcC0yIG92ZXJmbG93LXktYXV0byBwLTIgbWFzay15XCI+XHJcbiAgICAgICAgICAgIEBmb3IgKHZHcm91cCBvZiBsc3RNZW51RmlsdGVyZWQoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgPGlvbi1jYXJkIGNsYXNzPVwibS0wIHNocmluay0wXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWNhcmQtY29udGVudCBjbGFzcz1cInAtMCBncmFkaWVudC1iYWNrZ3JvdW5kIGJnLWluYWN0aXZlIGZsZXggZmxleC1jb2xcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciAhanVzdGlmeS1zdGFydCBnYXAtMiB0ZXh0LWRhcmsgc2hyaW5rLTAgcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cInZHcm91cC5pY29uXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7e3VzZVRyYW5zbGF0aW9uID8gKFRyYW5zbGF0aW9uTW9kdWxlLlBlcm1pc3Nhb0dydXBvICsgdkdyb3VwLmlkIHwgdHJhbnNsYXRlKSA6IHZHcm91cC50aXRsZX19IFxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICBAZm9yICh2TWVudSBvZiB2R3JvdXAubHN0TWVudTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJIYW5kbGVOYXYodk1lbnUsICRldmVudCk7IG1vZGFsLmRpc21pc3MoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYmctYWN0aXZlXT1cInJvdXRlci5pc0FjdGl2ZSgnLycgKyB2TWVudS5yb3V0ZSwgZmFsc2UpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIGZsZXggaXRlbXMtY2VudGVyICFqdXN0aWZ5LXN0YXJ0IGdhcC0yIHRleHQtZGFyayBzaHJpbmstMCAhcGwtOCBwLTEuNSBib3JkZXItdCBib3JkZXItdC1tZWRpdW0vMzAgbWVudS1zZWFyY2hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJ2TWVudS5pY29uXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpb24tdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3t1c2VUcmFuc2xhdGlvbiA/IChUcmFuc2xhdGlvbk1vZHVsZS5QZXJtaXNzYW8gKyB2TWVudS5pZCB8IHRyYW5zbGF0ZSkgOiB2TWVudS50aXRsZX19IFxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9pb24tdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9pb24tY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNhcmQ+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpZiAobHN0TWVudUZpbHRlcmVkKCkubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgICA8aW9uLXRleHQgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0ZXh0LW1lZGl1bVwiPlxyXG4gICAgICAgICAgICAgICAge3t1c2VUcmFuc2xhdGlvbiA/IChUcmFuc2xhdGlvbk1vZHVsZS5TZW1SZXN1bHRhZG8gfCB0cmFuc2xhdGUpIDogJ1NlbSByZXN1bHRhZG9zIGVuY29udHJhZG9zJ319XHJcbiAgICAgICAgICAgICAgPC9pb24tdGV4dD5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9pb24tY2FyZC1jb250ZW50PlxyXG4gICAgICA8L2lvbi1jYXJkPlxyXG4gICAgPC9pb24tY29udGVudD5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2lvbi1tb2RhbD4iXX0=
|
|
@@ -22,11 +22,11 @@ export class InputBoolComponent extends CustomInput {
|
|
|
22
22
|
this.runValidation();
|
|
23
23
|
}
|
|
24
24
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputBoolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: InputBoolComponent, selector: "input-bool", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, providers: [...InputProviderFactory.GetProviders(InputBoolComponent)], viewQueries: [{ propertyName: "ionCheckbox", first: true, predicate: IonCheckbox, descendants: true }, { propertyName: "ionToggle", first: true, predicate: IonToggle, descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n tabindex=\"-1\"\r\n class=\"input-container\" \r\n (click)=\"focus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n @if(configuration().type == \"checkbox\"){\r\n <ion-checkbox (click)=\"$event.stopPropagation()\" #checkbox [ngModel]=\"value()\" (ngModelChange)=\"SetValue(!value())\" class=\"text-sm text-dark my-1.5\">\r\n {{label()}}\r\n </ion-checkbox>\r\n }\r\n @else { \r\n <!-- toogle -->\r\n <ion-toggle (click)=\"$event.stopPropagation()\" #toggle [ngModel]=\"value()\" (ngModelChange)=\"SetValue(!value())\" class=\"text-sm text-dark\">\r\n {{label()}}\r\n </ion-toggle>\r\n }\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: [".input-container{cursor:pointer!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;padding:.375rem!important}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: InputBoolComponent, selector: "input-bool", inputs: { configuration: { classPropertyName: "configuration", publicName: "configuration", isSignal: true, isRequired: false, transformFunction: null } }, providers: [...InputProviderFactory.GetProviders(InputBoolComponent)], viewQueries: [{ propertyName: "ionCheckbox", first: true, predicate: IonCheckbox, descendants: true }, { propertyName: "ionToggle", first: true, predicate: IonToggle, descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n tabindex=\"-1\"\r\n class=\"input-container\" \r\n (click)=\"focus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n @if(configuration().type == \"checkbox\"){\r\n <ion-checkbox (click)=\"$event.stopPropagation()\" #checkbox [ngModel]=\"value()\" (ngModelChange)=\"SetValue(!value())\" class=\"text-sm text-dark my-1.5\">\r\n {{label()}}\r\n </ion-checkbox>\r\n }\r\n @else { \r\n <!-- toogle -->\r\n <ion-toggle (click)=\"$event.stopPropagation()\" #toggle [ngModel]=\"value()\" (ngModelChange)=\"SetValue(!value())\" class=\"text-sm text-dark\">\r\n {{label()}}\r\n </ion-toggle>\r\n }\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: [".input-container{cursor:pointer!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;padding:.375rem!important}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:transform;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonCheckbox, selector: "ion-checkbox", inputs: ["alignment", "checked", "color", "disabled", "errorText", "helperText", "indeterminate", "justify", "labelPlacement", "mode", "name", "required", "value"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonToggle, selector: "ion-toggle", inputs: ["alignment", "checked", "color", "disabled", "enableOnOffLabels", "errorText", "helperText", "justify", "labelPlacement", "mode", "name", "required", "value"] }, { kind: "directive", type: i1.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
26
26
|
}
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputBoolComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
|
-
args: [{ selector: 'input-bool', providers: [...InputProviderFactory.GetProviders(InputBoolComponent)], template: "<div \r\n #inputContainer\r\n tabindex=\"-1\"\r\n class=\"input-container\" \r\n (click)=\"focus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n @if(configuration().type == \"checkbox\"){\r\n <ion-checkbox (click)=\"$event.stopPropagation()\" #checkbox [ngModel]=\"value()\" (ngModelChange)=\"SetValue(!value())\" class=\"text-sm text-dark my-1.5\">\r\n {{label()}}\r\n </ion-checkbox>\r\n }\r\n @else { \r\n <!-- toogle -->\r\n <ion-toggle (click)=\"$event.stopPropagation()\" #toggle [ngModel]=\"value()\" (ngModelChange)=\"SetValue(!value())\" class=\"text-sm text-dark\">\r\n {{label()}}\r\n </ion-toggle>\r\n }\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: [".input-container{cursor:pointer!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;padding:.375rem!important}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px
|
|
29
|
+
args: [{ selector: 'input-bool', providers: [...InputProviderFactory.GetProviders(InputBoolComponent)], template: "<div \r\n #inputContainer\r\n tabindex=\"-1\"\r\n class=\"input-container\" \r\n (click)=\"focus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n @if(configuration().type == \"checkbox\"){\r\n <ion-checkbox (click)=\"$event.stopPropagation()\" #checkbox [ngModel]=\"value()\" (ngModelChange)=\"SetValue(!value())\" class=\"text-sm text-dark my-1.5\">\r\n {{label()}}\r\n </ion-checkbox>\r\n }\r\n @else { \r\n <!-- toogle -->\r\n <ion-toggle (click)=\"$event.stopPropagation()\" #toggle [ngModel]=\"value()\" (ngModelChange)=\"SetValue(!value())\" class=\"text-sm text-dark\">\r\n {{label()}}\r\n </ion-toggle>\r\n }\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: [".input-container{cursor:pointer!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;padding:.375rem!important}\n", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:transform;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"] }]
|
|
30
30
|
}], ctorParameters: () => [], propDecorators: { ionCheckbox: [{
|
|
31
31
|
type: ViewChild,
|
|
32
32
|
args: [IonCheckbox]
|
|
@@ -24,11 +24,11 @@ export class InputCepComponent extends CustomInput {
|
|
|
24
24
|
this.runValidation();
|
|
25
25
|
}
|
|
26
26
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputCepComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InputCepComponent, selector: "input-cep", providers: [...InputProviderFactory.GetProviders(InputCepComponent)], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"focus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n <input #input\r\n [ngModel]=\"value()\" \r\n [maskito]=\"mask\"\r\n inputmode=\"numeric\"\r\n (ngModelChange)=\"SetValue($event)\"\r\n [disabled]=\"disabled() || loading()\"\r\n />\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: ["", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InputCepComponent, selector: "input-cep", providers: [...InputProviderFactory.GetProviders(InputCepComponent)], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "inputContainer", first: true, predicate: ["inputContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"focus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n <input #input\r\n [ngModel]=\"value()\" \r\n [maskito]=\"mask\"\r\n inputmode=\"numeric\"\r\n (ngModelChange)=\"SetValue($event)\"\r\n [disabled]=\"disabled() || loading()\"\r\n />\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: ["", "@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:transform;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }] }); }
|
|
28
28
|
}
|
|
29
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputCepComponent, decorators: [{
|
|
30
30
|
type: Component,
|
|
31
|
-
args: [{ selector: 'input-cep', providers: [...InputProviderFactory.GetProviders(InputCepComponent)], template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"focus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n <input #input\r\n [ngModel]=\"value()\" \r\n [maskito]=\"mask\"\r\n inputmode=\"numeric\"\r\n (ngModelChange)=\"SetValue($event)\"\r\n [disabled]=\"disabled() || loading()\"\r\n />\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: ["@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px
|
|
31
|
+
args: [{ selector: 'input-cep', providers: [...InputProviderFactory.GetProviders(InputCepComponent)], template: "<div \r\n #inputContainer\r\n class=\"input-container\" \r\n (click)=\"focus($event)\"\r\n [class.required]=\"required()\" \r\n [class.submitted]=\"submitted()\" \r\n [class.invalid]=\"invalid\" \r\n [class.disabled]=\"disabled() || loading()\"\r\n [class.loading]=\"loading()\"\r\n>\r\n <div class=\"input-label\"> \r\n <span class=\"truncate\">\r\n {{label()}} \r\n </span>\r\n </div>\r\n <input #input\r\n [ngModel]=\"value()\" \r\n [maskito]=\"mask\"\r\n inputmode=\"numeric\"\r\n (ngModelChange)=\"SetValue($event)\"\r\n [disabled]=\"disabled() || loading()\"\r\n />\r\n <div class=\"loading-container\" [class.loading]=\"loading()\">\r\n <ion-spinner></ion-spinner>\r\n </div>\r\n</div>", styles: ["@property --input-color{syntax: \"<color>\"; initial-value: transparent; inherits: false;}.input-container{position:relative;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:text;border-radius:.75rem;padding:.25rem .75rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition:--input-color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out,filter .2s ease-in-out;--color: var(--ion-color-dark);--input-color: var(--input-background, var(--ion-color-step-250));--shadow: 0 3px 4px -1px rgb(0 0 0 / .1);--inset-shadow: var(--input-color) 0px 1.75px 2px 0px inset;--focused-shadow: 0 0 1px 2px color-mix(in srgb, var(--ion-color-medium) 35%, transparent);box-shadow:var(--inset-shadow),var(--shadow);will-change:box-shadow,filter opacity;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at 0px top,hsl(from var(--input-color) h s l/.5),hsl(from var(--input-color) h s l/.4)),hsl(from var(--ion-color-light) h s l/.8)}.input-container:hover{--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container:focus-within,.input-container:focus,.input-container.manual-focus{box-shadow:var(--inset-shadow),var(--shadow),var(--focused-shadow);--tw-brightness: brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container .input-label{pointer-events:none;display:flex;height:1rem;width:100%;min-width:0px;max-width:100%;align-items:center;justify-content:flex-start;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1rem;color:var(--color)}.input-container input,.input-container textarea{height:1.5rem;width:100%;border-radius:.375rem;background-color:transparent;font-size:.875rem;line-height:1.25rem;color:var(--ion-color-dark);outline:2px solid transparent;outline-offset:2px}.input-container.loading{cursor:wait!important}.input-container.required .input-label:after{content:\"*\";color:var(--ion-color-danger);vertical-align:bottom}.input-container.submitted.invalid{--input-color: color-mix(in srgb, var(--ion-color-danger) 50%, transparent)}.input-container.disabled{cursor:not-allowed;opacity:.5;--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.input-container.disabled *{pointer-events:none}.loading-container{position:absolute;pointer-events:none;width:100%;height:100%;top:0;left:0;display:flex;justify-content:end;align-items:center;padding-right:.5rem;will-change:opacity;transition:opacity .2s ease-in-out;overflow:hidden;opacity:0;z-index:10}.loading-container ion-spinner{will-change:transform;transition:transform .2s ease-in-out;transform:translateY(-100%)}.loading-container.loading{opacity:1}.loading-container.loading ion-spinner{transform:translateY(0)}ion-modal::part(content){border-radius:.75rem;border:1px solid var(--ion-color-step-250)}\n"] }]
|
|
32
32
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { input: [{
|
|
33
33
|
type: ViewChild,
|
|
34
34
|
args: ['input']
|