Buckets:
Quantumbraid/trainingdata / ui /node_modules /@react-aria /interactions /dist /useInteractOutside.main.js
| var $9Icr4$reactariautils = require("@react-aria/utils"); | |
| var $9Icr4$react = require("react"); | |
| function $parcel$export(e, n, v, s) { | |
| Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true}); | |
| } | |
| $parcel$export(module.exports, "useInteractOutside", () => $edcfa848c42f94f4$export$872b660ac5a1ff98); | |
| /* | |
| * Copyright 2020 Adobe. All rights reserved. | |
| * This file is licensed to you 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 REPRESENTATIONS | |
| * OF ANY KIND, either express or implied. See the License for the specific language | |
| * governing permissions and limitations under the License. | |
| */ // Portions of the code in this file are based on code from react. | |
| // Original licensing for the following can be found in the | |
| // NOTICE file in the root directory of this source tree. | |
| // See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions | |
| function $edcfa848c42f94f4$export$872b660ac5a1ff98(props) { | |
| let { ref: ref, onInteractOutside: onInteractOutside, isDisabled: isDisabled, onInteractOutsideStart: onInteractOutsideStart } = props; | |
| let stateRef = (0, $9Icr4$react.useRef)({ | |
| isPointerDown: false, | |
| ignoreEmulatedMouseEvents: false | |
| }); | |
| let onPointerDown = (0, $9Icr4$reactariautils.useEffectEvent)((e)=>{ | |
| if (onInteractOutside && $edcfa848c42f94f4$var$isValidEvent(e, ref)) { | |
| if (onInteractOutsideStart) onInteractOutsideStart(e); | |
| stateRef.current.isPointerDown = true; | |
| } | |
| }); | |
| let triggerInteractOutside = (0, $9Icr4$reactariautils.useEffectEvent)((e)=>{ | |
| if (onInteractOutside) onInteractOutside(e); | |
| }); | |
| (0, $9Icr4$react.useEffect)(()=>{ | |
| let state = stateRef.current; | |
| if (isDisabled) return; | |
| const element = ref.current; | |
| const documentObject = (0, $9Icr4$reactariautils.getOwnerDocument)(element); | |
| // Use pointer events if available. Otherwise, fall back to mouse and touch events. | |
| if (typeof PointerEvent !== 'undefined') { | |
| let onPointerUp = (e)=>{ | |
| if (state.isPointerDown && $edcfa848c42f94f4$var$isValidEvent(e, ref)) triggerInteractOutside(e); | |
| state.isPointerDown = false; | |
| }; | |
| // changing these to capture phase fixed combobox | |
| documentObject.addEventListener('pointerdown', onPointerDown, true); | |
| documentObject.addEventListener('pointerup', onPointerUp, true); | |
| return ()=>{ | |
| documentObject.removeEventListener('pointerdown', onPointerDown, true); | |
| documentObject.removeEventListener('pointerup', onPointerUp, true); | |
| }; | |
| } else { | |
| let onMouseUp = (e)=>{ | |
| if (state.ignoreEmulatedMouseEvents) state.ignoreEmulatedMouseEvents = false; | |
| else if (state.isPointerDown && $edcfa848c42f94f4$var$isValidEvent(e, ref)) triggerInteractOutside(e); | |
| state.isPointerDown = false; | |
| }; | |
| let onTouchEnd = (e)=>{ | |
| state.ignoreEmulatedMouseEvents = true; | |
| if (state.isPointerDown && $edcfa848c42f94f4$var$isValidEvent(e, ref)) triggerInteractOutside(e); | |
| state.isPointerDown = false; | |
| }; | |
| documentObject.addEventListener('mousedown', onPointerDown, true); | |
| documentObject.addEventListener('mouseup', onMouseUp, true); | |
| documentObject.addEventListener('touchstart', onPointerDown, true); | |
| documentObject.addEventListener('touchend', onTouchEnd, true); | |
| return ()=>{ | |
| documentObject.removeEventListener('mousedown', onPointerDown, true); | |
| documentObject.removeEventListener('mouseup', onMouseUp, true); | |
| documentObject.removeEventListener('touchstart', onPointerDown, true); | |
| documentObject.removeEventListener('touchend', onTouchEnd, true); | |
| }; | |
| } | |
| }, [ | |
| ref, | |
| isDisabled, | |
| onPointerDown, | |
| triggerInteractOutside | |
| ]); | |
| } | |
| function $edcfa848c42f94f4$var$isValidEvent(event, ref) { | |
| if (event.button > 0) return false; | |
| if (event.target) { | |
| // if the event target is no longer in the document, ignore | |
| const ownerDocument = event.target.ownerDocument; | |
| if (!ownerDocument || !ownerDocument.documentElement.contains(event.target)) return false; | |
| // If the target is within a top layer element (e.g. toasts), ignore. | |
| if (event.target.closest('[data-react-aria-top-layer]')) return false; | |
| } | |
| return ref.current && !ref.current.contains(event.target); | |
| } | |
| //# sourceMappingURL=useInteractOutside.main.js.map | |
Xet Storage Details
- Size:
- 5.04 kB
- Xet hash:
- d74c60f31af919547b173138f4f11cca54b4c8fbf72eb8d1675863688fc31739
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.