UNPKG

material-motion

Version:

Makes it easy to add rich, interactive motion to your application.

44 lines 2.5 kB
/** @license * Copyright 2016 - present The Material Motion Authors. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy * of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations * under the License. */ import { convertTouchEventsToPointerEvents, } from './convertTouchEventsToPointerEvents'; import { getEventStreamFromElement, } from './getEventStreamFromElement'; const notPassive = { passive: false, capture: true, }; export function getPointerEventStreamsFromElement(element) { const commonStreams = { contextMenu$: getEventStreamFromElement('click', element), // These are streams that a gesture recognizer may want to interrupt when it // recognizes a gesture is happening. capturedClick$: getEventStreamFromElement('click', element, notPassive), capturedDragStart$: getEventStreamFromElement('dragstart', element, notPassive), }; if (typeof PointerEvent !== 'undefined') { return Object.assign({ down$: getEventStreamFromElement('pointerdown', element), move$: getEventStreamFromElement('pointermove', element), up$: getEventStreamFromElement('pointerup', element), cancel$: getEventStreamFromElement('pointercancel', element) }, commonStreams); } else { return Object.assign({ down$: getEventStreamFromElement('mousedown', element).merge([ convertTouchEventsToPointerEvents(getEventStreamFromElement('touchstart', element)), ]), move$: getEventStreamFromElement('mousemove', element).merge([ convertTouchEventsToPointerEvents(getEventStreamFromElement('touchmove', element)), ]), up$: getEventStreamFromElement('mouseup', element).merge([ convertTouchEventsToPointerEvents(getEventStreamFromElement('touchend', element)), ]), cancel$: convertTouchEventsToPointerEvents(getEventStreamFromElement('touchcancel', element)) }, commonStreams); } } export default getPointerEventStreamsFromElement; //# sourceMappingURL=getPointerEventStreamsFromElement.js.map