{"version":3,"file":"ironsource-fusion-ui-components-sidebar-v2.mjs","sources":["../../../projects/fusion-ui/components/sidebar/v2/components/sidebar-menu/sidebar-menu.component.html","../../../projects/fusion-ui/components/sidebar/v2/components/sidebar-menu/sidebar-menu.component.ts","../../../projects/fusion-ui/components/sidebar/common/base/sidebar.base.component.html","../../../projects/fusion-ui/components/sidebar/v2/sidebar.component.ts","../../../projects/fusion-ui/components/sidebar/v2/components/sidebar-menu/sidebar-menu.module.ts","../../../projects/fusion-ui/components/sidebar/v2/sidebar.module.ts","../../../projects/fusion-ui/components/sidebar/v2/public-api.ts","../../../projects/fusion-ui/components/sidebar/v2/ironsource-fusion-ui-components-sidebar-v2.ts"],"sourcesContent":["<div class=\"fu-sidebar-menu\" (mouseleave)=\"onMouseLeave()\" (mouseenter)=\"mouseEnterMenu()\">\n    <ng-container *ngFor=\"let item of items\">\n        <ng-container\n            *ngTemplateOutlet=\"\n                item.content ? menuItemCustom : menuItem;\n                context: {item: item}\n            \"\n        ></ng-container>\n    </ng-container>\n</div>\n\n<!-- region custom menu item-->\n<ng-template #menuItemCustom let-item=\"item\">\n    <div class=\"fu-sidebar-menu-item-holder\">\n        <fusion-dynamic-components\n            class=\"fu-sidebar-menu-item-content {{ item?.class }}\"\n            (click)=\"onMenuItemClicked($event, item)\"\n            [configuration]=\"item.content\"\n        ></fusion-dynamic-components>\n    </div>\n</ng-template>\n<!-- endregion  custom menu item-->\n\n<!--region menu item link-->\n<ng-template #menuItemLink let-item=\"item\" let-subChild=\"subChild\">\n    <a class=\"fu-sidebar-menu-item {{ item?.class }}\"\n       [class.fu-external-link]=\"item.routeConfigurations?.target\"\n       [class.fu-sidebar-menu-sub-child]=\"subChild\"\n       [class.fu-main-sub-item-active]=\"item === (activeMenuItem$ | async)\"\n       href=\"{{ item.route ? item.route : item.routeConfigurations?.href }}\"\n       target=\"{{ item.routeConfigurations?.target || '_self' }}\"\n       (click)=\"onMenuItemClicked($event, item)\"\n    >\n        <fusion-icon class=\"fu-sidebar-menu-mobile-return-icon\" [name]=\"{iconName:'back', iconVersion: 'v2'}\"></fusion-icon>\n        <fusion-icon *ngIf=\"item?.icon\" class=\"fu-sidebar-menu-item-icon\" [name]=\"item?.icon\"></fusion-icon>\n        <span class=\"fu-sidebar-menu-item-text\">{{ item.name }}</span>\n        <fusion-icon *ngIf=\"item?.children\" class=\"fu-sidebar-menu-item-arrow\" [name]=\"{iconName: 'arrow-right', iconVersion: 'v2'}\"></fusion-icon>\n    </a>\n</ng-template>\n<!--endregion menu item link-->\n\n<!--region submenu item-->\n<ng-template #menuSubItem let-itemChild=\"itemChild\" let-subChild=\"subChild\" let-additionalAction=\"additionalAction\">\n    <div class=\"fu-sidebar-menu-sub-item-holder\">\n        <ng-container *ngTemplateOutlet=\"menuItemLink; context: {item: itemChild, subChild: subChild}\"></ng-container>\n        <a *ngIf=\"additionalAction\"\n           class=\"fu-sidebar-menu-sub-item-additional\"\n           href=\"{{ additionalAction.route ? additionalAction.route : additionalAction.routeConfigurations?.href }}\"\n           target=\"{{ additionalAction.routeConfigurations?.target || '_self' }}\"\n           (click)=\"onMenuItemClicked($event, additionalAction)\">\n            {{ additionalAction.name }}\n        </a>\n    </div>\n</ng-template>\n<!--endregion submenu link item-->\n\n<!--region submenu item title-->\n<ng-template #menuSubItemTitle let-itemChild=\"itemChild\">\n    <div class=\"fu-sidebar-menu-sub-item-title\">{{ itemChild.name }}</div>\n    <ng-container *ngFor=\"let itemSub of itemChild.children\">\n        <ng-container *ngTemplateOutlet=\"menuSubItem; context: {itemChild: itemSub, subChild: true}\"></ng-container>\n    </ng-container>\n</ng-template>\n<!--endregion submenu item title-->\n\n<!--region menu items templating-->\n<ng-template #menuItem let-item=\"item\">\n    <div\n        class=\"fu-sidebar-menu-item-holder\"\n        [class.fu-sidebar-menu-item-no-children]=\"!item?.children\"\n        [class.fu-sidebar-menu-item-open]=\"item === (openedMenuItem$ | async)\"\n        [class.fu-sidebar-menu-item-selected]=\"item === (selectedMenuItem$ | async)\"\n    >\n        <ng-container *ngTemplateOutlet=\"menuItemLink; context: {item: item}\"></ng-container>\n        <!--region submenu items-->\n        <div class=\"fu-sidebar-menu-sub-items-holder\">\n            <ng-container *ngIf=\"item?.children && item === (showedItem$ | async)\">\n                <ng-container *ngFor=\"let itemChild of item.children\">\n                    <ng-container\n                        *ngTemplateOutlet=\"\n                        itemChild.children ? menuSubItemTitle : menuSubItem;\n                        context: {itemChild: itemChild, additionalAction: itemChild.additionalAction}\n                    \"\n                    ></ng-container>\n                </ng-container>\n            </ng-container>\n        </div>\n        <!--endregion submenu items-->\n    </div>\n</ng-template>\n<!--endregion menu items templating-->\n","import {ChangeDetectionStrategy, Component, Input, OnInit, Output, EventEmitter, OnDestroy, Optional} from '@angular/core';\nimport {SidebarMenuItem} from '@ironsource/fusion-ui/components/sidebar/common/entities';\nimport {SidebarMenuService} from '@ironsource/fusion-ui/components/sidebar/common/services';\nimport {delay, switchMap, takeUntil, tap} from 'rxjs/operators';\nimport {NavigationEnd, NavigationError, NavigationStart, Router} from '@angular/router';\nimport {BehaviorSubject, fromEvent, iif, merge, of, Subject} from 'rxjs';\nimport {LogService} from '@ironsource/fusion-ui/services/log';\nimport {WindowService} from '@ironsource/fusion-ui/services/window';\nimport {isNullOrUndefined} from '@ironsource/fusion-ui/utils';\n\n@Component({\n    selector: 'fusion-sidebar-menu',\n    templateUrl: './sidebar-menu.component.html',\n    styleUrls: ['./sidebar-menu.component.scss', './sidebar-menu-mobile.component.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SidebarMenuComponent implements OnInit, OnDestroy {\n    @Input() set menuItems(value: SidebarMenuItem[]) {\n        this.items = value;\n        this.initNavigationEvents();\n    }\n    @Input() set pathNameNormalizeRegex(value: RegExp) {\n        this.pathRegex = value;\n    }\n    @Output() menuItemClicked = new EventEmitter<SidebarMenuItem>();\n    @Output() navigationEnded = new EventEmitter();\n\n    items: SidebarMenuItem[];\n    pathRegex: RegExp;\n\n    openedMenuItem$ = this.sidebarMenuService.openedMenuItem$;\n    selectedMenuItem$ = this.sidebarMenuService.selectedMenuItem$;\n    activeMenuItem$ = this.sidebarMenuService.activeMenuItem$;\n\n    isReturnToMenuMobile$ = new BehaviorSubject(false);\n\n    showedItem$ = this.openedMenuItem$.asObservable().pipe(switchMap(data => iif(() => !!data, of(data), of(null).pipe(delay(1000)))));\n\n    private leaveMenuTimeout: any;\n\n    private onDestroy$ = new Subject();\n\n    constructor(\n        @Optional() private router: Router,\n        private sidebarMenuService: SidebarMenuService,\n        private logService: LogService,\n        private windowService: WindowService\n    ) {}\n\n    ngOnInit(): void {\n        this.initNavigationEvents();\n    }\n\n    ngOnDestroy() {\n        this.onDestroy$.next();\n        this.onDestroy$.complete();\n    }\n\n    initNavigationEvents() {\n        if (!isNullOrUndefined(this.router)) {\n            this.sidebarMenuService.setMenuByActiveRoute(this.items, this.normalizeActiveRoute(this.router.url));\n            this.router.events.pipe(takeUntil(this.onDestroy$)).subscribe(event => {\n                if (event instanceof NavigationStart) {\n                    this.sidebarMenuService.setMenuByActiveRoute(this.items, this.normalizeActiveRoute(event.url));\n                }\n                if (event instanceof NavigationEnd) {\n                    if (event.url !== event.urlAfterRedirects) {\n                        this.sidebarMenuService.setMenuByActiveRoute(this.items, this.normalizeActiveRoute(event.urlAfterRedirects));\n                    }\n                    this.navigationEnded.emit();\n                }\n                if (event instanceof NavigationError) {\n                    this.logService.error(event.error);\n                }\n            });\n        } else {\n            const nativeWindow = this.windowService.nativeWindow;\n            this.sidebarMenuService.setMenuByActiveRoute(this.items, this.normalizeActiveRoute(nativeWindow.location.pathname));\n            this.initNativeStateChangeEvent(nativeWindow);\n            merge(fromEvent(window, 'stateChanged'), fromEvent(window, 'popstate'))\n                .pipe(\n                    takeUntil(this.onDestroy$),\n                    tap(data => {\n                        this.navigationEnded.emit();\n                        this.sidebarMenuService.setMenuByActiveRoute(this.items, this.normalizeActiveRoute(nativeWindow.location.pathname));\n                    })\n                )\n                .subscribe();\n        }\n    }\n\n    /**\n     * Used for fusion native (without this.router)\n     */\n    initNativeStateChangeEvent(window: Window) {\n        const pushState = window.history.pushState;\n        window.history.pushState = (...args) => {\n            pushState.apply(history, args);\n            const event = new CustomEvent('stateChanged', {detail: {args}});\n            window.dispatchEvent(event);\n        };\n    }\n\n    mouseEnterMenu() {\n        clearTimeout(this.leaveMenuTimeout);\n        this.leaveMenuTimeout = null;\n    }\n\n    onMouseLeave() {\n        if (!this.isReturnToMenuMobile$.getValue()) {\n            // do not reopen on mobile\n            this.leaveMenuTimeout = setTimeout(() => this.reopenClosedMenuItem(), 1000);\n        }\n    }\n\n    onMenuItemClicked($event: Event, menuItem: SidebarMenuItem) {\n        if (!!$event) {\n            $event.stopPropagation();\n            const triggerHrefEvent = (menuItem.routeConfigurations?.triggerHrefEvent ?? false) || !!menuItem.routeConfigurations?.target;\n            if (!triggerHrefEvent) {\n                $event.preventDefault();\n            }\n        }\n        // check for check on return icon in mobile media size\n        this.isReturnToMenuMobile$.next(!!($event.target as Element).closest('.fu-sidebar-menu-mobile-return-icon'));\n\n        if (!menuItem.children) {\n            this.menuItemClicked.emit(menuItem);\n        } else {\n            this.setMenuItemOpenedState(menuItem);\n        }\n    }\n\n    private normalizeActiveRoute(pathName: string): string {\n        return this.sidebarMenuService.normalizeActiveRoute(pathName, this.pathRegex);\n    }\n\n    private setMenuItemOpenedState(menuItem: SidebarMenuItem) {\n        this.openedMenuItem$.next(this.openedMenuItem$.getValue() === menuItem ? null : menuItem);\n    }\n\n    private reopenClosedMenuItem() {\n        this.openedMenuItem$.next(this.selectedMenuItem$.getValue() ? this.selectedMenuItem$.getValue() : null);\n    }\n}\n","<div\n    class=\"fu-sidebar\"\n    [class.fu-sidebar-closed-hovered]=\"isSidebarClosedHovered$ | async\"\n    [class.fu-sidebar-hide-logo]=\"!!(openedMenuItem$ | async)?.children\"\n>\n    <div *ngIf=\"dynamicContent\" class=\"fu-sidebar-dynamic-content-holder\">\n        <fusion-dynamic-components [configuration]=\"dynamicContent\"></fusion-dynamic-components>\n    </div>\n    <div class=\"fu-sidebar-logo-holder\"><div [class.fu-logo-link]=\"isLogoClickable\" class=\"fu-sidebar-logo\" (click)=\"onLogoClicked()\"></div></div>\n    <div class=\"fu-sidebar-menu-holder\">\n        <fusion-sidebar-menu\n            [class.fu-sidebar-closed-hovered]=\"isSidebarClosedHovered$ | async\"\n            [menuItems]=\"menuItems\"\n            [pathNameNormalizeRegex]=\"pathNameNormalizeRegex\"\n            (menuItemClicked)=\"onMenuItemClicked($event)\"\n            (navigationEnded)=\"onNavigationEnded()\"\n        ></fusion-sidebar-menu>\n    </div>\n    <!--user panel for mobile media-->\n    <div class=\"fu-sidebar-user-data\">\n        <div class=\"fu-sidebar-user-name\">{{ user?.name }}</div>\n        <div class=\"fu-sidebar-user-email\">{{ user?.email }}</div>\n        <fusion-icon class=\"fu-sidebar-user-logout-icon\" name=\"logout\" (click)=\"onLogoutIconClicked()\"></fusion-icon>\n    </div>\n    <!--user panel for mobile media-->\n</div>\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {SidebarBaseComponent} from '@ironsource/fusion-ui/components/sidebar/common/base';\n\n@Component({\n    selector: 'fusion-sidebar',\n    templateUrl: '../common/base/sidebar.base.component.html',\n    styleUrls: ['./sidebar.component.scss', './sidebar-mobile.component.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SidebarComponent extends SidebarBaseComponent {}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SidebarMenuComponent} from './sidebar-menu.component';\nimport {IconModule} from '@ironsource/fusion-ui/components/icon/v1';\nimport {DynamicComponentsModule} from '@ironsource/fusion-ui/components/dynamic-components/v1';\nimport {SidebarMenuService} from '@ironsource/fusion-ui/components/sidebar/common/services';\nimport {RouterModule} from '@angular/router';\nimport {LogService} from '@ironsource/fusion-ui/services/log';\n\n@NgModule({\n    declarations: [SidebarMenuComponent],\n    imports: [CommonModule, IconModule, DynamicComponentsModule, RouterModule],\n    exports: [SidebarMenuComponent],\n    providers: [SidebarMenuService, LogService]\n})\nexport class SidebarMenuModule {}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SidebarComponent} from './sidebar.component';\nimport {SidebarMenuModule} from './components/sidebar-menu/sidebar-menu.module';\nimport {IconModule} from '@ironsource/fusion-ui/components/icon/v1';\nimport {SidebarMenuService} from '@ironsource/fusion-ui/components/sidebar/common/services';\nimport {DynamicComponentsModule} from '@ironsource/fusion-ui/components/dynamic-components/v1';\n\n@NgModule({\n    declarations: [SidebarComponent],\n    imports: [CommonModule, IconModule, SidebarMenuModule, DynamicComponentsModule],\n    exports: [SidebarComponent],\n    providers: [SidebarMenuService]\n})\nexport class SidebarModule {}\n","// Sidebar\nexport * from './sidebar.component';\nexport * from './sidebar.module';\n\n// SidebarMenu\nexport * from './components/sidebar-menu/sidebar-menu.component';\nexport * from './components/sidebar-menu/sidebar-menu.module';\n\n// commons\nexport * from '@ironsource/fusion-ui/components/sidebar/common/entities';\nexport * from '@ironsource/fusion-ui/components/sidebar/common/services';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}