{"version":3,"file":"catrx-ui-tab.mjs","sources":["../../../../projects/catrx/ui/tab/src/group/tab-group.component.ts","../../../../projects/catrx/ui/tab/src/group/tab-group.component.html","../../../../projects/catrx/ui/tab/src/item/tab-item.component.ts","../../../../projects/catrx/ui/tab/src/item/tab-item.component.html","../../../../projects/catrx/ui/tab/src/cat-tab.module.ts","../../../../projects/catrx/ui/tab/catrx-ui-tab.ts"],"sourcesContent":["import {\n  Component,\n  Input,\n  OnInit,\n  OnChanges,\n  SimpleChanges,\n} from '@angular/core';\nimport { randomString } from '@koalarx/utils/operators/string';\n\n@Component({\n  selector: 'cat-tab-group',\n  templateUrl: './tab-group.component.html',\n})\nexport class TabGroupComponent implements OnInit, OnChanges {\n  @Input() selectedIndex = 0;\n\n  tabGroupId = randomString(10, {\n    lowercase: true,\n    uppercase: true,\n    numbers: false,\n    specialCharacters: false,\n  });\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes?.['selectedIndex']) {\n      this.autoSelect(true);\n    }\n  }\n\n  ngOnInit(): void {\n    this.autoSelect();\n  }\n\n  private autoSelect(force = false) {\n    setTimeout(() => {\n      const tabs = document.querySelectorAll(\n        `.cat-tab-group-content#${this.tabGroupId} cat-tab`\n      );\n\n      if (tabs?.length > 0) {\n        const tmpTabs: Element[] = [];\n        tabs.forEach((tab) => tmpTabs.push(tab));\n        if (\n          !tmpTabs.find((tmpTab) =>\n            tmpTab.children.item(0).classList.contains('active')\n          ) ||\n          force\n        ) {\n          tabs.forEach((tab) => {\n            tab.children.item(0).classList.remove('active');\n            tab.children.item(1).classList.remove('active');\n          });\n\n          tabs[this.selectedIndex].children.item(0).classList.add('active');\n          tabs[this.selectedIndex].children.item(1).classList.add('active');\n        }\n      }\n    }, 50);\n  }\n}\n","<div [id]=\"tabGroupId\" class=\"cat-tab-group-content\">\n  <ng-content></ng-content>\n</div>\n","import { Component, ElementRef, Input } from '@angular/core';\n\n@Component({\n  selector: 'cat-tab[label]',\n  templateUrl: './tab-item.component.html',\n})\nexport class TabItemComponent {\n  @Input() label: string;\n  @Input() active?: boolean = false;\n\n  constructor(private element: ElementRef<HTMLElement>) {}\n\n  toggle() {\n    this.removeActiveTabs();\n    this.activeThisTab();\n  }\n\n  private activeThisTab() {\n    this.element.nativeElement.children.item(0).classList.add('active');\n    this.element.nativeElement.children.item(1).classList.add('active');\n  }\n\n  private getTabs() {\n    return this.element.nativeElement.parentElement.children;\n  }\n\n  private removeActiveTabs() {\n    const tabs = this.getTabs();\n\n    for (let t = 0; t < tabs.length; t++) {\n      tabs.item(t).children.item(0).classList.remove('active');\n      tabs.item(t).children.item(1).classList.remove('active');\n    }\n  }\n}\n","<div\n  class=\"cat-tab-item\"\n  [ngClass]=\"{ active: active }\"\n  [innerHTML]=\"label\"\n  (click)=\"toggle()\"\n></div>\n<div class=\"cat-tab-item-content\" [ngClass]=\"{ active: active }\">\n  <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TabGroupComponent } from './group/tab-group.component';\nimport { TabItemComponent } from './item/tab-item.component';\n\n@NgModule({\n  declarations: [TabGroupComponent, TabItemComponent],\n  exports: [TabGroupComponent, TabItemComponent],\n  imports: [CommonModule],\n})\nexport class CatTabModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}