{"version":3,"file":"obelisco-angular-button.mjs","sources":["../../../projects/obelisco-angular/button/o-button.component.ts","../../../projects/obelisco-angular/button/o-button.component.html","../../../projects/obelisco-angular/button/o-button.module.ts","../../../projects/obelisco-angular/button/obelisco-angular-button.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport { ButtonTypes, ButtonSizes } from 'obelisco-angular/core/models';\n\n@Component({\n  selector: 'o-button',\n  templateUrl: './o-button.component.html',\n  styleUrls: ['./o-button.component.scss'],\n})\nexport class OButtonComponent {\n  @Input() public type: ButtonTypes = 'primary';\n  @Input() public isOutline?: boolean = false;\n  @Input() public size?: ButtonSizes = 'md';\n  @Input() public isExpandable: boolean = false;\n  @Input() public ariaLabel?: string;\n  @Input() public customClasses: string = '';\n\n  @Input() public route!: string;\n  @Input() public link?: string;\n  @Input() public target?: string;\n  @Input() public download?: string;\n  @Input() public rel?: string;\n\n  @Input() public isDisabled?: boolean;\n  @Input() public dataTarget?: string;\n  @Input() public dataToggle?: string;\n  @Input() public dataDismiss?: string;\n\n  getClassNames(): string {\n    const sizeClass = this.size !== 'md' ? ' btn-' + this.size : '';\n    const outlineClass =\n      this.size == 'xs'\n        ? ''\n        : this.isOutline\n        ? ' btn-outline-' + this.type\n        : ' btn-' + this.type;\n    const expandableClass = this.isExpandable ? ' btn-block' : '';\n    const customClass = this.customClasses ? ' ' + this.customClasses : '';\n    return 'btn' + outlineClass + sizeClass + expandableClass + customClass;\n  }\n}\n","<ng-template #content><ng-content></ng-content></ng-template>\n<ng-container *ngIf=\"link || route || download || rel || target; else isButton\">\n  <ng-container *ngIf=\"link || download || rel || target; else isRouterLink\">\n    <a\n      [ngClass]=\"getClassNames()\"\n      [attr.aria-label]=\"ariaLabel\"\n      [attr.download]=\"download\"\n      [attr.rel]=\"rel ? rel : 'noopener noreferrer'\"\n      [attr.target]=\"target ? target : '_blank'\"\n      [attr.href]=\"link ? link : '#'\"\n    >\n      <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n    </a>\n  </ng-container>\n  <ng-template #isRouterLink>\n    <a [ngClass]=\"getClassNames()\" [attr.aria-label]=\"ariaLabel\" [routerLink]=\"route\">\n      <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n    </a>\n  </ng-template>\n</ng-container>\n\n<ng-template #isButton>\n  <button\n    type=\"button\"\n    [ngClass]=\"getClassNames()\"\n    [attr.aria-label]=\"ariaLabel\"\n    [disabled]=\"isDisabled ? true : null\"\n    [attr.data-bs-target]=\"dataTarget ? '#' + dataTarget : null\"\n    [attr.data-bs-toggle]=\"dataToggle\"\n    [attr.data-bs-dismiss]=\"dataDismiss\"\n  >\n    <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n  </button>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OButtonComponent } from './o-button.component';\nimport { RouterModule } from '@angular/router';\n\n@NgModule({\n  declarations: [OButtonComponent],\n  imports: [CommonModule, RouterModule],\n  exports: [OButtonComponent]\n})\nexport class OButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}