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