(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@wm/components/base')) :
    typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', '@wm/components/base'], factory) :
    (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.components = global.wm.components || {}, global.wm.components.page = global.wm.components.page || {}, global.wm.components.page.header = {}), global.ng.core, global.ng.common, global.wm.components.base));
})(this, (function (exports, i0, common, base) { 'use strict';

    function _interopNamespaceDefault(e) {
        var n = Object.create(null);
        if (e) {
            Object.keys(e).forEach(function (k) {
                if (k !== 'default') {
                    var d = Object.getOwnPropertyDescriptor(e, k);
                    Object.defineProperty(n, k, d.get ? d : {
                        enumerable: true,
                        get: function () { return e[k]; }
                    });
                }
            });
        }
        n.default = e;
        return Object.freeze(n);
    }

    var i0__namespace = /*#__PURE__*/_interopNamespaceDefault(i0);

    const registerProps = () => {
        base.register('wm-header', new Map([
            ['name', base.PROP_STRING],
            ['class', base.PROP_STRING],
            ['content', base.PROP_STRING],
            ['hint', base.PROP_STRING],
            ['arialabel', base.PROP_STRING]
        ]));
    };

    const _c0 = ["wmHeader", ""];
    const DEFAULT_CLS = 'app-header clearfix';
    const WIDGET_CONFIG = {
        widgetType: 'wm-header',
        hostClass: DEFAULT_CLS
    };
    class HeaderComponent extends base.StylableComponent {
        static { this.initializeProps = registerProps(); }
        constructor(inj, explicitContext) {
            super(inj, WIDGET_CONFIG, explicitContext);
            base.styler(this.nativeElement, this, base.APPLY_STYLES_TYPE.CONTAINER);
        }
        static { this.ɵfac = function HeaderComponent_Factory(t) { return new (t || HeaderComponent)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
        static { this.ɵcmp = /*@__PURE__*/ i0__namespace.ɵɵdefineComponent({ type: HeaderComponent, selectors: [["", "wmHeader", ""]], exportAs: ["wmHeader"], features: [i0__namespace.ɵɵProvidersFeature([
                    base.provideAsWidgetRef(HeaderComponent)
                ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 4, vars: 0, consts: [["data-role", "page-left-panel-icon", 1, "app-header-menu"], ["href", "javascript:void(0)", "aria-expanded", "false", "aria-label", "Expand Left navigation", "role", "button", 1, "app-header-action"], [1, "wi", "wi-menu"], ["partial-container-target", "", 1, "app-header-container"]], template: function HeaderComponent_Template(rf, ctx) { if (rf & 1) {
                i0__namespace.ɵɵelementStart(0, "div", 0)(1, "a", 1);
                i0__namespace.ɵɵelement(2, "i", 2);
                i0__namespace.ɵɵelementEnd()();
                i0__namespace.ɵɵelement(3, "div", 3);
            } }, encapsulation: 2 }); }
    }
    (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(HeaderComponent, [{
            type: i0.Component,
            args: [{ selector: '[wmHeader]', providers: [
                        base.provideAsWidgetRef(HeaderComponent)
                    ], exportAs: 'wmHeader', template: "<div class=\"app-header-menu\" data-role=\"page-left-panel-icon\">\n    <a class=\"app-header-action\" href=\"javascript:void(0)\" aria-expanded=\"false\" aria-label=\"Expand Left navigation\" role=\"button\">\n        <i class=\"wi wi-menu\"></i>\n    </a>\n</div>\n<div class=\"app-header-container\" partial-container-target></div>\n" }]
        }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
                    type: i0.Inject,
                    args: ['EXPLICIT_CONTEXT']
                }, {
                    type: i0.Optional
                }] }], null); })();
    (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(HeaderComponent, { className: "HeaderComponent", filePath: "header.component.ts", lineNumber: 20 }); })();

    const components = [
        HeaderComponent
    ];
    class HeaderModule {
        static { this.ɵfac = function HeaderModule_Factory(t) { return new (t || HeaderModule)(); }; }
        static { this.ɵmod = /*@__PURE__*/ i0__namespace.ɵɵdefineNgModule({ type: HeaderModule }); }
        static { this.ɵinj = /*@__PURE__*/ i0__namespace.ɵɵdefineInjector({ imports: [common.CommonModule,
                base.WmComponentsModule] }); }
    }
    (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(HeaderModule, [{
            type: i0.NgModule,
            args: [{
                    imports: [
                        common.CommonModule,
                        base.WmComponentsModule
                    ],
                    declarations: [...components],
                    exports: [...components]
                }]
        }], null, null); })();
    (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0__namespace.ɵɵsetNgModuleScope(HeaderModule, { declarations: [HeaderComponent], imports: [common.CommonModule,
            base.WmComponentsModule], exports: [HeaderComponent] }); })();

    exports.HeaderComponent = HeaderComponent;
    exports.HeaderModule = HeaderModule;

}));
