{"version":3,"file":"ironsource-fusion-ui-components-layout-v2.mjs","sources":["../../../projects/fusion-ui/components/layout/v2/components/layout-header/layout-header-entity.ts","../../../projects/fusion-ui/components/layout/v2/layout.entity.ts","../../../projects/fusion-ui/components/layout/v2/layout-config.ts","../../../projects/fusion-ui/components/layout/v2/components/layout-header/layout-header.config.ts","../../../projects/fusion-ui/components/layout/v2/components/layout-header/layout-header-menu/layout-header-menu.component.html","../../../projects/fusion-ui/components/layout/v2/components/layout-header/layout-header-menu/layout-header-menu.component.ts","../../../projects/fusion-ui/components/layout/v2/components/layout-header/layout-header.component.html","../../../projects/fusion-ui/components/layout/v2/components/layout-header/layout-header.component.ts","../../../projects/fusion-ui/components/layout/v2/layout.component.html","../../../projects/fusion-ui/components/layout/v2/layout.component.ts","../../../projects/fusion-ui/components/layout/v2/components/layout-header/layout-header-menu/layout-header-menu.module.ts","../../../projects/fusion-ui/components/layout/v2/components/layout-header/layout-header.module.ts","../../../projects/fusion-ui/components/layout/v2/layout.module.ts","../../../projects/fusion-ui/components/layout/v2/components/layout-header/layout-header-menu/layout-header-menu-entity.ts","../../../projects/fusion-ui/components/layout/v2/public-api.ts","../../../projects/fusion-ui/components/layout/v2/ironsource-fusion-ui-components-layout-v2.ts"],"sourcesContent":["/*\n * Created on 2020.11.16 By Andy Kononenko (andyk@ironsrc.com)\n */\n\nimport {DynamicComponentConfiguration} from '@ironsource/fusion-ui/components/dynamic-components/common/entities';\nimport {LayoutUser} from '@ironsource/fusion-ui/entities';\nimport {SidebarMenuItem} from '@ironsource/fusion-ui/components/sidebar/common/entities';\n\nexport interface LayoutHeaderContentTitle {\n    text?: string;\n    subtitle?: string;\n    content?: DynamicComponentConfiguration;\n    type?: 'static' | 'page' | 'fixed';\n}\n\nexport enum PageHeaderPosition {\n    OnTopPageContent,\n    OnLayoutHeader\n}\n\nexport interface LayoutHeaderComponentConfiguration {\n    title?: LayoutHeaderContentTitle;\n    content?: DynamicComponentConfiguration; // header dynamic content\n    menuItems?: SidebarMenuItem[];\n    user?: LayoutUser;\n}\n","/*\n * Created on 2020.11.19 By Andy Kononenko (andyk@ironsrc.com)\n */\nimport {LayoutUser} from '@ironsource/fusion-ui/entities';\nimport {LayoutHeaderComponentConfiguration} from './components/layout-header/layout-header-entity';\nimport {SidebarMenuItem} from '@ironsource/fusion-ui/components/sidebar/common/entities';\nimport {SvgOptions} from '@ironsource/fusion-ui/components/svg';\n\nexport interface LayoutComponentConfiguration {\n    sidebarMenuItems?: SidebarMenuItem[];\n    headerConfiguration?: LayoutHeaderComponentConfiguration;\n    user?: LayoutUser;\n    pathNameNormalizeRegex?: RegExp;\n    logoClickable?: boolean;\n}\n\nexport enum LayoutMediaType {\n    Desktop,\n    Tablet,\n    Mobile\n}\n\n// for using in this module without imports from v1\nexport interface LayoutModuleOptions {\n    svgOptions: SvgOptions;\n}\n\n// FU-89: force modes for using in documentation\nexport type LayoutForceScreenMode = 'desktop' | 'tablet' | 'mobile';\n","import {LayoutModuleOptions} from './layout.entity';\n\nexport const LAYOUT_OPTIONS_DEFAULT_VALUE: LayoutModuleOptions = {\n    svgOptions: {assetsPath: ''}\n};\n\nexport const SCROLL_OFFSET_FOR_PAGE_TITLE = 10;\n","/*\n * Created on 2020.11.25 By Andy Kononenko (andyk@ironsrc.com)\n */\n\nexport const USER_ICON_NAME = {iconName: 'user-circle', iconVersion: 'v2'};\nexport const SIDEBAR_TOGGLE_ICON = {\n    regular: {iconName: 'menu-hamburger', iconVersion: 'v2'},\n    closed: {iconName: 'menu-hamburger-collapsed', iconVersion: 'v2'}\n};\n","<div class=\"fu-layout-header-menu-holder\">\n    <!--user data part-->\n    <div *ngIf=\"isUserMenu\" class=\"fu-layout-header-menu-user\" [class.fu-layout-header-menu-delimiter]=\"!!menuItems\">\n        <div class=\"fu-layout-header-menu-user-name\">{{ userData?.name }}</div>\n        <div class=\"fu-layout-header-menu-user-email\">{{ userData?.email }}</div>\n    </div>\n    <!--user data part-->\n    <!--menu items-->\n    <div class=\"fu-layout-header-menu-items\" *ngIf=\"menuItems\">\n        <ng-container *ngFor=\"let item of menuItems\">\n            <ng-container\n                *ngTemplateOutlet=\"\n                    item.content ? menuItemCustom : item.routeConfigurations ? menuItemLink : menuItemRegular;\n                    context: {item: item}\n                \"\n            ></ng-container>\n        </ng-container>\n    </div>\n    <!--menu items-->\n</div>\n\n<ng-template #menuItemRegular let-item=\"item\">\n    <div class=\"fu-layout-header-menu-item {{ item?.class }}\" (click)=\"onMenuItemClicked(item)\">\n        <ng-container *ngTemplateOutlet=\"menuItem; context: {item: item}\"></ng-container>\n    </div>\n</ng-template>\n\n<ng-template #menuItemLink let-item=\"item\">\n    <a\n        class=\"fu-layout-header-menu-item {{ item?.class }}\"\n        href=\"{{ item.routeConfigurations?.href }}\"\n        target=\"{{ item.routeConfigurations?.target || '_self' }}\"\n    >\n        <ng-container *ngTemplateOutlet=\"menuItem; context: {item: item}\"></ng-container>\n    </a>\n</ng-template>\n\n<ng-template #menuItem let-item=\"item\">\n    <fusion-icon *ngIf=\"item?.icon\" class=\"fu-layout-header-menu-item-icon\" [name]=\"item?.icon\"></fusion-icon>\n    <span class=\"fu-layout-header-menu-item-text\">{{ item.name }}</span>\n</ng-template>\n\n<ng-template #menuItemCustom let-item=\"item\">\n    <fusion-dynamic-components\n        class=\"fu-layout-header-menu-item-content {{ item?.class }}\"\n        (click)=\"onMenuItemClicked(item)\"\n        [configuration]=\"item.content\"\n    ></fusion-dynamic-components>\n</ng-template>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {LayoutHeaderMenuConfiguration} from './layout-header-menu-entity';\nimport {SidebarMenuItem} from '@ironsource/fusion-ui/components/sidebar/common/entities';\nimport {LayoutUser} from '@ironsource/fusion-ui/entities';\n\n@Component({\n    selector: 'fusion-layout-header-menu',\n    templateUrl: './layout-header-menu.component.html',\n    styleUrls: ['./layout-header-menu.component.scss', './layout-header-menu-mobile.component.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutHeaderMenuComponent {\n    @Input() set configuration(value: LayoutHeaderMenuConfiguration) {\n        this.userData = value.user;\n        this.menuItems = value.menuItems;\n        this.isUserMenu = !!value?.user?.name || !!value?.user?.email;\n    }\n    @Output() layoutHeaderMenuItemClicked = new EventEmitter<SidebarMenuItem>();\n\n    isUserMenu = true;\n    userData: LayoutUser;\n    menuItems: SidebarMenuItem[];\n\n    onMenuItemClicked(menuItem: SidebarMenuItem) {\n        this.layoutHeaderMenuItemClicked.emit(menuItem);\n    }\n}\n","<div class=\"fu-header\">\n    <!--sidebar toggle icon-->\n    <div class=\"fu-header-sidebar-state-icon\" (click)=\"sidebarToggleIconClicked.emit()\">\n        <fusion-icon class=\"fu-sidebar-state-toggle-icon\" *ngIf=\"sidebarIconName\" [name]=\"sidebarIconName\"></fusion-icon>\n    </div>\n    <!--sidebar toggle icon-->\n    <!--header title-->\n    <div class=\"fu-header-title\">\n        <div *ngIf=\"titleText\" class=\"fu-header-title-text\">{{ titleText }}</div>\n        <div *ngIf=\"subtitleText\" class=\"fu-header-subtitle-text\">{{ subtitleText }}</div>\n        <div *ngIf=\"titleContent && showPageHeaderContent\" class=\"fu-header-title-content\">\n            <fusion-dynamic-components [configuration]=\"titleContent\"></fusion-dynamic-components>\n        </div>\n    </div>\n\n    <!--header title-->\n    <div *ngIf=\"customHeader\" class=\"fu-header-custom-element-holder\">\n        <fusion-dynamic-components [configuration]=\"customHeader\"></fusion-dynamic-components>\n    </div>\n    <!--header custom part-->\n    <!--header right panel-->\n    <div *ngIf=\"hasMenu\" class=\"fu-header-right-panel\">\n        <div *ngIf=\"userName\" class=\"fu-header-user-holder\" (click)=\"changeLayoutHeaderMenuState($event)\">\n            <fusion-icon class=\"fu-header-icon-user\" [name]=\"userIcon\"></fusion-icon>\n            <div *ngIf=\"userName\" class=\"fu-header-username\">{{ userName }}</div>\n        </div>\n        <div class=\"fu-header-icon-more-holder\" (click)=\"changeLayoutHeaderMenuState($event)\">\n            <fusion-icon class=\"fu-header-icon-more\" [name]=\"{iconName: 'more', iconVersion: 'v2'}\"></fusion-icon>\n        </div>\n    </div>\n    <!--header right panel-->\n</div>\n\n<!--Header menu -->\n<fusion-layout-header-menu\n    *ngIf=\"hasMenu\"\n    [class.fu-layout-header-menu]=\"menuOpen\"\n    [configuration]=\"headerMenuConfiguration\"\n    (fusionClickOutside)=\"onOutsideLayoutHeaderMenuClick()\"\n    (layoutHeaderMenuItemClicked)=\"onLayoutHeaderMenuItemClicked($event)\"\n></fusion-layout-header-menu>\n<!--Header menu -->\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {LayoutHeaderComponentConfiguration} from './layout-header-entity';\nimport {DynamicComponentConfiguration} from '@ironsource/fusion-ui/components/dynamic-components/common/entities';\nimport {LayoutHeaderMenuConfiguration} from './layout-header-menu/layout-header-menu-entity';\nimport {SIDEBAR_TOGGLE_ICON, USER_ICON_NAME} from './layout-header.config';\nimport {SidebarMenuItem} from '@ironsource/fusion-ui/components/sidebar/common/entities';\nimport {IconData} from '@ironsource/fusion-ui/components/icon/v1';\n\n@Component({\n    selector: 'fusion-layout-header',\n    templateUrl: './layout-header.component.html',\n    styleUrls: ['./layout-header.component.scss', './layout-header-mobile.component.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutHeaderComponent {\n    @Input() set configuration(value: LayoutHeaderComponentConfiguration) {\n        this.setPageHeader(value);\n\n        this.customHeader = this.getCustomConfiguration(value);\n\n        this.serHeaderRightPanel(value);\n    }\n    @Input() set sidebarOpen(value: boolean) {\n        this.sidebarOpenOpen = value;\n        this.sidebarIconName = this.setSidebarIconName(value);\n    }\n    @Input() showPageHeaderContent: boolean;\n\n    @Output() sidebarToggleIconClicked = new EventEmitter();\n    @Output() layoutHeaderMenuItemClicked = new EventEmitter<SidebarMenuItem>();\n\n    sidebarOpenOpen: boolean;\n    sidebarIconName: IconData = SIDEBAR_TOGGLE_ICON.regular;\n\n    titleText: string;\n    subtitleText: string;\n    titleContent: DynamicComponentConfiguration;\n    customHeader: DynamicComponentConfiguration;\n\n    hasMenu = false;\n    userName: string;\n    userIcon: IconData;\n\n    headerMenuConfiguration: LayoutHeaderMenuConfiguration;\n    menuOpen = false;\n\n    /**\n     * Toggle open / close header menu\n     * - $event: HTMLEvent (if it occur by click or called from component method )\n     */\n    changeLayoutHeaderMenuState($event?) {\n        if ($event) {\n            // for onOutsideLayoutHeaderMenuClick suppress\n            $event.stopPropagation();\n        }\n        this.menuOpen = !this.menuOpen;\n    }\n\n    /**\n     * On outside header menu click, if it was open - close it\n     */\n    onOutsideLayoutHeaderMenuClick() {\n        if (this.menuOpen) {\n            this.changeLayoutHeaderMenuState();\n        }\n    }\n\n    /**\n     * Emitted from header menu. Occur by menu item in header menu clicked\n     * -param menuItem\n     */\n    onLayoutHeaderMenuItemClicked(menuItem: SidebarMenuItem) {\n        this.layoutHeaderMenuItemClicked.emit(menuItem);\n        // close menu\n        this.onOutsideLayoutHeaderMenuClick();\n    }\n\n    private setPageHeader(value: LayoutHeaderComponentConfiguration) {\n        this.titleText = value?.title?.text;\n        this.subtitleText = value?.title?.subtitle;\n        // relevant only for type - page\n        this.titleContent = value?.title?.type === 'page' ? value?.title?.content : null;\n    }\n\n    private serHeaderRightPanel(value: LayoutHeaderComponentConfiguration) {\n        this.userName = value?.user?.name;\n        this.userIcon = value?.user?.icon ?? USER_ICON_NAME;\n\n        this.hasMenu = !!value?.user?.name || !!value?.user?.name || !!value?.menuItems;\n        this.headerMenuConfiguration = {\n            user: value?.user,\n            menuItems: value?.menuItems\n        };\n    }\n\n    /**\n     * Get sidebar toggle icon name by sidebar state from configuration\n     * - isOpen: Sidebar state Open\n     * *private\n     */\n    private setSidebarIconName(isOpen: boolean): IconData {\n        return isOpen ? SIDEBAR_TOGGLE_ICON.regular : SIDEBAR_TOGGLE_ICON.closed;\n    }\n\n    /**\n     * Check and return custom header component / element / html snippet\n     * - config\n     * *private\n     */\n    private getCustomConfiguration(config: LayoutHeaderComponentConfiguration): DynamicComponentConfiguration {\n        return config?.content?.component || config?.content?.element || config?.content?.htmlSnippet ? config.content : undefined;\n    }\n}\n","<div\n    class=\"fu-layout fu-layout-page-header-behaviour-type_{{ pageHeaderBehaviourType$ | async }}\"\n    [class.fu-layout-page-header-header]=\"(pageHeaderPosition$ | async) === pageHeaderPositionEnum.OnLayoutHeader\"\n>\n    <!--sidebar with logo and menu-->\n    <div class=\"fu-sidebar-holder\">\n        <fusion-sidebar\n            [configuration]=\"sidebarConfiguration\"\n            [saveSidebarState]=\"!forceScreenMode\"\n            [(sidebarOpen)]=\"sidebarOpen\"\n            (logoClicked)=\"onLogoClicked()\"\n            (sidebarClosedHovered)=\"onSidebarClosedHovered($event)\"\n            (sidebarMenuItemClicked)=\"onSidebarMenuItemClicked($event)\"\n            (navigationEnded)=\"onNavigationEnded()\"\n            (logoutIconClicked)=\"onLogoutIconClicked($event)\"\n        ></fusion-sidebar>\n    </div>\n    <!--sidebar with logo and menu-->\n    <!--header-->\n    <div\n        class=\"fu-header-holder\"\n        [class.fu-layout-sidebar-closed]=\"!sidebarOpen\"\n        [class.fu-sidebar-closed-hovered]=\"sidebarClosedHovered$ | async\"\n    >\n        <fusion-layout-header\n            [configuration]=\"headerConfiguration\"\n            [sidebarOpen]=\"sidebarOpen\"\n            [showPageHeaderContent]=\"(pageHeaderPosition$ | async) === pageHeaderPositionEnum.OnLayoutHeader\"\n            (sidebarToggleIconClicked)=\"onSidebarStateChanged()\"\n            (layoutHeaderMenuItemClicked)=\"onHeaderMenuItemClicked($event)\"\n        ></fusion-layout-header>\n    </div>\n    <!--header-->\n    <!--content-->\n    <div class=\"fu-content-holder\" id=\"fu-layout-main-view\" #mainContent>\n        <ng-container *ngIf=\"pageHeaderTitle$ | async as pageHeaderTitle\">\n            <div class=\"fu-layout-page-header\">\n                <div class=\"fu-layout-page-header-title\">{{ pageHeaderTitle?.text }}</div>\n                <div *ngIf=\"showPageHeaderContent(!!pageHeaderTitle?.content)\" class=\"fu-layout-page-header-content\">\n                    <fusion-dynamic-components [configuration]=\"pageHeaderTitle?.content\"></fusion-dynamic-components>\n                </div>\n            </div>\n        </ng-container>\n        <ng-content></ng-content>\n    </div>\n    <!--content-->\n    <!--mobile overlay-->\n    <div\n        class=\"fu-layout-mobile-overlay\"\n        [class.fu-sidebar-closed-hovered]=\"sidebarClosedHovered$ | async\"\n        (click)=\"onMobileOverlayClicked()\"\n    ></div>\n    <!--media size detection-->\n    <div class=\"fu-screen-size-detection\" #mediaSize></div>\n</div>\n","import {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    ElementRef,\n    EventEmitter,\n    HostBinding,\n    Input,\n    OnDestroy,\n    OnInit,\n    Output,\n    ViewChild\n} from '@angular/core';\nimport {\n    LayoutHeaderComponentConfiguration,\n    LayoutHeaderContentTitle,\n    PageHeaderPosition\n} from './components/layout-header/layout-header-entity';\nimport {SidebarConfiguration, SidebarMenuItem} from '@ironsource/fusion-ui/components/sidebar/common/entities';\nimport {LayoutUser} from '@ironsource/fusion-ui/entities';\nimport {LayoutComponentConfiguration, LayoutMediaType, LayoutForceScreenMode} from './layout.entity';\nimport {BehaviorSubject, fromEvent, Subject} from 'rxjs';\nimport {debounceTime, distinctUntilChanged, takeUntil} from 'rxjs/operators';\nimport {DynamicComponentConfiguration} from '@ironsource/fusion-ui/components/dynamic-components/common/entities';\nimport {SCROLL_OFFSET_FOR_PAGE_TITLE} from './layout-config';\nimport {isNullOrUndefined} from '@ironsource/fusion-ui/utils';\n\n@Component({\n    selector: 'fusion-layout',\n    templateUrl: './layout.component.html',\n    styleUrls: [\n        './layout.component.scss',\n        './layout-tablet.component.scss',\n        './layout-mobile.component.scss',\n        './layout-themes.component.scss'\n    ],\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutComponent implements OnInit, OnDestroy, AfterViewInit {\n    @Input() set configuration(value: LayoutComponentConfiguration) {\n        this.sidebarConfiguration = {\n            ...this.sidebarConfiguration,\n            menuItems: value?.sidebarMenuItems ?? [],\n            user: value?.user,\n            pathNameNormalizeRegex: value?.pathNameNormalizeRegex,\n            logoClickable: value?.logoClickable\n        };\n        this.setHeaderBehaviour(value?.headerConfiguration?.title);\n\n        this.headerConfiguration = {...value?.headerConfiguration, ...{user: value?.user}};\n    }\n    @Input() set sidebarDynamicContent(value: DynamicComponentConfiguration) {\n        this.sidebarConfiguration = {...this.sidebarConfiguration, sidebarDynamicContent: value};\n    }\n    @Input() forceScreenMode: LayoutForceScreenMode;\n\n    @Output() menuSidebarItemClicked = new EventEmitter<SidebarMenuItem>();\n    @Output() menuHeaderItemClicked = new EventEmitter<SidebarMenuItem>();\n    @Output() routeNavigationEnded = new EventEmitter();\n    @Output() userLogout = new EventEmitter<LayoutUser>();\n    @Output() logoClicked = new EventEmitter();\n\n    @ViewChild('mainContent', {static: true}) mainContent: ElementRef;\n\n    // for media-size detection used CSS class 'fu-screen-size-detection' (see in SCSS file)\n    @ViewChild('mediaSize', {static: true}) mediaSizeDetector: ElementRef;\n\n    @HostBinding('class') get forceModeClass(): string {\n        return this.forceScreenMode ? `fu-force-${this.forceScreenMode}` : null;\n    }\n\n    sidebarConfiguration: SidebarConfiguration = {};\n    sidebarOpen: boolean;\n\n    headerConfiguration: LayoutHeaderComponentConfiguration;\n\n    pageHeaderTitle$ = new BehaviorSubject<LayoutHeaderContentTitle>(null);\n    pageHeaderBehaviourType$ = new BehaviorSubject<string>('none');\n    pageHeaderPositionEnum = PageHeaderPosition;\n    pageHeaderPosition$ = new BehaviorSubject<PageHeaderPosition>(PageHeaderPosition.OnTopPageContent);\n\n    sidebarClosedHovered$ = new BehaviorSubject<boolean>(false);\n\n    private onDestroy$ = new Subject();\n    private currentMediaSizeType: LayoutMediaType;\n\n    constructor(private cdRef: ChangeDetectorRef) {}\n\n    ngOnInit() {\n        this.initResizeListener();\n        this.initScrollListener();\n    }\n\n    ngOnDestroy() {\n        this.onDestroy$.next();\n        this.onDestroy$.complete();\n    }\n\n    /**\n     * Here will checked initial media-type (Desktop, Tablet, Mobile).\n     * in case media-type not desktop will set sidebar closed (collapsed).\n     */\n    ngAfterViewInit() {\n        // get current media-type size\n        this.currentMediaSizeType = this.getMediaType();\n        // for init in tablet and mobile - set sidebar close\n        if (this.currentMediaSizeType !== LayoutMediaType.Desktop) {\n            this.forceSidebarStateChange(false);\n        }\n    }\n\n    /**\n     * Emitted from header. Occur by click on 'hamburger' icon\n     */\n    onSidebarStateChanged() {\n        this.sidebarOpen = !this.sidebarOpen;\n\n        if (this.currentMediaSizeType !== LayoutMediaType.Desktop) {\n            // for tablet and mobile set closed-hovered\n            this.sidebarClosedHovered$.next(this.sidebarOpen);\n        }\n    }\n\n    /**\n     * Emitted from header. Occur by menu item in header menu clicked\n     * - menuItem\n     */\n    onHeaderMenuItemClicked(menuItem: SidebarMenuItem) {\n        this.menuHeaderItemClicked.emit(menuItem);\n    }\n\n    /**\n     * Emitted from side-bar. Occur by menu item in side-bar clicked\n     * - menuItem\n     */\n    onSidebarMenuItemClicked(menuItem: SidebarMenuItem) {\n        this.menuSidebarItemClicked.emit(menuItem);\n    }\n\n    /**\n     * Emitted from side-bar. Occur when sidebar closed (collapsed) and mouse over it.\n     * - isHovered: mouse on sidebar - true\n     */\n    onSidebarClosedHovered(isHovered: boolean) {\n        this.sidebarClosedHovered$.next(isHovered);\n    }\n\n    /**\n     * Occur when user clicked on main content overlay. (relevant for mobile media-type only)\n     */\n    onMobileOverlayClicked() {\n        this.sidebarOpen = !this.sidebarOpen;\n        this.sidebarClosedHovered$.next(this.sidebarOpen);\n    }\n\n    /**\n     * Emitted from side-bar. Occur when user click logout icon. (rendered in sidebar for mobile media-type only)\n     * - user\n     */\n    onLogoutIconClicked(user: LayoutUser) {\n        this.userLogout.emit(user);\n    }\n\n    /**\n     * Emitted from side-bar. Occur when user clicked on logo\n     */\n    onLogoClicked() {\n        this.logoClicked.emit();\n    }\n\n    /**\n     * Emitted from side-bar. Occur when route navigation ended (side-bar has observer for it)\n     */\n    onNavigationEnded() {\n        this.mainContentScrollTop();\n\n        // close sidebar (menu) for tablet and mobile\n        if (this.currentMediaSizeType !== LayoutMediaType.Desktop && !this.forceScreenMode) {\n            this.sidebarOpen = !this.sidebarOpen;\n            this.sidebarClosedHovered$.next(this.sidebarOpen);\n        }\n\n        // emit event to consumer\n        this.routeNavigationEnded.emit();\n    }\n\n    /**\n     * Make scroll top for the main content\n     * - offset (optional, default - 0)\n     */\n    mainContentScrollTop(offset = 0) {\n        if (this.mainContent) {\n            this.mainContent.nativeElement.scrollTop = offset;\n        }\n    }\n\n    showPageHeaderContent(hasContent: boolean): boolean {\n        return (\n            hasContent &&\n            (this.pageHeaderPosition$.getValue() !== PageHeaderPosition.OnLayoutHeader ||\n                this.pageHeaderBehaviourType$.getValue() === 'fixed')\n        );\n    }\n\n    /**\n     * Subscribe on window resize event for media-type size check.\n     */\n    private initResizeListener() {\n        fromEvent(window, 'resize')\n            .pipe(takeUntil(this.onDestroy$), debounceTime(100), distinctUntilChanged())\n            .subscribe(() => {\n                const prevMediaSizeType = this.currentMediaSizeType;\n                this.currentMediaSizeType = this.getMediaType();\n\n                // on media size type changed by resize\n                if (prevMediaSizeType !== this.currentMediaSizeType) {\n                    // in case sidebar was not collapsed and new mediasize tablet or mobile - close sidebar\n                    if (this.sidebarOpen && this.currentMediaSizeType !== LayoutMediaType.Desktop) {\n                        this.sidebarClosedHovered$.next(true);\n                    } else if (this.sidebarOpen && this.currentMediaSizeType === LayoutMediaType.Desktop) {\n                        this.sidebarClosedHovered$.next(false);\n                    }\n                }\n            });\n    }\n\n    /**\n     * Scroll on main content listener used for page header behaviour\n     */\n    private initScrollListener() {\n        fromEvent(this.mainContent.nativeElement, 'scroll')\n            .pipe(takeUntil(this.onDestroy$))\n            .subscribe(($event: Event) => {\n                const scrollPosition = ($event.target as Element).scrollTop;\n                this.pageHeaderPosition$.next(\n                    scrollPosition >= SCROLL_OFFSET_FOR_PAGE_TITLE ? PageHeaderPosition.OnLayoutHeader : PageHeaderPosition.OnTopPageContent\n                );\n            });\n    }\n\n    private setHeaderBehaviour(value: LayoutHeaderContentTitle) {\n        if (!!value && value.text && value.type && value.type !== 'static') {\n            this.pageHeaderTitle$.next({\n                text: value?.text,\n                content: value?.content,\n                type: value?.type\n            });\n            this.pageHeaderBehaviourType$.next(value?.type);\n        } else {\n            this.pageHeaderTitle$.next(null);\n            this.pageHeaderBehaviourType$.next(value?.text ? 'static' : 'none');\n        }\n    }\n\n    /**\n     * For detection media size (supported: desktop, tablet, mobile)\n     * used hidden DOM element for it\n     */\n    private getMediaType(): LayoutMediaType {\n        // FU-89: force screen mode used for \"emulation\" screen size\n        if (!isNullOrUndefined(this.forceScreenMode)) {\n            return this.getForcedMediaType();\n        }\n        const content = window.getComputedStyle(this.mediaSizeDetector.nativeElement).content;\n        // check if found media size detector content\n        if (content) {\n            // get enum value or return default (Desktop)\n            return LayoutMediaType[content.replace(/\\\"/g, '')] ?? LayoutMediaType.Desktop;\n        }\n        return LayoutMediaType.Desktop;\n    }\n\n    private getForcedMediaType(): LayoutMediaType {\n        switch (this.forceScreenMode) {\n            case 'desktop':\n                return LayoutMediaType.Desktop;\n            case 'tablet':\n                return LayoutMediaType.Tablet;\n            case 'mobile':\n                return LayoutMediaType.Mobile;\n        }\n        return null;\n    }\n\n    /**\n     * For media-size tablet and mobile\n     * - isClosed\n     */\n    private forceSidebarStateChange(isClosed: boolean) {\n        this.sidebarOpen = isClosed;\n        this.cdRef.detectChanges();\n    }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {LayoutHeaderMenuComponent} from './layout-header-menu.component';\nimport {IconModule} from '@ironsource/fusion-ui/components/icon/v1';\nimport {DynamicComponentsModule} from '@ironsource/fusion-ui/components/dynamic-components/v1';\n\n@NgModule({\n    declarations: [LayoutHeaderMenuComponent],\n    imports: [CommonModule, IconModule, DynamicComponentsModule],\n    exports: [LayoutHeaderMenuComponent]\n})\nexport class LayoutHeaderMenuModule {}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {LayoutHeaderComponent} from './layout-header.component';\nimport {IconModule} from '@ironsource/fusion-ui/components/icon/v1';\nimport {DynamicComponentsModule} from '@ironsource/fusion-ui/components/dynamic-components/v1';\nimport {ClickOutsideModule} from '@ironsource/fusion-ui/directives/click-outside';\nimport {LayoutHeaderMenuModule} from './layout-header-menu/layout-header-menu.module';\n\n@NgModule({\n    declarations: [LayoutHeaderComponent],\n    imports: [CommonModule, IconModule, DynamicComponentsModule, ClickOutsideModule, LayoutHeaderMenuModule],\n    exports: [LayoutHeaderComponent]\n})\nexport class LayoutHeaderModule {}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {LayoutComponent} from './layout.component';\nimport {LayoutModuleOptions} from './layout.entity';\nimport {SVG_OPTIONS_TOKEN} from '@ironsource/fusion-ui/components/svg';\nimport {LAYOUT_OPTIONS_DEFAULT_VALUE} from './layout-config';\nimport {LayoutHeaderModule} from './components/layout-header/layout-header.module';\nimport {SidebarModule} from '@ironsource/fusion-ui/components/sidebar/v2';\nimport {IconModule} from '@ironsource/fusion-ui/components/icon/v1';\nimport {DynamicComponentsModule} from '@ironsource/fusion-ui/components/dynamic-components/v1';\n\n@NgModule({\n    declarations: [LayoutComponent],\n    imports: [CommonModule, LayoutHeaderModule, SidebarModule, IconModule, DynamicComponentsModule],\n    exports: [LayoutComponent]\n})\nexport class LayoutModule {\n    static forRoot(options?: LayoutModuleOptions): ModuleWithProviders<LayoutModule> {\n        return {\n            ngModule: LayoutModule,\n            providers: [\n                {\n                    provide: SVG_OPTIONS_TOKEN,\n                    useValue: options ? options.svgOptions : LAYOUT_OPTIONS_DEFAULT_VALUE\n                }\n            ]\n        };\n    }\n}\n","/*\n * Created on 2020.11.25 By Andy Kononenko (andyk@ironsrc.com)\n */\n\nimport {LayoutUser} from '@ironsource/fusion-ui/entities';\nimport {SidebarMenuItem} from '@ironsource/fusion-ui/components/sidebar/common/entities';\n\nexport interface LayoutHeaderMenuConfiguration {\n    user?: LayoutUser;\n    menuItems?: SidebarMenuItem[];\n}\n","// Layout-v2\nexport * from './layout.component';\nexport * from './layout.module';\nexport * from './layout.entity';\n\n// LayoutHeader\nexport * from './components/layout-header/layout-header.component';\nexport * from './components/layout-header/layout-header.module';\nexport * from './components/layout-header/layout-header-entity';\n\n// LayoutHeaderMenu\nexport * from './components/layout-header/layout-header-menu/layout-header-menu-entity';\nexport * from './components/layout-header/layout-header-menu/layout-header-menu.component';\nexport * from './components/layout-header/layout-header-menu/layout-header-menu.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["_c0"],"mappings":"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"}