UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 2.75 kB
{"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/mousewheel/index.ts"],"sourcesContent":["import normalizeWheel from 'normalize-wheel-es'\n\nimport type { ObjectDirective } from 'vue'\nimport type { NormalizedWheelEvent } from 'normalize-wheel-es'\n\nexport const SCOPE = '_Mousewheel'\n\nexport interface WheelElement extends HTMLElement {\n [SCOPE]: null | {\n wheelHandler?: (event: WheelEvent) => void\n }\n}\n\nexport type MousewheelCallback = (\n e: WheelEvent,\n normalized: NormalizedWheelEvent\n) => void\n\nconst mousewheel = function (\n element: WheelElement,\n callback: MousewheelCallback\n) {\n if (element && element.addEventListener) {\n removeWheelHandler(element)\n\n const fn = function (this: HTMLElement, event: WheelEvent) {\n const normalized = normalizeWheel(event)\n callback && Reflect.apply(callback, this, [event, normalized])\n }\n\n element[SCOPE] = { wheelHandler: fn }\n element.addEventListener('wheel', fn, { passive: true })\n }\n}\n\nconst removeWheelHandler = (element: WheelElement) => {\n if (element[SCOPE]?.wheelHandler) {\n element.removeEventListener('wheel', element[SCOPE].wheelHandler)\n element[SCOPE] = null\n }\n}\n\nconst Mousewheel: ObjectDirective<WheelElement, MousewheelCallback> = {\n beforeMount(el, binding) {\n mousewheel(el, binding.value)\n },\n unmounted(el) {\n removeWheelHandler(el)\n },\n updated(el, binding) {\n if (binding.value !== binding.oldValue) {\n mousewheel(el, binding.value)\n }\n },\n}\n\nexport default Mousewheel\n"],"names":[],"mappings":";;AAKO,MAAM,KAAA,GAAQ;AAarB,MAAM,UAAA,GAAa,SACjB,OAAA,EACA,QAAA,EACA;AACA,EAAA,IAAI,OAAA,IAAW,QAAQ,gBAAA,EAAkB;AACvC,IAAA,kBAAA,CAAmB,OAAO,CAAA;AAE1B,IAAA,MAAM,EAAA,GAAK,SAA6B,KAAA,EAAmB;AACzD,MAAA,MAAM,UAAA,GAAa,eAAe,KAAK,CAAA;AACvC,MAAA,QAAA,IAAY,QAAQ,KAAA,CAAM,QAAA,EAAU,MAAM,CAAC,KAAA,EAAO,UAAU,CAAC,CAAA;AAAA,IAC/D,CAAA;AAEA,IAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,EAAE,YAAA,EAAc,EAAA,EAAG;AACpC,IAAA,OAAA,CAAQ,iBAAiB,OAAA,EAAS,EAAA,EAAI,EAAE,OAAA,EAAS,MAAM,CAAA;AAAA,EACzD;AACF,CAAA;AAEA,MAAM,kBAAA,GAAqB,CAAC,OAAA,KAA0B;AAnCtD,EAAA,IAAA,EAAA;AAoCE,EAAA,IAAA,CAAI,EAAA,GAAA,OAAA,CAAQ,KAAK,CAAA,KAAb,IAAA,GAAA,MAAA,GAAA,EAAA,CAAgB,YAAA,EAAc;AAChC,IAAA,OAAA,CAAQ,mBAAA,CAAoB,OAAA,EAAS,OAAA,CAAQ,KAAK,EAAE,YAAY,CAAA;AAChE,IAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,IAAA;AAAA,EACnB;AACF,CAAA;AAEA,MAAM,UAAA,GAAgE;AAAA,EACpE,WAAA,CAAY,IAAI,OAAA,EAAS;AACvB,IAAA,UAAA,CAAW,EAAA,EAAI,QAAQ,KAAK,CAAA;AAAA,EAC9B,CAAA;AAAA,EACA,UAAU,EAAA,EAAI;AACZ,IAAA,kBAAA,CAAmB,EAAE,CAAA;AAAA,EACvB,CAAA;AAAA,EACA,OAAA,CAAQ,IAAI,OAAA,EAAS;AACnB,IAAA,IAAI,OAAA,CAAQ,KAAA,KAAU,OAAA,CAAQ,QAAA,EAAU;AACtC,MAAA,UAAA,CAAW,EAAA,EAAI,QAAQ,KAAK,CAAA;AAAA,IAC9B;AAAA,EACF;AACF;;;;"}