{"version":3,"file":"axulus-uikit-splitbutton.mjs","sources":["../../src/app/components/splitbutton/splitbutton.ts","../../src/app/components/splitbutton/axulus-uikit-splitbutton.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  Input,\n  NgModule,\n  Output,\n  QueryList,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { MenuItem, PrimeTemplate } from '@axulus/uikit/api';\nimport { ButtonModule } from '@axulus/uikit/button';\nimport { TieredMenu, TieredMenuModule } from '@axulus/uikit/tieredmenu';\n\ntype SplitButtonIconPosition = 'left' | 'right';\n\n@Component({\n  selector: 'p-splitButton',\n  template: `\n    <div #container [ngClass]=\"'p-splitbutton p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\">\n      <ng-container *ngIf=\"contentTemplate; else defaultButton\">\n        <button\n          class=\"p-splitbutton-defaultbutton\"\n          type=\"button\"\n          pButton\n          [icon]=\"icon\"\n          [iconPos]=\"iconPos\"\n          (click)=\"onDefaultButtonClick($event)\"\n          [disabled]=\"disabled\"\n          [attr.tabindex]=\"tabindex\"\n        >\n          <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n        </button>\n      </ng-container>\n      <ng-template #defaultButton>\n        <button\n          #defaultbtn\n          class=\"p-splitbutton-defaultbutton\"\n          type=\"button\"\n          pButton\n          [icon]=\"icon\"\n          [iconPos]=\"iconPos\"\n          [label]=\"label\"\n          (click)=\"onDefaultButtonClick($event)\"\n          [disabled]=\"disabled\"\n          [attr.tabindex]=\"tabindex\"\n        ></button>\n      </ng-template>\n      <button\n        type=\"button\"\n        pButton\n        class=\"p-splitbutton-menubutton\"\n        icon=\"pi pi-chevron-down\"\n        (click)=\"onDropdownButtonClick($event)\"\n        [disabled]=\"disabled\"\n        [attr.aria-label]=\"expandAriaLabel\"\n      ></button>\n      <p-tieredMenu\n        #menu\n        [popup]=\"true\"\n        [model]=\"model\"\n        [style]=\"menuStyle\"\n        [styleClass]=\"menuStyleClass\"\n        [appendTo]=\"appendTo\"\n        [showTransitionOptions]=\"showTransitionOptions\"\n        [hideTransitionOptions]=\"hideTransitionOptions\"\n      ></p-tieredMenu>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  styleUrls: ['./splitbutton.css'],\n  host: {\n    class: 'p-element'\n  }\n})\nexport class SplitButton {\n  @Input() model: MenuItem[];\n\n  @Input() icon: string;\n\n  @Input() iconPos: SplitButtonIconPosition = 'left';\n\n  @Input() label: string;\n\n  @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n  @Output() onDropdownClick: EventEmitter<any> = new EventEmitter();\n\n  @Input() style: any;\n\n  @Input() styleClass: string;\n\n  @Input() menuStyle: any;\n\n  @Input() menuStyleClass: string;\n\n  @Input() disabled: boolean;\n\n  @Input() tabindex: number;\n\n  @Input() appendTo: any;\n\n  @Input() dir: string;\n\n  @Input() expandAriaLabel: string;\n\n  @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n  @Input() hideTransitionOptions: string = '.1s linear';\n\n  @ViewChild('container') containerViewChild: ElementRef;\n\n  @ViewChild('defaultbtn') buttonViewChild: ElementRef;\n\n  @ViewChild('menu') menu: TieredMenu;\n\n  @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n  contentTemplate: TemplateRef<any>;\n\n  ngAfterContentInit() {\n    this.templates.forEach((item) => {\n      switch (item.getType()) {\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  onDefaultButtonClick(event: Event) {\n    this.onClick.emit(event);\n  }\n\n  onDropdownButtonClick(event: Event) {\n    this.onDropdownClick.emit(event);\n    this.menu.toggle({ currentTarget: this.containerViewChild.nativeElement, relativeAlign: this.appendTo == null });\n  }\n}\n\n@NgModule({\n  imports: [CommonModule, ButtonModule, TieredMenuModule],\n  exports: [SplitButton],\n  declarations: [SplitButton]\n})\nexport class SplitButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}