index.mjs.map 2.1 KB

1
  1. {"version":3,"file":"index.mjs","names":[],"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"],"mappings":";;;AAKA,MAAa,QAAQ;AAarB,MAAM,aAAa,SACjB,SACA,UACA;AACA,KAAI,WAAW,QAAQ,kBAAkB;AACvC,qBAAmB,QAAQ;EAE3B,MAAM,KAAK,SAA6B,OAAmB;GACzD,MAAM,aAAa,eAAe,MAAM;AACxC,eAAY,QAAQ,MAAM,UAAU,MAAM,CAAC,OAAO,WAAW,CAAC;;AAGhE,UAAQ,SAAS,EAAE,cAAc,IAAI;AACrC,UAAQ,iBAAiB,SAAS,IAAI,EAAE,SAAS,MAAM,CAAC;;;AAI5D,MAAM,sBAAsB,YAA0B;AACpD,KAAI,QAAQ,QAAQ,cAAc;AAChC,UAAQ,oBAAoB,SAAS,QAAQ,OAAO,aAAa;AACjE,UAAQ,SAAS;;;AAIrB,MAAM,aAAgE;CACpE,YAAY,IAAI,SAAS;AACvB,aAAW,IAAI,QAAQ,MAAM;;CAE/B,UAAU,IAAI;AACZ,qBAAmB,GAAG;;CAExB,QAAQ,IAAI,SAAS;AACnB,MAAI,QAAQ,UAAU,QAAQ,SAC5B,YAAW,IAAI,QAAQ,MAAM;;CAGlC"}