{"version":3,"file":"obelisco-angular-access.mjs","sources":["../../../projects/obelisco-angular/access/o-access/o-access.component.ts","../../../projects/obelisco-angular/access/o-access/o-access.component.html","../../../projects/obelisco-angular/access/o-access-list/o-access-list.component.ts","../../../projects/obelisco-angular/access/o-access-list/o-access-list.component.html","../../../projects/obelisco-angular/access/o-access.module.ts","../../../projects/obelisco-angular/access/obelisco-angular-access.ts"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, Input, Renderer2, ViewChild } from '@angular/core';\nimport { Sizes } from 'obelisco-angular/core/models';\n\n@Component({\n  selector: 'o-access',\n  templateUrl: './o-access.component.html',\n  styleUrls: ['./o-access.component.scss', '../../scss/deck.scss']\n})\nexport class OAccessComponent implements AfterViewInit {\n  @Input() public icon!: string;\n  @Input() public title!: string;\n  @Input() public description!: string;\n  @Input() public size: Sizes = 'md';\n  @Input() public link!: string;\n  @Input() public route!: string;\n  @Input() public customClasses: string = '';\n\n  @ViewChild('access') public access!: ElementRef;\n\n  constructor(private readonly renderer: Renderer2) {}\n\n  public ngAfterViewInit(): void {\n    if (this.link) {\n      this.renderer.setAttribute(this.access.nativeElement, 'href', this.link);\n    }\n  }\n}\n","<a #access [routerLink]=\"route\" class=\"list-group-item\" [class.item-sm]=\"size == 'sm'\" [ngClass]=\"customClasses\">\n  <i *ngIf=\"icon && icon.includes('bx')\" [ngClass]=\"[icon!, 'o-icon']\"></i>\n  <span *ngIf=\"icon && !icon.includes('bx')\" class=\"material-symbols-rounded o-icon\" aria-hidden=\"true\">{{ icon }}</span>\n  <div class=\"access-content\">\n    <span class=\"access-title\">{{ title }}</span>\n    <p class=\"access-text\" *ngIf=\"description\">{{ description }}</p>\n  </div>\n</a>\n","import { Component, Input, OnChanges } from '@angular/core';\nimport { Access, AccessCategory, AccessList } from 'obelisco-angular/core/models';\n\n@Component({\n  selector: 'o-access-list',\n  templateUrl: './o-access-list.component.html',\n  styleUrls: ['./o-access-list.component.scss'],\n})\nexport class OAccessListComponent implements OnChanges {\n  @Input() public items!: AccessList;\n  @Input() public customClasses: string = '';\n\n  public accessList: Access[] = [];\n  public accessCategoryList: AccessCategory[] = [];\n\n  ngOnChanges() {\n    if (this.items && this.items.children) {\n      this.items.children.forEach((child: any) => {\n        if (this.isAccess(child)) {\n          this.accessList.push(child as Access);\n        } else if (this.isAccessCategory(child)) {\n          this.accessCategoryList.push(child as AccessCategory);\n        }\n      });\n    }\n  }\n\n  private isAccess(item: any): item is Access {\n    return item.hasOwnProperty('link') || item.hasOwnProperty('route');\n  }\n\n  private isAccessCategory(item: any): item is AccessCategory {\n    return item.hasOwnProperty('title') && item.hasOwnProperty('children');\n  }\n}\n","<div class=\"list-group\" [ngClass]=\"customClasses\">\n  <div class=\"group-access\">\n    <div class=\"card-access\">\n      <!-- Header -->\n      <div\n        class=\"card-access-body\"\n        [ngClass]=\"{\n          reverse: items.header!.iconPositionLeft\n        }\"\n      >\n        <div>\n          <h4 class=\"mb-1\">{{ items.header!.title }}</h4>\n          <p *ngIf=\"items.header!.description\" class=\"mb-0\">{{ items.header!.description }}</p>\n        </div>\n        <ng-container *ngIf=\"items.header!.icon\">\n          <i\n            *ngIf=\"items.header!.icon.includes('bx'); else materialIcon\"\n            class=\"card-access-icon {{ items.header!.icon }}\"\n          ></i>\n          <ng-template #materialIcon>\n            <span class=\"card-access-icon material-symbols-rounded o-icon\" aria-hidden=\"true\">{{ items.header!.icon }}</span>\n          </ng-template>\n        </ng-container>\n        <span *ngIf=\"items.header!.iconText\" class=\"card-access-icon descriptive\">{{ items.header!.iconText }}</span>\n      </div>\n      <hr class=\"clearfix\" *ngIf=\"items.children\" />\n      <!-- Items simples -->\n      <div class=\"container-access\" *ngIf=\"accessList.length > 0\">\n        <div class=\"access-option\">\n          <ng-container *ngFor=\"let itemList of accessList\">\n            <a [routerLink]=\"itemList.route\" class=\"list-group-item item-sm\">\n              <ng-container *ngIf=\"itemList.icon\">\n                <i *ngIf=\"itemList.icon.includes('bx'); else materialIcon\" class=\"{{ itemList.icon }}\"></i>\n                <ng-template #materialIcon>\n                  <span class=\"material-symbols-rounded o-icon\" aria-hidden=\"true\">{{ itemList.icon }}</span>\n                </ng-template>\n              </ng-container>\n              <div class=\"access-content\">\n                <span class=\"access-title\">{{ itemList.title }}</span>\n                <p *ngIf=\"itemList.description\" class=\"access-text\">{{ itemList.description }}</p>\n              </div>\n            </a>\n          </ng-container>\n          <ng-container *ngFor=\"let itemList of accessList\">\n            <a *ngIf=\"itemList.link\" [href]=\"itemList.link\" class=\"list-group-item item-sm\">\n              <ng-container *ngIf=\"itemList.icon\">\n                <i *ngIf=\"itemList.icon.includes('bx'); else materialIcon\" class=\"{{ itemList.icon }}\"></i>\n                <ng-template #materialIcon>\n                  <span class=\"material-symbols-rounded o-icon\" aria-hidden=\"true\">{{ itemList.icon }}</span>\n                </ng-template>\n              </ng-container>\n              <div class=\"access-content\">\n                <span class=\"access-title\">{{ itemList.title }}</span>\n                <p *ngIf=\"itemList.description\" class=\"access-text\">{{ itemList.description }}</p>\n              </div>\n            </a>\n          </ng-container>\n        </div>\n      </div>\n      <!-- Items con categorias -->\n      <div class=\"container-access\" *ngIf=\"accessCategoryList.length > 0\">\n        <div class=\"access-option\" *ngFor=\"let itemCategory of accessCategoryList; let i = index\">\n          <h5 class=\"title-option\">{{ itemCategory.title }}</h5>\n          <ng-container *ngFor=\"let accessItem of itemCategory.children\">\n            <a *ngIf=\"accessItem.route\" class=\"list-group-item item-sm\" [routerLink]=\"accessItem.route\">\n              <span class=\"access-title\">\n                <ng-container *ngIf=\"accessItem.icon\">\n                  <i *ngIf=\"accessItem.icon.includes('bx'); else materialIcon\" class=\"{{ accessItem.icon }}\"></i>\n                  <ng-template #materialIcon>\n                    <span class=\"material-symbols-rounded o-icon\" aria-hidden=\"true\">{{ accessItem.icon }}</span>\n                  </ng-template>\n                </ng-container>\n                {{ accessItem.title }}\n              </span>\n            </a>\n            <a *ngIf=\"accessItem.link\" class=\"list-group-item item-sm\" [href]=\"accessItem.link\">\n              <span class=\"access-title\">\n                <ng-container *ngIf=\"accessItem.icon\">\n                  <i *ngIf=\"accessItem.icon.includes('bx'); else materialIcon\" class=\"{{ accessItem.icon }}\"></i>\n                  <ng-template #materialIcon>\n                    <span class=\"material-symbols-rounded o-icon\" aria-hidden=\"true\">{{ accessItem.icon }}</span>\n                  </ng-template>\n                </ng-container>\n                {{ accessItem.title }}\n              </span>\n            </a>\n          </ng-container>\n        </div>\n      </div>\n      <hr *ngIf=\"items.footer\" class=\"clearfix\" />\n      <!-- Footer -->\n      <a\n        *ngIf=\"items.footer && items.footer!.route\"\n        [routerLink]=\"items.footer!.route\"\n        class=\"list-group-item card-item\"\n      >\n        <span class=\"access-title\">\n          <ng-container *ngIf=\"items.footer!.icon\">\n            <i *ngIf=\"items.footer!.icon.includes('bx'); else materialIcon\" class=\"{{ items.footer!.icon }}\"></i>\n            <ng-template #materialIcon>\n              <span class=\"material-symbols-rounded o-icon\" aria-hidden=\"true\">{{ items.footer!.icon }}</span>\n            </ng-template>\n          </ng-container>\n          {{ items.footer!.title }}\n        </span>\n      </a>\n      <a *ngIf=\"items.footer && items.footer!.link\" [href]=\"items.footer!.link\" class=\"list-group-item card-item\">\n        <span class=\"access-title\">\n          <ng-container *ngIf=\"items.footer!.icon\">\n            <i *ngIf=\"items.footer!.icon.includes('bx'); else materialIcon\" class=\"{{ items.footer!.icon }}\"></i>\n            <ng-template #materialIcon>\n              <span class=\"material-symbols-rounded o-icon\" aria-hidden=\"true\">{{ items.footer!.icon }}</span>\n            </ng-template>\n          </ng-container>\n          {{ items.footer!.title }}\n        </span>\n      </a>\n    </div>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OAccessComponent } from './o-access/o-access.component';\nimport { RouterModule } from '@angular/router';\nimport { OAccessListComponent } from './o-access-list/o-access-list.component';\n\n@NgModule({\n  declarations: [OAccessComponent, OAccessListComponent],\n  imports: [CommonModule, RouterModule],\n  exports: [OAccessComponent, OAccessListComponent]\n})\nexport class OAccessModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}