{"version":3,"file":"axulus-uikit-tabview.mjs","sources":["../../src/app/components/tabview/tabview.ts","../../src/app/components/tabview/axulus-uikit-tabview.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n  AfterContentInit,\n  AfterViewChecked,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  ElementRef,\n  EmbeddedViewRef,\n  EventEmitter,\n  forwardRef,\n  Inject,\n  Input,\n  NgModule,\n  OnDestroy,\n  Output,\n  QueryList,\n  TemplateRef,\n  ViewChild,\n  ViewContainerRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { BlockableUI, PrimeTemplate, SharedModule } from '@axulus/uikit/api';\nimport { DomHandler } from '@axulus/uikit/dom';\nimport { RippleModule } from '@axulus/uikit/ripple';\nimport { TooltipModule } from '@axulus/uikit/tooltip';\nimport { Subscription } from 'rxjs';\n\nlet idx: number = 0;\n\n@Component({\n  selector: 'p-tabPanel',\n  template: `\n    <div\n      [attr.id]=\"id\"\n      class=\"p-tabview-panel\"\n      [hidden]=\"!selected\"\n      role=\"tabpanel\"\n      [attr.aria-hidden]=\"!selected\"\n      [attr.aria-labelledby]=\"id + '-label'\"\n      *ngIf=\"!closed\"\n    >\n      <ng-content></ng-content>\n      <ng-container *ngIf=\"contentTemplate && (cache ? loaded : selected)\">\n        <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n      </ng-container>\n    </div>\n  `,\n  host: {\n    class: 'p-element'\n  }\n})\nexport class TabPanel implements AfterContentInit, OnDestroy {\n  @Input() closable: boolean;\n\n  @Input() headerStyle: any;\n\n  @Input() headerStyleClass: string;\n\n  @Input() cache: boolean = true;\n\n  @Input() tooltip: any;\n\n  @Input() tooltipPosition: string = 'top';\n\n  @Input() tooltipPositionStyle: string = 'absolute';\n\n  @Input() tooltipStyleClass: string;\n\n  @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n  closed: boolean;\n\n  view: EmbeddedViewRef<any>;\n\n  _selected: boolean;\n\n  _disabled: boolean;\n\n  _header: string;\n\n  _leftIcon: string;\n\n  _rightIcon: string;\n\n  loaded: boolean;\n\n  id: string = `p-tabpanel-${idx++}`;\n\n  contentTemplate: TemplateRef<any>;\n\n  headerTemplate: TemplateRef<any>;\n\n  tabView: TabView;\n\n  constructor(@Inject(forwardRef(() => TabView)) tabView, public viewContainer: ViewContainerRef, public cd: ChangeDetectorRef) {\n    this.tabView = tabView as TabView;\n  }\n\n  ngAfterContentInit() {\n    this.templates.forEach((item) => {\n      switch (item.getType()) {\n        case 'header':\n          this.headerTemplate = item.template;\n          break;\n\n        case 'content':\n          this.contentTemplate = item.template;\n          break;\n\n        default:\n          this.contentTemplate = item.template;\n          break;\n      }\n    });\n  }\n\n  @Input() get selected(): boolean {\n    return this._selected;\n  }\n\n  set selected(val: boolean) {\n    this._selected = val;\n\n    if (!this.loaded) {\n      this.cd.detectChanges();\n    }\n\n    if (val) this.loaded = true;\n  }\n\n  @Input() get disabled(): boolean {\n    return this._disabled;\n  }\n\n  set disabled(disabled: boolean) {\n    this._disabled = disabled;\n    this.tabView.cd.markForCheck();\n  }\n\n  @Input() get header(): string {\n    return this._header;\n  }\n\n  set header(header: string) {\n    this._header = header;\n\n    // We have to wait for the rendering and then retrieve the actual size element from the DOM.\n    // in future `Promise.resolve` can be changed to `queueMicrotask` (if ie11 support will be dropped)\n    Promise.resolve().then(() => {\n      this.tabView.updateInkBar();\n      this.tabView.cd.markForCheck();\n    });\n  }\n\n  @Input() get leftIcon(): string {\n    return this._leftIcon;\n  }\n\n  set leftIcon(leftIcon: string) {\n    this._leftIcon = leftIcon;\n    this.tabView.cd.markForCheck();\n  }\n\n  @Input() get rightIcon(): string {\n    return this._rightIcon;\n  }\n\n  set rightIcon(rightIcon: string) {\n    this._rightIcon = rightIcon;\n    this.tabView.cd.markForCheck();\n  }\n\n  ngOnDestroy() {\n    this.view = null;\n  }\n}\n\n@Component({\n  selector: 'p-tabView',\n  template: `\n    <div [ngClass]=\"{ 'p-tabview p-component': true, 'p-tabview-scrollable': scrollable }\" [ngStyle]=\"style\" [class]=\"styleClass\">\n      <div class=\"p-tabview-nav-container\">\n        <button\n          *ngIf=\"scrollable && !backwardIsDisabled\"\n          #prevBtn\n          class=\"p-tabview-nav-prev p-tabview-nav-btn p-link\"\n          (click)=\"navBackward()\"\n          type=\"button\"\n          pRipple\n        >\n          <span class=\"pi pi-chevron-left\"></span>\n        </button>\n        <div #content class=\"p-tabview-nav-content\" (scroll)=\"onScroll($event)\">\n          <ul #navbar class=\"p-tabview-nav\" role=\"tablist\">\n            <ng-template ngFor let-tab [ngForOf]=\"tabs\">\n              <li\n                role=\"presentation\"\n                [ngClass]=\"{ 'p-highlight': tab.selected, 'p-disabled': tab.disabled }\"\n                [ngStyle]=\"tab.headerStyle\"\n                [class]=\"tab.headerStyleClass\"\n                *ngIf=\"!tab.closed\"\n              >\n                <a\n                  role=\"tab\"\n                  class=\"p-tabview-nav-link\"\n                  [attr.id]=\"tab.id + '-label'\"\n                  [attr.aria-selected]=\"tab.selected\"\n                  [attr.aria-controls]=\"tab.id\"\n                  [pTooltip]=\"tab.tooltip\"\n                  [tooltipPosition]=\"tab.tooltipPosition\"\n                  [attr.aria-selected]=\"tab.selected\"\n                  [positionStyle]=\"tab.tooltipPositionStyle\"\n                  [tooltipStyleClass]=\"tab.tooltipStyleClass\"\n                  (click)=\"open($event, tab)\"\n                  (keydown.enter)=\"open($event, tab)\"\n                  pRipple\n                  [attr.tabindex]=\"tab.disabled ? null : '0'\"\n                >\n                  <ng-container *ngIf=\"!tab.headerTemplate\">\n                    <span class=\"p-tabview-left-icon\" [ngClass]=\"tab.leftIcon\" *ngIf=\"tab.leftIcon\"></span>\n                    <span class=\"p-tabview-title\">{{ tab.header }}</span>\n                    <span class=\"p-tabview-right-icon\" [ngClass]=\"tab.rightIcon\" *ngIf=\"tab.rightIcon\"></span>\n                  </ng-container>\n                  <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\n                  <span *ngIf=\"tab.closable\" class=\"p-tabview-close pi pi-times\" (click)=\"close($event, tab)\"></span>\n                </a>\n              </li>\n            </ng-template>\n            <li #inkbar class=\"p-tabview-ink-bar\"></li>\n          </ul>\n        </div>\n        <button\n          *ngIf=\"scrollable && !forwardIsDisabled\"\n          #nextBtn\n          class=\"p-tabview-nav-next p-tabview-nav-btn p-link\"\n          (click)=\"navForward()\"\n          type=\"button\"\n          pRipple\n        >\n          <span class=\"pi pi-chevron-right\"></span>\n        </button>\n      </div>\n      <div class=\"p-tabview-panels\">\n        <ng-content></ng-content>\n      </div>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  styleUrls: ['./tabview.css'],\n  host: {\n    class: 'p-element'\n  }\n})\nexport class TabView implements AfterContentInit, AfterViewChecked, OnDestroy, BlockableUI {\n  @Input() orientation: string = 'top';\n\n  @Input() style: any;\n\n  @Input() styleClass: string;\n\n  @Input() controlClose: boolean;\n\n  @Input() scrollable: boolean;\n\n  @ViewChild('content') content: ElementRef;\n\n  @ViewChild('navbar') navbar: ElementRef;\n\n  @ViewChild('prevBtn') prevBtn: ElementRef;\n\n  @ViewChild('nextBtn') nextBtn: ElementRef;\n\n  @ViewChild('inkbar') inkbar: ElementRef;\n\n  @ContentChildren(TabPanel) tabPanels: QueryList<TabPanel>;\n\n  @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n  @Output() onClose: EventEmitter<any> = new EventEmitter();\n\n  @Output() activeIndexChange: EventEmitter<number> = new EventEmitter();\n\n  initialized: boolean;\n\n  tabs: TabPanel[];\n\n  _activeIndex: number;\n\n  preventActiveIndexPropagation: boolean;\n\n  tabChanged: boolean;\n\n  backwardIsDisabled: boolean = true;\n\n  forwardIsDisabled: boolean = false;\n\n  private tabChangesSubscription!: Subscription;\n\n  constructor(public el: ElementRef, public cd: ChangeDetectorRef) {}\n\n  ngAfterContentInit() {\n    this.initTabs();\n\n    this.tabChangesSubscription = this.tabPanels.changes.subscribe((_) => {\n      this.initTabs();\n    });\n  }\n\n  ngAfterViewChecked() {\n    if (this.tabChanged) {\n      this.updateInkBar();\n      this.tabChanged = false;\n    }\n  }\n\n  ngOnDestroy(): void {\n    if (this.tabChangesSubscription) {\n      this.tabChangesSubscription.unsubscribe();\n    }\n  }\n\n  initTabs(): void {\n    this.tabs = this.tabPanels.toArray();\n    let selectedTab: TabPanel = this.findSelectedTab();\n    if (!selectedTab && this.tabs.length) {\n      if (this.activeIndex != null && this.tabs.length > this.activeIndex) this.tabs[this.activeIndex].selected = true;\n      else this.tabs[0].selected = true;\n\n      this.tabChanged = true;\n    }\n\n    this.cd.markForCheck();\n  }\n\n  open(event: Event, tab: TabPanel) {\n    if (tab.disabled) {\n      if (event) {\n        event.preventDefault();\n      }\n      return;\n    }\n\n    if (!tab.selected) {\n      let selectedTab: TabPanel = this.findSelectedTab();\n      if (selectedTab) {\n        selectedTab.selected = false;\n      }\n\n      this.tabChanged = true;\n      tab.selected = true;\n      let selectedTabIndex = this.findTabIndex(tab);\n      this.preventActiveIndexPropagation = true;\n      this.activeIndexChange.emit(selectedTabIndex);\n      this.onChange.emit({ originalEvent: event, index: selectedTabIndex });\n\n      this.updateScrollBar(selectedTabIndex);\n    }\n\n    if (event) {\n      event.preventDefault();\n    }\n  }\n\n  close(event: Event, tab: TabPanel) {\n    if (this.controlClose) {\n      this.onClose.emit({\n        originalEvent: event,\n        index: this.findTabIndex(tab),\n        close: () => {\n          this.closeTab(tab);\n        }\n      });\n    } else {\n      this.closeTab(tab);\n      this.onClose.emit({\n        originalEvent: event,\n        index: this.findTabIndex(tab)\n      });\n    }\n\n    event.stopPropagation();\n  }\n\n  closeTab(tab: TabPanel) {\n    if (tab.disabled) {\n      return;\n    }\n    if (tab.selected) {\n      this.tabChanged = true;\n      tab.selected = false;\n      for (let i = 0; i < this.tabs.length; i++) {\n        let tabPanel = this.tabs[i];\n        if (!tabPanel.closed && !tab.disabled) {\n          tabPanel.selected = true;\n          break;\n        }\n      }\n    }\n\n    tab.closed = true;\n  }\n\n  findSelectedTab() {\n    for (let i = 0; i < this.tabs.length; i++) {\n      if (this.tabs[i].selected) {\n        return this.tabs[i];\n      }\n    }\n    return null;\n  }\n\n  findTabIndex(tab: TabPanel) {\n    let index = -1;\n    for (let i = 0; i < this.tabs.length; i++) {\n      if (this.tabs[i] == tab) {\n        index = i;\n        break;\n      }\n    }\n    return index;\n  }\n\n  getBlockableElement(): HTMLElement {\n    return this.el.nativeElement.children[0];\n  }\n\n  @Input() get activeIndex(): number {\n    return this._activeIndex;\n  }\n\n  set activeIndex(val: number) {\n    this._activeIndex = val;\n    if (this.preventActiveIndexPropagation) {\n      this.preventActiveIndexPropagation = false;\n      return;\n    }\n\n    if (this.tabs && this.tabs.length && this._activeIndex != null && this.tabs.length > this._activeIndex) {\n      this.findSelectedTab().selected = false;\n      this.tabs[this._activeIndex].selected = true;\n      this.tabChanged = true;\n\n      this.updateScrollBar(val);\n    }\n  }\n\n  updateInkBar() {\n    if (this.navbar) {\n      const tabHeader: HTMLElement | null = DomHandler.findSingle(this.navbar.nativeElement, 'li.p-highlight');\n\n      if (!tabHeader) {\n        return;\n      }\n\n      this.inkbar.nativeElement.style.width = DomHandler.getWidth(tabHeader) + 'px';\n      this.inkbar.nativeElement.style.left =\n        DomHandler.getOffset(tabHeader).left - DomHandler.getOffset(this.navbar.nativeElement).left + 'px';\n    }\n  }\n\n  updateScrollBar(index) {\n    let tabHeader = this.navbar.nativeElement.children[index];\n    tabHeader.scrollIntoView({ block: 'nearest' });\n  }\n\n  updateButtonState() {\n    const content = this.content.nativeElement;\n    const { scrollLeft, scrollWidth } = content;\n    const width = DomHandler.getWidth(content);\n\n    this.backwardIsDisabled = scrollLeft === 0;\n    this.forwardIsDisabled = parseInt(scrollLeft) === scrollWidth - width;\n  }\n\n  onScroll(event) {\n    this.scrollable && this.updateButtonState();\n\n    event.preventDefault();\n  }\n\n  getVisibleButtonWidths() {\n    return [this.prevBtn?.nativeElement, this.nextBtn?.nativeElement].reduce((acc, el) => (el ? acc + DomHandler.getWidth(el) : acc), 0);\n  }\n\n  navBackward() {\n    const content = this.content.nativeElement;\n    const width = DomHandler.getWidth(content) - this.getVisibleButtonWidths();\n    const pos = content.scrollLeft - width;\n    content.scrollLeft = pos <= 0 ? 0 : pos;\n  }\n\n  navForward() {\n    const content = this.content.nativeElement;\n    const width = DomHandler.getWidth(content) - this.getVisibleButtonWidths();\n    const pos = content.scrollLeft + width;\n    const lastPos = content.scrollWidth - width;\n\n    content.scrollLeft = pos >= lastPos ? lastPos : pos;\n  }\n}\n\n@NgModule({\n  imports: [CommonModule, SharedModule, TooltipModule, RippleModule],\n  exports: [TabView, TabPanel, SharedModule],\n  declarations: [TabView, TabPanel]\n})\nexport class TabViewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}