{"version":3,"file":"vts-voffice-ng-vts-button.mjs","sources":["../../components/button/button.component.ts","../../components/button/button-group.component.ts","../../components/button/button.module.ts","../../components/button/public-api.ts","../../components/button/vts-voffice-ng-vts-button.ts"],"sourcesContent":["/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { Direction, Directionality } from '@angular/cdk/bidi';\r\nimport {\r\n  AfterContentInit,\r\n  AfterViewInit,\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ContentChild,\r\n  ElementRef,\r\n  Input,\r\n  OnChanges,\r\n  OnDestroy,\r\n  OnInit,\r\n  Optional,\r\n  Renderer2,\r\n  SimpleChanges,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { VtsConfigKey, VtsConfigService, WithConfig } from '@vts-voffice/ng-vts/core/config';\r\nimport { BooleanInput } from '@vts-voffice/ng-vts/core/types';\r\nimport { InputBoolean } from '@vts-voffice/ng-vts/core/util';\r\n\r\nimport { VtsIconDirective } from '@vts-voffice/ng-vts/icon';\r\nimport { Subject } from 'rxjs';\r\nimport { filter, startWith, takeUntil } from 'rxjs/operators';\r\n\r\ntype VtsLegacyButtonType = 'primary' | 'default' | 'link' | 'text' | null;\r\n\r\nexport type VtsButtonType = VtsLegacyButtonType;\r\nexport type VtsButtonShape = 'circle' | 'rounded' | 'square';\r\nexport type VtsButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\nconst VTS_CONFIG_MODULE_NAME: VtsConfigKey = 'button';\r\n\r\n@Component({\r\n  selector: 'button[vts-button], a[vts-button]',\r\n  exportAs: 'vtsButton',\r\n  preserveWhitespaces: false,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  template: `\r\n    <!--\r\n    <i vts-icon vtsType=\"Sync\" *ngIf=\"vtsLoading\"></i>\r\n    -->\r\n    <ng-content></ng-content>\r\n  `,\r\n  host: {\r\n    '[class.vts-btn-primary]': `vtsType === 'primary'`,\r\n    // '[class.vts-btn-dashed]': `vtsType === 'dashed'`,\r\n    '[class.vts-btn-link]': `vtsType === 'link'`,\r\n    '[class.vts-btn-text]': `vtsType === 'text'`,\r\n    '[class.vts-btn-circle]': `vtsShape === 'circle'`,\r\n    '[class.vts-btn-rounded]': `vtsShape === 'rounded'`,\r\n    '[class.vts-btn-square]': `vtsShape === 'square'`,\r\n    '[class.vts-btn-xl]': `vtsSize === 'xl'`,\r\n    '[class.vts-btn-lg]': `vtsSize === 'lg'`,\r\n    '[class.vts-btn-md]': `vtsSize === 'md'`,\r\n    '[class.vts-btn-sm]': `vtsSize === 'sm'`,\r\n    '[class.vts-btn-xs]': `vtsSize === 'xs'`,\r\n    // '[class.vts-btn-loading]': `vtsLoading`,\r\n    // '[class.vts-btn-background-ghost]': `vtsGhost`,\r\n    '[class.vts-btn-block]': `vtsBlock`,\r\n    // '[class.vts-input-search-button]': `vtsSearch`,\r\n    '[class.vts-btn-rtl]': `dir === 'rtl'`,\r\n    '[attr.tabindex]': 'disabled ? -1 : (tabIndex === null ? null : tabIndex)',\r\n    '[attr.disabled]': 'disabled || null'\r\n  }\r\n})\r\nexport class VtsButtonComponent\r\n  implements OnDestroy, OnChanges, AfterViewInit, AfterContentInit, OnInit\r\n{\r\n  readonly _vtsModuleName: VtsConfigKey = VTS_CONFIG_MODULE_NAME;\r\n  static ngAcceptInputType_vtsBlock: BooleanInput;\r\n  // static ngAcceptInputType_vtsGhost: BooleanInput;\r\n  // static ngAcceptInputType_vtsSearch: BooleanInput;\r\n  static ngAcceptInputType_vtsLoading: BooleanInput;\r\n  static ngAcceptInputType_disabled: BooleanInput;\r\n\r\n  @ContentChild(VtsIconDirective, { read: ElementRef })\r\n  vtsIconDirectiveElement!: ElementRef;\r\n  @Input() @InputBoolean() vtsBlock: boolean = false;\r\n  // @Input() @InputBoolean() vtsGhost: boolean = false;\r\n  // @Input() @InputBoolean() vtsSearch: boolean = false;\r\n  @Input() @InputBoolean() vtsLoading: boolean = false;\r\n  @Input() @InputBoolean() disabled: boolean = false;\r\n  @Input() tabIndex: number | string | null = null;\r\n  @Input() vtsType: VtsButtonType = null;\r\n  @Input() vtsShape: VtsButtonShape = 'square';\r\n  @Input() @WithConfig() vtsSize: VtsButtonSize = 'md';\r\n  dir: Direction = 'ltr';\r\n  private destroy$ = new Subject<void>();\r\n  private loading$ = new Subject<boolean>();\r\n\r\n  insertSpan(nodes: NodeList, renderer: Renderer2): void {\r\n    nodes.forEach(node => {\r\n      if (node.nodeName === '#text') {\r\n        const span = renderer.createElement('span');\r\n        const parent = renderer.parentNode(node);\r\n        renderer.insertBefore(parent, span, node);\r\n        renderer.appendChild(span, node);\r\n      }\r\n    });\r\n  }\r\n\r\n  assertIconOnly(element: HTMLButtonElement, renderer: Renderer2): void {\r\n    const listOfNode = Array.from(element.childNodes);\r\n    const iconCount = listOfNode.filter(node => node.nodeName === 'I').length;\r\n    const noText = listOfNode.every(node => node.nodeName !== '#text');\r\n    const noSpan = listOfNode.every(node => node.nodeName !== 'SPAN');\r\n    const isIconOnly = noSpan && noText && iconCount >= 1;\r\n    if (isIconOnly) {\r\n      renderer.addClass(element, 'vts-btn-icon-only');\r\n    }\r\n  }\r\n\r\n  constructor(\r\n    private elementRef: ElementRef,\r\n    private cdr: ChangeDetectorRef,\r\n    private renderer: Renderer2,\r\n    public vtsConfigService: VtsConfigService,\r\n    @Optional() private directionality: Directionality\r\n  ) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-btn');\r\n    this.vtsConfigService\r\n      .getConfigChangeEventForComponent(VTS_CONFIG_MODULE_NAME)\r\n      .pipe(takeUntil(this.destroy$))\r\n      .subscribe(() => {\r\n        this.cdr.markForCheck();\r\n      });\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\r\n      this.dir = direction;\r\n      this.cdr.detectChanges();\r\n    });\r\n\r\n    this.dir = this.directionality.value;\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    const { vtsLoading } = changes;\r\n    if (vtsLoading) {\r\n      this.loading$.next(this.vtsLoading);\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    this.assertIconOnly(this.elementRef.nativeElement, this.renderer);\r\n    this.insertSpan(this.elementRef.nativeElement.childNodes, this.renderer);\r\n  }\r\n\r\n  ngAfterContentInit(): void {\r\n    this.loading$\r\n      .pipe(\r\n        startWith(this.vtsLoading),\r\n        filter(() => !!this.vtsIconDirectiveElement),\r\n        takeUntil(this.destroy$)\r\n      )\r\n      .subscribe(loading => {\r\n        const nativeElement = this.vtsIconDirectiveElement.nativeElement;\r\n        if (loading) {\r\n          this.renderer.setStyle(nativeElement, 'display', 'none');\r\n        } else {\r\n          this.renderer.removeStyle(nativeElement, 'display');\r\n        }\r\n      });\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { Direction, Directionality } from '@angular/cdk/bidi';\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  Input,\r\n  OnDestroy,\r\n  OnInit,\r\n  Optional,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { VtsButtonSize } from './button.component';\r\n\r\n@Component({\r\n  selector: 'vts-button-group',\r\n  exportAs: 'vtsButtonGroup',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  host: {\r\n    '[class.vts-btn-group-xl]': `vtsSize === 'xl'`,\r\n    '[class.vts-btn-group-lg]': `vtsSize === 'lg'`,\r\n    '[class.vts-btn-group-mđ]': `vtsSize === 'md'`,\r\n    '[class.vts-btn-group-sm]': `vtsSize === 'sm'`,\r\n    '[class.vts-btn-group-xs]': `vtsSize === 'xs'`,\r\n    '[class.vts-btn-group-rtl]': `dir === 'rtl'`\r\n  },\r\n  preserveWhitespaces: false,\r\n  template: `\r\n    <ng-content></ng-content>\r\n  `\r\n})\r\nexport class VtsButtonGroupComponent implements OnDestroy, OnInit {\r\n  @Input() vtsSize: VtsButtonSize = 'md';\r\n\r\n  dir: Direction = 'ltr';\r\n\r\n  private destroy$ = new Subject<void>();\r\n\r\n  constructor(private elementRef: ElementRef, @Optional() private directionality: Directionality) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-btn-group');\r\n  }\r\n  ngOnInit(): void {\r\n    this.dir = this.directionality.value;\r\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\r\n      this.dir = direction;\r\n    });\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { BidiModule } from '@angular/cdk/bidi';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { ɵVtsTransitionPatchModule as VtsTransitionPatchModule } from '@vts-voffice/ng-vts/core/transition-patch';\r\nimport { VtsWaveModule } from '@vts-voffice/ng-vts/core/wave';\r\nimport { VtsIconModule } from '@vts-voffice/ng-vts/icon';\r\nimport { VtsButtonGroupComponent } from './button-group.component';\r\nimport { VtsButtonComponent } from './button.component';\r\n\r\n@NgModule({\r\n  declarations: [VtsButtonComponent, VtsButtonGroupComponent],\r\n  exports: [VtsButtonComponent, VtsButtonGroupComponent, VtsTransitionPatchModule, VtsWaveModule],\r\n  imports: [BidiModule, CommonModule, VtsWaveModule, VtsIconModule, VtsTransitionPatchModule]\r\n})\r\nexport class VtsButtonModule {}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nexport * from './button.component';\r\nexport * from './button-group.component';\r\nexport * from './button.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","VtsTransitionPatchModule"],"mappings":"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"}