coer-elements 0.0.10 → 0.0.12
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/components/index.d.ts +1 -0
- package/components/lib/coer-button/coer-button.component.d.ts +44 -0
- package/components/lib/components.module.d.ts +6 -4
- package/esm2022/components/index.mjs +2 -1
- package/esm2022/components/lib/coer-button/coer-button.component.mjs +133 -0
- package/esm2022/components/lib/components.module.mjs +15 -9
- package/esm2022/interfaces/index.mjs +7 -0
- package/esm2022/interfaces/lib/app-source.interface.mjs +2 -0
- package/esm2022/interfaces/lib/breadcrumb.interface.mjs +2 -0
- package/esm2022/interfaces/lib/coer-ref.interface.mjs +2 -0
- package/esm2022/interfaces/lib/go-back.interface.mjs +2 -0
- package/esm2022/interfaces/lib/patch.interface.mjs +2 -0
- package/esm2022/interfaces/lib/screen-size.interface.mjs +2 -0
- package/esm2022/public_api.mjs +2 -1
- package/esm2022/signals/index.mjs +4 -0
- package/esm2022/signals/lib/breakpoint.signal.mjs +4 -0
- package/esm2022/signals/lib/is-loading.signal.mjs +3 -0
- package/esm2022/signals/lib/is-modal-open.signal.mjs +3 -0
- package/esm2022/tools/index.mjs +9 -2
- package/esm2022/tools/lib/breadcrumbs.class.mjs +63 -0
- package/esm2022/tools/lib/control-value.class.mjs +46 -0
- package/esm2022/tools/lib/date-time.class.mjs +22 -0
- package/esm2022/tools/lib/files.class.mjs +91 -0
- package/esm2022/tools/lib/generi-tools.mjs +199 -0
- package/esm2022/tools/lib/page.class.mjs +156 -0
- package/esm2022/tools/lib/screen.class.mjs +43 -0
- package/esm2022/tools/lib/source.class.mjs +80 -0
- package/fesm2022/coer-elements.mjs +836 -54
- package/fesm2022/coer-elements.mjs.map +1 -1
- package/interfaces/index.d.ts +6 -0
- package/interfaces/lib/app-source.interface.d.ts +4 -0
- package/interfaces/lib/breadcrumb.interface.d.ts +6 -0
- package/interfaces/lib/coer-ref.interface.d.ts +10 -0
- package/interfaces/lib/go-back.interface.d.ts +6 -0
- package/interfaces/lib/patch.interface.d.ts +5 -0
- package/interfaces/lib/screen-size.interface.d.ts +5 -0
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/signals/index.d.ts +3 -0
- package/signals/lib/breakpoint.signal.d.ts +1 -0
- package/signals/lib/is-loading.signal.d.ts +1 -0
- package/signals/lib/is-modal-open.signal.d.ts +1 -0
- package/src/interfaces/index.ts +6 -0
- package/src/interfaces/lib/app-source.interface.ts +4 -0
- package/src/interfaces/lib/breadcrumb.interface.ts +6 -0
- package/src/interfaces/lib/coer-ref.interface.ts +11 -0
- package/src/interfaces/lib/go-back.interface.ts +6 -0
- package/src/interfaces/lib/patch.interface.ts +5 -0
- package/src/interfaces/lib/screen-size.interface.ts +5 -0
- package/tools/index.d.ts +8 -1
- package/tools/lib/breadcrumbs.class.d.ts +18 -0
- package/tools/lib/date-time.class.d.ts +11 -0
- package/tools/lib/files.class.d.ts +16 -0
- package/tools/lib/generi-tools.d.ts +32 -0
- package/tools/lib/page.class.d.ts +60 -0
- package/tools/lib/screen.class.d.ts +11 -0
- package/tools/lib/source.class.d.ts +20 -0
- package/esm2022/tools/lib/controlValue.mjs +0 -46
- /package/tools/lib/{controlValue.d.ts → control-value.class.d.ts} +0 -0
    
        package/components/index.d.ts
    CHANGED
    
    
| @@ -0,0 +1,44 @@ | |
| 1 | 
            +
            import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
         | 
| 2 | 
            +
            import * as i0 from "@angular/core";
         | 
| 3 | 
            +
            export declare class CoerButton implements OnInit, OnDestroy {
         | 
| 4 | 
            +
                protected _id: string;
         | 
| 5 | 
            +
                private _element;
         | 
| 6 | 
            +
                private _tooltip;
         | 
| 7 | 
            +
                private _tooltipElement;
         | 
| 8 | 
            +
                id: string;
         | 
| 9 | 
            +
                color: import("@angular/core").InputSignal<"warning" | "danger" | "success" | "default" | "primary" | "secondary" | "navigation">;
         | 
| 10 | 
            +
                type: import("@angular/core").InputSignal<"icon" | "filled" | "outline" | "icon-outline" | "icon-no-border">;
         | 
| 11 | 
            +
                icon: import("@angular/core").InputSignal<"" | "delete" | "cancel" | "new" | "save" | "import" | "excel" | "menu" | "edit" | "go" | "back">;
         | 
| 12 | 
            +
                iconPosition: import("@angular/core").InputSignal<"left" | "right">;
         | 
| 13 | 
            +
                animation: import("@angular/core").InputSignal<boolean>;
         | 
| 14 | 
            +
                isLoading: import("@angular/core").InputSignal<boolean>;
         | 
| 15 | 
            +
                isDisabled: import("@angular/core").InputSignal<boolean>;
         | 
| 16 | 
            +
                isInvisible: import("@angular/core").InputSignal<boolean>;
         | 
| 17 | 
            +
                width: import("@angular/core").InputSignal<string>;
         | 
| 18 | 
            +
                minWidth: import("@angular/core").InputSignal<string>;
         | 
| 19 | 
            +
                height: import("@angular/core").InputSignal<string>;
         | 
| 20 | 
            +
                minHeight: import("@angular/core").InputSignal<string>;
         | 
| 21 | 
            +
                marginTop: import("@angular/core").InputSignal<string>;
         | 
| 22 | 
            +
                marginRight: import("@angular/core").InputSignal<string>;
         | 
| 23 | 
            +
                marginBottom: import("@angular/core").InputSignal<string>;
         | 
| 24 | 
            +
                marginLeft: import("@angular/core").InputSignal<string>;
         | 
| 25 | 
            +
                path: import("@angular/core").InputSignal<string | (string | number)[]>;
         | 
| 26 | 
            +
                tooltipPosition: import("@angular/core").InputSignal<"left" | "right" | "top" | "bottom">;
         | 
| 27 | 
            +
                set tooltip(value: string);
         | 
| 28 | 
            +
                onClick: EventEmitter<MouseEvent>;
         | 
| 29 | 
            +
                protected _isEnable: import("@angular/core").Signal<boolean>;
         | 
| 30 | 
            +
                protected _icon: import("@angular/core").Signal<string>;
         | 
| 31 | 
            +
                ngOnInit(): void;
         | 
| 32 | 
            +
                ngOnDestroy(): void;
         | 
| 33 | 
            +
                /** */
         | 
| 34 | 
            +
                private SetEvents;
         | 
| 35 | 
            +
                private SetToolTip;
         | 
| 36 | 
            +
                /** */
         | 
| 37 | 
            +
                protected Click(event: MouseEvent): void;
         | 
| 38 | 
            +
                /** */
         | 
| 39 | 
            +
                Focus(timeout?: number): void;
         | 
| 40 | 
            +
                /** */
         | 
| 41 | 
            +
                Blur(): void;
         | 
| 42 | 
            +
                static ɵfac: i0.ɵɵFactoryDeclaration<CoerButton, never>;
         | 
| 43 | 
            +
                static ɵcmp: i0.ɵɵComponentDeclaration<CoerButton, "coer-button", never, { "id": { "alias": "id"; "required": false; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "iconPosition"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "isInvisible": { "alias": "isInvisible"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "marginTop": { "alias": "marginTop"; "required": false; "isSignal": true; }; "marginRight": { "alias": "marginRight"; "required": false; "isSignal": true; }; "marginBottom": { "alias": "marginBottom"; "required": false; "isSignal": true; }; "marginLeft": { "alias": "marginLeft"; "required": false; "isSignal": true; }; "path": { "alias": "path"; "required": false; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, { "onClick": "onClick"; }, never, ["*"], false, never>;
         | 
| 44 | 
            +
            }
         | 
| @@ -1,10 +1,12 @@ | |
| 1 1 | 
             
            import * as i0 from "@angular/core";
         | 
| 2 2 | 
             
            import * as i1 from "./coer-alert/coer-alert.component";
         | 
| 3 | 
            -
            import * as i2 from " | 
| 4 | 
            -
            import * as i3 from "@angular/ | 
| 5 | 
            -
            import * as i4 from "@angular/ | 
| 3 | 
            +
            import * as i2 from "./coer-button/coer-button.component";
         | 
| 4 | 
            +
            import * as i3 from "@angular/common";
         | 
| 5 | 
            +
            import * as i4 from "@angular/router";
         | 
| 6 | 
            +
            import * as i5 from "@angular/forms";
         | 
| 7 | 
            +
            import * as i6 from "@angular/material/button";
         | 
| 6 8 | 
             
            export declare class ComponentsModule {
         | 
| 7 9 | 
             
                static ɵfac: i0.ɵɵFactoryDeclaration<ComponentsModule, never>;
         | 
| 8 | 
            -
                static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsModule, [typeof i1.CoerAlert], [typeof  | 
| 10 | 
            +
                static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsModule, [typeof i1.CoerAlert, typeof i2.CoerButton], [typeof i3.CommonModule, typeof i4.RouterModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof i6.MatButtonModule], [typeof i1.CoerAlert, typeof i2.CoerButton]>;
         | 
| 9 11 | 
             
                static ɵinj: i0.ɵɵInjectorDeclaration<ComponentsModule>;
         | 
| 10 12 | 
             
            }
         | 
| @@ -1,3 +1,4 @@ | |
| 1 1 | 
             
            export * from './lib/components.module';
         | 
| 2 2 | 
             
            export * from './lib/coer-alert/coer-alert.component';
         | 
| 3 | 
            -
             | 
| 3 | 
            +
            export * from './lib/coer-button/coer-button.component';
         | 
| 4 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLWFsZXJ0L2NvZXItYWxlcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1idXR0b24vY29lci1idXR0b24uY29tcG9uZW50JzsiXX0=
         | 
| @@ -0,0 +1,133 @@ | |
| 1 | 
            +
            import { Component, computed, EventEmitter, input, Input, Output } from '@angular/core';
         | 
| 2 | 
            +
            import { Tools } from '../../../tools';
         | 
| 3 | 
            +
            import { Tooltip } from 'bootstrap';
         | 
| 4 | 
            +
            import * as i0 from "@angular/core";
         | 
| 5 | 
            +
            import * as i1 from "@angular/common";
         | 
| 6 | 
            +
            import * as i2 from "@angular/router";
         | 
| 7 | 
            +
            import * as i3 from "@angular/material/button";
         | 
| 8 | 
            +
            export class CoerButton {
         | 
| 9 | 
            +
                constructor() {
         | 
| 10 | 
            +
                    //Variables
         | 
| 11 | 
            +
                    this._id = Tools.GetGuid('coer-button');
         | 
| 12 | 
            +
                    this._tooltip = '';
         | 
| 13 | 
            +
                    //Inputs
         | 
| 14 | 
            +
                    this.id = '';
         | 
| 15 | 
            +
                    this.color = input('default');
         | 
| 16 | 
            +
                    this.type = input('filled');
         | 
| 17 | 
            +
                    this.icon = input('');
         | 
| 18 | 
            +
                    this.iconPosition = input('left');
         | 
| 19 | 
            +
                    this.animation = input(false);
         | 
| 20 | 
            +
                    this.isLoading = input(false);
         | 
| 21 | 
            +
                    this.isDisabled = input(false);
         | 
| 22 | 
            +
                    this.isInvisible = input(false);
         | 
| 23 | 
            +
                    this.width = input('125px');
         | 
| 24 | 
            +
                    this.minWidth = input('30px');
         | 
| 25 | 
            +
                    this.height = input('40px');
         | 
| 26 | 
            +
                    this.minHeight = input('30px');
         | 
| 27 | 
            +
                    this.marginTop = input('0px');
         | 
| 28 | 
            +
                    this.marginRight = input('0px');
         | 
| 29 | 
            +
                    this.marginBottom = input('0px');
         | 
| 30 | 
            +
                    this.marginLeft = input('0px');
         | 
| 31 | 
            +
                    this.path = input([]);
         | 
| 32 | 
            +
                    this.tooltipPosition = input('left');
         | 
| 33 | 
            +
                    //Outputs
         | 
| 34 | 
            +
                    this.onClick = new EventEmitter();
         | 
| 35 | 
            +
                    //computed
         | 
| 36 | 
            +
                    this._isEnable = computed(() => {
         | 
| 37 | 
            +
                        return !this.isLoading() && !this.isDisabled() && !this.isInvisible();
         | 
| 38 | 
            +
                    });
         | 
| 39 | 
            +
                    //computed
         | 
| 40 | 
            +
                    this._icon = computed(() => {
         | 
| 41 | 
            +
                        switch (this.icon()) {
         | 
| 42 | 
            +
                            case 'new': return 'fa-solid fa-plus fa-lg';
         | 
| 43 | 
            +
                            case 'save': return 'fa-solid fa-floppy-disk fa-lg';
         | 
| 44 | 
            +
                            case 'cancel': return 'fa-solid fa-xmark fa-lg';
         | 
| 45 | 
            +
                            case 'import': return 'fa-solid fa-file-arrow-up fa-lg';
         | 
| 46 | 
            +
                            case 'excel': return 'bi bi-filetype-xlsx fa-lg';
         | 
| 47 | 
            +
                            case 'menu': return 'fa-solid fa-bars';
         | 
| 48 | 
            +
                            case 'delete': return 'fa-solid fa-trash-can';
         | 
| 49 | 
            +
                            case 'edit': return 'fa-solid fa-pen fa-lg';
         | 
| 50 | 
            +
                            case 'go': return 'bi bi-box-arrow-right';
         | 
| 51 | 
            +
                            case 'back': return 'bi bi-box-arrow-left';
         | 
| 52 | 
            +
                            default: return '';
         | 
| 53 | 
            +
                        }
         | 
| 54 | 
            +
                    });
         | 
| 55 | 
            +
                }
         | 
| 56 | 
            +
                set tooltip(value) {
         | 
| 57 | 
            +
                    this._tooltip = value;
         | 
| 58 | 
            +
                    if (value && this._tooltipElement) {
         | 
| 59 | 
            +
                        this._tooltipElement.setContent({ '.tooltip-inner': this._tooltip });
         | 
| 60 | 
            +
                    }
         | 
| 61 | 
            +
                }
         | 
| 62 | 
            +
                ngOnInit() {
         | 
| 63 | 
            +
                    this.SetToolTip();
         | 
| 64 | 
            +
                    this.SetEvents();
         | 
| 65 | 
            +
                }
         | 
| 66 | 
            +
                ngOnDestroy() {
         | 
| 67 | 
            +
                    if (this._tooltipElement) {
         | 
| 68 | 
            +
                        Tools.Sleep().then(() => this._tooltipElement.dispose());
         | 
| 69 | 
            +
                    }
         | 
| 70 | 
            +
                }
         | 
| 71 | 
            +
                /** */
         | 
| 72 | 
            +
                SetEvents() {
         | 
| 73 | 
            +
                    Tools.Sleep().then(() => {
         | 
| 74 | 
            +
                        this._element = document.getElementById(`${this._id}-inner-button`);
         | 
| 75 | 
            +
                        if (Tools.IsNotNull(this._element)) {
         | 
| 76 | 
            +
                            this._element.addEventListener('focus', () => {
         | 
| 77 | 
            +
                                if (!this._isEnable())
         | 
| 78 | 
            +
                                    this.Blur();
         | 
| 79 | 
            +
                            });
         | 
| 80 | 
            +
                        }
         | 
| 81 | 
            +
                    });
         | 
| 82 | 
            +
                }
         | 
| 83 | 
            +
                SetToolTip() {
         | 
| 84 | 
            +
                    Tools.Sleep().then(() => {
         | 
| 85 | 
            +
                        const htmlElement = document.getElementById(`${this._id}-container`);
         | 
| 86 | 
            +
                        if (Tools.IsNotNull(htmlElement)) {
         | 
| 87 | 
            +
                            htmlElement.addEventListener('mouseleave', () => {
         | 
| 88 | 
            +
                                if (Tools.IsNotNull(htmlElement) && Tools.IsNotNull(this._tooltipElement)) {
         | 
| 89 | 
            +
                                    this._tooltipElement.hide();
         | 
| 90 | 
            +
                                }
         | 
| 91 | 
            +
                            });
         | 
| 92 | 
            +
                            this._tooltipElement = new Tooltip(htmlElement, {
         | 
| 93 | 
            +
                                html: true,
         | 
| 94 | 
            +
                                title: this._tooltip,
         | 
| 95 | 
            +
                                placement: this.tooltipPosition
         | 
| 96 | 
            +
                            });
         | 
| 97 | 
            +
                        }
         | 
| 98 | 
            +
                    });
         | 
| 99 | 
            +
                }
         | 
| 100 | 
            +
                /** */
         | 
| 101 | 
            +
                Click(event) {
         | 
| 102 | 
            +
                    if (this._isEnable()) {
         | 
| 103 | 
            +
                        this.onClick.emit(event);
         | 
| 104 | 
            +
                    }
         | 
| 105 | 
            +
                    this.Blur();
         | 
| 106 | 
            +
                }
         | 
| 107 | 
            +
                /** */
         | 
| 108 | 
            +
                Focus(timeout = 0) {
         | 
| 109 | 
            +
                    Tools.Sleep(timeout).then(() => {
         | 
| 110 | 
            +
                        if (this._isEnable())
         | 
| 111 | 
            +
                            this._element.focus();
         | 
| 112 | 
            +
                    });
         | 
| 113 | 
            +
                }
         | 
| 114 | 
            +
                /** */
         | 
| 115 | 
            +
                Blur() {
         | 
| 116 | 
            +
                    Tools.Sleep().then(() => {
         | 
| 117 | 
            +
                        this._element.blur();
         | 
| 118 | 
            +
                    });
         | 
| 119 | 
            +
                }
         | 
| 120 | 
            +
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
         | 
| 121 | 
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CoerButton, selector: "coer-button", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, animation: { classPropertyName: "animation", publicName: "animation", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isInvisible: { classPropertyName: "isInvisible", publicName: "isInvisible", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, marginTop: { classPropertyName: "marginTop", publicName: "marginTop", isSignal: true, isRequired: false, transformFunction: null }, marginRight: { classPropertyName: "marginRight", publicName: "marginRight", isSignal: true, isRequired: false, transformFunction: null }, marginBottom: { classPropertyName: "marginBottom", publicName: "marginBottom", isSignal: true, isRequired: false, transformFunction: null }, marginLeft: { classPropertyName: "marginLeft", publicName: "marginLeft", isSignal: true, isRequired: false, transformFunction: null }, path: { classPropertyName: "path", publicName: "path", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div [ngClass]=\"{ 'coer-button': true, 'invisible': isInvisible() }\">\r\n    <a [id]=\"_id + '-container'\"\r\n        [routerLink]=\"(path().length > 0 && _isEnable()) ? path() : null\"\r\n        [ngClass]=\"{ 'loading': isLoading(), 'animate__animated animate__zoomIn': true, 'animate__disabled': !animation() }\"\r\n        [ngStyle]=\"{ 'margin-top': marginTop(), 'margin-right': marginRight(), 'margin-bottom': marginBottom(), 'margin-left': marginLeft()  }\">\r\n        @if(type() =='filled' || type() == 'outline') {\r\n            <button mat-button\r\n                [id]=\"_id + '-inner-button'\"\r\n                type=\"button\"\r\n                (click)=\"Click($event)\"\r\n                [ngClass]=\"{\r\n                    'primary-filled': (color() == 'primary' && type() =='filled'),\r\n                    'secondary-filled': (color() == 'secondary' && type() =='filled'),\r\n                    'success-filled': (color() == 'success' && type() =='filled'),\r\n                    'warning-filled': (color() == 'warning' && type() =='filled'),\r\n                    'danger-filled': (color() == 'danger' && type() =='filled'),\r\n                    'navigation-filled': (color() == 'navigation' && type() =='filled'),\r\n                    'primary-outline': (color() == 'primary' && type() =='outline'),\r\n                    'secondary-outline': (color() == 'secondary' && type() =='outline'),\r\n                    'success-outline': (color() == 'success' && type() =='outline'),\r\n                    'warning-outline': (color() == 'warning' && type() =='outline'),\r\n                    'danger-outline': (color() == 'danger' && type() =='outline'),\r\n                    'navigation-outline': (color() == 'navigation'),\r\n                    'readonly': isDisabled(),\r\n                    'cursor-wait': isLoading()\r\n                }\"\r\n                [ngStyle]=\"{\r\n                    'width': width(),\r\n                    'min-width': minWidth(),\r\n                    'height': height(),\r\n                    'min-height': minHeight()\r\n                }\">\r\n                <span class=\"slot\" *ngIf=\"!isLoading(); else loading\" >\r\n                    <span *ngIf=\"(iconPosition() == 'left')\">\r\n                        <i [class]=\"_icon()\"></i>\r\n                    </span>\r\n\r\n                    <span [ngClass]=\"{ 'ms-2': (iconPosition() == 'left'), 'me-2': (iconPosition() == 'right') }\">\r\n                        <ng-content></ng-content>\r\n                    </span>\r\n\r\n                    <span *ngIf=\"(iconPosition() == 'right')\">\r\n                        <i [class]=\"_icon()\"></i>\r\n                    </span>\r\n                </span>\r\n\r\n                <ng-template #loading>\r\n                    <span class=\"slot fa-fade\">\r\n                        <span class=\"me-2\"> Loading </span>\r\n                        <i class=\"spinner-border\"></i>\r\n                    </span>\r\n                </ng-template>\r\n            </button>\r\n        }\r\n\r\n        @else {\r\n            @if (type() == 'icon') {\r\n                <button mat-icon-button\r\n                    [id]=\"_id + '-inner-button'\"\r\n                    (click)=\"Click($event)\"\r\n                    [ngClass]=\"{\r\n                        'primary-filled': (color() == 'primary'),\r\n                        'secondary-filled': (color() == 'secondary'),\r\n                        'success-filled': (color() == 'success'),\r\n                        'warning-filled': (color() == 'warning'),\r\n                        'danger-filled': (color() == 'danger'),\r\n                        'navigation-filled': (color() == 'navigation'),\r\n                        'readonly': (isDisabled() || isLoading()),\r\n                        'cursor-wait': isLoading()\r\n                    }\">\r\n                    <i [class]=\"_icon()\"></i>\r\n                </button>\r\n            }\r\n\r\n            @else if (type() == 'icon-outline') {\r\n                <button mat-icon-button\r\n                    [id]=\"_id + '-inner-button'\"\r\n                    (click)=\"Click($event)\"\r\n                    [ngClass]=\"{\r\n                        'primary-outline': (color() == 'primary'),\r\n                        'secondary-outline': (color() == 'secondary'),\r\n                        'success-outline': (color() == 'success'),\r\n                        'warning-outline': (color() == 'warning'),\r\n                        'danger-outline': (color() == 'danger'),\r\n                        'navigation-outline': (color() == 'navigation'),\r\n                        'readonly': (isDisabled() || isLoading()),\r\n                        'cursor-wait': isLoading()\r\n                    }\">\r\n                    <i [class]=\"_icon()\"></i>\r\n                </button>\r\n            }\r\n\r\n            @else if (type() == 'icon-no-border') {\r\n                <button mat-icon-button\r\n                    [id]=\"_id + '-inner-button'\"\r\n                    (click)=\"Click($event)\"\r\n                    [ngClass]=\"{\r\n                        'primary-outline': (color() == 'primary'),\r\n                        'secondary-outline': (color() == 'secondary'),\r\n                        'success-outline': (color() == 'success'),\r\n                        'warning-outline': (color() == 'warning'),\r\n                        'danger-outline': (color() == 'danger'),\r\n                        'navigation-outline': (color() == 'navigation'),\r\n                        'readonly': (isDisabled() || isLoading()),\r\n                        'icon-no-border': true\r\n                    }\">\r\n                    <i [class]=\"_icon()\"></i>\r\n                </button>\r\n            }\r\n        }\r\n    </a>\r\n</div>", styles: [".text-blue{color:#0d6efd!important}.text-blue-bold{color:#0d6efd!important;font-weight:700!important}.background-blue{background-color:#0d6efd!important}.background-border-blue{background-color:#0d6efd!important;border-color:#0d6efd!important}.border-blue{border-color:#0d6efd!important}.text-gray{color:#6c757d!important}.text-gray-bold{color:#6c757d!important;font-weight:700!important}.background-gray{background-color:#6c757d!important}.background-border-gray{background-color:#6c757d!important;border-color:#6c757d!important}.border-gray{border-color:#6c757d!important}.text-green{color:#198754!important}.text-green-bold{color:#198754!important;font-weight:700!important}.background-green{background-color:#198754!important}.background-border-green{background-color:#198754!important;border-color:#198754!important}.border-green{border-color:#198754!important}.text-yellow{color:#ffc107!important}.text-yellow-bold{color:#ffc107!important;font-weight:700!important}.background-yellow{background-color:#ffc107!important}.background-border-yellow{background-color:#ffc107!important;border-color:#ffc107!important}.border-yellow{border-color:#ffc107!important}.text-red{color:#dc3545!important}.text-red-bold{color:#dc3545!important;font-weight:700!important}.background-red{background-color:#dc3545!important}.background-border-red{background-color:#dc3545!important;border-color:#dc3545!important}.border-red{border-color:#dc3545!important}.text-white{color:#f5f5f5!important}.text-white-bold{color:#f5f5f5!important;font-weight:700!important}.background-white{background-color:#f5f5f5!important}.background-border-white{background-color:#f5f5f5!important;border-color:#f5f5f5!important}.border-white{border-color:#f5f5f5!important}.text-black{color:#252525!important}.text-black-bold{color:#252525!important;font-weight:700!important}.background-black{background-color:#252525!important}.background-border-black{background-color:#252525!important;border-color:#252525!important}.border-black{border-color:#252525!important}.text-orange{color:#fd6031!important}.text-orange-bold{color:#fd6031!important;font-weight:700!important}.background-orange{background-color:#fd6031!important}.background-border-orange{background-color:#fd6031!important;border-color:#fd6031!important}.border-orange{border-color:#fd6031!important}coer-button{display:contents!important}div.coer-button{display:contents!important}div.coer-button a{display:inline-block!important}div.coer-button a.animate__disabled{animation-duration:0s!important}div.coer-button button{font-size:17px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}div.coer-button .slot{width:100px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-overflow:ellipsis!important;overflow:hidden!important}div.coer-button button.primary-filled{background-color:#0d6efd!important;color:#f5f5f5!important}div.coer-button button.secondary-filled{background-color:#6c757d!important;color:#f5f5f5!important}div.coer-button button.success-filled{background-color:#198754!important;color:#f5f5f5!important}div.coer-button button.warning-filled{background-color:#ffc107!important;color:#252525!important}div.coer-button button.danger-filled{background-color:#dc3545!important;color:#f5f5f5!important}div.coer-button button.navigation-filled{background-color:#fd6031!important;color:#f5f5f5!important}div.coer-button button.primary-outline{background-color:#fff!important;border:1px solid #0d6efd!important;color:#0d6efd!important}div.coer-button button.secondary-outline{background-color:#fff!important;border:1px solid #6c757d!important;color:#6c757d!important}div.coer-button button.success-outline{background-color:#fff!important;border:1px solid #198754!important;color:#198754!important}div.coer-button button.warning-outline{background-color:#fff!important;border:1px solid #ffc107!important;color:#ffc107!important}div.coer-button button.danger-outline{background-color:#fff!important;border:1px solid #dc3545!important;color:#dc3545!important}div.coer-button button.navigation-outline{background-color:#fff!important;border:1px solid #fd6031!important;color:#fd6031!important}div.coer-button button.primary-filled:not(.readonly):hover,div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):hover,div.coer-button button.primary-outline:not(.readonly):focus,div.coer-button button.secondary-filled:not(.readonly):hover,div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):hover,div.coer-button button.secondary-outline:not(.readonly):focus,div.coer-button button.success-filled:not(.readonly):hover,div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):hover,div.coer-button button.success-outline:not(.readonly):focus,div.coer-button button.warning-filled:not(.readonly):hover,div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):hover,div.coer-button button.warning-outline:not(.readonly):focus,div.coer-button button.danger-filled:not(.readonly):hover,div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):hover,div.coer-button button.danger-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):focus{box-shadow:0 0 20px #0d6efd!important}div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):focus{box-shadow:0 0 20px #6c757d!important}div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):focus{box-shadow:0 0 20px #198754!important}div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):focus{box-shadow:0 0 20px #ffc107!important}div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):focus{box-shadow:0 0 20px #dc3545!important}div.coer-button button.navigation-filled:not(.readonly):focus,div.coer-button button.navigation-outline:not(.readonly):focus{box-shadow:0 0 20px #fd6031!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button{width:40px!important;height:40px!important;padding:0!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border{width:25px!important;height:25px!important;background-color:transparent!important;border:none!important;overflow:visible!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border *{font-size:medium!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-left,div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-in-right{font-size:20px!important}div.coer-button button.readonly,div.coer-button button.readonly:hover,div.coer-button button.readonly:focus{background-color:#dfdede!important;border-color:#dfdede!important;color:#fff!important}div.coer-button coer-button[ishidden=true],div.coer-button coer-button[ng-reflect-invisible=true]{position:relative!important;top:10000vh;left:10000vw}div.coer-button a.loading{cursor:wait!important}div.coer-button i{vertical-align:middle!important}div.coer-button i.spinner-border{width:15px!important;height:15px!important;font-size:16px!important}div.coer-button span{font-weight:700!important}div#coer-tool-bar coer-button *{color:#fd6031!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.MatButton, selector: "    button[mat-button], button[mat-raised-button], button[mat-flat-button],    button[mat-stroked-button]  ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
         | 
| 122 | 
            +
            }
         | 
| 123 | 
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerButton, decorators: [{
         | 
| 124 | 
            +
                        type: Component,
         | 
| 125 | 
            +
                        args: [{ selector: 'coer-button', template: "<div [ngClass]=\"{ 'coer-button': true, 'invisible': isInvisible() }\">\r\n    <a [id]=\"_id + '-container'\"\r\n        [routerLink]=\"(path().length > 0 && _isEnable()) ? path() : null\"\r\n        [ngClass]=\"{ 'loading': isLoading(), 'animate__animated animate__zoomIn': true, 'animate__disabled': !animation() }\"\r\n        [ngStyle]=\"{ 'margin-top': marginTop(), 'margin-right': marginRight(), 'margin-bottom': marginBottom(), 'margin-left': marginLeft()  }\">\r\n        @if(type() =='filled' || type() == 'outline') {\r\n            <button mat-button\r\n                [id]=\"_id + '-inner-button'\"\r\n                type=\"button\"\r\n                (click)=\"Click($event)\"\r\n                [ngClass]=\"{\r\n                    'primary-filled': (color() == 'primary' && type() =='filled'),\r\n                    'secondary-filled': (color() == 'secondary' && type() =='filled'),\r\n                    'success-filled': (color() == 'success' && type() =='filled'),\r\n                    'warning-filled': (color() == 'warning' && type() =='filled'),\r\n                    'danger-filled': (color() == 'danger' && type() =='filled'),\r\n                    'navigation-filled': (color() == 'navigation' && type() =='filled'),\r\n                    'primary-outline': (color() == 'primary' && type() =='outline'),\r\n                    'secondary-outline': (color() == 'secondary' && type() =='outline'),\r\n                    'success-outline': (color() == 'success' && type() =='outline'),\r\n                    'warning-outline': (color() == 'warning' && type() =='outline'),\r\n                    'danger-outline': (color() == 'danger' && type() =='outline'),\r\n                    'navigation-outline': (color() == 'navigation'),\r\n                    'readonly': isDisabled(),\r\n                    'cursor-wait': isLoading()\r\n                }\"\r\n                [ngStyle]=\"{\r\n                    'width': width(),\r\n                    'min-width': minWidth(),\r\n                    'height': height(),\r\n                    'min-height': minHeight()\r\n                }\">\r\n                <span class=\"slot\" *ngIf=\"!isLoading(); else loading\" >\r\n                    <span *ngIf=\"(iconPosition() == 'left')\">\r\n                        <i [class]=\"_icon()\"></i>\r\n                    </span>\r\n\r\n                    <span [ngClass]=\"{ 'ms-2': (iconPosition() == 'left'), 'me-2': (iconPosition() == 'right') }\">\r\n                        <ng-content></ng-content>\r\n                    </span>\r\n\r\n                    <span *ngIf=\"(iconPosition() == 'right')\">\r\n                        <i [class]=\"_icon()\"></i>\r\n                    </span>\r\n                </span>\r\n\r\n                <ng-template #loading>\r\n                    <span class=\"slot fa-fade\">\r\n                        <span class=\"me-2\"> Loading </span>\r\n                        <i class=\"spinner-border\"></i>\r\n                    </span>\r\n                </ng-template>\r\n            </button>\r\n        }\r\n\r\n        @else {\r\n            @if (type() == 'icon') {\r\n                <button mat-icon-button\r\n                    [id]=\"_id + '-inner-button'\"\r\n                    (click)=\"Click($event)\"\r\n                    [ngClass]=\"{\r\n                        'primary-filled': (color() == 'primary'),\r\n                        'secondary-filled': (color() == 'secondary'),\r\n                        'success-filled': (color() == 'success'),\r\n                        'warning-filled': (color() == 'warning'),\r\n                        'danger-filled': (color() == 'danger'),\r\n                        'navigation-filled': (color() == 'navigation'),\r\n                        'readonly': (isDisabled() || isLoading()),\r\n                        'cursor-wait': isLoading()\r\n                    }\">\r\n                    <i [class]=\"_icon()\"></i>\r\n                </button>\r\n            }\r\n\r\n            @else if (type() == 'icon-outline') {\r\n                <button mat-icon-button\r\n                    [id]=\"_id + '-inner-button'\"\r\n                    (click)=\"Click($event)\"\r\n                    [ngClass]=\"{\r\n                        'primary-outline': (color() == 'primary'),\r\n                        'secondary-outline': (color() == 'secondary'),\r\n                        'success-outline': (color() == 'success'),\r\n                        'warning-outline': (color() == 'warning'),\r\n                        'danger-outline': (color() == 'danger'),\r\n                        'navigation-outline': (color() == 'navigation'),\r\n                        'readonly': (isDisabled() || isLoading()),\r\n                        'cursor-wait': isLoading()\r\n                    }\">\r\n                    <i [class]=\"_icon()\"></i>\r\n                </button>\r\n            }\r\n\r\n            @else if (type() == 'icon-no-border') {\r\n                <button mat-icon-button\r\n                    [id]=\"_id + '-inner-button'\"\r\n                    (click)=\"Click($event)\"\r\n                    [ngClass]=\"{\r\n                        'primary-outline': (color() == 'primary'),\r\n                        'secondary-outline': (color() == 'secondary'),\r\n                        'success-outline': (color() == 'success'),\r\n                        'warning-outline': (color() == 'warning'),\r\n                        'danger-outline': (color() == 'danger'),\r\n                        'navigation-outline': (color() == 'navigation'),\r\n                        'readonly': (isDisabled() || isLoading()),\r\n                        'icon-no-border': true\r\n                    }\">\r\n                    <i [class]=\"_icon()\"></i>\r\n                </button>\r\n            }\r\n        }\r\n    </a>\r\n</div>", styles: [".text-blue{color:#0d6efd!important}.text-blue-bold{color:#0d6efd!important;font-weight:700!important}.background-blue{background-color:#0d6efd!important}.background-border-blue{background-color:#0d6efd!important;border-color:#0d6efd!important}.border-blue{border-color:#0d6efd!important}.text-gray{color:#6c757d!important}.text-gray-bold{color:#6c757d!important;font-weight:700!important}.background-gray{background-color:#6c757d!important}.background-border-gray{background-color:#6c757d!important;border-color:#6c757d!important}.border-gray{border-color:#6c757d!important}.text-green{color:#198754!important}.text-green-bold{color:#198754!important;font-weight:700!important}.background-green{background-color:#198754!important}.background-border-green{background-color:#198754!important;border-color:#198754!important}.border-green{border-color:#198754!important}.text-yellow{color:#ffc107!important}.text-yellow-bold{color:#ffc107!important;font-weight:700!important}.background-yellow{background-color:#ffc107!important}.background-border-yellow{background-color:#ffc107!important;border-color:#ffc107!important}.border-yellow{border-color:#ffc107!important}.text-red{color:#dc3545!important}.text-red-bold{color:#dc3545!important;font-weight:700!important}.background-red{background-color:#dc3545!important}.background-border-red{background-color:#dc3545!important;border-color:#dc3545!important}.border-red{border-color:#dc3545!important}.text-white{color:#f5f5f5!important}.text-white-bold{color:#f5f5f5!important;font-weight:700!important}.background-white{background-color:#f5f5f5!important}.background-border-white{background-color:#f5f5f5!important;border-color:#f5f5f5!important}.border-white{border-color:#f5f5f5!important}.text-black{color:#252525!important}.text-black-bold{color:#252525!important;font-weight:700!important}.background-black{background-color:#252525!important}.background-border-black{background-color:#252525!important;border-color:#252525!important}.border-black{border-color:#252525!important}.text-orange{color:#fd6031!important}.text-orange-bold{color:#fd6031!important;font-weight:700!important}.background-orange{background-color:#fd6031!important}.background-border-orange{background-color:#fd6031!important;border-color:#fd6031!important}.border-orange{border-color:#fd6031!important}coer-button{display:contents!important}div.coer-button{display:contents!important}div.coer-button a{display:inline-block!important}div.coer-button a.animate__disabled{animation-duration:0s!important}div.coer-button button{font-size:17px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}div.coer-button .slot{width:100px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-overflow:ellipsis!important;overflow:hidden!important}div.coer-button button.primary-filled{background-color:#0d6efd!important;color:#f5f5f5!important}div.coer-button button.secondary-filled{background-color:#6c757d!important;color:#f5f5f5!important}div.coer-button button.success-filled{background-color:#198754!important;color:#f5f5f5!important}div.coer-button button.warning-filled{background-color:#ffc107!important;color:#252525!important}div.coer-button button.danger-filled{background-color:#dc3545!important;color:#f5f5f5!important}div.coer-button button.navigation-filled{background-color:#fd6031!important;color:#f5f5f5!important}div.coer-button button.primary-outline{background-color:#fff!important;border:1px solid #0d6efd!important;color:#0d6efd!important}div.coer-button button.secondary-outline{background-color:#fff!important;border:1px solid #6c757d!important;color:#6c757d!important}div.coer-button button.success-outline{background-color:#fff!important;border:1px solid #198754!important;color:#198754!important}div.coer-button button.warning-outline{background-color:#fff!important;border:1px solid #ffc107!important;color:#ffc107!important}div.coer-button button.danger-outline{background-color:#fff!important;border:1px solid #dc3545!important;color:#dc3545!important}div.coer-button button.navigation-outline{background-color:#fff!important;border:1px solid #fd6031!important;color:#fd6031!important}div.coer-button button.primary-filled:not(.readonly):hover,div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):hover,div.coer-button button.primary-outline:not(.readonly):focus,div.coer-button button.secondary-filled:not(.readonly):hover,div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):hover,div.coer-button button.secondary-outline:not(.readonly):focus,div.coer-button button.success-filled:not(.readonly):hover,div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):hover,div.coer-button button.success-outline:not(.readonly):focus,div.coer-button button.warning-filled:not(.readonly):hover,div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):hover,div.coer-button button.warning-outline:not(.readonly):focus,div.coer-button button.danger-filled:not(.readonly):hover,div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):hover,div.coer-button button.danger-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):focus{box-shadow:0 0 20px #0d6efd!important}div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):focus{box-shadow:0 0 20px #6c757d!important}div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):focus{box-shadow:0 0 20px #198754!important}div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):focus{box-shadow:0 0 20px #ffc107!important}div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):focus{box-shadow:0 0 20px #dc3545!important}div.coer-button button.navigation-filled:not(.readonly):focus,div.coer-button button.navigation-outline:not(.readonly):focus{box-shadow:0 0 20px #fd6031!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button{width:40px!important;height:40px!important;padding:0!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border{width:25px!important;height:25px!important;background-color:transparent!important;border:none!important;overflow:visible!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border *{font-size:medium!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-left,div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-in-right{font-size:20px!important}div.coer-button button.readonly,div.coer-button button.readonly:hover,div.coer-button button.readonly:focus{background-color:#dfdede!important;border-color:#dfdede!important;color:#fff!important}div.coer-button coer-button[ishidden=true],div.coer-button coer-button[ng-reflect-invisible=true]{position:relative!important;top:10000vh;left:10000vw}div.coer-button a.loading{cursor:wait!important}div.coer-button i{vertical-align:middle!important}div.coer-button i.spinner-border{width:15px!important;height:15px!important;font-size:16px!important}div.coer-button span{font-weight:700!important}div#coer-tool-bar coer-button *{color:#fd6031!important}\n"] }]
         | 
| 126 | 
            +
                    }], propDecorators: { id: [{
         | 
| 127 | 
            +
                            type: Input
         | 
| 128 | 
            +
                        }], tooltip: [{
         | 
| 129 | 
            +
                            type: Input
         | 
| 130 | 
            +
                        }], onClick: [{
         | 
| 131 | 
            +
                            type: Output
         | 
| 132 | 
            +
                        }] } });
         | 
| 133 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvY29tcG9uZW50cy9saWIvY29lci1idXR0b24vY29lci1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvY29tcG9uZW50cy9saWIvY29lci1idXR0b24vY29lci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDdEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFPcEMsTUFBTSxPQUFPLFVBQVU7SUFMdkI7UUFPSSxXQUFXO1FBQ0QsUUFBRyxHQUFXLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFN0MsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUc5QixRQUFRO1FBQ0MsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUNsQixVQUFLLEdBQUcsS0FBSyxDQUF3RixTQUFTLENBQUMsQ0FBQztRQUNoSCxTQUFJLEdBQUcsS0FBSyxDQUFtRSxRQUFRLENBQUMsQ0FBQztRQUN6RixTQUFJLEdBQUcsS0FBSyxDQUFtRyxFQUFFLENBQUMsQ0FBQztRQUNuSCxpQkFBWSxHQUFHLEtBQUssQ0FBbUIsTUFBTSxDQUFDLENBQUM7UUFDL0MsY0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsQyxjQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLGVBQVUsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDcEMsVUFBSyxHQUFHLEtBQUssQ0FBUyxPQUFPLENBQUMsQ0FBQztRQUMvQixhQUFRLEdBQUcsS0FBSyxDQUFTLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLFdBQU0sR0FBRyxLQUFLLENBQVMsTUFBTSxDQUFDLENBQUM7UUFDL0IsY0FBUyxHQUFHLEtBQUssQ0FBUyxNQUFNLENBQUMsQ0FBQztRQUNsQyxjQUFTLEdBQUcsS0FBSyxDQUFTLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsS0FBSyxDQUFTLEtBQUssQ0FBQyxDQUFDO1FBQ25DLGlCQUFZLEdBQUcsS0FBSyxDQUFTLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxLQUFLLENBQVMsS0FBSyxDQUFDLENBQUM7UUFDbEMsU0FBSSxHQUFHLEtBQUssQ0FBK0IsRUFBRSxDQUFDLENBQUM7UUFDL0Msb0JBQWUsR0FBRyxLQUFLLENBQXNDLE1BQU0sQ0FBQyxDQUFDO1FBUzVFLFNBQVM7UUFDQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUduRCxVQUFVO1FBQ0EsY0FBUyxHQUFHLFFBQVEsQ0FBVSxHQUFHLEVBQUU7WUFDekMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztRQUdILFVBQVU7UUFDQSxVQUFLLEdBQUcsUUFBUSxDQUFTLEdBQUcsRUFBRTtZQUNwQyxRQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNqQixLQUFLLEtBQUssQ0FBQyxDQUFDLE9BQU8sd0JBQXdCLENBQUM7Z0JBQzVDLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTywrQkFBK0IsQ0FBQztnQkFDcEQsS0FBSyxRQUFRLENBQUMsQ0FBQyxPQUFPLHlCQUF5QixDQUFDO2dCQUNoRCxLQUFLLFFBQVEsQ0FBQyxDQUFDLE9BQU8saUNBQWlDLENBQUM7Z0JBQ3hELEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTywyQkFBMkIsQ0FBQztnQkFDakQsS0FBSyxNQUFNLENBQUMsQ0FBQyxPQUFPLGtCQUFrQixDQUFDO2dCQUN2QyxLQUFLLFFBQVEsQ0FBQyxDQUFDLE9BQU8sdUJBQXVCLENBQUM7Z0JBQzlDLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyx1QkFBdUIsQ0FBQztnQkFDNUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxPQUFPLHVCQUF1QixDQUFDO2dCQUMxQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLE9BQU8sc0JBQXNCLENBQUM7Z0JBQzNDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztLQTBFTjtJQTFHRyxJQUFhLE9BQU8sQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7SUFDTCxDQUFDO0lBOEJELFFBQVE7UUFDSixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDN0QsQ0FBQztJQUNMLENBQUM7SUFHRCxNQUFNO0lBQ0UsU0FBUztRQUNiLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBdUIsQ0FBQztZQUUxRixJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7d0JBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN2QyxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFHTyxVQUFVO1FBQ2QsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDcEIsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBRSxDQUFDO1lBRXRFLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUMvQixXQUFXLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtvQkFDNUMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7d0JBQ3hFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ2hDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUU7b0JBQzVDLElBQUksRUFBRSxJQUFJO29CQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUTtvQkFDcEIsU0FBUyxFQUFFLElBQUksQ0FBQyxlQUFlO2lCQUNsQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBR0QsTUFBTTtJQUNJLEtBQUssQ0FBQyxLQUFpQjtRQUM3QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUdELE1BQU07SUFDQyxLQUFLLENBQUMsVUFBa0IsQ0FBQztRQUM1QixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBR0QsTUFBTTtJQUNDLElBQUk7UUFDUCxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F0SVEsVUFBVTttR0FBVixVQUFVLDRuRkNUdkIsb3VMQStHTTs7NEZEdEdPLFVBQVU7a0JBTHRCLFNBQVM7K0JBQ0ksYUFBYTs4QkFhZCxFQUFFO3NCQUFWLEtBQUs7Z0JBb0JPLE9BQU87c0JBQW5CLEtBQUs7Z0JBUUksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEV2ZW50RW1pdHRlciwgaW5wdXQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRvb2xzIH0gZnJvbSAnLi4vLi4vLi4vdG9vbHMnXHJcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdib290c3RyYXAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NvZXItYnV0dG9uJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2VyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vY29lci1idXR0b24uY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29lckJ1dHRvbiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICAvL1ZhcmlhYmxlc1xyXG4gICAgcHJvdGVjdGVkIF9pZDogc3RyaW5nID0gVG9vbHMuR2V0R3VpZCgnY29lci1idXR0b24nKTtcclxuICAgIHByaXZhdGUgX2VsZW1lbnQhOiBIVE1MQnV0dG9uRWxlbWVudDtcclxuICAgIHByaXZhdGUgX3Rvb2x0aXA6IHN0cmluZyA9ICcnO1xyXG4gICAgcHJpdmF0ZSBfdG9vbHRpcEVsZW1lbnQhOiBUb29sdGlwO1xyXG5cclxuICAgIC8vSW5wdXRzXHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nID0gJyc7XHJcbiAgICBwdWJsaWMgY29sb3IgPSBpbnB1dDwnZGVmYXVsdCcgfCAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInIHwgJ25hdmlnYXRpb24nPignZGVmYXVsdCcpO1xyXG4gICAgcHVibGljIHR5cGUgPSBpbnB1dDwnZmlsbGVkJyB8ICdvdXRsaW5lJyB8ICdpY29uJ3wgJ2ljb24tb3V0bGluZScgfCAnaWNvbi1uby1ib3JkZXInPignZmlsbGVkJyk7XHJcbiAgICBwdWJsaWMgaWNvbiA9IGlucHV0PCduZXcnIHwgJ3NhdmUnIHwgJ2NhbmNlbCcgfCAnaW1wb3J0JyB8ICdleGNlbCcgfCAnbWVudScgfCAnZGVsZXRlJyB8ICdlZGl0JyB8ICdnbycgfCAnYmFjaycgfCAnJz4oJycpO1xyXG4gICAgcHVibGljIGljb25Qb3NpdGlvbiA9IGlucHV0PCdsZWZ0JyB8ICdyaWdodCc+KCdsZWZ0Jyk7XHJcbiAgICBwdWJsaWMgYW5pbWF0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHVibGljIGlzTG9hZGluZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHB1YmxpYyBpc0Rpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHVibGljIGlzSW52aXNpYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHVibGljIHdpZHRoID0gaW5wdXQ8c3RyaW5nPignMTI1cHgnKTtcclxuICAgIHB1YmxpYyBtaW5XaWR0aCA9IGlucHV0PHN0cmluZz4oJzMwcHgnKTtcclxuICAgIHB1YmxpYyBoZWlnaHQgPSBpbnB1dDxzdHJpbmc+KCc0MHB4Jyk7XHJcbiAgICBwdWJsaWMgbWluSGVpZ2h0ID0gaW5wdXQ8c3RyaW5nPignMzBweCcpO1xyXG4gICAgcHVibGljIG1hcmdpblRvcCA9IGlucHV0PHN0cmluZz4oJzBweCcpO1xyXG4gICAgcHVibGljIG1hcmdpblJpZ2h0ID0gaW5wdXQ8c3RyaW5nPignMHB4Jyk7XHJcbiAgICBwdWJsaWMgbWFyZ2luQm90dG9tID0gaW5wdXQ8c3RyaW5nPignMHB4Jyk7XHJcbiAgICBwdWJsaWMgbWFyZ2luTGVmdCA9IGlucHV0PHN0cmluZz4oJzBweCcpO1xyXG4gICAgcHVibGljIHBhdGggPSBpbnB1dDxzdHJpbmcgfCAoc3RyaW5nIHwgbnVtYmVyKVtdPihbXSk7XHJcbiAgICBwdWJsaWMgdG9vbHRpcFBvc2l0aW9uID0gaW5wdXQ8J3RvcCcgfCAncmlnaHQnIHwgJ2JvdHRvbScgfCAnbGVmdCc+KCdsZWZ0Jyk7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IHRvb2x0aXAodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3Rvb2x0aXAgPSB2YWx1ZTtcclxuICAgICAgICBpZiAodmFsdWUgJiYgdGhpcy5fdG9vbHRpcEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5fdG9vbHRpcEVsZW1lbnQuc2V0Q29udGVudCh7ICcudG9vbHRpcC1pbm5lcic6IHRoaXMuX3Rvb2x0aXAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vT3V0cHV0c1xyXG4gICAgQE91dHB1dCgpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG5cclxuICAgIC8vY29tcHV0ZWRcclxuICAgIHByb3RlY3RlZCBfaXNFbmFibGUgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzTG9hZGluZygpICYmICF0aGlzLmlzRGlzYWJsZWQoKSAmJiAhdGhpcy5pc0ludmlzaWJsZSgpO1xyXG4gICAgfSk7XHJcblxyXG5cclxuICAgIC8vY29tcHV0ZWRcclxuICAgIHByb3RlY3RlZCBfaWNvbiA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4ge1xyXG4gICAgICAgIHN3aXRjaCh0aGlzLmljb24oKSkge1xyXG4gICAgICAgICAgICBjYXNlICduZXcnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLXBsdXMgZmEtbGcnO1xyXG4gICAgICAgICAgICBjYXNlICdzYXZlJzogcmV0dXJuICdmYS1zb2xpZCBmYS1mbG9wcHktZGlzayBmYS1sZyc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2NhbmNlbCc6IHJldHVybiAnZmEtc29saWQgZmEteG1hcmsgZmEtbGcnO1xyXG4gICAgICAgICAgICBjYXNlICdpbXBvcnQnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLWZpbGUtYXJyb3ctdXAgZmEtbGcnO1xyXG4gICAgICAgICAgICBjYXNlICdleGNlbCc6IHJldHVybiAnYmkgYmktZmlsZXR5cGUteGxzeCBmYS1sZyc7XHJcbiAgICAgICAgICAgIGNhc2UgJ21lbnUnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLWJhcnMnO1xyXG4gICAgICAgICAgICBjYXNlICdkZWxldGUnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLXRyYXNoLWNhbic7XHJcbiAgICAgICAgICAgIGNhc2UgJ2VkaXQnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLXBlbiBmYS1sZyc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2dvJzogcmV0dXJuICdiaSBiaS1ib3gtYXJyb3ctcmlnaHQnO1xyXG4gICAgICAgICAgICBjYXNlICdiYWNrJzogcmV0dXJuICdiaSBiaS1ib3gtYXJyb3ctbGVmdCc7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiAnJztcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5TZXRUb29sVGlwKCk7XHJcbiAgICAgICAgdGhpcy5TZXRFdmVudHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5fdG9vbHRpcEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgVG9vbHMuU2xlZXAoKS50aGVuKCgpID0+IHRoaXMuX3Rvb2x0aXBFbGVtZW50LmRpc3Bvc2UoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByaXZhdGUgU2V0RXZlbnRzKCk6IHZvaWQge1xyXG4gICAgICAgIFRvb2xzLlNsZWVwKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLl9pZH0taW5uZXItYnV0dG9uYCkhIGFzIEhUTUxCdXR0b25FbGVtZW50O1xyXG5cclxuICAgICAgICAgICAgaWYgKFRvb2xzLklzTm90TnVsbCh0aGlzLl9lbGVtZW50KSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2lzRW5hYmxlKCkpIHRoaXMuQmx1cigpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBTZXRUb29sVGlwKCk6IHZvaWQge1xyXG4gICAgICAgIFRvb2xzLlNsZWVwKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGh0bWxFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5faWR9LWNvbnRhaW5lcmApITtcclxuXHJcbiAgICAgICAgICAgIGlmIChUb29scy5Jc05vdE51bGwoaHRtbEVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgICAgICBodG1sRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChUb29scy5Jc05vdE51bGwoaHRtbEVsZW1lbnQpICYmIFRvb2xzLklzTm90TnVsbCh0aGlzLl90b29sdGlwRWxlbWVudCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdG9vbHRpcEVsZW1lbnQuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuX3Rvb2x0aXBFbGVtZW50ID0gbmV3IFRvb2x0aXAoaHRtbEVsZW1lbnQsIHtcclxuICAgICAgICAgICAgICAgICAgICBodG1sOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLl90b29sdGlwLFxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudDogdGhpcy50b29sdGlwUG9zaXRpb25cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2lzRW5hYmxlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5CbHVyKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIEZvY3VzKHRpbWVvdXQ6IG51bWJlciA9IDApOiB2b2lkIHtcclxuICAgICAgICBUb29scy5TbGVlcCh0aW1lb3V0KS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2lzRW5hYmxlKCkpIHRoaXMuX2VsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwdWJsaWMgQmx1cigpOiB2b2lkIHtcclxuICAgICAgICBUb29scy5TbGVlcCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50LmJsdXIoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSIsIjxkaXYgW25nQ2xhc3NdPVwieyAnY29lci1idXR0b24nOiB0cnVlLCAnaW52aXNpYmxlJzogaXNJbnZpc2libGUoKSB9XCI+XHJcbiAgICA8YSBbaWRdPVwiX2lkICsgJy1jb250YWluZXInXCJcclxuICAgICAgICBbcm91dGVyTGlua109XCIocGF0aCgpLmxlbmd0aCA+IDAgJiYgX2lzRW5hYmxlKCkpID8gcGF0aCgpIDogbnVsbFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnbG9hZGluZyc6IGlzTG9hZGluZygpLCAnYW5pbWF0ZV9fYW5pbWF0ZWQgYW5pbWF0ZV9fem9vbUluJzogdHJ1ZSwgJ2FuaW1hdGVfX2Rpc2FibGVkJzogIWFuaW1hdGlvbigpIH1cIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ21hcmdpbi10b3AnOiBtYXJnaW5Ub3AoKSwgJ21hcmdpbi1yaWdodCc6IG1hcmdpblJpZ2h0KCksICdtYXJnaW4tYm90dG9tJzogbWFyZ2luQm90dG9tKCksICdtYXJnaW4tbGVmdCc6IG1hcmdpbkxlZnQoKSAgfVwiPlxyXG4gICAgICAgIEBpZih0eXBlKCkgPT0nZmlsbGVkJyB8fCB0eXBlKCkgPT0gJ291dGxpbmUnKSB7XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgW2lkXT1cIl9pZCArICctaW5uZXItYnV0dG9uJ1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAncHJpbWFyeS1maWxsZWQnOiAoY29sb3IoKSA9PSAncHJpbWFyeScgJiYgdHlwZSgpID09J2ZpbGxlZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICdzZWNvbmRhcnktZmlsbGVkJzogKGNvbG9yKCkgPT0gJ3NlY29uZGFyeScgJiYgdHlwZSgpID09J2ZpbGxlZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICdzdWNjZXNzLWZpbGxlZCc6IChjb2xvcigpID09ICdzdWNjZXNzJyAmJiB0eXBlKCkgPT0nZmlsbGVkJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ3dhcm5pbmctZmlsbGVkJzogKGNvbG9yKCkgPT0gJ3dhcm5pbmcnICYmIHR5cGUoKSA9PSdmaWxsZWQnKSxcclxuICAgICAgICAgICAgICAgICAgICAnZGFuZ2VyLWZpbGxlZCc6IChjb2xvcigpID09ICdkYW5nZXInICYmIHR5cGUoKSA9PSdmaWxsZWQnKSxcclxuICAgICAgICAgICAgICAgICAgICAnbmF2aWdhdGlvbi1maWxsZWQnOiAoY29sb3IoKSA9PSAnbmF2aWdhdGlvbicgJiYgdHlwZSgpID09J2ZpbGxlZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICdwcmltYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAncHJpbWFyeScgJiYgdHlwZSgpID09J291dGxpbmUnKSxcclxuICAgICAgICAgICAgICAgICAgICAnc2Vjb25kYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc2Vjb25kYXJ5JyAmJiB0eXBlKCkgPT0nb3V0bGluZScpLFxyXG4gICAgICAgICAgICAgICAgICAgICdzdWNjZXNzLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc3VjY2VzcycgJiYgdHlwZSgpID09J291dGxpbmUnKSxcclxuICAgICAgICAgICAgICAgICAgICAnd2FybmluZy1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3dhcm5pbmcnICYmIHR5cGUoKSA9PSdvdXRsaW5lJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ2Rhbmdlci1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ2RhbmdlcicgJiYgdHlwZSgpID09J291dGxpbmUnKSxcclxuICAgICAgICAgICAgICAgICAgICAnbmF2aWdhdGlvbi1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ25hdmlnYXRpb24nKSxcclxuICAgICAgICAgICAgICAgICAgICAncmVhZG9ubHknOiBpc0Rpc2FibGVkKCksXHJcbiAgICAgICAgICAgICAgICAgICAgJ2N1cnNvci13YWl0JzogaXNMb2FkaW5nKClcclxuICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICd3aWR0aCc6IHdpZHRoKCksXHJcbiAgICAgICAgICAgICAgICAgICAgJ21pbi13aWR0aCc6IG1pbldpZHRoKCksXHJcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6IGhlaWdodCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICdtaW4taGVpZ2h0JzogbWluSGVpZ2h0KClcclxuICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2xvdFwiICpuZ0lmPVwiIWlzTG9hZGluZygpOyBlbHNlIGxvYWRpbmdcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIoaWNvblBvc2l0aW9uKCkgPT0gJ2xlZnQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiX2ljb24oKVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cInsgJ21zLTInOiAoaWNvblBvc2l0aW9uKCkgPT0gJ2xlZnQnKSwgJ21lLTInOiAoaWNvblBvc2l0aW9uKCkgPT0gJ3JpZ2h0JykgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIihpY29uUG9zaXRpb24oKSA9PSAncmlnaHQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiX2ljb24oKVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2xvdCBmYS1mYWRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMlwiPiBMb2FkaW5nIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJzcGlubmVyLWJvcmRlclwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgQGlmICh0eXBlKCkgPT0gJ2ljb24nKSB7XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJfaWQgKyAnLWlubmVyLWJ1dHRvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdwcmltYXJ5LWZpbGxlZCc6IChjb2xvcigpID09ICdwcmltYXJ5JyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZWNvbmRhcnktZmlsbGVkJzogKGNvbG9yKCkgPT0gJ3NlY29uZGFyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnc3VjY2Vzcy1maWxsZWQnOiAoY29sb3IoKSA9PSAnc3VjY2VzcycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2FybmluZy1maWxsZWQnOiAoY29sb3IoKSA9PSAnd2FybmluZycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGFuZ2VyLWZpbGxlZCc6IChjb2xvcigpID09ICdkYW5nZXInKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ25hdmlnYXRpb24tZmlsbGVkJzogKGNvbG9yKCkgPT0gJ25hdmlnYXRpb24nKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3JlYWRvbmx5JzogKGlzRGlzYWJsZWQoKSB8fCBpc0xvYWRpbmcoKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdjdXJzb3Itd2FpdCc6IGlzTG9hZGluZygpXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJfaWNvbigpXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBlbHNlIGlmICh0eXBlKCkgPT0gJ2ljb24tb3V0bGluZScpIHtcclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cIl9pZCArICctaW5uZXItYnV0dG9uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3ByaW1hcnktb3V0bGluZSc6IChjb2xvcigpID09ICdwcmltYXJ5JyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZWNvbmRhcnktb3V0bGluZSc6IChjb2xvcigpID09ICdzZWNvbmRhcnknKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3N1Y2Nlc3Mtb3V0bGluZSc6IChjb2xvcigpID09ICdzdWNjZXNzJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICd3YXJuaW5nLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnd2FybmluZycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGFuZ2VyLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnZGFuZ2VyJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICduYXZpZ2F0aW9uLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnbmF2aWdhdGlvbicpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAncmVhZG9ubHknOiAoaXNEaXNhYmxlZCgpIHx8IGlzTG9hZGluZygpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2N1cnNvci13YWl0JzogaXNMb2FkaW5nKClcclxuICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIl9pY29uKClcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGVsc2UgaWYgKHR5cGUoKSA9PSAnaWNvbi1uby1ib3JkZXInKSB7XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJfaWQgKyAnLWlubmVyLWJ1dHRvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdwcmltYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAncHJpbWFyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2Vjb25kYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc2Vjb25kYXJ5JyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzdWNjZXNzLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc3VjY2VzcycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2FybmluZy1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3dhcm5pbmcnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2Rhbmdlci1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ2RhbmdlcicpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnbmF2aWdhdGlvbi1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ25hdmlnYXRpb24nKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3JlYWRvbmx5JzogKGlzRGlzYWJsZWQoKSB8fCBpc0xvYWRpbmcoKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdpY29uLW5vLWJvcmRlcic6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIl9pY29uKClcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIDwvYT5cclxuPC9kaXY+Il19
         | 
| @@ -5,7 +5,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms'; | |
| 5 5 | 
             
            //import { DirectivesModule } from 'src/app/shared/directives/directives.module';
         | 
| 6 6 | 
             
            //import { PipesModule } from 'src/app/shared/pipes/pipes.module';
         | 
| 7 7 | 
             
            //Angular Material
         | 
| 8 | 
            -
             | 
| 8 | 
            +
            import { MatButtonModule } from '@angular/material/button';
         | 
| 9 9 | 
             
            //import { MatCheckboxModule } from '@angular/material/checkbox';
         | 
| 10 10 | 
             
            //import { MatInputModule } from '@angular/material/input';
         | 
| 11 11 | 
             
            //import { MatFormFieldModule } from '@angular/material/form-field';
         | 
| @@ -13,8 +13,8 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms'; | |
| 13 13 | 
             
            //import { MatTabsModule } from '@angular/material/tabs';
         | 
| 14 14 | 
             
            //Components
         | 
| 15 15 | 
             
            import { CoerAlert } from './coer-alert/coer-alert.component';
         | 
| 16 | 
            +
            import { CoerButton } from './coer-button/coer-button.component';
         | 
| 16 17 | 
             
            import * as i0 from "@angular/core";
         | 
| 17 | 
            -
            //import { CoerButton } from './coer-button/coer-button.component';
         | 
| 18 18 | 
             
            //import { CoerCheckbox } from './coer-checkbox/coer-checkbox.component';
         | 
| 19 19 | 
             
            //import { CoerFilebox } from './coer-filebox/coer-filebox.component';
         | 
| 20 20 | 
             
            //import { CoerForm } from './coer-form/coer-form.component';
         | 
| @@ -29,14 +29,20 @@ import * as i0 from "@angular/core"; | |
| 29 29 | 
             
            //import { CoerTextBox } from './coer-textbox/coer-textbox.component';
         | 
| 30 30 | 
             
            export class ComponentsModule {
         | 
| 31 31 | 
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
         | 
| 32 | 
            -
                static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, declarations: [CoerAlert | 
| 32 | 
            +
                static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, declarations: [CoerAlert,
         | 
| 33 | 
            +
                        CoerButton], imports: [CommonModule,
         | 
| 33 34 | 
             
                        RouterModule,
         | 
| 34 35 | 
             
                        FormsModule,
         | 
| 35 | 
            -
                        ReactiveFormsModule | 
| 36 | 
            +
                        ReactiveFormsModule,
         | 
| 37 | 
            +
                        //PipesModule,
         | 
| 38 | 
            +
                        MatButtonModule], exports: [CoerAlert,
         | 
| 39 | 
            +
                        CoerButton] }); }
         | 
| 36 40 | 
             
                static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, imports: [CommonModule,
         | 
| 37 41 | 
             
                        RouterModule,
         | 
| 38 42 | 
             
                        FormsModule,
         | 
| 39 | 
            -
                        ReactiveFormsModule | 
| 43 | 
            +
                        ReactiveFormsModule,
         | 
| 44 | 
            +
                        //PipesModule,
         | 
| 45 | 
            +
                        MatButtonModule] }); }
         | 
| 40 46 | 
             
            }
         | 
| 41 47 | 
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, decorators: [{
         | 
| 42 48 | 
             
                        type: NgModule,
         | 
| @@ -47,7 +53,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo | |
| 47 53 | 
             
                                    FormsModule,
         | 
| 48 54 | 
             
                                    ReactiveFormsModule,
         | 
| 49 55 | 
             
                                    //PipesModule,
         | 
| 50 | 
            -
                                     | 
| 56 | 
            +
                                    MatButtonModule,
         | 
| 51 57 | 
             
                                    //MatCheckboxModule,
         | 
| 52 58 | 
             
                                    //MatInputModule,
         | 
| 53 59 | 
             
                                    //MatFormFieldModule,
         | 
| @@ -57,7 +63,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo | |
| 57 63 | 
             
                                ],
         | 
| 58 64 | 
             
                                declarations: [
         | 
| 59 65 | 
             
                                    CoerAlert,
         | 
| 60 | 
            -
                                     | 
| 66 | 
            +
                                    CoerButton,
         | 
| 61 67 | 
             
                                    //CoerCheckbox,
         | 
| 62 68 | 
             
                                    //CoerFilebox,
         | 
| 63 69 | 
             
                                    //CoerForm,
         | 
| @@ -73,7 +79,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo | |
| 73 79 | 
             
                                ],
         | 
| 74 80 | 
             
                                exports: [
         | 
| 75 81 | 
             
                                    CoerAlert,
         | 
| 76 | 
            -
                                     | 
| 82 | 
            +
                                    CoerButton,
         | 
| 77 83 | 
             
                                    //CoerCheckbox,
         | 
| 78 84 | 
             
                                    //CoerFilebox,
         | 
| 79 85 | 
             
                                    //CoerForm,
         | 
| @@ -89,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo | |
| 89 95 | 
             
                                ]
         | 
| 90 96 | 
             
                            }]
         | 
| 91 97 | 
             
                    }] });
         | 
| 92 | 
            -
            //# sourceMappingURL=data:application/json;base64, | 
| 98 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9jb21wb25lbnRzL2xpYi9jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLGlGQUFpRjtBQUNqRixrRUFBa0U7QUFFbEUsa0JBQWtCO0FBQ2xCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxpRUFBaUU7QUFDakUsMkRBQTJEO0FBQzNELG9FQUFvRTtBQUNwRSx3RUFBd0U7QUFDeEUseURBQXlEO0FBRXpELFlBQVk7QUFDWixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUNqRSx5RUFBeUU7QUFDekUsc0VBQXNFO0FBQ3RFLDZEQUE2RDtBQUM3RCw2REFBNkQ7QUFDN0QsZ0VBQWdFO0FBQ2hFLDRFQUE0RTtBQUM1RSw4RUFBOEU7QUFDOUUsNEVBQTRFO0FBQzVFLG1FQUFtRTtBQUNuRSwwREFBMEQ7QUFDMUQseUVBQXlFO0FBQ3pFLHNFQUFzRTtBQWtEdEUsTUFBTSxPQUFPLGdCQUFnQjsrR0FBaEIsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBaENyQixTQUFTO1lBQ1QsVUFBVSxhQWZWLFlBQVk7WUFDWixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsZUFBZSxhQXlCZixTQUFTO1lBQ1QsVUFBVTtnSEFlTCxnQkFBZ0IsWUE5Q3JCLFlBQVk7WUFDWixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsZUFBZTs7NEZBeUNWLGdCQUFnQjtrQkFoRDVCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7cUJBQ3JCO29CQUNELFlBQVksRUFBRTt3QkFDVixTQUFTO3dCQUNULFVBQVU7d0JBQ1YsZUFBZTt3QkFDZixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGNBQWM7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxTQUFTO3dCQUNULFVBQVU7d0JBQ1YsZUFBZTt3QkFDZixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGNBQWM7cUJBQ2pCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbi8vaW1wb3J0IHsgRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gJ3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvZGlyZWN0aXZlcy5tb2R1bGUnO1xyXG4vL2ltcG9ydCB7IFBpcGVzTW9kdWxlIH0gZnJvbSAnc3JjL2FwcC9zaGFyZWQvcGlwZXMvcGlwZXMubW9kdWxlJztcclxuXHJcbi8vQW5ndWxhciBNYXRlcmlhbFxyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG4vL2ltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG4vL2ltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG4vL2ltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG4vL2ltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcclxuLy9pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XHJcblxyXG4vL0NvbXBvbmVudHNcclxuaW1wb3J0IHsgQ29lckFsZXJ0IH0gZnJvbSAnLi9jb2VyLWFsZXJ0L2NvZXItYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29lckJ1dHRvbiB9IGZyb20gJy4vY29lci1idXR0b24vY29lci1idXR0b24uY29tcG9uZW50JztcclxuLy9pbXBvcnQgeyBDb2VyQ2hlY2tib3ggfSBmcm9tICcuL2NvZXItY2hlY2tib3gvY29lci1jaGVja2JveC5jb21wb25lbnQnO1xyXG4vL2ltcG9ydCB7IENvZXJGaWxlYm94IH0gZnJvbSAnLi9jb2VyLWZpbGVib3gvY29lci1maWxlYm94LmNvbXBvbmVudCc7XHJcbi8vaW1wb3J0IHsgQ29lckZvcm0gfSBmcm9tICcuL2NvZXItZm9ybS9jb2VyLWZvcm0uY29tcG9uZW50JztcclxuLy9pbXBvcnQgeyBDb2VyR3JpZCB9IGZyb20gJy4vY29lci1ncmlkL2NvZXItZ3JpZC5jb21wb25lbnQnO1xyXG4vL2ltcG9ydCB7IENvZXJNb2RhbCB9IGZyb20gJy4vY29lci1tb2RhbC9jb2VyLW1vZGFsLmNvbXBvbmVudCc7XHJcbi8vaW1wb3J0IHsgQ29lck51bWJlckJveCB9IGZyb20gJy4vY29lci1udW1iZXJib3gvY29lci1udW1iZXJib3guY29tcG9uZW50JztcclxuLy9pbXBvcnQgeyBDb2VyUGFnZVRpdGxlIH0gZnJvbSAnLi9jb2VyLXBhZ2UtdGl0bGUvY29lci1wYWdlLXRpdGxlLmNvbXBvbmVudCc7XHJcbi8vaW1wb3J0IHsgQ29lclNlbGVjdGJveCB9IGZyb20gJy4vY29lci1zZWxlY3Rib3gvY29lci1zZWxlY3Rib3guY29tcG9uZW50JztcclxuLy9pbXBvcnQgeyBDb2VyU3dpdGNoIH0gZnJvbSAnLi9jb2VyLXN3aXRjaC9jb2VyLXN3aXRjaC5jb21wb25lbnQnO1xyXG4vL2ltcG9ydCB7IENvZXJUYWIgfSBmcm9tICcuL2NvZXItdGFiL2NvZXItdGFiLmNvbXBvbmVudCc7XHJcbi8vaW1wb3J0IHsgQ29lclRleHRhcmVhIH0gZnJvbSAnLi9jb2VyLXRleHRhcmVhL2NvZXItdGV4dGFyZWEuY29tcG9uZW50JztcclxuLy9pbXBvcnQgeyBDb2VyVGV4dEJveCB9IGZyb20gJy4vY29lci10ZXh0Ym94L2NvZXItdGV4dGJveC5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgUm91dGVyTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgLy9QaXBlc01vZHVsZSxcclxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgLy9NYXRDaGVja2JveE1vZHVsZSxcclxuICAgICAgICAvL01hdElucHV0TW9kdWxlLFxyXG4gICAgICAgIC8vTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgICAgIC8vTWF0U2xpZGVUb2dnbGVNb2R1bGUsXHJcbiAgICAgICAgLy9NYXRUYWJzTW9kdWxlLFxyXG4gICAgICAgIC8vRGlyZWN0aXZlc01vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIENvZXJBbGVydCxcclxuICAgICAgICBDb2VyQnV0dG9uLFxyXG4gICAgICAgIC8vQ29lckNoZWNrYm94LFxyXG4gICAgICAgIC8vQ29lckZpbGVib3gsXHJcbiAgICAgICAgLy9Db2VyRm9ybSxcclxuICAgICAgICAvL0NvZXJHcmlkLFxyXG4gICAgICAgIC8vQ29lck1vZGFsLFxyXG4gICAgICAgIC8vQ29lck51bWJlckJveCxcclxuICAgICAgICAvL0NvZXJQYWdlVGl0bGUsXHJcbiAgICAgICAgLy9Db2VyU2VsZWN0Ym94LFxyXG4gICAgICAgIC8vQ29lclN3aXRjaCxcclxuICAgICAgICAvL0NvZXJUZXh0YXJlYSxcclxuICAgICAgICAvL0NvZXJUYWIsXHJcbiAgICAgICAgLy9Db2VyVGV4dEJveCxcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgQ29lckFsZXJ0LFxyXG4gICAgICAgIENvZXJCdXR0b24sXHJcbiAgICAgICAgLy9Db2VyQ2hlY2tib3gsXHJcbiAgICAgICAgLy9Db2VyRmlsZWJveCxcclxuICAgICAgICAvL0NvZXJGb3JtLFxyXG4gICAgICAgIC8vQ29lckdyaWQsXHJcbiAgICAgICAgLy9Db2VyTW9kYWwsXHJcbiAgICAgICAgLy9Db2VyTnVtYmVyQm94LFxyXG4gICAgICAgIC8vQ29lclBhZ2VUaXRsZSxcclxuICAgICAgICAvL0NvZXJTZWxlY3Rib3gsXHJcbiAgICAgICAgLy9Db2VyU3dpdGNoLFxyXG4gICAgICAgIC8vQ29lclRleHRhcmVhLFxyXG4gICAgICAgIC8vQ29lclRhYixcclxuICAgICAgICAvL0NvZXJUZXh0Qm94LFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50c01vZHVsZSB7IH1cclxuLy9leHBvcnQgKiBmcm9tICcuL2NvZXItYWxlcnQvY29lci1hbGVydC5jb21wb25lbnQnO1xyXG4vL2V4cG9ydCAqIGZyb20gJy4vY29lci1idXR0b24vY29lci1idXR0b24uY29tcG9uZW50JztcclxuLy9leHBvcnQgKiBmcm9tICcuL2NvZXItY2hlY2tib3gvY29lci1jaGVja2JveC5jb21wb25lbnQnO1xyXG4vL2V4cG9ydCAqIGZyb20gJy4vY29lci1maWxlYm94L2NvZXItZmlsZWJveC5jb21wb25lbnQnO1xyXG4vL2V4cG9ydCAqIGZyb20gJy4vY29lci1maWxlYm94L2NvZXItZmlsZWJveC5pbnRlcmZhY2UnO1xyXG4vL2V4cG9ydCAqIGZyb20gJy4vY29lci1mb3JtL2NvZXItZm9ybS5jb21wb25lbnQnO1xyXG4vL2V4cG9ydCAqIGZyb20gJy4vY29lci1ncmlkL2NvZXItZ3JpZC5jb21wb25lbnQnO1xyXG4vL2V4cG9ydCAqIGZyb20gJy4vY29lci1ncmlkL2NvZXItZ3JpZC5pbnRlcmZhY2UnO1xyXG4vL2V4cG9ydCAqIGZyb20gJy4vY29lci1ncmlkL2NvZXItZ3JpZC50ZW1wbGF0ZXMnO1xyXG4vL2V4cG9ydCAqIGZyb20gJy4vY29lci1tb2RhbC9jb2VyLW1vZGFsLmNvbXBvbmVudCc7XHJcbi8vZXhwb3J0ICogZnJvbSAnLi9jb2VyLW51bWJlcmJveC9jb2VyLW51bWJlcmJveC5jb21wb25lbnQnO1xyXG4vL2V4cG9ydCAqIGZyb20gJy4vY29lci1wYWdlLXRpdGxlL2NvZXItcGFnZS10aXRsZS5jb21wb25lbnQnO1xyXG4vL2V4cG9ydCAqIGZyb20gJy4vY29lci1wYWdlLXRpdGxlL3BhZ2VUaXRsZS5pbnRlcmZhY2UnO1xyXG4vL2V4cG9ydCAqIGZyb20gJy4vY29lci1zZWxlY3Rib3gvY29lci1zZWxlY3Rib3guY29tcG9uZW50JztcclxuLy9leHBvcnQgKiBmcm9tICcuL2NvZXItc3dpdGNoL2NvZXItc3dpdGNoLmNvbXBvbmVudCc7XHJcbi8vZXhwb3J0ICogZnJvbSAnLi9jb2VyLXRhYi9jb2VyLXRhYi5jb21wb25lbnQnO1xyXG4vL2V4cG9ydCAqIGZyb20gJy4vY29lci10ZXh0Ym94L2NvZXItdGV4dGJveC5jb21wb25lbnQnOyJdfQ==
         | 
| @@ -0,0 +1,7 @@ | |
| 1 | 
            +
            export * from './lib/app-source.interface';
         | 
| 2 | 
            +
            export * from './lib/breadcrumb.interface';
         | 
| 3 | 
            +
            export * from './lib/coer-ref.interface';
         | 
| 4 | 
            +
            export * from './lib/go-back.interface';
         | 
| 5 | 
            +
            export * from './lib/patch.interface';
         | 
| 6 | 
            +
            export * from './lib/screen-size.interface';
         | 
| 7 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwLXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9icmVhZGNydW1iLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItcmVmLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dvLWJhY2suaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGF0Y2guaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2NyZWVuLXNpemUuaW50ZXJmYWNlJzsiXX0=
         | 
| @@ -0,0 +1,2 @@ | |
| 1 | 
            +
            export {};
         | 
| 2 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNvdXJjZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9pbnRlcmZhY2VzL2xpYi9hcHAtc291cmNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJQXBwU291cmNlIHtcclxuICAgIHBhZ2U6IHN0cmluZztcclxuICAgIHBhdGg6IHN0cmluZztcclxufSJdfQ==
         | 
| @@ -0,0 +1,2 @@ | |
| 1 | 
            +
            export {};
         | 
| 2 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9pbnRlcmZhY2VzL2xpYi9icmVhZGNydW1iLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJQnJlYWRjcnVtYiB7XHJcbiAgICBwYWdlOiBzdHJpbmc7XHJcbiAgICBwYXRoPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIHF1ZXJ5UGFyYW1zPzogYW55O1xyXG4gICAgY2xpY2s/OiAoKCkgPT4gYW55KTtcclxufSJdfQ==
         | 
| @@ -0,0 +1,2 @@ | |
| 1 | 
            +
            export {};
         | 
| 2 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1yZWYuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvaW50ZXJmYWNlcy9saWIvY29lci1yZWYuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNvZXJSZWYge1xyXG4gICAgY29lclJlZjogV3JpdGFibGVTaWduYWw8c3RyaW5nPjtcclxuICAgIHRpdGxlOiBXcml0YWJsZVNpZ25hbDxzdHJpbmc+O1xyXG4gICAgaWNvbjogV3JpdGFibGVTaWduYWw8c3RyaW5nPjtcclxuICAgIGlzRGlzYWJsZWQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+O1xyXG4gICAgc2hvdzogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj47XHJcbiAgICB0b29sdGlwOiBXcml0YWJsZVNpZ25hbDxzdHJpbmc+O1xyXG4gICAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbn0iXX0=
         | 
| @@ -0,0 +1,2 @@ | |
| 1 | 
            +
            export {};
         | 
| 2 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ28tYmFjay5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9pbnRlcmZhY2VzL2xpYi9nby1iYWNrLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJR29CYWNrIHtcclxuICAgIHNob3c6IGJvb2xlYW47XHJcbiAgICBwYXRoPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIHF1ZXJ5UGFyYW1zPzogYW55O1xyXG4gICAgY2xpY2s/OiAoKCkgPT4gYW55KTtcclxufSJdfQ==
         | 
| @@ -0,0 +1,2 @@ | |
| 1 | 
            +
            export {};
         | 
| 2 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2guaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvaW50ZXJmYWNlcy9saWIvcGF0Y2guaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElQYXRjaCB7XHJcbiAgICBvcDogJ3JlbW92ZScgfCAnYWRkJyB8ICdyZXBsYWNlJztcclxuICAgIHBhdGg6IHN0cmluZztcclxuICAgIHZhbHVlOiBhbnk7XHJcbn0iXX0=
         | 
| @@ -0,0 +1,2 @@ | |
| 1 | 
            +
            export {};
         | 
| 2 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXNpemUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvaW50ZXJmYWNlcy9saWIvc2NyZWVuLXNpemUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElTY3JlZW5TaXplIHtcclxuICAgIHdpZHRoOiBudW1iZXI7XHJcbiAgICBoZWlnaHQ6IG51bWJlcjtcclxuICAgIGJyZWFrcG9pbjogJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgfCAneHhsJztcclxufSJdfQ==
         | 
    
        package/esm2022/public_api.mjs
    CHANGED
    
    | @@ -1,3 +1,4 @@ | |
| 1 1 | 
             
            export * from './components';
         | 
| 2 | 
            +
            export * from './signals';
         | 
| 2 3 | 
             
            export * from './tools';
         | 
| 3 | 
            -
            //# sourceMappingURL=data:application/json;base64, | 
| 4 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NpZ25hbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rvb2xzJzsiXX0=
         | 
| @@ -0,0 +1,4 @@ | |
| 1 | 
            +
            export * from './lib/breakpoint.signal';
         | 
| 2 | 
            +
            export * from './lib/is-loading.signal';
         | 
| 3 | 
            +
            export * from './lib/is-modal-open.signal';
         | 
| 4 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9zaWduYWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYnJlYWtwb2ludC5zaWduYWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pcy1sb2FkaW5nLnNpZ25hbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lzLW1vZGFsLW9wZW4uc2lnbmFsJzsiXX0=
         | 
| @@ -0,0 +1,4 @@ | |
| 1 | 
            +
            import { signal } from '@angular/core';
         | 
| 2 | 
            +
            import { Screen } from '../../tools';
         | 
| 3 | 
            +
            export const breakpointSIGNAL = signal(Screen?.BREAKPOINT || 'xs');
         | 
| 4 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludC5zaWduYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9zaWduYWxzL2xpYi9icmVha3BvaW50LnNpZ25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUEyQyxNQUFNLEVBQUUsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNjcmVlbiB9IGZyb20gJy4uLy4uL3Rvb2xzJztcclxuZXhwb3J0IGNvbnN0IGJyZWFrcG9pbnRTSUdOQUwgPSBzaWduYWw8J3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgfCAneHhsJz4oU2NyZWVuPy5CUkVBS1BPSU5UIHx8ICd4cycpOyJdfQ==
         | 
| @@ -0,0 +1,3 @@ | |
| 1 | 
            +
            import { signal } from "@angular/core";
         | 
| 2 | 
            +
            export const isLoadingSIG = signal(false);
         | 
| 3 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbG9hZGluZy5zaWduYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9zaWduYWxzL2xpYi9pcy1sb2FkaW5nLnNpZ25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5leHBvcnQgY29uc3QgaXNMb2FkaW5nU0lHID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTsiXX0=
         | 
| @@ -0,0 +1,3 @@ | |
| 1 | 
            +
            import { signal } from "@angular/core";
         | 
| 2 | 
            +
            export const isModalOpenSIG = signal(false);
         | 
| 3 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbW9kYWwtb3Blbi5zaWduYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9zaWduYWxzL2xpYi9pcy1tb2RhbC1vcGVuLnNpZ25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5leHBvcnQgY29uc3QgaXNNb2RhbE9wZW5TSUcgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpOyJdfQ==
         | 
    
        package/esm2022/tools/index.mjs
    CHANGED
    
    | @@ -1,2 +1,9 @@ | |
| 1 | 
            -
            export * from './lib/ | 
| 2 | 
            -
             | 
| 1 | 
            +
            export * from './lib/breadcrumbs.class';
         | 
| 2 | 
            +
            export * from './lib/control-value.class';
         | 
| 3 | 
            +
            export * from './lib/date-time.class';
         | 
| 4 | 
            +
            export * from './lib/files.class';
         | 
| 5 | 
            +
            export * from './lib/generi-tools';
         | 
| 6 | 
            +
            export * from './lib/page.class';
         | 
| 7 | 
            +
            export * from './lib/screen.class';
         | 
| 8 | 
            +
            export * from './lib/source.class';
         | 
| 9 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy90b29scy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9icmVhZGNydW1icy5jbGFzcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2wtdmFsdWUuY2xhc3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRpbWUuY2xhc3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlcy5jbGFzcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dlbmVyaS10b29scyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2UuY2xhc3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zY3JlZW4uY2xhc3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zb3VyY2UuY2xhc3MnO1xyXG4iXX0=
         | 
| @@ -0,0 +1,63 @@ | |
| 1 | 
            +
            import { Tools } from './generi-tools';
         | 
| 2 | 
            +
            export class Breadcrumbs {
         | 
| 3 | 
            +
                static { this.storage = 'COER-System'; }
         | 
| 4 | 
            +
                /** */
         | 
| 5 | 
            +
                static Add(page, path) {
         | 
| 6 | 
            +
                    const breadcrumbs = this.Get();
         | 
| 7 | 
            +
                    const paths = breadcrumbs.map(item => item.path);
         | 
| 8 | 
            +
                    if (!paths.includes(path)) {
         | 
| 9 | 
            +
                        breadcrumbs.push({ page, path });
         | 
| 10 | 
            +
                        this.Save(breadcrumbs);
         | 
| 11 | 
            +
                    }
         | 
| 12 | 
            +
                }
         | 
| 13 | 
            +
                /** */
         | 
| 14 | 
            +
                static Get() {
         | 
| 15 | 
            +
                    let storage = sessionStorage.getItem(this.storage);
         | 
| 16 | 
            +
                    if (storage) {
         | 
| 17 | 
            +
                        storage = JSON.parse(storage);
         | 
| 18 | 
            +
                        if (storage.hasOwnProperty('breadcrumbs')) {
         | 
| 19 | 
            +
                            return Tools.BreakReference(storage.breadcrumbs);
         | 
| 20 | 
            +
                        }
         | 
| 21 | 
            +
                    }
         | 
| 22 | 
            +
                    return [];
         | 
| 23 | 
            +
                }
         | 
| 24 | 
            +
                /** */
         | 
| 25 | 
            +
                static GetFirst() {
         | 
| 26 | 
            +
                    const breadcrumbs = this.Get();
         | 
| 27 | 
            +
                    return (breadcrumbs.length > 0) ? breadcrumbs.shift() : null;
         | 
| 28 | 
            +
                }
         | 
| 29 | 
            +
                /** */
         | 
| 30 | 
            +
                static Save(breadcrumbs) {
         | 
| 31 | 
            +
                    let storage = sessionStorage.getItem(this.storage);
         | 
| 32 | 
            +
                    if (storage)
         | 
| 33 | 
            +
                        storage = JSON.parse(storage);
         | 
| 34 | 
            +
                    storage = Object.assign({}, storage, { breadcrumbs });
         | 
| 35 | 
            +
                    sessionStorage.setItem(this.storage, JSON.stringify(storage));
         | 
| 36 | 
            +
                }
         | 
| 37 | 
            +
                /** */
         | 
| 38 | 
            +
                static Remove(path) {
         | 
| 39 | 
            +
                    let breadcrumbs = this.Get();
         | 
| 40 | 
            +
                    const index = breadcrumbs.findIndex(x => x.path.toLowerCase().trim() === path.toLowerCase().trim());
         | 
| 41 | 
            +
                    if (index >= 0) {
         | 
| 42 | 
            +
                        breadcrumbs = Tools.BreakReference(breadcrumbs).splice(0, index + 1);
         | 
| 43 | 
            +
                        this.Save(breadcrumbs);
         | 
| 44 | 
            +
                    }
         | 
| 45 | 
            +
                }
         | 
| 46 | 
            +
                /** */
         | 
| 47 | 
            +
                static SetLast(page, path) {
         | 
| 48 | 
            +
                    const breadcrumbs = this.Get();
         | 
| 49 | 
            +
                    if (breadcrumbs.length > 0) {
         | 
| 50 | 
            +
                        breadcrumbs[breadcrumbs.length - 1] = { page, path };
         | 
| 51 | 
            +
                        this.Save(breadcrumbs);
         | 
| 52 | 
            +
                    }
         | 
| 53 | 
            +
                }
         | 
| 54 | 
            +
                /** */
         | 
| 55 | 
            +
                static RemoveLast() {
         | 
| 56 | 
            +
                    const breadcrumbs = this.Get();
         | 
| 57 | 
            +
                    if (breadcrumbs.length > 0) {
         | 
| 58 | 
            +
                        breadcrumbs.pop();
         | 
| 59 | 
            +
                        this.Save(breadcrumbs);
         | 
| 60 | 
            +
                    }
         | 
| 61 | 
            +
                }
         | 
| 62 | 
            +
            }
         | 
| 63 | 
            +
            //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy90b29scy9saWIvYnJlYWRjcnVtYnMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE1BQU0sT0FBTyxXQUFXO2FBRUksWUFBTyxHQUFHLGFBQWEsQ0FBQztJQUVoRCxNQUFNO0lBQ0MsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFZLEVBQUUsSUFBWTtRQUN4QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDL0IsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVqRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3hCLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBR0QsTUFBTTtJQUNDLE1BQU0sQ0FBQyxHQUFHO1FBQ2IsSUFBSSxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFRLENBQUM7UUFFMUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNWLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTlCLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxPQUFPLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3JELENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBR0QsTUFBTTtJQUNDLE1BQU0sQ0FBQyxRQUFRO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUMvQixPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbEUsQ0FBQztJQUdELE1BQU07SUFDQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQXlCO1FBQ3hDLElBQUksT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBUSxDQUFDO1FBQzFELElBQUksT0FBTztZQUFFLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUdELE1BQU07SUFDQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQVk7UUFDN0IsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzdCLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXBHLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2IsV0FBVyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztJQUdELE1BQU07SUFDQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVksRUFBRSxJQUFZO1FBQzVDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUUvQixJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekIsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztJQUdELE1BQU07SUFDQyxNQUFNLENBQUMsVUFBVTtRQUNwQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFL0IsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pCLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUFwcFNvdXJjZSB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCB7IFRvb2xzIH0gZnJvbSAnLi9nZW5lcmktdG9vbHMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJzIHtcclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBzdG9yYWdlID0gJ0NPRVItU3lzdGVtJztcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgQWRkKHBhZ2U6IHN0cmluZywgcGF0aDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYnJlYWRjcnVtYnMgPSB0aGlzLkdldCgpO1xyXG4gICAgICAgIGNvbnN0IHBhdGhzID0gYnJlYWRjcnVtYnMubWFwKGl0ZW0gPT4gaXRlbS5wYXRoKTtcclxuXHJcbiAgICAgICAgaWYgKCFwYXRocy5pbmNsdWRlcyhwYXRoKSkge1xyXG4gICAgICAgICAgICBicmVhZGNydW1icy5wdXNoKHsgcGFnZSwgcGF0aCB9KTtcclxuICAgICAgICAgICAgdGhpcy5TYXZlKGJyZWFkY3J1bWJzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBHZXQoKTogSUFwcFNvdXJjZVtdIHtcclxuICAgICAgICBsZXQgc3RvcmFnZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlKSBhcyBhbnk7XHJcblxyXG4gICAgICAgIGlmIChzdG9yYWdlKSB7XHJcbiAgICAgICAgICAgIHN0b3JhZ2UgPSBKU09OLnBhcnNlKHN0b3JhZ2UpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHN0b3JhZ2UuaGFzT3duUHJvcGVydHkoJ2JyZWFkY3J1bWJzJykpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBUb29scy5CcmVha1JlZmVyZW5jZShzdG9yYWdlLmJyZWFkY3J1bWJzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0Rmlyc3QoKTogSUFwcFNvdXJjZSB8IG51bGwge1xyXG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWJzID0gdGhpcy5HZXQoKTtcclxuICAgICAgICByZXR1cm4gKGJyZWFkY3J1bWJzLmxlbmd0aCA+IDApID8gYnJlYWRjcnVtYnMuc2hpZnQoKSEgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgU2F2ZShicmVhZGNydW1iczogSUFwcFNvdXJjZVtdKTogdm9pZCB7XHJcbiAgICAgICAgbGV0IHN0b3JhZ2UgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RvcmFnZSkgYXMgYW55O1xyXG4gICAgICAgIGlmIChzdG9yYWdlKSBzdG9yYWdlID0gSlNPTi5wYXJzZShzdG9yYWdlKTtcclxuICAgICAgICBzdG9yYWdlID0gT2JqZWN0LmFzc2lnbih7fSwgc3RvcmFnZSwgeyBicmVhZGNydW1icyB9KTtcclxuICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZSwgSlNPTi5zdHJpbmdpZnkoc3RvcmFnZSkpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgUmVtb3ZlKHBhdGg6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGxldCBicmVhZGNydW1icyA9IHRoaXMuR2V0KCk7XHJcbiAgICAgICAgY29uc3QgaW5kZXggPSBicmVhZGNydW1icy5maW5kSW5kZXgoeCA9PiB4LnBhdGgudG9Mb3dlckNhc2UoKS50cmltKCkgPT09IHBhdGgudG9Mb3dlckNhc2UoKS50cmltKCkpO1xyXG5cclxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xyXG4gICAgICAgICAgICBicmVhZGNydW1icyA9IFRvb2xzLkJyZWFrUmVmZXJlbmNlKGJyZWFkY3J1bWJzKS5zcGxpY2UoMCwgaW5kZXggKyAxKTtcclxuICAgICAgICAgICAgdGhpcy5TYXZlKGJyZWFkY3J1bWJzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBTZXRMYXN0KHBhZ2U6IHN0cmluZywgcGF0aDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYnJlYWRjcnVtYnMgPSB0aGlzLkdldCgpO1xyXG5cclxuICAgICAgICBpZiAoYnJlYWRjcnVtYnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBicmVhZGNydW1ic1ticmVhZGNydW1icy5sZW5ndGggLSAxXSA9IHsgcGFnZSwgcGF0aCB9O1xyXG4gICAgICAgICAgICB0aGlzLlNhdmUoYnJlYWRjcnVtYnMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwdWJsaWMgc3RhdGljIFJlbW92ZUxhc3QoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYnJlYWRjcnVtYnMgPSB0aGlzLkdldCgpO1xyXG5cclxuICAgICAgICBpZiAoYnJlYWRjcnVtYnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBicmVhZGNydW1icy5wb3AoKTtcclxuICAgICAgICAgICAgdGhpcy5TYXZlKGJyZWFkY3J1bWJzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
         |