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