useTouchEvents.js 971 B

123456789101112131415161718192021222324252627
  1. import React from 'react';
  2. export function useTouchEvents(_ref) {
  3. var getEnvironmentProps = _ref.getEnvironmentProps,
  4. panelElement = _ref.panelElement,
  5. formElement = _ref.formElement,
  6. inputElement = _ref.inputElement;
  7. React.useEffect(function () {
  8. if (!(panelElement && formElement && inputElement)) {
  9. return undefined;
  10. }
  11. var _getEnvironmentProps = getEnvironmentProps({
  12. panelElement: panelElement,
  13. formElement: formElement,
  14. inputElement: inputElement
  15. }),
  16. onTouchStart = _getEnvironmentProps.onTouchStart,
  17. onTouchMove = _getEnvironmentProps.onTouchMove;
  18. window.addEventListener('touchstart', onTouchStart);
  19. window.addEventListener('touchmove', onTouchMove);
  20. return function () {
  21. window.removeEventListener('touchstart', onTouchStart);
  22. window.removeEventListener('touchmove', onTouchMove);
  23. };
  24. }, [getEnvironmentProps, panelElement, formElement, inputElement]);
  25. }