import { InjectionToken } from '@angular/core';
export var ElWindowState;
(function (ElWindowState) {
    ElWindowState["MINIMIZED"] = "minimized";
    ElWindowState["MAXIMIZED"] = "maximized";
    ElWindowState["FULL_SCREEN"] = "full-screen";
})(ElWindowState || (ElWindowState = {}));
/**
 * Window configuration options.
 */
var ElWindowConfig = /** @class */ (function () {
    function ElWindowConfig() {
        var configs = [];
        for (var _i = 0; _i < arguments.length; _i++) {
            configs[_i] = arguments[_i];
        }
        /**
         * Window title.
         */
        this.title = '';
        /**
         * Initial window state. Full screen by default.
         */
        this.initialState = ElWindowState.FULL_SCREEN;
        /**
         * If true than backdrop will be rendered behind window.
         * By default set to true.
         */
        this.hasBackdrop = true;
        /**
         * If set to true mouse clicks on backdrop will close a window.
         * Default is true.
         */
        this.closeOnBackdropClick = true;
        /**
         * If true then escape press will close a window.
         * Default is true.
         */
        this.closeOnEsc = true;
        /**
         * Class to be applied to the window.
         */
        this.windowClass = '';
        /**
         * Both, template and component may receive data through `config.context` property.
         * For components, this data will be set as component properties.
         * For templates, you can access it inside template as $implicit.
         */
        this.context = {};
        /**
         * Where the attached component should live in Angular's *logical* component tree.
         * This affects what is available for injection and the change detection order for the
         * component instantiated inside of the window. This does not affect where the window
         * content will be rendered.
         */
        this.viewContainerRef = null;
        Object.assign.apply(Object, [this].concat(configs));
    }
    return ElWindowConfig;
}());
export { ElWindowConfig };
export var EL_WINDOW_CONTENT = new InjectionToken('Endlessjs Window Content');
export var EL_WINDOW_CONFIG = new InjectionToken('Endlessjs Window Config');
export var EL_WINDOW_CONTEXT = new InjectionToken('Endlessjs Window Context');
//# sourceMappingURL=window.options.js.map