import { CommonModule } from '@angular/common';
import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
export class NxtButtonComponent {
    elementRef;
    buttonValue = ''; //SKS24JAN25 button text 
    buttonType = 'primary'; //SKS24JAN25 If the button type is 'text-only', it should display only the text without a border or outline. For 'grey-text', the button should have a border and a background color, but the text color should be gray, similar to 'blue-text'
    type = 'button'; //SKS24JAN25 The button types are "button," "group," and "dropdown."
    buttonDisable = false; //SKS24JAN25 use this input to disable a button when needed.
    btnBgColor = ''; // Use this input to set a custom background color for the button.
    btnBorder = ''; // Use this input to set a custom border style for the button.
    btnTextColor = ''; // Use this input to set a custom text color for the button.
    btnHeight = ''; // Use this input to set a custom height for the button.
    btnWidth = ''; // Use this input to set a custom width for the button.
    btnIconLeftSrc = ''; // Use this input to set the source of the left-side icon for the button.
    btnIconRightSrc = ''; // Use this input to set the source of the right-side icon for the button.
    btnHoverBgColor = ''; // Use this input to set the background color of the button on hover.
    btnHoverTextColor = ''; // Use this input to set the text color of the button on hover.
    btnId = 'default'; // Use this input to set a custom ID for the button. Default is 'default'.
    dataDismiss = ''; // Use this input to specify the dismiss action for the button (e.g., 'modal' to close a modal).
    buttonBorder = '0px'; // Use this input to set the border size of the button. Default is '0px' for no border.
    modalToTrigger = ''; // Use this input to specify the ID or target of the modal to be triggered.
    isImageSvg = false; // Use this input to determine if the image is an SVG. Default is false (non-SVG).
    tabIndex = ''; // Use this input to set the tab index for the element, controlling the focus order.
    buttonConfig = ''; // Use this input to pass configuration settings for the group and dropdown buttons (e.g., styles, actions).
    mode = 'edit'; // New mode input
    buttonClickEmit = new EventEmitter();
    iconSrc = ''; // Ensure it's always a string
    isDropdownOpen = false;
    // SKS24JAN25 dropdown button config
    // dropdownButton = {
    //   btnBgColor: '#007bff',
    //   btnBorder: '1px solid #0056b3',
    //   btnTextColor: '#ffffff',
    //   btnHeight: '40px',
    //   btnWidth: '150px',
    //   btnHoverBgColor: '#0056b3',
    //   btnHoverTextColor: '#ffffff',
    //   label: 'Dropdown',
    //   iconSrc: '',
    //   items: [
    //     { label: 'Action 1',iconSrc: '', hover: false },
    //     { label: 'Action 2',iconSrc: '', hover: false },
    //     { label: 'Action 3',iconSrc: '', hover: false }
    //   ]
    // };
    constructor(elementRef) {
        this.elementRef = elementRef;
    }
    ngOnInit() { }
    //SKS24JAN25 Function to get styles for dropdown and group buttons based on the provided configuration.
    getButtonStyles(config) {
        return {
            'button-custom-bg': config.btnBgColor || '',
            'button-custom-border': config.btnBorder || '',
            'button-custom-color': config.btnTextColor || '',
            'button-custom-height': config.btnHeight || '',
            'button-custom-width': config.btnWidth || '',
            'button-hover-bg': config.btnHoverBgColor || '',
            'button-hover-text-color': config.btnHoverTextColor || ''
        };
    }
    buttonClicked($event) {
        this.buttonClickEmit.emit($event);
        if (this.isDropdownOpen) {
            this.isDropdownOpen = false;
        }
    }
    toggleDropdown() {
        this.isDropdownOpen = !this.isDropdownOpen;
    }
    //SKS24JAN25 Listener for clicks outside the dropdown button to close or manage its state.
    onClickOutside(event) {
        if (this.isDropdownOpen && !this.elementRef.nativeElement.contains(event.target)) {
            this.isDropdownOpen = false;
        }
    }
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NxtButtonComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NxtButtonComponent, isStandalone: true, selector: "nxt-button", inputs: { buttonValue: "buttonValue", buttonType: "buttonType", type: "type", buttonDisable: "buttonDisable", btnBgColor: "btnBgColor", btnBorder: "btnBorder", btnTextColor: "btnTextColor", btnHeight: "btnHeight", btnWidth: "btnWidth", btnIconLeftSrc: "btnIconLeftSrc", btnIconRightSrc: "btnIconRightSrc", btnHoverBgColor: "btnHoverBgColor", btnHoverTextColor: "btnHoverTextColor", btnId: "btnId", dataDismiss: "dataDismiss", buttonBorder: "buttonBorder", modalToTrigger: "modalToTrigger", isImageSvg: "isImageSvg", tabIndex: "tabIndex", buttonConfig: "buttonConfig", mode: "mode" }, outputs: { buttonClickEmit: "buttonClickEmit" }, host: { listeners: { "document:click": "onClickOutside($event)" } }, ngImport: i0, template: "<!-- SKS24JAN25 group button -->\n<div *ngIf=\"type === 'group'\" class=\"btn-group\" role=\"group\" aria-label=\"Button Group\">\n    <button *ngFor=\"let btn of buttonConfig.buttons\"\n            type=\"button\"\n            class=\"btn btn-icon {{btn.buttonType}} tooltip-container\"\n            [attr.tabindex]=\"btn.tabIndex\"\n            [attr.data-bs-toggle]=\"btn.modalToTrigger ? 'modal' : null\"\n            [attr.data-bs-target]=\"btn.modalToTrigger ? '#' + btn.modalToTrigger : null\"\n            [ngStyle]=\"getButtonStyles(btn)\"\n            [disabled]=\"btn.buttonDisable\"\n            [attr.data-bs-dismiss]=\"btn.dataDismiss\"\n            (click)=\"buttonClicked(btn)\"\n            [attr.id]=\"btn.btnId !== 'default' ? btn.btnId : null\">\n        <img *ngIf=\"btn.isImageSvg\" [src]=\"btn.iconSrc\">\n        <span class=\"custom-tooltip\" \n            style=\"background-color:{{btn.tooltipBcColor}};\n            color:{{btn.tooltipColor}};\n            font-size:{{btn.tooltipFSize}}\">\n            {{ btn.tooltip }}\n            <div class=\"tooltip-pointer\" style=\"background-color:{{btn.tooltipBcColor}};\"></div>\n        </span>\n    </button>\n</div>\n  \n<!-- SKS24JAN25 single button -->\n<button type=\"button\"  *ngIf=\"type !== 'group' && type !== 'dropdown'\" class=\"btn btn-primary fc-button {{buttonType}}\" [tabindex]=\"tabIndex\"\n    [attr.data-bs-toggle]=\"modalToTrigger != '' ? 'modal' : ''\"\n    [attr.data-bs-target]=\"modalToTrigger != '' ? '#'+modalToTrigger : ''\"\n    style=\"button-custom-bg: {{btnBgColor}};button-custom-border: {{btnBorder}};button-custom-color: {{btnTextColor}};button-custom-height: {{btnHeight}};button-custom-width: {{btnWidth}};button-hover-bg: {{btnHoverBgColor}};button-hover-text-color: {{btnHoverTextColor}};\"\n    [disabled]=\"buttonDisable\" [attr.data-bs-dismiss]='dataDismiss' (click)=\"buttonClicked($event)\"\n    [attr.id]=\"btnId != 'default' ? btnId : null\">\n    <img *ngIf=\"btnIconLeftSrc != '' && isImageSvg\" src=\"{{btnIconLeftSrc}}\"\n        class=\"fc-btn-icon left-icon\">\n    <img *ngIf=\"btnIconLeftSrc != '' && !isImageSvg\" src=\"{{btnIconLeftSrc}}\" class=\"fc-btn-icon left-icon\">\n    <span class=\"fc-btn-text\">{{buttonValue}}</span>\n    <img *ngIf=\"btnIconRightSrc != '' && isImageSvg\" src=\"{{btnIconRightSrc}}\"\n        class=\"fc-btn-icon right-icon\">\n    <img *ngIf=\"btnIconRightSrc != '' && !isImageSvg\" src=\"{{btnIconRightSrc}}\" class=\"fc-btn-icon right-icon\">\n</button>\n\n<!-- SKS24JAN25 dropdown button -->\n<div *ngIf=\"type === 'dropdown'\" class=\"dropdown\">\n    <svg class=\"clickable-img\" (click)=\"toggleDropdown()\"  width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n        <rect x=\"0.3\" y=\"0.3\" width=\"39.4\" height=\"39.4\" rx=\"11.7\" fill=\"#FAFBFD\" stroke=\"#D5D5D5\" stroke-width=\"0.6\"/>\n        <path d=\"M19.9999 25.6667C23.6818 25.6667 26.6666 22.6819 26.6666 19C26.6666 15.3181 23.6818 12.3334 19.9999 12.3334C16.318 12.3334 13.3333 15.3181 13.3333 19C13.3333 22.6819 16.318 25.6667 19.9999 25.6667Z\" fill=\"#292D32\" stroke=\"#292D32\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n        <path d=\"M17.6467 18.16L20.0001 20.5067L22.3534 18.16\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n    </svg>  \n    <div class=\"dropdown-menu\"  *ngIf=\"isDropdownOpen\">\n        <button *ngFor=\"let btn of buttonConfig.buttons\"\n            type=\"button\"\n            class=\"btn btn-icon {{btn.buttonType}} tooltip-container\"\n            [attr.tabindex]=\"btn.tabIndex\"\n            [attr.data-bs-toggle]=\"btn.modalToTrigger ? 'modal' : null\"\n            [attr.data-bs-target]=\"btn.modalToTrigger ? '#' + btn.modalToTrigger : null\"\n            [ngStyle]=\"getButtonStyles(btn)\"\n            [disabled]=\"btn.buttonDisable\"\n            [attr.data-bs-dismiss]=\"btn.dataDismiss\"\n            (click)=\"buttonClicked(btn)\"\n            [attr.id]=\"btn.btnId !== 'default' ? btn.btnId : null\">\n            <img *ngIf=\"btn.isImageSvg\" [src]=\"btn.iconSrc\">\n            <span class=\"fc-btn-text\" style=\"padding-left: 12px;\">{{btn.name}}</span>\n        </button>\n    </div>\n</div>\n", styles: [".fc-button,.fc-button:hover,.fc-button:active,.fc-button:focus{outline:none;border:none;box-shadow:none}.fc-button{padding:6.5px}.fc-button:active{transform:scale(1.02)}.text-only{background:transparent;color:var(--fc-primary-color);border:none;outline:none}.grey-text{color:var(--fc-text-color)}.blue-text{color:var(--fc-primary-color)}.grey-border{color:#272525;background:transparent;border:2px solid #dddddd}.grey-border:hover{color:#272525;background:#6a2aff0a;border:2px solid #6a2aff59}.grey-border:active,.grey-border:focus{background-color:#386bf6;border:2px solid #3268ff;color:#fff}.blue-border,.blue-border:hover,.blue-border:active,.blue-border:focus{border:1px solid var(--fc-primary-color)}.bg-transparent{background-color:transparent}.custom-btn{background-color:var(button-custom-bg);border-color:var(button-custom-border);color:var(button-custom-color);height:var(button-custom-height);width:var(button-custom-width)}.custom-btn:hover,.custom-btn:active,.custom-btn:focus{border-color:var(button-custom-border);background-color:var(button-hover-bg);color:var(button-hover-text-color)}.fc-btn-text{display:inline-flex;vertical-align:middle;font-size:14px;font-weight:400;padding-left:5px;padding-right:5px}.right-icon{margin-left:5px}.left-icon{margin-right:5px}.fc-button.side-save-component,.fc-button.side-cancel-component{border:1px solid transparent}.fc-button.side-save-component:focus,.fc-button.side-cancel-component:focus{box-shadow:0 0 0 .25rem #0d6efd40;border:1px solid #86b7fe}.btn-group{background-color:#fdfeff;border:1px solid #dddddd;border-radius:7px}.btn-icon{background-color:#fdfeff;border:1px solid #dddddd}.custom-tooltip{visibility:visible;position:absolute;background-color:#0773ff;color:#fff;text-align:center;padding:5px 10px;border-radius:4px;font-size:12px;white-space:nowrap;bottom:100%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .2s;z-index:10;margin-bottom:10px}.tooltip-pointer{position:absolute;width:0;height:0;bottom:-5px;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #0773ff}.tooltip-container:hover .custom-tooltip{visibility:visible;opacity:1}.clickable-img{position:relative;cursor:pointer;height:41px;transition:transform .3s ease,box-shadow .3s ease;border:2px solid #dddddd;border-radius:13px}.clickable-img:hover{transform:scale(.95);border:2px solid rgb(31,105,255);border-radius:14px}.dropdown{position:relative;display:inline-block}.dropdown-menu{right:0;top:45px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 8px #0000001a;left:unset}.dropdown .dropdown-menu{display:block}.dropdown-menu .btn{display:block;padding:10px;width:100%;text-align:left;background:transparent;border:none;cursor:pointer}.dropdown-menu .btn:hover{background-color:#f1f1f1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NxtButtonComponent, decorators: [{
            type: Component,
            args: [{ selector: 'nxt-button', standalone: true, imports: [CommonModule], template: "<!-- SKS24JAN25 group button -->\n<div *ngIf=\"type === 'group'\" class=\"btn-group\" role=\"group\" aria-label=\"Button Group\">\n    <button *ngFor=\"let btn of buttonConfig.buttons\"\n            type=\"button\"\n            class=\"btn btn-icon {{btn.buttonType}} tooltip-container\"\n            [attr.tabindex]=\"btn.tabIndex\"\n            [attr.data-bs-toggle]=\"btn.modalToTrigger ? 'modal' : null\"\n            [attr.data-bs-target]=\"btn.modalToTrigger ? '#' + btn.modalToTrigger : null\"\n            [ngStyle]=\"getButtonStyles(btn)\"\n            [disabled]=\"btn.buttonDisable\"\n            [attr.data-bs-dismiss]=\"btn.dataDismiss\"\n            (click)=\"buttonClicked(btn)\"\n            [attr.id]=\"btn.btnId !== 'default' ? btn.btnId : null\">\n        <img *ngIf=\"btn.isImageSvg\" [src]=\"btn.iconSrc\">\n        <span class=\"custom-tooltip\" \n            style=\"background-color:{{btn.tooltipBcColor}};\n            color:{{btn.tooltipColor}};\n            font-size:{{btn.tooltipFSize}}\">\n            {{ btn.tooltip }}\n            <div class=\"tooltip-pointer\" style=\"background-color:{{btn.tooltipBcColor}};\"></div>\n        </span>\n    </button>\n</div>\n  \n<!-- SKS24JAN25 single button -->\n<button type=\"button\"  *ngIf=\"type !== 'group' && type !== 'dropdown'\" class=\"btn btn-primary fc-button {{buttonType}}\" [tabindex]=\"tabIndex\"\n    [attr.data-bs-toggle]=\"modalToTrigger != '' ? 'modal' : ''\"\n    [attr.data-bs-target]=\"modalToTrigger != '' ? '#'+modalToTrigger : ''\"\n    style=\"button-custom-bg: {{btnBgColor}};button-custom-border: {{btnBorder}};button-custom-color: {{btnTextColor}};button-custom-height: {{btnHeight}};button-custom-width: {{btnWidth}};button-hover-bg: {{btnHoverBgColor}};button-hover-text-color: {{btnHoverTextColor}};\"\n    [disabled]=\"buttonDisable\" [attr.data-bs-dismiss]='dataDismiss' (click)=\"buttonClicked($event)\"\n    [attr.id]=\"btnId != 'default' ? btnId : null\">\n    <img *ngIf=\"btnIconLeftSrc != '' && isImageSvg\" src=\"{{btnIconLeftSrc}}\"\n        class=\"fc-btn-icon left-icon\">\n    <img *ngIf=\"btnIconLeftSrc != '' && !isImageSvg\" src=\"{{btnIconLeftSrc}}\" class=\"fc-btn-icon left-icon\">\n    <span class=\"fc-btn-text\">{{buttonValue}}</span>\n    <img *ngIf=\"btnIconRightSrc != '' && isImageSvg\" src=\"{{btnIconRightSrc}}\"\n        class=\"fc-btn-icon right-icon\">\n    <img *ngIf=\"btnIconRightSrc != '' && !isImageSvg\" src=\"{{btnIconRightSrc}}\" class=\"fc-btn-icon right-icon\">\n</button>\n\n<!-- SKS24JAN25 dropdown button -->\n<div *ngIf=\"type === 'dropdown'\" class=\"dropdown\">\n    <svg class=\"clickable-img\" (click)=\"toggleDropdown()\"  width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n        <rect x=\"0.3\" y=\"0.3\" width=\"39.4\" height=\"39.4\" rx=\"11.7\" fill=\"#FAFBFD\" stroke=\"#D5D5D5\" stroke-width=\"0.6\"/>\n        <path d=\"M19.9999 25.6667C23.6818 25.6667 26.6666 22.6819 26.6666 19C26.6666 15.3181 23.6818 12.3334 19.9999 12.3334C16.318 12.3334 13.3333 15.3181 13.3333 19C13.3333 22.6819 16.318 25.6667 19.9999 25.6667Z\" fill=\"#292D32\" stroke=\"#292D32\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n        <path d=\"M17.6467 18.16L20.0001 20.5067L22.3534 18.16\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n    </svg>  \n    <div class=\"dropdown-menu\"  *ngIf=\"isDropdownOpen\">\n        <button *ngFor=\"let btn of buttonConfig.buttons\"\n            type=\"button\"\n            class=\"btn btn-icon {{btn.buttonType}} tooltip-container\"\n            [attr.tabindex]=\"btn.tabIndex\"\n            [attr.data-bs-toggle]=\"btn.modalToTrigger ? 'modal' : null\"\n            [attr.data-bs-target]=\"btn.modalToTrigger ? '#' + btn.modalToTrigger : null\"\n            [ngStyle]=\"getButtonStyles(btn)\"\n            [disabled]=\"btn.buttonDisable\"\n            [attr.data-bs-dismiss]=\"btn.dataDismiss\"\n            (click)=\"buttonClicked(btn)\"\n            [attr.id]=\"btn.btnId !== 'default' ? btn.btnId : null\">\n            <img *ngIf=\"btn.isImageSvg\" [src]=\"btn.iconSrc\">\n            <span class=\"fc-btn-text\" style=\"padding-left: 12px;\">{{btn.name}}</span>\n        </button>\n    </div>\n</div>\n", styles: [".fc-button,.fc-button:hover,.fc-button:active,.fc-button:focus{outline:none;border:none;box-shadow:none}.fc-button{padding:6.5px}.fc-button:active{transform:scale(1.02)}.text-only{background:transparent;color:var(--fc-primary-color);border:none;outline:none}.grey-text{color:var(--fc-text-color)}.blue-text{color:var(--fc-primary-color)}.grey-border{color:#272525;background:transparent;border:2px solid #dddddd}.grey-border:hover{color:#272525;background:#6a2aff0a;border:2px solid #6a2aff59}.grey-border:active,.grey-border:focus{background-color:#386bf6;border:2px solid #3268ff;color:#fff}.blue-border,.blue-border:hover,.blue-border:active,.blue-border:focus{border:1px solid var(--fc-primary-color)}.bg-transparent{background-color:transparent}.custom-btn{background-color:var(button-custom-bg);border-color:var(button-custom-border);color:var(button-custom-color);height:var(button-custom-height);width:var(button-custom-width)}.custom-btn:hover,.custom-btn:active,.custom-btn:focus{border-color:var(button-custom-border);background-color:var(button-hover-bg);color:var(button-hover-text-color)}.fc-btn-text{display:inline-flex;vertical-align:middle;font-size:14px;font-weight:400;padding-left:5px;padding-right:5px}.right-icon{margin-left:5px}.left-icon{margin-right:5px}.fc-button.side-save-component,.fc-button.side-cancel-component{border:1px solid transparent}.fc-button.side-save-component:focus,.fc-button.side-cancel-component:focus{box-shadow:0 0 0 .25rem #0d6efd40;border:1px solid #86b7fe}.btn-group{background-color:#fdfeff;border:1px solid #dddddd;border-radius:7px}.btn-icon{background-color:#fdfeff;border:1px solid #dddddd}.custom-tooltip{visibility:visible;position:absolute;background-color:#0773ff;color:#fff;text-align:center;padding:5px 10px;border-radius:4px;font-size:12px;white-space:nowrap;bottom:100%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .2s;z-index:10;margin-bottom:10px}.tooltip-pointer{position:absolute;width:0;height:0;bottom:-5px;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #0773ff}.tooltip-container:hover .custom-tooltip{visibility:visible;opacity:1}.clickable-img{position:relative;cursor:pointer;height:41px;transition:transform .3s ease,box-shadow .3s ease;border:2px solid #dddddd;border-radius:13px}.clickable-img:hover{transform:scale(.95);border:2px solid rgb(31,105,255);border-radius:14px}.dropdown{position:relative;display:inline-block}.dropdown-menu{right:0;top:45px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 8px #0000001a;left:unset}.dropdown .dropdown-menu{display:block}.dropdown-menu .btn{display:block;padding:10px;width:100%;text-align:left;background:transparent;border:none;cursor:pointer}.dropdown-menu .btn:hover{background-color:#f1f1f1}\n"] }]
        }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { buttonValue: [{
                type: Input
            }], buttonType: [{
                type: Input
            }], type: [{
                type: Input
            }], buttonDisable: [{
                type: Input
            }], btnBgColor: [{
                type: Input
            }], btnBorder: [{
                type: Input
            }], btnTextColor: [{
                type: Input
            }], btnHeight: [{
                type: Input
            }], btnWidth: [{
                type: Input
            }], btnIconLeftSrc: [{
                type: Input
            }], btnIconRightSrc: [{
                type: Input
            }], btnHoverBgColor: [{
                type: Input
            }], btnHoverTextColor: [{
                type: Input
            }], btnId: [{
                type: Input
            }], dataDismiss: [{
                type: Input
            }], buttonBorder: [{
                type: Input
            }], modalToTrigger: [{
                type: Input
            }], isImageSvg: [{
                type: Input
            }], tabIndex: [{
                type: Input
            }], buttonConfig: [{
                type: Input
            }], mode: [{
                type: Input
            }], buttonClickEmit: [{
                type: Output
            }], onClickOutside: [{
                type: HostListener,
                args: ['document:click', ['$event']]
            }] } });
//# sourceMappingURL=data:application/json;base64, 