ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 16.2 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-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/ng-zorro-antd-button.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { filter, startWith, takeUntil } from 'rxjs/operators';\n\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { BooleanInput } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\n\nexport type NzButtonType = 'primary' | 'default' | 'dashed' | 'link' | 'text' | null;\nexport type NzButtonShape = 'circle' | 'round' | null;\nexport type NzButtonSize = 'large' | 'default' | 'small';\n\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'button';\n\n@Component({\n selector: 'button[nz-button], a[nz-button]',\n exportAs: 'nzButton',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <i nz-icon nzType=\"loading\" *ngIf=\"nzLoading\"></i>\n <ng-content></ng-content>\n `,\n host: {\n class: 'ant-btn',\n '[class.ant-btn-primary]': `nzType === 'primary'`,\n '[class.ant-btn-dashed]': `nzType === 'dashed'`,\n '[class.ant-btn-link]': `nzType === 'link'`,\n '[class.ant-btn-text]': `nzType === 'text'`,\n '[class.ant-btn-circle]': `nzShape === 'circle'`,\n '[class.ant-btn-round]': `nzShape === 'round'`,\n '[class.ant-btn-lg]': `nzSize === 'large'`,\n '[class.ant-btn-sm]': `nzSize === 'small'`,\n '[class.ant-btn-dangerous]': `nzDanger`,\n '[class.ant-btn-loading]': `nzLoading`,\n '[class.ant-btn-background-ghost]': `nzGhost`,\n '[class.ant-btn-block]': `nzBlock`,\n '[class.ant-input-search-button]': `nzSearch`,\n '[class.ant-btn-rtl]': `dir === 'rtl'`,\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex === null ? null : tabIndex)',\n '[attr.disabled]': 'disabled || null'\n }\n})\nexport class NzButtonComponent implements OnDestroy, OnChanges, AfterViewInit, AfterContentInit, OnInit {\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n static ngAcceptInputType_nzBlock: BooleanInput;\n static ngAcceptInputType_nzGhost: BooleanInput;\n static ngAcceptInputType_nzSearch: BooleanInput;\n static ngAcceptInputType_nzLoading: BooleanInput;\n static ngAcceptInputType_nzDanger: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n\n @ContentChild(NzIconDirective, { read: ElementRef }) nzIconDirectiveElement!: ElementRef;\n @Input() @InputBoolean() nzBlock: boolean = false;\n @Input() @InputBoolean() nzGhost: boolean = false;\n @Input() @InputBoolean() nzSearch: boolean = false;\n @Input() @InputBoolean() nzLoading: boolean = false;\n @Input() @InputBoolean() nzDanger: boolean = false;\n @Input() @InputBoolean() disabled: boolean = false;\n @Input() tabIndex: number | string | null = null;\n @Input() nzType: NzButtonType = null;\n @Input() nzShape: NzButtonShape = null;\n @Input() @WithConfig() nzSize: NzButtonSize = 'default';\n dir: Direction = 'ltr';\n private destroy$ = new Subject<void>();\n private loading$ = new Subject<boolean>();\n\n insertSpan(nodes: NodeList, renderer: Renderer2): void {\n nodes.forEach(node => {\n if (node.nodeName === '#text') {\n const span = renderer.createElement('span');\n const parent = renderer.parentNode(node);\n renderer.insertBefore(parent, span, node);\n renderer.appendChild(span, node);\n }\n });\n }\n\n assertIconOnly(element: HTMLButtonElement, renderer: Renderer2): void {\n const listOfNode = Array.from(element.childNodes);\n const iconCount = listOfNode.filter(node => node.nodeName === 'I').length;\n const noText = listOfNode.every(node => node.nodeName !== '#text');\n const noSpan = listOfNode.every(node => node.nodeName !== 'SPAN');\n const isIconOnly = noSpan && noText && iconCount >= 1;\n if (isIconOnly) {\n renderer.addClass(element, 'ant-btn-icon-only');\n }\n }\n\n constructor(\n private ngZone: NgZone,\n private elementRef: ElementRef,\n private cdr: ChangeDetectorRef,\n private renderer: Renderer2,\n public nzConfigService: NzConfigService,\n @Optional() private directionality: Directionality\n ) {\n this.nzConfigService\n .getConfigChangeEventForComponent(NZ_CONFIG_MODULE_NAME)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.cdr.markForCheck();\n });\n }\n\n ngOnInit(): void {\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n\n this.dir = this.directionality.value;\n\n this.ngZone.runOutsideAngular(() => {\n // Caretaker note: this event listener could've been added through `host.click` or `HostListener`.\n // The compiler generates the `ɵɵlistener` instruction which wraps the actual listener internally into the\n // function, which runs `markDirty()` before running the actual listener (the decorated class method).\n // Since we're preventing the default behavior and stopping event propagation this doesn't require Angular to run the change detection.\n fromEvent<MouseEvent>(this.elementRef.nativeElement, 'click', { capture: true })\n .pipe(takeUntil(this.destroy$))\n .subscribe(event => {\n if ((this.disabled && (event.target as HTMLElement)?.tagName === 'A') || this.nzLoading) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n });\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { nzLoading } = changes;\n if (nzLoading) {\n this.loading$.next(this.nzLoading);\n }\n }\n\n ngAfterViewInit(): void {\n this.assertIconOnly(this.elementRef.nativeElement, this.renderer);\n this.insertSpan(this.elementRef.nativeElement.childNodes, this.renderer);\n }\n\n ngAfterContentInit(): void {\n this.loading$\n .pipe(\n startWith(this.nzLoading),\n filter(() => !!this.nzIconDirectiveElement),\n takeUntil(this.destroy$)\n )\n .subscribe(loading => {\n const nativeElement = this.nzIconDirectiveElement.nativeElement;\n if (loading) {\n this.renderer.setStyle(nativeElement, 'display', 'none');\n } else {\n this.renderer.removeStyle(nativeElement, 'display');\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nexport type NzButtonGroupSize = 'large' | 'default' | 'small';\n\n@Component({\n selector: 'nz-button-group',\n exportAs: 'nzButtonGroup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'ant-btn-group',\n '[class.ant-btn-group-lg]': `nzSize === 'large'`,\n '[class.ant-btn-group-sm]': `nzSize === 'small'`,\n '[class.ant-btn-group-rtl]': `dir === 'rtl'`\n },\n preserveWhitespaces: false,\n template: ` <ng-content></ng-content> `\n})\nexport class NzButtonGroupComponent implements OnDestroy, OnInit {\n @Input() nzSize: NzButtonGroupSize = 'default';\n\n dir: Direction = 'ltr';\n\n private destroy$ = new Subject<void>();\n\n constructor(@Optional() private directionality: Directionality) {}\n ngOnInit(): void {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ɵNzTransitionPatchModule as NzTransitionPatchModule } from 'ng-zorro-antd/core/transition-patch';\nimport { NzWaveModule } from 'ng-zorro-antd/core/wave';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { NzButtonGroupComponent } from './button-group.component';\nimport { NzButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [NzButtonComponent, NzButtonGroupComponent],\n exports: [NzButtonComponent, NzButtonGroupComponent, NzTransitionPatchModule, NzWaveModule],\n imports: [BidiModule, CommonModule, NzWaveModule, NzIconModule, NzTransitionPatchModule]\n})\nexport class NzButtonModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './button.component';\nexport * from './button-group.component';\nexport * from './button.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["NzTransitionPatchModule"],"mappings":"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"}