{"version":3,"file":"takkion-components-layouts-origin.mjs","sources":["../../../libraries/components/layouts/origin/footer/footer.component.ts","../../../libraries/components/layouts/origin/footer/footer.component.html","../../../libraries/components/layouts/origin/services/toggle-sidebar.ts","../../../libraries/components/layouts/origin/header/header.component.ts","../../../libraries/components/layouts/origin/header/header.component.html","../../../libraries/components/layouts/origin/services/route-parts.service.ts","../../../libraries/components/layouts/origin/services/validate-access.pipe.ts","../../../libraries/components/layouts/origin/breadcrumb/breadcrumb.component.ts","../../../libraries/components/layouts/origin/breadcrumb/breadcrumb.component.html","../../../libraries/components/layouts/origin/sidebar/sidenav/expansion/expansion-panel-header.component.ts","../../../libraries/components/layouts/origin/sidebar/sidenav/expansion/expansion-panel.component.ts","../../../libraries/components/layouts/origin/sidebar/sidenav/expansion/accordion.component.ts","../../../libraries/components/layouts/origin/sidebar/sidenav/sidenav.component.ts","../../../libraries/components/layouts/origin/sidebar/sidenav/sidenav.component.html","../../../libraries/components/layouts/origin/sidebar/sidebar.component.ts","../../../libraries/components/layouts/origin/sidebar/sidebar.component.html","../../../libraries/components/layouts/origin/layout.component.ts","../../../libraries/components/layouts/origin/layout.component.html","../../../libraries/components/layouts/origin/layout.module.ts","../../../libraries/components/layouts/origin/layout.navigation.ts","../../../libraries/components/layouts/origin/index.ts","../../../libraries/components/layouts/origin/takkion-components-layouts-origin.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n  selector: 'tak-footer',\n  templateUrl: './footer.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TakFooterComponent {}\n","<footer class=\"tak__footer\">\n  <ng-content select=\"[tak-custom-footer]\"></ng-content>\n</footer>\n","import { Injectable } from '@angular/core';\n\nexport const LAYOUT_CONTAINER = 'tak__layout__container';\n\n@Injectable({ providedIn: 'root' })\nexport class ToggleSidebar {\n  public openSidebar(): void {\n    try {\n      document.getElementsByClassName(LAYOUT_CONTAINER)[0].classList.remove('compact');\n      document.getElementsByClassName(LAYOUT_CONTAINER)[0].classList.add('full');\n    } catch (error) {}\n  }\n\n  public closeSidebar(): void {\n    try {\n      document.getElementsByClassName(LAYOUT_CONTAINER)[0].classList.add('compact');\n      document.getElementsByClassName(LAYOUT_CONTAINER)[0].classList.remove('full');\n    } catch (error) {}\n  }\n\n  public toggleMobile(isMobile: boolean): void {\n    try {\n      if (!isMobile)\n        document.getElementsByClassName(LAYOUT_CONTAINER)[0].classList.remove('mobile');\n      else document.getElementsByClassName(LAYOUT_CONTAINER)[0].classList.add('mobile');\n    } catch (error) {}\n  }\n\n  public expansionButton(expand: boolean): void {\n    try {\n      if (!expand) {\n        document.getElementsByClassName(LAYOUT_CONTAINER)[0].classList.add('expand');\n        document.getElementsByClassName('tak__container')[0].classList.add('sidebar-fixed');\n      } else {\n        document.getElementsByClassName(LAYOUT_CONTAINER)[0].classList.remove('expand');\n        document.getElementsByClassName('tak__container')[0].classList.remove('sidebar-fixed');\n      }\n    } catch (error) {}\n  }\n}\n","import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  HostListener,\n  Input,\n  Output,\n} from '@angular/core';\nimport { LAYOUT_CONTAINER } from '../services/toggle-sidebar';\n\n@Component({\n  selector: 'tak-header',\n  templateUrl: './header.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TakHeaderComponent implements AfterViewInit {\n  @Output() toggleSidebar: EventEmitter<any> = new EventEmitter();\n\n  @Input() mdWidth = 640;\n  @Input() isActionButton = false;\n\n  public isScreenMd = false;\n\n  constructor(private _cd: ChangeDetectorRef) {}\n\n  @HostListener('window:resize', ['$event'])\n  public onResize() {\n    this.isScreenMd = window.matchMedia(`(max-width:${this.mdWidth}px)`).matches;\n    this._cd.markForCheck();\n  }\n\n  public onToggleSidebar(): void {\n    const isOpen = document\n      .getElementsByClassName(LAYOUT_CONTAINER)[0]\n      .classList.contains('compact');\n\n    if (isOpen) {\n      this.toggleSidebar.emit(false);\n    } else {\n      this.toggleSidebar.emit(true);\n    }\n  }\n\n  public ngAfterViewInit(): void {\n    this.onResize();\n  }\n}\n","<header class=\"tak__header\">\n  @if (!isActionButton || isScreenMd) {\n    <div class=\"tak__header__toggle-sbar-btn__container\">\n      <button mat-icon-button (click)=\"onToggleSidebar()\">\n        <span class=\"material-icons\">menu</span>\n      </button>\n    </div>\n  }\n  <div class=\"tak__header__custom__container\">\n    <ng-content select=\"[tak-custom-header]\"></ng-content>\n  </div>\n</header>\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Params } from '@angular/router';\n\ninterface IRoutePart {\n  title: string;\n  breadcrumb: string;\n  params?: Params;\n  url: string;\n  urlSegments: any[];\n}\n\n@Injectable()\nexport class RoutePartsService {\n  public generateRouteParts(snapshot: ActivatedRouteSnapshot): IRoutePart[] {\n    var routeParts = <IRoutePart[]>[];\n    if (snapshot) {\n      if (snapshot.firstChild) {\n        routeParts = routeParts.concat(this.generateRouteParts(snapshot.firstChild));\n      }\n      if (snapshot.data['title'] && snapshot.url.length) {\n        routeParts.push({\n          title: snapshot.data['title'],\n          breadcrumb: snapshot.data['breadcrumb'],\n          url: snapshot.url[0].path,\n          urlSegments: snapshot.url,\n          params: snapshot.params,\n        });\n      }\n    }\n    return routeParts;\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\ninterface PayloadFromUser {\n  context: any;\n  authorities: any | any[];\n}\n\ninterface PayloadFromSystem {\n  authorities: any | any[];\n  blockOnCtxs: any | any[];\n}\n\n@Pipe({ name: 'validateAccess' })\nexport class ValidateAccessPipe implements PipeTransform {\n  transform(_valuesToCompare: any[], _user: any[]) {\n    const valuesToCompare: PayloadFromSystem = {\n      authorities: _valuesToCompare[0],\n      blockOnCtxs: _valuesToCompare[1],\n    };\n\n    const user: PayloadFromUser = {\n      context: _user[0],\n      authorities: _user[1],\n    };\n\n    let contextIsValid = true;\n    let permissionsIsValid = true;\n\n    let authorities: any[] | undefined;\n    let blockOnCtxs: any[] | undefined;\n    let userAuthorities: any[] | undefined;\n    let userContext: any = user.context;\n\n    if (valuesToCompare.authorities) {\n      authorities = Array.isArray(valuesToCompare.authorities)\n        ? valuesToCompare.authorities\n        : [valuesToCompare.authorities];\n    }\n\n    if (valuesToCompare.blockOnCtxs) {\n      blockOnCtxs = Array.isArray(valuesToCompare.blockOnCtxs)\n        ? valuesToCompare.blockOnCtxs\n        : [valuesToCompare.blockOnCtxs];\n    }\n\n    if (user.authorities) {\n      userAuthorities = Array.isArray(user.authorities) ? user.authorities : [user.authorities];\n    }\n\n    if (blockOnCtxs) if (userContext) contextIsValid = !(blockOnCtxs.indexOf(userContext) >= 0);\n\n    if (authorities) {\n      if (userAuthorities) {\n        permissionsIsValid = false;\n\n        userAuthorities.forEach(userAuthority => {\n          if (authorities!.indexOf(userAuthority) >= 0) permissionsIsValid = true;\n        });\n      }\n    }\n\n    return !(contextIsValid && permissionsIsValid);\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  OnDestroy,\n  OnInit,\n} from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { filter, Subscription } from 'rxjs';\nimport { RoutePartsService } from '../services';\n\n@Component({\n  selector: 'tak-breadcrumb',\n  templateUrl: './breadcrumb.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TakBreadcrumbComponent implements OnInit, OnDestroy {\n  private _routeParts!: any[];\n  private _routerEventSub!: Subscription;\n\n  private _base = '';\n  private _title = '';\n  private _singleRoute = false;\n\n  constructor(\n    private router: Router,\n    private routePartsService: RoutePartsService,\n    private _cd: ChangeDetectorRef,\n    private activeRoute: ActivatedRoute\n  ) {}\n\n  public ngOnInit(): void {\n    this._generateTitle();\n\n    this._routerEventSub = this.router.events\n      .pipe(filter(event => event instanceof NavigationEnd))\n      .subscribe(() => {\n        this._generateTitle();\n      });\n  }\n\n  private _generateTitle() {\n    this._routeParts = this.routePartsService.generateRouteParts(this.activeRoute.snapshot);\n    this._routeParts.reverse().map((item, i) => {\n      if (this._routeParts.reverse().length === 1) {\n        this._base = item.title;\n        this._title = item.title;\n        this._singleRoute = true;\n      } else {\n        this._singleRoute = false;\n        if (!i) this._base = item.title;\n        if (i === 1) this._title = item.title;\n        if (i === 2) this._title += ` / ${item.title}`;\n      }\n    });\n\n    this._cd.markForCheck();\n  }\n\n  public ngOnDestroy(): void {\n    if (this._routerEventSub) this._routerEventSub.unsubscribe();\n  }\n\n  get base() {\n    return this._base;\n  }\n\n  get title() {\n    return this._title;\n  }\n\n  get singleRoute() {\n    return this._singleRoute;\n  }\n}\n","<div class=\"tak-breadcrumb-pagetitle\">\n  <h1>{{ title }}</h1>\n  <nav>\n    <ol class=\"tak-breadcrumb\">\n      <li class=\"tak-breadcrumb-item\">\n        <span>{{ base }}</span>\n      </li>\n      @if (!singleRoute) {\n        <li class=\"tak-breadcrumb-item active\">{{ title }}</li>\n      }\n    </ol>\n  </nav>\n</div>\n","import {\n  ChangeDetectionStrategy,\n  ElementRef,\n  Component,\n  ViewChild,\n  Input,\n  AfterViewInit,\n} from '@angular/core';\n\n@Component({\n  selector: 'tak-layout-expansion-panel-header',\n  template: `\n    <button\n      class=\"tak-layout-expansion-panel-header {{ class }}\"\n      style=\"{{ style }}\"\n      #expansionPanelHeader\n      (click)=\"toggle()\"\n    >\n      <ng-content></ng-content>\n    </button>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TakExpansionPanelHeaderComponent implements AfterViewInit {\n  @ViewChild('expansionPanelHeader') expansionPanelHeader!: ElementRef;\n\n  @Input() style: string = '';\n\n  @Input() class: string = '';\n\n  public ngAfterViewInit(): void {}\n\n  public toggle(): void {\n    const expansionPanelHeader = this.expansionPanelHeader?.nativeElement;\n    if (!expansionPanelHeader.classList.contains('tak-layout-accordion')) {\n      expansionPanelHeader.classList.toggle('active');\n    }\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  AfterViewInit,\n  ElementRef,\n  Component,\n  ViewChild,\n  Input,\n} from '@angular/core';\n\n@Component({\n  selector: 'tak-layout-expansion-panel',\n  template: `\n    <div class=\"tak-layout-expansion-panel-container\">\n      <div class=\"tak-layout-expansion-panel {{ class }}\" style=\"{{ style }}\" #expansionPanelHeader>\n        <ng-content select=\"tak-layout-expansion-panel-header\"></ng-content>\n      </div>\n      <div class=\"tak-layout-expansion-panel-body\">\n        <ng-content></ng-content>\n      </div>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TakExpansionPanelComponent implements AfterViewInit {\n  @ViewChild('expansionPanelHeader') expansionPanelHeader!: ElementRef;\n\n  @Input() style: string = '';\n\n  @Input() class: string = '';\n\n  constructor(private _cd: ChangeDetectorRef) {}\n\n  public ngAfterViewInit(): void {\n    const expansionPanelHeader = this.expansionPanelHeader?.nativeElement;\n    setTimeout(() => {\n      if (!expansionPanelHeader.classList.contains('tak-layout-accordion')) {\n        expansionPanelHeader.addEventListener('click', () => {\n          expansionPanelHeader.classList.toggle('active');\n          const accordionItemBody: any = expansionPanelHeader.nextElementSibling;\n          if (expansionPanelHeader.classList.contains('active')) {\n            accordionItemBody.style.maxHeight = accordionItemBody.scrollHeight + 'px';\n          } else {\n            accordionItemBody.style.maxHeight = 0;\n          }\n        });\n      }\n      this._cd.markForCheck();\n    }, 100);\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  AfterViewInit,\n  ElementRef,\n  ViewChild,\n  Component,\n} from '@angular/core';\n\n@Component({\n  selector: 'tak-layout-accordion',\n  template: `\n    <div #accordion>\n      <ng-content></ng-content>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TakAccordionComponent implements AfterViewInit {\n  @ViewChild('accordion') accordion: ElementRef | any;\n\n  public ngAfterViewInit(): void {\n    const expansionPanels = this.accordion.nativeElement.querySelectorAll(\n      '.tak-layout-expansion-panel'\n    );\n\n    expansionPanels.forEach((expansionPanel: { classList: { add: (arg0: string) => void } }) => {\n      expansionPanel.classList.add(`tak-layout-accordion`);\n    });\n    const expansionPanelHeaders = this.accordion.nativeElement.querySelectorAll(\n      '.tak-layout-expansion-panel-header'\n    );\n    expansionPanelHeaders.forEach(\n      (expansionPanelHeader: { classList: { add: (arg0: string) => void } }) => {\n        expansionPanelHeader.classList.add(`tak-layout-accordion`);\n      }\n    );\n\n    this._subscribeToExpansionPanels(expansionPanels);\n  }\n\n  private _subscribeToExpansionPanels(expansionPanels: any): void {\n    expansionPanels.forEach((expansionPanel: any) => {\n      expansionPanel.addEventListener('click', () => {\n        this._activeAccordionMode(expansionPanel);\n        expansionPanel.classList.toggle('active');\n        try {\n          const currentlyActiveExpansionPanel: any = this.accordion.nativeElement.querySelector(\n            '.tak-layout-expansion-panel.active'\n          );\n          currentlyActiveExpansionPanel\n            .querySelector('.tak-layout-expansion-panel-header')\n            .classList.toggle('active');\n        } catch (error) {\n          const expansionPanelHeaders = this.accordion.nativeElement.querySelectorAll(\n            '.tak-layout-expansion-panel-header'\n          );\n          expansionPanelHeaders.forEach((expansionPanelHeader: any) => {\n            expansionPanelHeader.classList.remove('active');\n          });\n        }\n        const expansionPanelBody: any = expansionPanel.nextElementSibling;\n        if (expansionPanel.classList.contains('active')) {\n          expansionPanelBody.style.maxHeight = expansionPanelBody.scrollHeight + 'px';\n        } else {\n          expansionPanelBody.style.maxHeight = 0;\n        }\n      });\n    });\n  }\n\n  private _activeAccordionMode(expansionPanel: any): void {\n    const currentlyActiveExpansionPanel: any = this.accordion.nativeElement.querySelector(\n      '.tak-layout-expansion-panel.active'\n    );\n    if (currentlyActiveExpansionPanel && currentlyActiveExpansionPanel !== expansionPanel) {\n      currentlyActiveExpansionPanel\n        .querySelector('.tak-layout-expansion-panel-header')\n        .classList.toggle('active');\n      currentlyActiveExpansionPanel.classList.toggle('active');\n      currentlyActiveExpansionPanel.nextElementSibling.style.maxHeight = 0;\n    }\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  HostListener,\n  Input,\n  OnInit,\n} from '@angular/core';\nimport { ToggleSidebar } from '../../services';\nimport { TakSnavItems } from '../../navigation-interfaces';\n\n@Component({\n  selector: 'tak-sidenav',\n  templateUrl: './sidenav.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TakSidenavComponent implements OnInit {\n  @Input() navigation: TakSnavItems[] = [];\n  @Input() authorities: any[] = [];\n  @Input() context: any;\n  @Input() mdWidth = 640;\n  @Input() accordionInCollections = true;\n  @Input() disableHiddenCollections = false;\n\n  private _isMobile = false;\n\n  constructor(\n    private _toggleSidebar: ToggleSidebar,\n    private _cd: ChangeDetectorRef\n  ) {}\n\n  public ngOnInit(): void {\n    this.navigation.map(item => {\n      if (item.showCollectionContent === undefined) {\n        if (this.disableHiddenCollections) item.showCollectionContent = true;\n        else item.showCollectionContent = false;\n      }\n\n      if (['dropdown', 'collection'].indexOf(item.type) >= 0) {\n        const dropdowns = item.type === 'dropdown' ? [item] : item.objects;\n\n        let avalaibleModules = 0;\n\n        dropdowns?.map(dr => {\n          if (dr.dropdownLinks) {\n            let avalaibleModulesDropdown = 0;\n            dr.dropdownLinks.forEach(dl => {\n              if (dl.authorities) {\n                this.authorities.forEach(au => {\n                  if (dl.authorities!.includes(au)) {\n                    if (!dl.disableOnContexts?.includes(this.context) && !dl.forceDisabledContent) {\n                      avalaibleModules++;\n                      avalaibleModulesDropdown++;\n                    }\n                  }\n                });\n              } else {\n                if (!dl.disableOnContexts?.includes(this.context) && !dl.forceDisabledContent) {\n                  avalaibleModules++;\n                  avalaibleModulesDropdown++;\n                }\n              }\n            });\n            if (!avalaibleModulesDropdown) dr.forceDisabledContent = true;\n            else dr.forceDisabledContent = false;\n          } else {\n            if (dr.authorities) {\n              this.authorities.forEach(au => {\n                if (dr.authorities!.includes(au)) {\n                  if (!dr.disableOnContexts?.includes(this.context) && !dr.forceDisabledContent) {\n                    avalaibleModules++;\n                  }\n                }\n              });\n            } else {\n              if (!dr.disableOnContexts?.includes(this.context) && !dr.forceDisabledContent) {\n                avalaibleModules++;\n              }\n            }\n          }\n\n          if (!avalaibleModules) item.forceDisabledContent = true;\n          else item.forceDisabledContent = false;\n        });\n      }\n    });\n  }\n\n  public onCloseSidebar() {\n    const matches = window.matchMedia(`(max-width:${this.mdWidth}px)`).matches;\n    if (matches) this._toggleSidebar.closeSidebar();\n    else this._isMobile = false;\n\n    this._cd.markForCheck();\n  }\n\n  public toggleModule(index: number) {\n    if (!this.disableHiddenCollections)\n      this.navigation.map((item, i) => {\n        if (index === i && item.showCollectionContent === false) item.showCollectionContent = true;\n        else if (index === i && item.showCollectionContent === true) {\n          item.showCollectionContent = false;\n        } else if (this.accordionInCollections) {\n          item.showCollectionContent = false;\n        }\n      });\n  }\n\n  @HostListener('window:resize', ['$event'])\n  public onResize() {\n    this.onCloseSidebar();\n  }\n\n  get isMobile() {\n    return this._isMobile;\n  }\n}\n","<div class=\"tak__sidenav__container\">\n  <tak-layout-accordion>\n    @for (item of navigation; track item; let i = $index) {\n      <div>\n        <!-- Links -->\n        @if (item.type === 'link') {\n          <a\n            class=\"tak__txt-dec-none\"\n            [class.tak__admin-layout__not-exist]=\"\n              ([authorities, item.disableOnContexts!]\n                | validateAccess: [context, item.authorities!]) || item.forceDisabledContent\n            \"\n            routerLink=\"{{ item.url }}\"\n            routerLinkActive=\"tak__snav-link-active\"\n            (click)=\"onCloseSidebar()\"\n          >\n            <tak-layout-expansion-panel-header class=\"tak__sidenav__accordion__header is-link\">\n              <span class=\"material-icons tak__min-wdh-32 icon-link\">{{ item.icon }}</span>\n              <span class=\"tak__sidenav__link-name accordion\">{{ item.name }}</span>\n            </tak-layout-expansion-panel-header>\n          </a>\n        }\n        <!-- Dropdowns -->\n        @if (item.type === 'dropdown') {\n          <tak-layout-expansion-panel\n            [class.tak__admin-layout__not-exist]=\"\n              ([authorities, item.disableOnContexts!]\n                | validateAccess: [context, item.authorities!]) || item.forceDisabledContent\n            \"\n          >\n            <tak-layout-expansion-panel-header class=\"tak__sidenav__accordion__header\">\n              <span class=\"material-icons tak__min-wdh-32 icon-link\">{{ item.icon }}</span>\n              <span class=\"tak__sidenav__link-name accordion\">{{ item.name }}</span>\n            </tak-layout-expansion-panel-header>\n            @for (link of item.dropdownLinks; track link) {\n              <div\n                [class.tak__admin-layout__not-exist]=\"\n                  ([authorities, link.disableOnContexts!]\n                    | validateAccess: [context, link.authorities!]) || link.forceDisabledContent\n                \"\n              >\n                <div takRipple class=\"tak__sidenav__accordion__link-container\">\n                  <a\n                    class=\"tak__txt-dec-none\"\n                    routerLink=\"{{\n                      link.urlIsNotAutoCompleted ? link.url : item.url + '/' + link.url\n                    }}\"\n                    routerLinkActive=\"tak__snav-link-active\"\n                    (click)=\"onCloseSidebar()\"\n                  >\n                    <button class=\"tak__sidenav__accordion__link-button\">\n                      <span>\n                        {{ link.name }}\n                      </span>\n                    </button>\n                  </a>\n                </div>\n              </div>\n            }\n          </tak-layout-expansion-panel>\n        }\n        <!-- Collections -->\n        @if (item.type === 'collection') {\n          <section>\n            <div\n              [class.tak__admin-layout__not-exist]=\"\n                ([authorities, item.disableOnContexts!]\n                  | validateAccess: [context, item.authorities!]) || item.forceDisabledContent\n              \"\n            >\n              <tak-layout-expansion-panel-header\n                (click)=\"toggleModule(i)\"\n                class=\"tak__sidenav__accordion__header is-module\"\n              >\n                <span class=\"material-icons tak__min-wdh-32 icon-link is-module\">\n                  {{\n                    !disableHiddenCollections\n                      ? item.showCollectionContent\n                        ? 'visibility'\n                        : 'visibility_off'\n                      : 'radio_button_checked'\n                  }}\n                </span>\n                <span class=\"tak__sidenav__link-name accordion\">{{ item.name }}</span>\n              </tak-layout-expansion-panel-header>\n              <div\n                class=\"tak-divider custom\"\n                [class.tak__admin-layout__not-exist]=\"\n                  ([authorities, item.disableOnContexts!]\n                    | validateAccess: [context, item.authorities!]) || item.forceDisabledContent\n                \"\n              ></div>\n              @for (el of item.objects; track el) {\n                <div [hidden]=\"!item.showCollectionContent\">\n                  <a\n                    class=\"tak__txt-dec-none\"\n                    [class.tak__admin-layout__not-exist]=\"\n                      ([authorities, el.disableOnContexts!]\n                        | validateAccess: [context, el.authorities!]) || el.forceDisabledContent\n                    \"\n                    routerLink=\"{{ !el.urlIsNotAutoCompleted ? item.url + '/' + el.url : el.url }}\"\n                    routerLinkActive=\"tak__snav-link-active\"\n                    (click)=\"onCloseSidebar()\"\n                  >\n                    @if (el.type === 'link') {\n                      <tak-layout-expansion-panel-header\n                        class=\"tak__sidenav__accordion__header is-link\"\n                      >\n                        <span class=\"material-icons tak__min-wdh-32 icon-link\">{{ el.icon }}</span>\n                        <span class=\"tak__sidenav__link-name accordion\">{{ el.name }}</span>\n                      </tak-layout-expansion-panel-header>\n                    }\n                  </a>\n                  @if (el.type === 'dropdown') {\n                    <tak-layout-expansion-panel\n                      [class.tak__admin-layout__not-exist]=\"\n                        ([authorities, el.disableOnContexts!]\n                          | validateAccess: [context, el.authorities!]) || el.forceDisabledContent\n                      \"\n                    >\n                      <tak-layout-expansion-panel-header class=\"tak__sidenav__accordion__header\">\n                        <span class=\"material-icons tak__min-wdh-32 icon-link\">{{ el.icon }}</span>\n                        <span class=\"tak__sidenav__link-name accordion\">{{ el.name }}</span>\n                      </tak-layout-expansion-panel-header>\n                      @for (link of el.dropdownLinks; track link) {\n                        <div\n                          [class.tak__admin-layout__not-exist]=\"\n                            ([authorities, link.disableOnContexts!]\n                              | validateAccess: [context, link.authorities!]) ||\n                            link.forceDisabledContent\n                          \"\n                        >\n                          <div takRipple class=\"tak__sidenav__accordion__link-container\">\n                            <a\n                              class=\"tak__txt-dec-none\"\n                              routerLink=\"{{\n                                !link.urlIsNotAutoCompleted\n                                  ? item.url + '/' + el.url + '/' + link.url\n                                  : link.url\n                              }}\"\n                              routerLinkActive=\"tak__snav-link-active\"\n                              (click)=\"onCloseSidebar()\"\n                            >\n                              <button class=\"tak__sidenav__accordion__link-button\">\n                                <span>\n                                  {{ link.name }}\n                                </span>\n                              </button>\n                            </a>\n                          </div>\n                        </div>\n                      }\n                    </tak-layout-expansion-panel>\n                  }\n                </div>\n              }\n            </div>\n          </section>\n        }\n      </div>\n    }\n  </tak-layout-accordion>\n</div>\n","import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  Output,\n  ViewChild,\n} from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { TakSnavItems } from '../navigation-interfaces';\n\n@Component({\n  selector: 'tak-sidebar',\n  templateUrl: './sidebar.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TakSidebarComponent implements AfterViewInit {\n  @ViewChild('checkbox') checkbox!: ElementRef;\n\n  @Output() blockSidebar: EventEmitter<any> = new EventEmitter();\n  @Output() toggleSidebar: EventEmitter<any> = new EventEmitter();\n\n  @Input() appIcon!: string;\n  @Input() appTitle!: string;\n  @Input() appSubtitle!: string;\n  @Input() mdWidth = 640;\n  @Input() navigation: TakSnavItems[] = [];\n  @Input() authorities: any[] = [];\n  @Input() context: any;\n  @Input() isToggleShow = false;\n  @Input() isCompact: boolean = false;\n  @Input() isMd: boolean = false;\n  @Input() accordionInCollections = true;\n  @Input() disableHiddenCollections = false;\n\n  hideSidebar = new FormControl(true);\n\n  public ngAfterViewInit(): void {\n    if (this.isCompact) this.onBlockSidebar(true);\n  }\n\n  public onToggleSidebar(): void {\n    this.toggleSidebar.emit(true);\n  }\n\n  public onBlockSidebar(checked?: boolean): void {\n    const isChecked = checked || this.checkbox.nativeElement.checked;\n\n    localStorage.setItem('tak-sidebar-is-compact', isChecked);\n    this.blockSidebar.emit(isChecked);\n  }\n}\n","<button class=\"tak__sidebar__mobile-toggle-sidebar-button\" (click)=\"onToggleSidebar()\"></button>\n<div class=\"tak__sidebar__container\">\n  <div class=\"tak__sidebar__branding\">\n    <img class=\"tak__sidebar__branding__logo\" [src]=\"appIcon\" />\n    <div class=\"tak__sidebar__branding__container\" style=\"margin: 0 5px 0 5px\">\n      <h1 class=\"tak__sidebar__branding__title\">{{ appTitle }}</h1>\n      <h2 class=\"tak__sidebar__branding__subtitle\">{{ appSubtitle }}</h2>\n    </div>\n    <div class=\"tak__sidebar__branding__toggle__container\">\n      <div class=\"tak__sidebar__branding__toggle\">\n        <div class=\"button r\" id=\"button-1\">\n          <input\n            #checkbox\n            type=\"checkbox\"\n            class=\"checkbox\"\n            [checked]=\"isCompact\"\n            (change)=\"onBlockSidebar()\"\n          />\n          <div class=\"knobs\"></div>\n          <div class=\"layer\"></div>\n        </div>\n      </div>\n    </div>\n  </div>\n  <div class=\"tak__sidebar__divider\" style=\"padding: 0\"></div>\n  <div class=\"tak__sidebar__content\">\n    <tak-sidenav\n      [mdWidth]=\"mdWidth\"\n      [navigation]=\"navigation\"\n      [authorities]=\"authorities\"\n      [context]=\"context\"\n      [accordionInCollections]=\"accordionInCollections\"\n      [disableHiddenCollections]=\"disableHiddenCollections\"\n    ></tak-sidenav>\n  </div>\n</div>\n","import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  HostListener,\n  Input,\n  OnDestroy,\n  OnInit,\n  ViewChild,\n} from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport {\n  ActivatedRoute,\n  NavigationEnd,\n  ResolveEnd,\n  ResolveStart,\n  RouteConfigLoadEnd,\n  RouteConfigLoadStart,\n  Router,\n} from '@angular/router';\nimport { debounceTime, filter, Subscription } from 'rxjs';\nimport { TakSnavItems } from './navigation-interfaces';\nimport { RoutePartsService, ToggleSidebar } from './services';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n  selector: 'tak-origin-layout',\n  templateUrl: './layout.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TakOriginLayoutComponent implements OnInit, AfterViewInit, OnDestroy {\n  @ViewChild('scrollLayout') scrollLayout!: ElementRef;\n\n  private _routerSubs!: Subscription;\n  private _routerChangeTitleSubs!: Subscription;\n  private _sidebarStatus!: Subscription;\n\n  @Input() navigation: TakSnavItems[] = [];\n\n  @Input() appIcon = 'favicon.ico';\n  @Input() appTitle = 'Takkion Devs';\n  @Input() appSidebarTitle = 'Takkion (Sidebar)';\n  @Input() appSidebarSubtitle = 'Takkion (Sidebar)';\n  @Input() sidebarDebounceTime = 250;\n  @Input() mdWidth = 640;\n  @Input() isDinamicSidebar = true;\n  @Input() includeBreadcrumbs = false;\n\n  @Input() accordionInCollections = true;\n  @Input() disableHiddenCollections = false;\n\n  @Input() hasFooter = true;\n\n  @Input() authorities: any[] = [];\n  @Input() context: any;\n\n  private _isModuleLoading: boolean = false;\n\n  private _pageTitle = '';\n\n  private _isSidebarCompact: boolean =\n    localStorage.getItem('tak-sidebar-is-compact') === 'true' ? true : false;\n  public isSidebarFixed: boolean = false;\n\n  public isMd: boolean = false;\n\n  public sidebarRespForm = new FormControl();\n\n  constructor(\n    private _routePartsService: RoutePartsService,\n    private _toggleSidebar: ToggleSidebar,\n    private _activeRoute: ActivatedRoute,\n    private _cd: ChangeDetectorRef,\n    private _router: Router,\n    private _title: Title\n  ) {}\n\n  public ngOnInit(): void {\n    this._title.setTitle(this.appTitle);\n\n    this._changePageTitle();\n\n    this._routerSubs = this._router.events.subscribe(event => {\n      if (event instanceof RouteConfigLoadStart || event instanceof ResolveStart) {\n        this._isModuleLoading = true;\n      }\n      if (event instanceof RouteConfigLoadEnd || event instanceof ResolveEnd) {\n        this._isModuleLoading = false;\n        this.scrollToTop();\n      }\n      this._cd.markForCheck();\n    });\n    document.getElementsByTagName('body')[0].classList.add('tak-layout');\n  }\n\n  public ngAfterViewInit(): void {\n    if (window.matchMedia(`(max-width:${this.mdWidth}px)`).matches) {\n      this._toggleSidebar.closeSidebar();\n    }\n    this.onResize();\n\n    if (this.isDinamicSidebar) {\n      this._sidebarStatus = this.sidebarRespForm.valueChanges\n        .pipe(debounceTime(this.sidebarDebounceTime))\n        .subscribe(_ => {\n          if (!this.isMd && _) this._toggleSidebar.openSidebar();\n        });\n    }\n  }\n\n  @HostListener('window:resize', ['$event'])\n  public onResize() {\n    this.isMd = window.matchMedia(`(max-width:${this.mdWidth}px)`).matches;\n    if (this.isMd) {\n      this._toggleSidebar.toggleMobile(true);\n    } else {\n      this._toggleSidebar.toggleMobile(false);\n      if (this.isSidebarFixed) {\n        this._toggleSidebar.openSidebar();\n      } else {\n        this._toggleSidebar.closeSidebar();\n      }\n      if (!this.isDinamicSidebar) this._toggleSidebar.expansionButton(this.isDinamicSidebar);\n    }\n    this._cd.markForCheck();\n  }\n\n  public sidebarMouseEnter(): void {\n    this.sidebarRespForm.setValue(true);\n  }\n\n  public sidebarMouseLeave(): void {\n    if (!this.isSidebarFixed && !this.isMd) {\n      this.sidebarRespForm.setValue(false);\n      this._toggleSidebar.closeSidebar();\n    }\n  }\n\n  public toggleSidebar(event: boolean): void {\n    if (event) {\n      this._toggleSidebar.closeSidebar();\n    } else {\n      this._toggleSidebar.openSidebar();\n    }\n  }\n\n  public onBlockSidebar(event: boolean): void {\n    this.isSidebarFixed = event;\n    if (event) this.sidebarMouseEnter();\n\n    if (event) document.getElementsByClassName('tak__container')[0].classList.add('sidebar-fixed');\n    else document.getElementsByClassName('tak__container')[0].classList.remove('sidebar-fixed');\n  }\n\n  public scrollToTop(): void {\n    if (this.scrollLayout) this.scrollLayout.nativeElement.scrollTo({ top: 0 });\n  }\n\n  private _changePageTitle() {\n    this._routerChangeTitleSubs = this._router.events\n      .pipe(filter(event => event instanceof NavigationEnd))\n      .subscribe(() => {\n        const routeParts = this._routePartsService.generateRouteParts(this._activeRoute.snapshot);\n        if (routeParts.length) {\n          this._pageTitle = routeParts\n            .reverse()\n            .map(part => part.title)\n            .reduce((partA, partI) => {\n              return `${partA} > ${partI}`;\n            });\n          this._pageTitle = `${this.appTitle} | ${this._pageTitle}`;\n          this._title.setTitle(this._pageTitle);\n        }\n      });\n  }\n\n  public ngOnDestroy(): void {\n    this._routerSubs.unsubscribe();\n    this._routerChangeTitleSubs.unsubscribe();\n    if (this._sidebarStatus) this._sidebarStatus.unsubscribe();\n  }\n\n  get isModuleLoading(): boolean {\n    return this._isModuleLoading;\n  }\n\n  get isSidebarCompact(): boolean {\n    return this._isSidebarCompact;\n  }\n}\n\n@Component({\n  selector: 'tak-loader',\n  template: `<div class=\"app-loader\">\n    <div class=\"spinner\">\n      <div class=\"double-bounce1\"></div>\n      <div class=\"double-bounce2\"></div>\n    </div>\n  </div>`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TakLoader {}\n","<div class=\"tak__layout__container {{ isSidebarCompact ? 'compact' : 'full' }}\">\n  <tak-sidebar\n    [isCompact]=\"isSidebarCompact\"\n    [isMd]=\"isMd\"\n    [navigation]=\"navigation\"\n    [authorities]=\"authorities\"\n    [appIcon]=\"appIcon\"\n    [appTitle]=\"appSidebarTitle\"\n    [appSubtitle]=\"appSidebarSubtitle\"\n    [isToggleShow]=\"isDinamicSidebar\"\n    [mdWidth]=\"mdWidth\"\n    [context]=\"context\"\n    [accordionInCollections]=\"accordionInCollections\"\n    [disableHiddenCollections]=\"disableHiddenCollections\"\n    (mouseenter)=\"isDinamicSidebar ? sidebarMouseEnter() : ''\"\n    (mouseleave)=\"isDinamicSidebar ? sidebarMouseLeave() : ''\"\n    (blockSidebar)=\"onBlockSidebar($event)\"\n    (toggleSidebar)=\"toggleSidebar($event)\"\n  ></tak-sidebar>\n  <div class=\"tak__container\">\n    <div class=\"tak__header-container\">\n      <tak-header\n        (toggleSidebar)=\"toggleSidebar($event)\"\n        [mdWidth]=\"mdWidth\"\n        [isActionButton]=\"isDinamicSidebar\"\n      >\n        <ng-content tak-custom-header select=\"[tak-custom-header]\"></ng-content>\n      </tak-header>\n    </div>\n    <div class=\"tak__scroll\" #scrollLayout>\n      <div class=\"tak__content\">\n        <!-- View Loader -->\n        @if (isModuleLoading) {\n          <div class=\"view-loader\" style=\"position: fixed\">\n            <div class=\"spinner\">\n              <div class=\"double-bounce1\"></div>\n              <div class=\"double-bounce2\"></div>\n            </div>\n          </div>\n        }\n        <div class=\"tak__outlet\">\n          <tak-breadcrumb [class.tak-breadcrumb-hidden]=\"!includeBreadcrumbs\"></tak-breadcrumb>\n          <div>\n            <ng-content></ng-content>\n          </div>\n        </div>\n        @if (hasFooter) {\n          <tak-footer>\n            <ng-content tak-custom-footer select=\"[tak-custom-footer]\"></ng-content>\n          </tak-footer>\n        }\n      </div>\n    </div>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TakExpansionPanelHeaderComponent } from './sidebar/sidenav/expansion/expansion-panel-header.component';\nimport { TakExpansionPanelComponent } from './sidebar/sidenav/expansion/expansion-panel.component';\nimport { TakAccordionComponent } from './sidebar/sidenav/expansion/accordion.component';\nimport { TakBreadcrumbComponent } from './breadcrumb/breadcrumb.component';\nimport { TakSidenavComponent } from './sidebar/sidenav/sidenav.component';\nimport { TakSidebarComponent } from './sidebar/sidebar.component';\nimport { TakHeaderComponent } from './header/header.component';\nimport { TakFooterComponent } from './footer/footer.component';\nimport { TakOriginLayoutComponent, TakLoader } from './layout.component';\nimport { ValidateAccessPipe } from './services/validate-access.pipe';\nimport { RoutePartsService } from './services';\n\n@NgModule({\n  declarations: [\n    ValidateAccessPipe,\n    TakExpansionPanelHeaderComponent,\n    TakExpansionPanelComponent,\n    TakBreadcrumbComponent,\n    TakAccordionComponent,\n    TakSidebarComponent,\n    TakSidenavComponent,\n    TakOriginLayoutComponent,\n    TakHeaderComponent,\n    TakFooterComponent,\n    TakLoader,\n  ],\n\n  imports: [ReactiveFormsModule, RouterModule],\n  exports: [TakOriginLayoutComponent, TakLoader],\n  providers: [RoutePartsService],\n})\nexport class TakOriginLayoutModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class NavigationService {\n  public iconMenu: any[] = [];\n  public menuItems = new BehaviorSubject<any[]>(this.iconMenu);\n  public menuItems$ = this.menuItems.asObservable();\n\n  public publishNavigationChange(): void {\n    this.menuItems.next(this.iconMenu);\n  }\n}\n","/*\n * Public API Surface of @takkion/components/layouts/origin\n */\n\nexport * from './footer/footer.component';\nexport * from './header/header.component';\nexport * from './layout.component';\nexport * from './layout.module';\nexport * from './layout.navigation';\nexport * from './navigation-interfaces';\nexport * from './services';\nexport * from './sidebar/sidebar.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.RoutePartsService","i1.ToggleSidebar","i3.TakExpansionPanelHeaderComponent","i4.TakExpansionPanelComponent","i5.TakAccordionComponent","i6.ValidateAccessPipe","i1.TakSidenavComponent","i1.RoutePartsService","i4.TakBreadcrumbComponent","i5.TakSidebarComponent","i6.TakHeaderComponent","i7.TakFooterComponent"],"mappings":"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"}