{"version":3,"file":"ngx-redi-core-RediMenu.mjs","sources":["../../../projects/ngx-redi-core/RediMenu/src/components/redi-menu/redi-menu.component.ts","../../../projects/ngx-redi-core/RediMenu/src/components/redi-menu/redi-menu.component.html","../../../projects/ngx-redi-core/RediMenu/src/components/redi-leading-item-menu/redi-leading-item-menu.component.ts","../../../projects/ngx-redi-core/RediMenu/src/components/redi-leading-item-menu/redi-leading-item-menu.component.html","../../../projects/ngx-redi-core/RediMenu/public-api.ts","../../../projects/ngx-redi-core/RediMenu/ngx-redi-core-RediMenu.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { Route, RouterModule } from '@angular/router';\r\n\r\n@Component({\n    selector: 'redi-menu',\n    imports: [MatToolbarModule, MatTabsModule, RouterModule],\n    templateUrl: './redi-menu.component.html',\n    styleUrl: './redi-menu.component.scss'\n})\r\nexport class RediMenuComponent {\r\n  @Input()\r\n  public set route(internalRoute: Route) {\r\n    if (internalRoute && this.internalRoute !== internalRoute) {\r\n      this.internalRoute = internalRoute;\r\n      let pathname = document.location.pathname;\r\n      let currentPath = this.internalRoute.path ?? '';\r\n      let partial = pathname.substring(pathname.lastIndexOf(currentPath) + currentPath.length)\r\n        .split('/')\r\n        .filter(p => p)\r\n        .shift();\r\n      this.selectedRoute = this.internalRoute.children?.find(p => p.path === partial) ?? {};\r\n    }\r\n  }\r\n\r\n  private internalRoute: Route;\r\n\r\n  constructor() {\r\n    this.internalRoute = {};\r\n  }\r\n\r\n  public getDescription(route: Route) {\r\n    return Reflect.get(route?.data ?? {}, 'crumb') || route.path || '';\r\n  }\r\n\r\n  public getItems() {\r\n    return (this.internalRoute?.children ?? []).filter(r => r.path)\r\n  }\r\n\r\n  public gotoPath(route: Route) {\r\n    this.selectedRoute = route;\r\n  }\r\n\r\n  public getBasePath() {\r\n    return this?.internalRoute.path || '';\r\n  }\r\n\r\n  public selectedRoute!: Route;\r\n\r\n  public isActive(route: Route): boolean {\r\n    return route.path == this.selectedRoute?.path;\r\n  }\r\n}\r\n","<mat-toolbar>\r\n    <ng-content select=\"redi-leading-item-menu\"></ng-content>\r\n    <nav mat-tab-nav-bar [tabPanel]=\"tabPanel\">\r\n        @for (item of getItems(); track item) {\r\n        <a mat-tab-link [routerLink]=\"getBasePath()+'/'+item.path\" (click)=\"gotoPath(item)\" [active]=\"isActive(item)\">\r\n            {{getDescription(item)}} </a>\r\n        }\r\n    </nav>\r\n    <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\r\n</mat-toolbar>","import { Component } from '@angular/core';\r\n\r\n@Component({\n    selector: 'redi-leading-item-menu',\n    imports: [],\n    templateUrl: './redi-leading-item-menu.component.html',\n    styleUrl: './redi-leading-item-menu.component.scss'\n})\r\nexport class RediLeadingItemMenuComponent {\r\n  \r\n}\r\n","<ng-content></ng-content>\r\n","/** Componentes */\r\nexport * from './src/components/redi-menu/redi-menu.component';\r\nexport * from './src/components/redi-leading-item-menu/redi-leading-item-menu.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}