@tamagui/floating 2.7.7 → 3.0.0-beta.637.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Floating.cjs +10 -11
- package/dist/cjs/Floating.native.cjs +37 -0
- package/dist/cjs/Floating.native.js +20 -20
- package/dist/cjs/Floating.native.js.map +1 -1
- package/dist/cjs/index.cjs +45 -46
- package/dist/cjs/index.native.cjs +74 -0
- package/dist/cjs/index.native.js +45 -45
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/interactions/PopupTriggerMap.cjs +36 -39
- package/dist/cjs/interactions/PopupTriggerMap.native.cjs +96 -0
- package/dist/cjs/interactions/PopupTriggerMap.native.js +76 -75
- package/dist/cjs/interactions/PopupTriggerMap.native.js.map +1 -1
- package/dist/cjs/interactions/createFloatingEvents.cjs +36 -39
- package/dist/cjs/interactions/createFloatingEvents.native.cjs +52 -0
- package/dist/cjs/interactions/createFloatingEvents.native.js +39 -41
- package/dist/cjs/interactions/createFloatingEvents.native.js.map +1 -1
- package/dist/cjs/interactions/safePolygon.cjs +263 -252
- package/dist/cjs/interactions/safePolygon.native.cjs +294 -0
- package/dist/cjs/interactions/safePolygon.native.js +271 -259
- package/dist/cjs/interactions/safePolygon.native.js.map +1 -1
- package/dist/cjs/interactions/types.cjs +10 -11
- package/dist/cjs/interactions/types.native.cjs +19 -0
- package/dist/cjs/interactions/types.native.js +10 -10
- package/dist/cjs/interactions/types.native.js.map +1 -1
- package/dist/cjs/interactions/useClick.cjs +96 -105
- package/dist/cjs/interactions/useClick.native.cjs +122 -0
- package/dist/cjs/interactions/useClick.native.js +101 -109
- package/dist/cjs/interactions/useClick.native.js.map +1 -1
- package/dist/cjs/interactions/useDelayGroup.cjs +86 -91
- package/dist/cjs/interactions/useDelayGroup.native.cjs +119 -0
- package/dist/cjs/interactions/useDelayGroup.native.js +92 -96
- package/dist/cjs/interactions/useDelayGroup.native.js.map +1 -1
- package/dist/cjs/interactions/useFocus.cjs +108 -115
- package/dist/cjs/interactions/useFocus.native.cjs +131 -0
- package/dist/cjs/interactions/useFocus.native.js +114 -120
- package/dist/cjs/interactions/useFocus.native.js.map +1 -1
- package/dist/cjs/interactions/useHover.cjs +321 -335
- package/dist/cjs/interactions/useHover.native.cjs +357 -0
- package/dist/cjs/interactions/useHover.native.js +333 -347
- package/dist/cjs/interactions/useHover.native.js.map +1 -1
- package/dist/cjs/interactions/useInnerOffset.cjs +103 -111
- package/dist/cjs/interactions/useInnerOffset.native.cjs +132 -0
- package/dist/cjs/interactions/useInnerOffset.native.js +113 -120
- package/dist/cjs/interactions/useInnerOffset.native.js.map +1 -1
- package/dist/cjs/interactions/useInteractions.cjs +85 -90
- package/dist/cjs/interactions/useInteractions.native.cjs +199 -0
- package/dist/cjs/interactions/useInteractions.native.js +180 -195
- package/dist/cjs/interactions/useInteractions.native.js.map +1 -1
- package/dist/cjs/interactions/useListNavigation.cjs +404 -390
- package/dist/cjs/interactions/useListNavigation.native.cjs +446 -0
- package/dist/cjs/interactions/useListNavigation.native.js +416 -401
- package/dist/cjs/interactions/useListNavigation.native.js.map +1 -1
- package/dist/cjs/interactions/useRole.cjs +92 -106
- package/dist/cjs/interactions/useRole.native.cjs +121 -0
- package/dist/cjs/interactions/useRole.native.js +103 -116
- package/dist/cjs/interactions/useRole.native.js.map +1 -1
- package/dist/cjs/interactions/useTypeahead.cjs +115 -129
- package/dist/cjs/interactions/useTypeahead.native.cjs +144 -0
- package/dist/cjs/interactions/useTypeahead.native.js +128 -141
- package/dist/cjs/interactions/useTypeahead.native.js.map +1 -1
- package/dist/cjs/interactions/utils.cjs +126 -143
- package/dist/cjs/interactions/utils.native.cjs +209 -0
- package/dist/cjs/interactions/utils.native.js +138 -154
- package/dist/cjs/interactions/utils.native.js.map +1 -1
- package/dist/cjs/middleware/inner.cjs +74 -101
- package/dist/cjs/middleware/inner.native.cjs +102 -0
- package/dist/cjs/middleware/inner.native.js +83 -109
- package/dist/cjs/middleware/inner.native.js.map +1 -1
- package/dist/cjs/useFloating.cjs +34 -46
- package/dist/cjs/useFloating.native.cjs +56 -0
- package/dist/cjs/useFloating.native.js +37 -48
- package/dist/cjs/useFloating.native.js.map +1 -1
- package/dist/esm/Floating.mjs +1 -2
- package/dist/esm/Floating.native.js +6 -4
- package/dist/esm/Floating.native.js.map +1 -1
- package/dist/esm/index.js +4 -5
- package/dist/esm/index.mjs +4 -5
- package/dist/esm/index.native.js +4 -5
- package/dist/esm/interactions/PopupTriggerMap.mjs +23 -22
- package/dist/esm/interactions/PopupTriggerMap.mjs.map +1 -1
- package/dist/esm/interactions/PopupTriggerMap.native.js +62 -58
- package/dist/esm/interactions/PopupTriggerMap.native.js.map +1 -1
- package/dist/esm/interactions/createFloatingEvents.mjs +22 -21
- package/dist/esm/interactions/createFloatingEvents.mjs.map +1 -1
- package/dist/esm/interactions/createFloatingEvents.native.js +25 -24
- package/dist/esm/interactions/createFloatingEvents.native.js.map +1 -1
- package/dist/esm/interactions/safePolygon.mjs +250 -234
- package/dist/esm/interactions/safePolygon.mjs.map +1 -1
- package/dist/esm/interactions/safePolygon.native.js +258 -242
- package/dist/esm/interactions/safePolygon.native.js.map +1 -1
- package/dist/esm/interactions/types.mjs +0 -2
- package/dist/esm/interactions/types.native.js +0 -2
- package/dist/esm/interactions/useClick.mjs +83 -87
- package/dist/esm/interactions/useClick.mjs.map +1 -1
- package/dist/esm/interactions/useClick.native.js +88 -92
- package/dist/esm/interactions/useClick.native.js.map +1 -1
- package/dist/esm/interactions/useDelayGroup.mjs +68 -65
- package/dist/esm/interactions/useDelayGroup.mjs.map +1 -1
- package/dist/esm/interactions/useDelayGroup.native.js +74 -71
- package/dist/esm/interactions/useDelayGroup.native.js.map +1 -1
- package/dist/esm/interactions/useFocus.mjs +95 -97
- package/dist/esm/interactions/useFocus.mjs.map +1 -1
- package/dist/esm/interactions/useFocus.native.js +101 -103
- package/dist/esm/interactions/useFocus.native.js.map +1 -1
- package/dist/esm/interactions/useHover.mjs +304 -310
- package/dist/esm/interactions/useHover.mjs.map +1 -1
- package/dist/esm/interactions/useHover.native.js +316 -323
- package/dist/esm/interactions/useHover.native.js.map +1 -1
- package/dist/esm/interactions/useInnerOffset.mjs +87 -85
- package/dist/esm/interactions/useInnerOffset.mjs.map +1 -1
- package/dist/esm/interactions/useInnerOffset.native.js +97 -95
- package/dist/esm/interactions/useInnerOffset.native.js.map +1 -1
- package/dist/esm/interactions/useInteractions.mjs +71 -72
- package/dist/esm/interactions/useInteractions.mjs.map +1 -1
- package/dist/esm/interactions/useInteractions.native.js +166 -178
- package/dist/esm/interactions/useInteractions.native.js.map +1 -1
- package/dist/esm/interactions/useListNavigation.mjs +392 -373
- package/dist/esm/interactions/useListNavigation.mjs.map +1 -1
- package/dist/esm/interactions/useListNavigation.native.js +404 -385
- package/dist/esm/interactions/useListNavigation.native.js.map +1 -1
- package/dist/esm/interactions/useRole.mjs +76 -80
- package/dist/esm/interactions/useRole.mjs.map +1 -1
- package/dist/esm/interactions/useRole.native.js +87 -91
- package/dist/esm/interactions/useRole.native.js.map +1 -1
- package/dist/esm/interactions/useTypeahead.mjs +102 -111
- package/dist/esm/interactions/useTypeahead.mjs.map +1 -1
- package/dist/esm/interactions/useTypeahead.native.js +115 -124
- package/dist/esm/interactions/useTypeahead.native.js.map +1 -1
- package/dist/esm/interactions/utils.mjs +91 -106
- package/dist/esm/interactions/utils.mjs.map +1 -1
- package/dist/esm/interactions/utils.native.js +103 -118
- package/dist/esm/interactions/utils.native.js.map +1 -1
- package/dist/esm/middleware/inner.mjs +58 -75
- package/dist/esm/middleware/inner.mjs.map +1 -1
- package/dist/esm/middleware/inner.native.js +67 -84
- package/dist/esm/middleware/inner.native.js.map +1 -1
- package/dist/esm/useFloating.mjs +17 -21
- package/dist/esm/useFloating.mjs.map +1 -1
- package/dist/esm/useFloating.native.js +19 -23
- package/dist/esm/useFloating.native.js.map +1 -1
- package/package.json +6 -5
- package/types/interactions/PopupTriggerMap.d.ts.map +1 -1
- package/types/interactions/useInteractions.d.ts.map +1 -1
- package/types/middleware/inner.d.ts.map +1 -1
- package/types/useFloating.d.ts.map +1 -1
- package/dist/esm/Floating.mjs.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/interactions/types.mjs.map +0 -1
- package/dist/esm/interactions/types.native.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useHover_exports","__export","getDelay","useHover","module","exports","React","__toESM","require","import_use_event","import_utils","safePolygonIdentifier","prop","pointerType","isMouseLikePointerType","context","props","arguments","length","open","onOpenChange","dataRef","events","elements","enabled","delay","handleClose","mouseOnly","restMs","move","handleCloseRef","useRef","current","delayRef","openRef","restMsRef","stableOnOpenChange","useEvent","pointerTypeRef","timeoutRef","handlerRef","restTimeoutRef","blockMouseMoveRef","performedPointerEventsMutationRef","unbindMouseMoveRef","restTimeoutPendingRef","isHoverOpen","_dataRef_current_openEvent","type","openEvent","includes","useEffect","onOpenChange2","param","open2","clearTimeoutIfSet","on","off","closeWithDelay","event","runElseBranch","reason","closeDelay","window","setTimeout","cleanupMouseMoveHandler","handleCloseActiveRef","clearPointerEvents","body","getDocument","floating","style","pointerEvents","removeAttribute","isClickLikeOpenEvent","onReferenceMouseEnter","openDelay","onReferenceMouseLeave","_context_triggerElements","triggerElements","hasElement","relatedTarget","doc","placement","reference3","domReference","floating2","x","clientX","y","clientY","reference","onClose","handler","addEventListener","removeEventListener","shouldClose","contains","onScrollMouseLeave","_handleCloseRef_current","call","onFloatingMouseEnter","onFloatingMouseLeave","isElement","reference2","once","useLayoutEffect","_handleCloseRef_current___options","__options","blockPointerEvents","floatingEl","setAttribute","ref","useMemo","setPointerRef","onPointerDown","onPointerEnter","onMouseMove","nativeEvent","handleMouseMove"],"sources":["../../../src/interactions/useHover.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"useHover.native.js","names":[],"sources":["cjs/interactions/useHover.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useHover_exports = {};\n__export(useHover_exports, {\n getDelay: () => getDelay,\n useHover: () => useHover\n});\nmodule.exports = __toCommonJS(useHover_exports);\nvar React = __toESM(require(\"react\"), 1);\nvar import_use_event = require(\"@tamagui/use-event\");\nvar import_utils = require(\"./utils\");\nvar safePolygonIdentifier = \"data-floating-ui-safe-polygon\";\nfunction getDelay(value, prop, pointerType) {\n if (pointerType && !(0, import_utils.isMouseLikePointerType)(pointerType)) {\n return 0;\n }\n if (typeof value === \"number\") {\n return value;\n }\n return value === null || value === void 0 ? void 0 : value[prop];\n}\nfunction useHover(context) {\n var props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var { open, onOpenChange, dataRef, events, elements } = context;\n var { enabled = true, delay = 0, handleClose = null, mouseOnly = false, restMs = 0, move = true } = props;\n var handleCloseRef = React.useRef(handleClose);\n handleCloseRef.current = handleClose;\n var delayRef = React.useRef(delay);\n delayRef.current = delay;\n var openRef = React.useRef(open);\n openRef.current = open;\n var restMsRef = React.useRef(restMs);\n restMsRef.current = restMs;\n var stableOnOpenChange = (0, import_use_event.useEvent)(onOpenChange);\n var pointerTypeRef = React.useRef(void 0);\n var timeoutRef = React.useRef(-1);\n var handlerRef = React.useRef(void 0);\n var restTimeoutRef = React.useRef(-1);\n var blockMouseMoveRef = React.useRef(true);\n var performedPointerEventsMutationRef = React.useRef(false);\n var unbindMouseMoveRef = React.useRef(function() {\n });\n var restTimeoutPendingRef = React.useRef(false);\n var isHoverOpen = (0, import_use_event.useEvent)(function() {\n var _dataRef_current_openEvent;\n var type = (_dataRef_current_openEvent = dataRef.current.openEvent) === null || _dataRef_current_openEvent === void 0 ? void 0 : _dataRef_current_openEvent.type;\n return (type === null || type === void 0 ? void 0 : type.includes(\"mouse\")) && type !== \"mousedown\";\n });\n React.useEffect(function() {\n if (!enabled) return;\n if (!events) return;\n function onOpenChange2(param) {\n var { open: open2 } = param;\n if (!open2) {\n (0, import_utils.clearTimeoutIfSet)(timeoutRef);\n (0, import_utils.clearTimeoutIfSet)(restTimeoutRef);\n blockMouseMoveRef.current = true;\n restTimeoutPendingRef.current = false;\n }\n }\n events.on(\"openchange\", onOpenChange2);\n return function() {\n events.off(\"openchange\", onOpenChange2);\n };\n }, [\n enabled,\n events\n ]);\n var closeWithDelay = (0, import_use_event.useEvent)(function(event) {\n var runElseBranch = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true, reason = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"hover\";\n var closeDelay = getDelay(delayRef.current, \"close\", pointerTypeRef.current);\n if (closeDelay && !handlerRef.current) {\n (0, import_utils.clearTimeoutIfSet)(timeoutRef);\n timeoutRef.current = window.setTimeout(function() {\n return stableOnOpenChange(false, event, reason);\n }, closeDelay);\n } else if (runElseBranch) {\n (0, import_utils.clearTimeoutIfSet)(timeoutRef);\n stableOnOpenChange(false, event, reason);\n }\n });\n var cleanupMouseMoveHandler = (0, import_use_event.useEvent)(function() {\n unbindMouseMoveRef.current();\n handlerRef.current = void 0;\n if (context.handleCloseActiveRef) {\n context.handleCloseActiveRef.current = false;\n }\n });\n var clearPointerEvents = (0, import_use_event.useEvent)(function() {\n if (performedPointerEventsMutationRef.current) {\n var body = (0, import_utils.getDocument)(elements.floating).body;\n body.style.pointerEvents = \"\";\n body.removeAttribute(safePolygonIdentifier);\n performedPointerEventsMutationRef.current = false;\n }\n });\n var isClickLikeOpenEvent = (0, import_use_event.useEvent)(function() {\n return dataRef.current.openEvent ? [\n \"click\",\n \"mousedown\"\n ].includes(dataRef.current.openEvent.type) : false;\n });\n React.useEffect(function() {\n if (!enabled) return;\n function onReferenceMouseEnter(event) {\n (0, import_utils.clearTimeoutIfSet)(timeoutRef);\n blockMouseMoveRef.current = false;\n if (mouseOnly && !(0, import_utils.isMouseLikePointerType)(pointerTypeRef.current) || restMsRef.current > 0 && !getDelay(delayRef.current, \"open\")) {\n return;\n }\n var openDelay = getDelay(delayRef.current, \"open\", pointerTypeRef.current);\n if (openDelay) {\n timeoutRef.current = window.setTimeout(function() {\n if (!openRef.current) {\n stableOnOpenChange(true, event, \"hover\");\n }\n }, openDelay);\n } else if (!open) {\n stableOnOpenChange(true, event, \"hover\");\n }\n }\n function onReferenceMouseLeave(event) {\n var _context_triggerElements;\n if (isClickLikeOpenEvent()) {\n clearPointerEvents();\n return;\n }\n if ((_context_triggerElements = context.triggerElements) === null || _context_triggerElements === void 0 ? void 0 : _context_triggerElements.hasElement(event.relatedTarget)) {\n return;\n }\n unbindMouseMoveRef.current();\n var doc = (0, import_utils.getDocument)(elements.floating);\n (0, import_utils.clearTimeoutIfSet)(restTimeoutRef);\n restTimeoutPendingRef.current = false;\n if (handleCloseRef.current) {\n if (!open) {\n (0, import_utils.clearTimeoutIfSet)(timeoutRef);\n }\n var placement = dataRef.current.placement || \"bottom\";\n var reference3 = elements.domReference;\n var floating2 = elements.floating;\n if (!reference3 || !floating2) return;\n handlerRef.current = handleCloseRef.current({\n x: event.clientX,\n y: event.clientY,\n placement,\n elements: {\n reference: reference3,\n floating: floating2,\n domReference: reference3\n },\n onClose() {\n if (context.handleCloseActiveRef) {\n context.handleCloseActiveRef.current = false;\n }\n clearPointerEvents();\n cleanupMouseMoveHandler();\n if (!isClickLikeOpenEvent()) {\n closeWithDelay(event, true, \"safe-polygon\");\n }\n }\n });\n if (context.handleCloseActiveRef) {\n context.handleCloseActiveRef.current = true;\n }\n var handler = handlerRef.current;\n doc.addEventListener(\"mousemove\", handler);\n unbindMouseMoveRef.current = function() {\n doc.removeEventListener(\"mousemove\", handler);\n };\n return;\n }\n var shouldClose = pointerTypeRef.current === \"touch\" ? !(0, import_utils.contains)(elements.floating, event.relatedTarget) : true;\n if (shouldClose) {\n closeWithDelay(event);\n }\n }\n function onScrollMouseLeave(event) {\n var _context_triggerElements, _handleCloseRef_current;\n if (isClickLikeOpenEvent()) return;\n if ((_context_triggerElements = context.triggerElements) === null || _context_triggerElements === void 0 ? void 0 : _context_triggerElements.hasElement(event.relatedTarget)) {\n return;\n }\n var placement = dataRef.current.placement || \"bottom\";\n var reference3 = elements.domReference;\n var floating2 = elements.floating;\n if (!reference3 || !floating2) return;\n (_handleCloseRef_current = handleCloseRef.current) === null || _handleCloseRef_current === void 0 ? void 0 : _handleCloseRef_current.call(handleCloseRef, {\n x: event.clientX,\n y: event.clientY,\n placement,\n elements: {\n reference: reference3,\n floating: floating2,\n domReference: reference3\n },\n onClose() {\n clearPointerEvents();\n cleanupMouseMoveHandler();\n if (!isClickLikeOpenEvent()) {\n closeWithDelay(event);\n }\n }\n })(event);\n }\n function onFloatingMouseEnter() {\n (0, import_utils.clearTimeoutIfSet)(timeoutRef);\n }\n function onFloatingMouseLeave(event) {\n var _context_triggerElements;\n if (isClickLikeOpenEvent()) return;\n if ((_context_triggerElements = context.triggerElements) === null || _context_triggerElements === void 0 ? void 0 : _context_triggerElements.hasElement(event.relatedTarget)) {\n return;\n }\n closeWithDelay(event, false);\n }\n if ((0, import_utils.isElement)(elements.domReference)) {\n var reference2 = elements.domReference;\n var floating = elements.floating;\n if (open) {\n reference2.addEventListener(\"mouseleave\", onScrollMouseLeave);\n }\n if (move) {\n reference2.addEventListener(\"mousemove\", onReferenceMouseEnter, {\n once: true\n });\n }\n reference2.addEventListener(\"mouseenter\", onReferenceMouseEnter);\n reference2.addEventListener(\"mouseleave\", onReferenceMouseLeave);\n if (floating) {\n floating.addEventListener(\"mouseleave\", onScrollMouseLeave);\n floating.addEventListener(\"mouseenter\", onFloatingMouseEnter);\n floating.addEventListener(\"mouseleave\", onFloatingMouseLeave);\n }\n return function() {\n if (open) {\n reference2.removeEventListener(\"mouseleave\", onScrollMouseLeave);\n }\n if (move) {\n reference2.removeEventListener(\"mousemove\", onReferenceMouseEnter);\n }\n reference2.removeEventListener(\"mouseenter\", onReferenceMouseEnter);\n reference2.removeEventListener(\"mouseleave\", onReferenceMouseLeave);\n if (floating) {\n floating.removeEventListener(\"mouseleave\", onScrollMouseLeave);\n floating.removeEventListener(\"mouseenter\", onFloatingMouseEnter);\n floating.removeEventListener(\"mouseleave\", onFloatingMouseLeave);\n }\n cleanupMouseMoveHandler();\n };\n }\n }, [\n elements,\n enabled,\n context,\n mouseOnly,\n move,\n open,\n dataRef\n ]);\n React.useLayoutEffect(function() {\n var _handleCloseRef_current___options, _handleCloseRef_current;\n if (!enabled) return;\n if (open && ((_handleCloseRef_current = handleCloseRef.current) === null || _handleCloseRef_current === void 0 ? void 0 : (_handleCloseRef_current___options = _handleCloseRef_current.__options) === null || _handleCloseRef_current___options === void 0 ? void 0 : _handleCloseRef_current___options.blockPointerEvents) && isHoverOpen()) {\n performedPointerEventsMutationRef.current = true;\n var floatingEl = elements.floating;\n if ((0, import_utils.isElement)(elements.domReference) && floatingEl) {\n var body = (0, import_utils.getDocument)(elements.floating).body;\n body.setAttribute(safePolygonIdentifier, \"\");\n var ref = elements.domReference;\n body.style.pointerEvents = \"none\";\n ref.style.pointerEvents = \"auto\";\n floatingEl.style.pointerEvents = \"auto\";\n return function() {\n body.style.pointerEvents = \"\";\n ref.style.pointerEvents = \"\";\n floatingEl.style.pointerEvents = \"\";\n };\n }\n }\n }, [\n enabled,\n open,\n elements,\n isHoverOpen\n ]);\n React.useLayoutEffect(function() {\n if (!open) {\n pointerTypeRef.current = void 0;\n restTimeoutPendingRef.current = false;\n cleanupMouseMoveHandler();\n clearPointerEvents();\n }\n }, [\n open\n ]);\n React.useEffect(function() {\n return function() {\n cleanupMouseMoveHandler();\n (0, import_utils.clearTimeoutIfSet)(timeoutRef);\n (0, import_utils.clearTimeoutIfSet)(restTimeoutRef);\n clearPointerEvents();\n };\n }, [\n enabled,\n elements.domReference\n ]);\n var reference = React.useMemo(function() {\n function setPointerRef(event) {\n pointerTypeRef.current = event.pointerType;\n }\n return {\n onPointerDown: setPointerRef,\n onPointerEnter: setPointerRef,\n onMouseMove(event) {\n var { nativeEvent } = event;\n function handleMouseMove() {\n if (!blockMouseMoveRef.current && !openRef.current) {\n stableOnOpenChange(true, nativeEvent, \"hover\");\n }\n }\n if (mouseOnly && !(0, import_utils.isMouseLikePointerType)(pointerTypeRef.current)) {\n return;\n }\n if (open || restMsRef.current === 0) {\n return;\n }\n if (restTimeoutPendingRef.current && Math.pow(event.movementX, 2) + Math.pow(event.movementY, 2) < 2) {\n return;\n }\n (0, import_utils.clearTimeoutIfSet)(restTimeoutRef);\n if (pointerTypeRef.current === \"touch\") {\n handleMouseMove();\n } else {\n restTimeoutPendingRef.current = true;\n restTimeoutRef.current = window.setTimeout(handleMouseMove, restMsRef.current);\n }\n }\n };\n }, [\n mouseOnly,\n open\n ]);\n return React.useMemo(function() {\n return enabled ? {\n reference\n } : {};\n }, [\n enabled,\n reference\n ]);\n}\n//# sourceMappingURL=useHover.js.map\n"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -5,124 +6,115 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
|
5
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
8
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
for (var name in all) __defProp(target, name, {
|
|
10
|
+
get: all[name],
|
|
11
|
+
enumerable: true
|
|
12
|
+
});
|
|
12
13
|
};
|
|
13
14
|
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
17
|
+
get: () => from[key],
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return to;
|
|
21
22
|
};
|
|
22
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
-
value: mod,
|
|
29
|
-
enumerable: true
|
|
23
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
24
|
+
value: mod,
|
|
25
|
+
enumerable: true
|
|
30
26
|
}) : target, mod));
|
|
31
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
32
|
-
value: true
|
|
33
|
-
}), mod);
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
34
28
|
var useInnerOffset_exports = {};
|
|
35
|
-
__export(useInnerOffset_exports, {
|
|
36
|
-
useInnerOffset: () => useInnerOffset
|
|
37
|
-
});
|
|
29
|
+
__export(useInnerOffset_exports, { useInnerOffset: () => useInnerOffset });
|
|
38
30
|
module.exports = __toCommonJS(useInnerOffset_exports);
|
|
39
31
|
var React = __toESM(require("react"), 1);
|
|
40
32
|
var ReactDOM = __toESM(require("react-dom"), 1);
|
|
41
33
|
var import_use_event = require("@tamagui/use-event");
|
|
42
34
|
function useInnerOffset(context, props) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}
|
|
35
|
+
const { open, elements } = context;
|
|
36
|
+
const { enabled = true, overflowRef, scrollRef, onChange: unstable_onChange } = props;
|
|
37
|
+
const onChange = (0, import_use_event.useEvent)(unstable_onChange);
|
|
38
|
+
const controlledScrollingRef = React.useRef(false);
|
|
39
|
+
const prevScrollTopRef = React.useRef(null);
|
|
40
|
+
const initialOverflowRef = React.useRef(null);
|
|
41
|
+
React.useEffect(() => {
|
|
42
|
+
if (!enabled) return;
|
|
43
|
+
function onWheel(e) {
|
|
44
|
+
if (e.ctrlKey || !el || overflowRef.current == null) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const dY = e.deltaY;
|
|
48
|
+
const isAtTop = overflowRef.current.top >= -.5;
|
|
49
|
+
const isAtBottom = overflowRef.current.bottom >= -.5;
|
|
50
|
+
const remainingScroll = el.scrollHeight - el.clientHeight;
|
|
51
|
+
const sign = dY < 0 ? -1 : 1;
|
|
52
|
+
const method = dY < 0 ? "max" : "min";
|
|
53
|
+
if (el.scrollHeight <= el.clientHeight) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {
|
|
57
|
+
e.preventDefault();
|
|
58
|
+
ReactDOM.flushSync(() => {
|
|
59
|
+
onChange((d) => d + Math[method](dY, remainingScroll * sign));
|
|
60
|
+
});
|
|
61
|
+
} else if (/firefox/i.test(navigator.userAgent)) {
|
|
62
|
+
el.scrollTop += dY;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const el = scrollRef?.current || elements.floating;
|
|
66
|
+
if (open && el) {
|
|
67
|
+
el.addEventListener("wheel", onWheel);
|
|
68
|
+
requestAnimationFrame(() => {
|
|
69
|
+
prevScrollTopRef.current = el.scrollTop;
|
|
70
|
+
if (overflowRef.current != null) {
|
|
71
|
+
initialOverflowRef.current = { ...overflowRef.current };
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
return () => {
|
|
75
|
+
prevScrollTopRef.current = null;
|
|
76
|
+
initialOverflowRef.current = null;
|
|
77
|
+
el.removeEventListener("wheel", onWheel);
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
}, [
|
|
81
|
+
enabled,
|
|
82
|
+
open,
|
|
83
|
+
elements.floating,
|
|
84
|
+
overflowRef,
|
|
85
|
+
scrollRef,
|
|
86
|
+
onChange
|
|
87
|
+
]);
|
|
88
|
+
const floating = React.useMemo(() => ({
|
|
89
|
+
onKeyDown() {
|
|
90
|
+
controlledScrollingRef.current = true;
|
|
91
|
+
},
|
|
92
|
+
onWheel() {
|
|
93
|
+
controlledScrollingRef.current = false;
|
|
94
|
+
},
|
|
95
|
+
onPointerMove() {
|
|
96
|
+
controlledScrollingRef.current = false;
|
|
97
|
+
},
|
|
98
|
+
onScroll() {
|
|
99
|
+
const el = scrollRef?.current || elements.floating;
|
|
100
|
+
if (!overflowRef.current || !el || !controlledScrollingRef.current) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (prevScrollTopRef.current !== null) {
|
|
104
|
+
const scrollDiff = el.scrollTop - prevScrollTopRef.current;
|
|
105
|
+
if (overflowRef.current.bottom < -.5 && scrollDiff < -1 || overflowRef.current.top < -.5 && scrollDiff > 1) {
|
|
106
|
+
ReactDOM.flushSync(() => onChange((d) => d + scrollDiff));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
requestAnimationFrame(() => {
|
|
110
|
+
prevScrollTopRef.current = el.scrollTop;
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}), [
|
|
114
|
+
elements.floating,
|
|
115
|
+
onChange,
|
|
116
|
+
overflowRef,
|
|
117
|
+
scrollRef
|
|
118
|
+
]);
|
|
119
|
+
return React.useMemo(() => enabled ? { floating } : {}, [enabled, floating]);
|
|
120
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var __create = Object.create;
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __export = (target, all) => {
|
|
11
|
+
for (var name in all) __defProp(target, name, {
|
|
12
|
+
get: all[name],
|
|
13
|
+
enumerable: true
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
19
|
+
get: () => from[key],
|
|
20
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
26
|
+
value: mod,
|
|
27
|
+
enumerable: true
|
|
28
|
+
}) : target, mod));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var useInnerOffset_exports = {};
|
|
31
|
+
__export(useInnerOffset_exports, { useInnerOffset: () => useInnerOffset });
|
|
32
|
+
module.exports = __toCommonJS(useInnerOffset_exports);
|
|
33
|
+
var React = __toESM(require("react"), 1);
|
|
34
|
+
var ReactDOM = __toESM(require("react-dom"), 1);
|
|
35
|
+
var import_use_event = require("@tamagui/use-event");
|
|
36
|
+
function useInnerOffset(context, props) {
|
|
37
|
+
var { open, elements } = context;
|
|
38
|
+
var { enabled = true, overflowRef, scrollRef, onChange: unstable_onChange } = props;
|
|
39
|
+
var onChange = (0, import_use_event.useEvent)(unstable_onChange);
|
|
40
|
+
var controlledScrollingRef = React.useRef(false);
|
|
41
|
+
var prevScrollTopRef = React.useRef(null);
|
|
42
|
+
var initialOverflowRef = React.useRef(null);
|
|
43
|
+
React.useEffect(function() {
|
|
44
|
+
if (!enabled) return;
|
|
45
|
+
function onWheel(e) {
|
|
46
|
+
if (e.ctrlKey || !el || overflowRef.current == null) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
var dY = e.deltaY;
|
|
50
|
+
var isAtTop = overflowRef.current.top >= -.5;
|
|
51
|
+
var isAtBottom = overflowRef.current.bottom >= -.5;
|
|
52
|
+
var remainingScroll = el.scrollHeight - el.clientHeight;
|
|
53
|
+
var sign = dY < 0 ? -1 : 1;
|
|
54
|
+
var method = dY < 0 ? "max" : "min";
|
|
55
|
+
if (el.scrollHeight <= el.clientHeight) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {
|
|
59
|
+
e.preventDefault();
|
|
60
|
+
ReactDOM.flushSync(function() {
|
|
61
|
+
onChange(function(d) {
|
|
62
|
+
return d + Math[method](dY, remainingScroll * sign);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
} else if (/firefox/i.test(navigator.userAgent)) {
|
|
66
|
+
el.scrollTop += dY;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
var el = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || elements.floating;
|
|
70
|
+
if (open && el) {
|
|
71
|
+
el.addEventListener("wheel", onWheel);
|
|
72
|
+
requestAnimationFrame(function() {
|
|
73
|
+
prevScrollTopRef.current = el.scrollTop;
|
|
74
|
+
if (overflowRef.current != null) {
|
|
75
|
+
initialOverflowRef.current = { ...overflowRef.current };
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
return function() {
|
|
79
|
+
prevScrollTopRef.current = null;
|
|
80
|
+
initialOverflowRef.current = null;
|
|
81
|
+
el.removeEventListener("wheel", onWheel);
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}, [
|
|
85
|
+
enabled,
|
|
86
|
+
open,
|
|
87
|
+
elements.floating,
|
|
88
|
+
overflowRef,
|
|
89
|
+
scrollRef,
|
|
90
|
+
onChange
|
|
91
|
+
]);
|
|
92
|
+
var floating = React.useMemo(function() {
|
|
93
|
+
return {
|
|
94
|
+
onKeyDown() {
|
|
95
|
+
controlledScrollingRef.current = true;
|
|
96
|
+
},
|
|
97
|
+
onWheel() {
|
|
98
|
+
controlledScrollingRef.current = false;
|
|
99
|
+
},
|
|
100
|
+
onPointerMove() {
|
|
101
|
+
controlledScrollingRef.current = false;
|
|
102
|
+
},
|
|
103
|
+
onScroll() {
|
|
104
|
+
var el = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || elements.floating;
|
|
105
|
+
if (!overflowRef.current || !el || !controlledScrollingRef.current) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
if (prevScrollTopRef.current !== null) {
|
|
109
|
+
var scrollDiff = el.scrollTop - prevScrollTopRef.current;
|
|
110
|
+
if (overflowRef.current.bottom < -.5 && scrollDiff < -1 || overflowRef.current.top < -.5 && scrollDiff > 1) {
|
|
111
|
+
ReactDOM.flushSync(function() {
|
|
112
|
+
return onChange(function(d) {
|
|
113
|
+
return d + scrollDiff;
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
requestAnimationFrame(function() {
|
|
119
|
+
prevScrollTopRef.current = el.scrollTop;
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
}, [
|
|
124
|
+
elements.floating,
|
|
125
|
+
onChange,
|
|
126
|
+
overflowRef,
|
|
127
|
+
scrollRef
|
|
128
|
+
]);
|
|
129
|
+
return React.useMemo(function() {
|
|
130
|
+
return enabled ? { floating } : {};
|
|
131
|
+
}, [enabled, floating]);
|
|
132
|
+
}
|