UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

1 lines 16.1 kB
{"version":3,"file":"ng-zorro-antd-core-wave.mjs","sources":["../../components/core/wave/nz-wave-renderer.ts","../../components/core/wave/nz-wave.directive.ts","../../components/core/wave/nz-wave.module.ts","../../components/core/wave/public-api.ts","../../components/core/wave/ng-zorro-antd-core-wave.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 { Platform } from '@angular/cdk/platform';\nimport { NgZone } from '@angular/core';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport class NzWaveRenderer {\n private waveTransitionDuration = 400;\n private styleForPseudo: HTMLStyleElement | null = null;\n private extraNode: HTMLDivElement | null = null;\n private lastTime = 0;\n private platform!: Platform;\n clickHandler: (event: MouseEvent) => void;\n get waveAttributeName(): string {\n return this.insertExtraNode ? 'ant-click-animating' : 'ant-click-animating-without-extra-node';\n }\n\n constructor(\n private triggerElement: HTMLElement,\n private ngZone: NgZone,\n private insertExtraNode: boolean,\n private platformId: NzSafeAny\n ) {\n this.platform = new Platform(this.platformId);\n this.clickHandler = this.onClick.bind(this);\n this.bindTriggerEvent();\n }\n\n onClick = (event: MouseEvent): void => {\n if (\n !this.triggerElement ||\n !this.triggerElement.getAttribute ||\n this.triggerElement.getAttribute('disabled') ||\n (event.target as HTMLElement).tagName === 'INPUT' ||\n this.triggerElement.className.indexOf('disabled') >= 0\n ) {\n return;\n }\n this.fadeOutWave();\n };\n\n bindTriggerEvent(): void {\n if (this.platform.isBrowser) {\n this.ngZone.runOutsideAngular(() => {\n this.removeTriggerEvent();\n if (this.triggerElement) {\n this.triggerElement.addEventListener('click', this.clickHandler, true);\n }\n });\n }\n }\n\n removeTriggerEvent(): void {\n if (this.triggerElement) {\n this.triggerElement.removeEventListener('click', this.clickHandler, true);\n }\n }\n\n removeStyleAndExtraNode(): void {\n if (this.styleForPseudo && document.body.contains(this.styleForPseudo)) {\n document.body.removeChild(this.styleForPseudo);\n this.styleForPseudo = null;\n }\n if (this.insertExtraNode && this.triggerElement.contains(this.extraNode)) {\n this.triggerElement.removeChild(this.extraNode as Node);\n }\n }\n\n destroy(): void {\n this.removeTriggerEvent();\n this.removeStyleAndExtraNode();\n }\n\n private fadeOutWave(): void {\n const node = this.triggerElement;\n const waveColor = this.getWaveColor(node);\n node.setAttribute(this.waveAttributeName, 'true');\n if (Date.now() < this.lastTime + this.waveTransitionDuration) {\n return;\n }\n\n if (this.isValidColor(waveColor)) {\n if (!this.styleForPseudo) {\n this.styleForPseudo = document.createElement('style');\n }\n\n this.styleForPseudo.innerHTML = `\n [ant-click-animating-without-extra-node='true']::after, .ant-click-animating-node {\n --antd-wave-shadow-color: ${waveColor};\n }`;\n document.body.appendChild(this.styleForPseudo);\n }\n\n if (this.insertExtraNode) {\n if (!this.extraNode) {\n this.extraNode = document.createElement('div');\n }\n this.extraNode.className = 'ant-click-animating-node';\n node.appendChild(this.extraNode);\n }\n\n this.lastTime = Date.now();\n\n this.runTimeoutOutsideZone(() => {\n node.removeAttribute(this.waveAttributeName);\n this.removeStyleAndExtraNode();\n }, this.waveTransitionDuration);\n }\n\n private isValidColor(color: string): boolean {\n return (\n !!color &&\n color !== '#ffffff' &&\n color !== 'rgb(255, 255, 255)' &&\n this.isNotGrey(color) &&\n !/rgba\\(\\d*, \\d*, \\d*, 0\\)/.test(color) &&\n color !== 'transparent'\n );\n }\n\n private isNotGrey(color: string): boolean {\n const match = color.match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\.\\d]*)?\\)/);\n if (match && match[1] && match[2] && match[3]) {\n return !(match[1] === match[2] && match[2] === match[3]);\n }\n return true;\n }\n\n private getWaveColor(node: HTMLElement): string {\n const nodeStyle = getComputedStyle(node);\n return (\n nodeStyle.getPropertyValue('border-top-color') || // Firefox Compatible\n nodeStyle.getPropertyValue('border-color') ||\n nodeStyle.getPropertyValue('background-color')\n );\n }\n\n private runTimeoutOutsideZone(fn: () => void, delay: number): void {\n this.ngZone.runOutsideAngular(() => setTimeout(fn, delay));\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 {\n Directive,\n ElementRef,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n PLATFORM_ID\n} from '@angular/core';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NzWaveRenderer } from './nz-wave-renderer';\n\nexport interface NzWaveConfig {\n disabled?: boolean;\n}\n\nexport const NZ_WAVE_GLOBAL_DEFAULT_CONFIG: NzWaveConfig = {\n disabled: false\n};\n\nexport const NZ_WAVE_GLOBAL_CONFIG = new InjectionToken<NzWaveConfig>('nz-wave-global-options', {\n providedIn: 'root',\n factory: NZ_WAVE_GLOBAL_CONFIG_FACTORY\n});\n\nexport function NZ_WAVE_GLOBAL_CONFIG_FACTORY(): NzWaveConfig {\n return NZ_WAVE_GLOBAL_DEFAULT_CONFIG;\n}\n\n@Directive({\n selector: '[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])',\n exportAs: 'nzWave'\n})\nexport class NzWaveDirective implements OnInit, OnDestroy {\n @Input() nzWaveExtraNode = false;\n\n private waveRenderer?: NzWaveRenderer;\n private waveDisabled: boolean = false;\n\n get disabled(): boolean {\n return this.waveDisabled;\n }\n\n get rendererRef(): NzWaveRenderer | undefined {\n return this.waveRenderer;\n }\n\n constructor(\n private ngZone: NgZone,\n private elementRef: ElementRef,\n @Optional() @Inject(NZ_WAVE_GLOBAL_CONFIG) private config: NzWaveConfig,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) private animationType: string,\n @Inject(PLATFORM_ID) private platformId: NzSafeAny\n ) {\n this.waveDisabled = this.isConfigDisabled();\n }\n\n isConfigDisabled(): boolean {\n let disabled = false;\n if (this.config && typeof this.config.disabled === 'boolean') {\n disabled = this.config.disabled;\n }\n if (this.animationType === 'NoopAnimations') {\n disabled = true;\n }\n return disabled;\n }\n\n ngOnDestroy(): void {\n if (this.waveRenderer) {\n this.waveRenderer.destroy();\n }\n }\n\n ngOnInit(): void {\n this.renderWaveIfEnabled();\n }\n\n renderWaveIfEnabled(): void {\n if (!this.waveDisabled && this.elementRef.nativeElement) {\n this.waveRenderer = new NzWaveRenderer(\n this.elementRef.nativeElement,\n this.ngZone,\n this.nzWaveExtraNode,\n this.platformId\n );\n }\n }\n\n disable(): void {\n this.waveDisabled = true;\n if (this.waveRenderer) {\n this.waveRenderer.removeTriggerEvent();\n this.waveRenderer.removeStyleAndExtraNode();\n }\n }\n\n enable(): void {\n // config priority\n this.waveDisabled = this.isConfigDisabled() || false;\n if (this.waveRenderer) {\n this.waveRenderer.bindTriggerEvent();\n }\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 { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\n\nimport { NzWaveDirective } from './nz-wave.directive';\n\n@NgModule({\n imports: [PlatformModule],\n exports: [NzWaveDirective],\n declarations: [NzWaveDirective]\n})\nexport class NzWaveModule {}\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 './nz-wave-renderer';\nexport * from './nz-wave.directive';\nexport * from './nz-wave.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}