UNPKG

@tarojs/components

Version:
68 lines (62 loc) 1.72 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); const index = require('./index-a7069008.js'); const index$1 = require('./index-b873e40f.js'); const coverViewCss = "taro-cover-view-core{display:block}"; const CoverView = class { constructor(hostRef) { index.registerInstance(this, hostRef); this.onLongPress = index.createEvent(this, "longpress", 7); this.startTime = 0; this.animation = undefined; this.hoverClass = undefined; this.hoverStartTime = 50; this.hoverStayTime = 400; this.hover = false; this.touch = false; } onTouchStart() { if (this.hoverClass) { this.touch = true; setTimeout(() => { if (this.touch) { this.hover = true; } }, this.hoverStartTime); } this.timeoutEvent = setTimeout(() => { this.onLongPress.emit(); }, 350); this.startTime = Date.now(); } onTouchMove() { clearTimeout(this.timeoutEvent); } onTouchEnd() { const spanTime = Date.now() - this.startTime; if (spanTime < 350) { clearTimeout(this.timeoutEvent); } if (this.hoverClass) { this.touch = false; setTimeout(() => { if (!this.touch) { this.hover = false; } }, this.hoverStayTime); } } render() { const cls = index$1.classnames({ [`${this.hoverClass}`]: this.hover }); let attr = {}; if (!!this.animation) { attr['animation'] = this.animation; attr['data-animation'] = this.animation; } return (index.h(index.Host, Object.assign({ class: cls }, attr), index.h("slot", null))); } }; CoverView.style = coverViewCss; exports.taro_cover_view_core = CoverView;