tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 2.09 kB
Source Map (JSON)
{"version":3,"file":"hover.mjs","sources":["../../src/shared/hover.ts"],"sourcesContent":["import { DirectiveBinding } from 'vue';\n\ninterface BindingObj {\n disabledHover: boolean;\n className: string;\n}\n\nconst Hover = {\n created(el: HTMLElement, binding: DirectiveBinding<BindingObj>) {\n const startTime = 50;\n const stayTime = 70;\n const { className, disabledHover = false } = binding.value;\n\n el.addEventListener(\n 'touchstart',\n () => {\n if (disabledHover) return;\n\n setTimeout(() => {\n el?.classList.add(className);\n }, startTime);\n },\n { capture: false, passive: true },\n );\n\n el.addEventListener(\n 'touchend',\n () => {\n if (disabledHover) return;\n\n setTimeout(() => {\n el?.classList.remove(className);\n }, stayTime);\n },\n false,\n );\n },\n};\n\nexport default Hover;\n"],"names":["Hover","created","el","binding","startTime","stayTime","_binding$value","value","className","_binding$value$disabl","disabledHover","addEventListener","setTimeout","classList","add","capture","passive","remove"],"mappings":";;;;;;AAOA,IAAMA,KAAQ,GAAA;AACZC,EAAAA,OAAA,WAAAA,OAAAA,CAAQC,IAAiBC,OAAuC,EAAA;IAC9D,IAAMC,SAAY,GAAA,EAAA,CAAA;IAClB,IAAMC,QAAW,GAAA,EAAA,CAAA;AACjB,IAAA,IAAAC,cAAA,GAA6CH,OAAQ,CAAAI,KAAA;MAA7CC,SAAA,GAAAF,cAAA,CAAAE,SAAA;MAAAC,qBAAA,GAAAH,cAAA,CAAWI,aAAgB;AAAhBA,MAAAA,aAAgB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,qBAAA,CAAA;AAEhCP,IAAAA,EAAA,CAAAS,gBAAA,CACD,YAAA,EACA,YAAM;AACA,MAAA,IAAAD,aAAA,EAAe,OAAA;AAEnBE,MAAAA,UAAA,CAAW,YAAM;QACXV,EAAA,KAAA,IAAA,IAAAA,EAAA,KAAA,KAAA,CAAA,IAAAA,EAAA,CAAAW,SAAA,CAAUC,IAAIN,SAAS,CAAA,CAAA;SAC1BJ,SAAS,CAAA,CAAA;AACd,KAAA,EACA;AAAEW,MAAAA,OAAA,EAAS,KAAO;AAAAC,MAAAA,OAAA,EAAS,IAAA;AAAK,KAClC,CAAA,CAAA;AAEGd,IAAAA,EAAA,CAAAS,gBAAA,CACD,UAAA,EACA,YAAM;AACA,MAAA,IAAAD,aAAA,EAAe,OAAA;AAEnBE,MAAAA,UAAA,CAAW,YAAM;QACXV,EAAA,KAAA,IAAA,IAAAA,EAAA,KAAA,KAAA,CAAA,IAAAA,EAAA,CAAAW,SAAA,CAAUI,OAAOT,SAAS,CAAA,CAAA;SAC7BH,QAAQ,CAAA,CAAA;KACb,EACA,KACF,CAAA,CAAA;AACF,GAAA;AACF;;;;"}