index.mjs 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import normalizeWheel from 'normalize-wheel-es';
  2. const SCOPE = "_Mousewheel";
  3. const mousewheel = function(element, callback) {
  4. if (element && element.addEventListener) {
  5. removeWheelHandler(element);
  6. const fn = function(event) {
  7. const normalized = normalizeWheel(event);
  8. callback && Reflect.apply(callback, this, [event, normalized]);
  9. };
  10. element[SCOPE] = { wheelHandler: fn };
  11. element.addEventListener("wheel", fn, { passive: true });
  12. }
  13. };
  14. const removeWheelHandler = (element) => {
  15. var _a;
  16. if ((_a = element[SCOPE]) == null ? void 0 : _a.wheelHandler) {
  17. element.removeEventListener("wheel", element[SCOPE].wheelHandler);
  18. element[SCOPE] = null;
  19. }
  20. };
  21. const Mousewheel = {
  22. beforeMount(el, binding) {
  23. mousewheel(el, binding.value);
  24. },
  25. unmounted(el) {
  26. removeWheelHandler(el);
  27. },
  28. updated(el, binding) {
  29. if (binding.value !== binding.oldValue) {
  30. mousewheel(el, binding.value);
  31. }
  32. }
  33. };
  34. export { SCOPE, Mousewheel as default };
  35. //# sourceMappingURL=index.mjs.map