{"version":3,"file":"teenageinterface-button.mjs","sources":["../../../libs/button/src/lib/button.component.ts","../../../libs/button/src/lib/button.component.html","../../../libs/button/src/public-api.ts","../../../libs/button/src/teenageinterface-button.ts"],"sourcesContent":["/**\r\n * @Author: 0K0 <contact@oko.app>\r\n * @Date:   14-12-2024 20:56:21\r\n * @Last Modified by:   0K0 <contact@oko.app>\r\n * @Last Modified time: 14-12-2024 23:21:31\r\n */\r\nimport { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { IconsComponent } from '@teenageinterface/icons';\r\n\r\n@Component({\r\n  selector: 'tiButton',\r\n  imports: [CommonModule, IconsComponent],\r\n  templateUrl: './button.component.html',\r\n  styleUrl: './tailwind.css'\r\n})\r\nexport class ButtonComponent {\r\n\r\n  @Input() id: string | null = null;\r\n  @Input() disabled: boolean = false;\r\n  @Input() loading: boolean = false;\r\n  @Input() type: \"default\" | \"primary\" | \"destructive\" | \"outline\" | \"ghost\" | \"link\" = \"default\";\r\n\r\n  private default: string[] = [\r\n    \"py-2\",\r\n    \"px-3\",\r\n    \"h-10\",\r\n    \"bg-neutral-950\",\r\n    \"hover:bg-neutral-800\",\r\n    \"dark:bg-neutral-50\",\r\n    \"hover:dark:bg-neutral-200\",\r\n    \"text-neutral-50\",\r\n    \"dark:text-neutral-900\",\r\n    \"focus-visible:ring-2\",\r\n    \"ring-neutral-950\",\r\n    \"ring-offset-neutral-50\",\r\n    \"dark:ring-neutral-50\",\r\n    \"dark:ring-offset-neutral-950\",\r\n    \"focus-visible:ring-offset-2\",\r\n    \"focus-visible:outline-none\",\r\n    \"min-w-10\"\r\n  ];\r\n  private primary: string[] = [\r\n    \"py-2\",\r\n    \"px-3\",\r\n    \"h-10\",\r\n    \"bg-blue-800\",\r\n    \"hover:bg-blue-700\",\r\n    \"dark:bg-blue-600\",\r\n    \"hover:dark:bg-blue-700\",\r\n    \"text-neutral-50\",\r\n    \"dark:text-neutral-50\",\r\n    \"focus-visible:ring-2\",\r\n    \"ring-blue-800\",\r\n    \"ring-offset-neutral-50\",\r\n    \"dark:ring-blue-600\",\r\n    \"dark:ring-offset-neutral-950\",\r\n    \"focus-visible:ring-offset-2\",\r\n    \"focus-visible:outline-none\",\r\n    \"min-w-10\"\r\n  ];\r\n  private destructive: string[] = [\r\n    \"py-2\",\r\n    \"px-3\",\r\n    \"h-10\",\r\n    \"bg-red-800\",\r\n    \"hover:bg-red-700\",\r\n    \"dark:bg-red-600\",\r\n    \"hover:dark:bg-red-700\",\r\n    \"text-neutral-50\",\r\n    \"dark:text-neutral-50\",\r\n    \"focus-visible:ring-2\",\r\n    \"ring-red-800\",\r\n    \"ring-offset-neutral-50\",\r\n    \"dark:ring-red-600\",\r\n    \"dark:ring-offset-neutral-950\",\r\n    \"focus-visible:ring-offset-2\",\r\n    \"focus-visible:outline-none\",\r\n    \"min-w-10\"\r\n  ];\r\n  private outline: string[] = [\r\n    \"py-2\",\r\n    \"px-3\",\r\n    \"h-10\",\r\n    \"bg-transparent\",\r\n    \"border\",\r\n    \"border-neutral-300\",\r\n    \"hover:border-neutral-400\",\r\n    \"dark:border-neutral-800\",\r\n    \"hover:dark:border-neutral-700\",\r\n    \"text-neutral-700\",\r\n    \"hover:text-neutral-900\",\r\n    \"dark:\",\r\n    \"hover:dark:text-neutral-50\",\r\n    \"dark:text-neutral-300\",\r\n    \"focus-visible:ring-2\",\r\n    \"ring-neutral-950\",\r\n    \"ring-offset-neutral-50\",\r\n    \"dark:ring-neutral-50\",\r\n    \"dark:ring-offset-neutral-950\",\r\n    \"focus-visible:ring-offset-2\",\r\n    \"focus-visible:outline-none\",\r\n    \"min-w-10\"\r\n  ];\r\n  private ghost: string[] = [\r\n    \"py-2\",\r\n    \"px-3\",\r\n    \"h-10\",\r\n    \"bg-transparent\",\r\n    \"hover:bg-neutral-200\",\r\n    \"hover:dark:bg-neutral-900\",\r\n    \"text-neutral-600\",\r\n    \"hover:text-neutral-800\",\r\n    \"dark:text-neutral-300\",\r\n    \"hover:dark:text-neutral-100\",\r\n    \"focus-visible:ring-2\",\r\n    \"ring-neutral-400\",\r\n    \"ring-offset-neutral-50\",\r\n    \"dark:ring-neutral-800\",\r\n    \"dark:ring-offset-neutral-950\",\r\n    \"focus-visible:ring-offset-2\",\r\n    \"focus-visible:outline-none\",\r\n    \"min-w-10\"\r\n  ];\r\n  private link: string[] = [\r\n    \"rounded-none\",\r\n    \"bg-transparent\",\r\n    \"border-b\",\r\n    \"border-transparent\",\r\n    \"hover:border-neutral-800\",\r\n    \"hover:dark:border-neutral-50\",\r\n    \"text-neutral-900\",\r\n    \"dark:text-neutral-50\",\r\n    \"focus-visible:outline-none\",\r\n  ];\r\n\r\n  private commonClasses: string[] = [\r\n    \"cursor-pointer\",\r\n    \"transition\",\r\n    \"duration-300\",\r\n    \"active:scale-97\",\r\n    \"rounded-lg\",\r\n    \"disabled:opacity-50\",\r\n    \"disabled:pointer-events-none\",\r\n    \"font-medium\",\r\n    \"inline-flex\",\r\n    \"items-center\",\r\n    \"justify-center\",\r\n    \"gap-2\",\r\n    \"text-sm\"\r\n  ];\r\n\r\n  @Output()\r\n  onClick = new EventEmitter<Event>();\r\n\r\n  public get classes(): string[] {\r\n    const classMap: { [key in typeof this.type]: string[] } = {\r\n      default: this.default,\r\n      primary: this.primary,\r\n      destructive: this.destructive,\r\n      outline: this.outline,\r\n      ghost: this.ghost,\r\n      link: this.link,\r\n    };\r\n\r\n    return [...this.commonClasses, ...(classMap[this.type] || classMap.default), this.loading ? \"pointer-events-none opacity-80 dark:opacity-70\" : \"\"];\r\n  }\r\n}\r\n","<button [id]=\"id\" [ngClass]=\"classes\" [disabled]=\"disabled\">\r\n  <tiIcon *ngIf=\"loading\" icon=\"load\" other=\"spinning\" />\r\n  <span *ngIf=\"loading\">Please wait</span>\r\n  <ng-content *ngIf=\"!loading\"></ng-content>\r\n</button>\r\n","/*\r\n * Public API Surface of button\r\n */\r\nexport * from './lib/button.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}