@tamagui/floating 3.0.0-beta.669.1 → 3.0.0-beta.728.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 +0 -1
- package/dist/cjs/Floating.native.cjs +0 -1
- package/dist/cjs/Floating.native.js +0 -1
- package/dist/cjs/Floating.native.js.map +1 -1
- package/dist/cjs/index.cjs +0 -1
- package/dist/cjs/index.native.cjs +0 -1
- package/dist/cjs/index.native.js +0 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/interactions/PopupTriggerMap.cjs +0 -1
- package/dist/cjs/interactions/PopupTriggerMap.native.cjs +0 -1
- package/dist/cjs/interactions/PopupTriggerMap.native.js +0 -1
- package/dist/cjs/interactions/PopupTriggerMap.native.js.map +1 -1
- package/dist/cjs/interactions/createFloatingEvents.cjs +0 -1
- package/dist/cjs/interactions/createFloatingEvents.native.cjs +0 -1
- package/dist/cjs/interactions/createFloatingEvents.native.js +0 -1
- package/dist/cjs/interactions/createFloatingEvents.native.js.map +1 -1
- package/dist/cjs/interactions/safePolygon.cjs +0 -1
- package/dist/cjs/interactions/safePolygon.native.cjs +0 -1
- package/dist/cjs/interactions/safePolygon.native.js +0 -1
- package/dist/cjs/interactions/safePolygon.native.js.map +1 -1
- package/dist/cjs/interactions/types.cjs +0 -1
- package/dist/cjs/interactions/types.native.cjs +0 -1
- package/dist/cjs/interactions/types.native.js +0 -1
- package/dist/cjs/interactions/types.native.js.map +1 -1
- package/dist/cjs/interactions/useClick.cjs +0 -1
- package/dist/cjs/interactions/useClick.native.cjs +0 -1
- package/dist/cjs/interactions/useClick.native.js +0 -1
- package/dist/cjs/interactions/useClick.native.js.map +1 -1
- package/dist/cjs/interactions/useDelayGroup.cjs +0 -1
- package/dist/cjs/interactions/useDelayGroup.native.cjs +0 -1
- package/dist/cjs/interactions/useDelayGroup.native.js +0 -1
- package/dist/cjs/interactions/useDelayGroup.native.js.map +1 -1
- package/dist/cjs/interactions/useFocus.cjs +0 -1
- package/dist/cjs/interactions/useFocus.native.cjs +0 -1
- package/dist/cjs/interactions/useFocus.native.js +0 -1
- package/dist/cjs/interactions/useFocus.native.js.map +1 -1
- package/dist/cjs/interactions/useHover.cjs +0 -1
- package/dist/cjs/interactions/useHover.native.cjs +0 -1
- package/dist/cjs/interactions/useHover.native.js +0 -1
- package/dist/cjs/interactions/useHover.native.js.map +1 -1
- package/dist/cjs/interactions/useInnerOffset.cjs +0 -1
- package/dist/cjs/interactions/useInnerOffset.native.cjs +0 -1
- package/dist/cjs/interactions/useInnerOffset.native.js +0 -1
- package/dist/cjs/interactions/useInnerOffset.native.js.map +1 -1
- package/dist/cjs/interactions/useInteractions.cjs +0 -1
- package/dist/cjs/interactions/useInteractions.native.cjs +0 -1
- package/dist/cjs/interactions/useInteractions.native.js +0 -1
- package/dist/cjs/interactions/useInteractions.native.js.map +1 -1
- package/dist/cjs/interactions/useListNavigation.cjs +0 -1
- package/dist/cjs/interactions/useListNavigation.native.cjs +0 -1
- package/dist/cjs/interactions/useListNavigation.native.js +0 -1
- package/dist/cjs/interactions/useListNavigation.native.js.map +1 -1
- package/dist/cjs/interactions/useRole.cjs +0 -1
- package/dist/cjs/interactions/useRole.native.cjs +0 -1
- package/dist/cjs/interactions/useRole.native.js +0 -1
- package/dist/cjs/interactions/useRole.native.js.map +1 -1
- package/dist/cjs/interactions/useTypeahead.cjs +0 -1
- package/dist/cjs/interactions/useTypeahead.native.cjs +0 -1
- package/dist/cjs/interactions/useTypeahead.native.js +0 -1
- package/dist/cjs/interactions/useTypeahead.native.js.map +1 -1
- package/dist/cjs/interactions/utils.cjs +0 -1
- package/dist/cjs/interactions/utils.native.cjs +0 -1
- package/dist/cjs/interactions/utils.native.js +0 -1
- package/dist/cjs/interactions/utils.native.js.map +1 -1
- package/dist/cjs/middleware/inner.cjs +0 -1
- package/dist/cjs/middleware/inner.native.cjs +0 -1
- package/dist/cjs/middleware/inner.native.js +0 -1
- package/dist/cjs/middleware/inner.native.js.map +1 -1
- package/dist/cjs/useFloating.cjs +0 -1
- package/dist/cjs/useFloating.native.cjs +0 -1
- package/dist/cjs/useFloating.native.js +0 -1
- package/dist/cjs/useFloating.native.js.map +1 -1
- package/dist/esm/interactions/PopupTriggerMap.native.js.map +1 -1
- package/dist/esm/interactions/createFloatingEvents.mjs.map +1 -1
- package/dist/esm/interactions/safePolygon.mjs.map +1 -1
- package/dist/esm/interactions/safePolygon.native.js.map +1 -1
- package/dist/esm/interactions/useFocus.mjs.map +1 -1
- package/dist/esm/interactions/useFocus.native.js.map +1 -1
- package/dist/esm/interactions/useHover.mjs.map +1 -1
- package/dist/esm/interactions/useHover.native.js.map +1 -1
- package/dist/esm/interactions/useInnerOffset.mjs.map +1 -1
- package/dist/esm/interactions/useInnerOffset.native.js.map +1 -1
- package/dist/esm/interactions/useInteractions.native.js.map +1 -1
- package/dist/esm/interactions/useTypeahead.mjs.map +1 -1
- package/dist/esm/interactions/useTypeahead.native.js.map +1 -1
- package/dist/esm/interactions/utils.mjs.map +1 -1
- package/dist/esm/interactions/utils.native.js.map +1 -1
- package/dist/esm/middleware/inner.mjs.map +1 -1
- package/dist/esm/middleware/inner.native.js.map +1 -1
- package/dist/esm/useFloating.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHover.native.js","names":[],"sources":["esm/interactions/useHover.native.js"],"sourcesContent":["import * as React from \"react\";\nimport { useEvent } from \"@tamagui/use-event\";\nimport { clearTimeoutIfSet, contains, getDocument, isElement, isMouseLikePointerType } from \"./utils\";\nvar safePolygonIdentifier = \"data-floating-ui-safe-polygon\";\nfunction getDelay(value, prop, pointerType) {\n if (pointerType && !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 = 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 = 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 clearTimeoutIfSet(timeoutRef);\n 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 = 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 clearTimeoutIfSet(timeoutRef);\n timeoutRef.current = window.setTimeout(function() {\n return stableOnOpenChange(false, event, reason);\n }, closeDelay);\n } else if (runElseBranch) {\n clearTimeoutIfSet(timeoutRef);\n stableOnOpenChange(false, event, reason);\n }\n });\n var cleanupMouseMoveHandler = useEvent(function() {\n unbindMouseMoveRef.current();\n handlerRef.current = void 0;\n if (context.handleCloseActiveRef) {\n context.handleCloseActiveRef.current = false;\n }\n });\n var clearPointerEvents = useEvent(function() {\n if (performedPointerEventsMutationRef.current) {\n var body = getDocument(elements.floating).body;\n body.style.pointerEvents = \"\";\n body.removeAttribute(safePolygonIdentifier);\n performedPointerEventsMutationRef.current = false;\n }\n });\n var isClickLikeOpenEvent = 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 clearTimeoutIfSet(timeoutRef);\n blockMouseMoveRef.current = false;\n if (mouseOnly && !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 = getDocument(elements.floating);\n clearTimeoutIfSet(restTimeoutRef);\n restTimeoutPendingRef.current = false;\n if (handleCloseRef.current) {\n if (!open) {\n 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\" ? !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 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 (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 (isElement(elements.domReference) && floatingEl) {\n var body = 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 clearTimeoutIfSet(timeoutRef);\n 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 && !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 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}\nexport {\n getDelay,\n useHover\n};\n//# sourceMappingURL=useHover.js.map\n"],"mappings":";;;;;AAGA,IAAI,wBAAwB;AAC5B,SAAS,SAAS,OAAO,MAAM,aAAa;CAC1C,IAAI,eAAe,CAAC,uBAAuB,WAAW,GAAG;EACvD,OAAO;CACT;CACA,IAAI,OAAO,UAAU,UAAU;EAC7B,OAAO;CACT;CACA,OAAO,UAAU,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM;AAC7D;AACA,SAAS,SAAS,SAAS;CACzB,IAAI,QAAQ,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK,CAAC;CAC9E,IAAI,EAAE,MAAM,cAAc,SAAS,QAAQ,aAAa;CACxD,IAAI,EAAE,UAAU,MAAM,QAAQ,GAAG,cAAc,MAAM,YAAY,OAAO,SAAS,GAAG,OAAO,SAAS;CACpG,IAAI,iBAAiB,MAAM,OAAO,WAAW;CAC7C,eAAe,UAAU;CACzB,IAAI,WAAW,MAAM,OAAO,KAAK;CACjC,SAAS,UAAU;CACnB,IAAI,UAAU,MAAM,OAAO,IAAI;CAC/B,QAAQ,UAAU;CAClB,IAAI,YAAY,MAAM,OAAO,MAAM;CACnC,UAAU,UAAU;CACpB,IAAI,qBAAqB,SAAS,YAAY;CAC9C,IAAI,iBAAiB,MAAM,OAAO,KAAK,CAAC;CACxC,IAAI,aAAa,MAAM,OAAO,CAAC,CAAC;CAChC,IAAI,aAAa,MAAM,OAAO,KAAK,CAAC;CACpC,IAAI,iBAAiB,MAAM,OAAO,CAAC,CAAC;CACpC,IAAI,oBAAoB,MAAM,OAAO,IAAI;CACzC,IAAI,oCAAoC,MAAM,OAAO,KAAK;CAC1D,IAAI,qBAAqB,MAAM,OAAO,WAAW,CACjD,CAAC;CACD,IAAI,wBAAwB,MAAM,OAAO,KAAK;CAC9C,IAAI,cAAc,SAAS,WAAW;EACpC,IAAI;EACJ,IAAI,QAAQ,6BAA6B,QAAQ,QAAQ,eAAe,QAAQ,+BAA+B,KAAK,IAAI,KAAK,IAAI,2BAA2B;EAC5J,QAAQ,SAAS,QAAQ,SAAS,KAAK,IAAI,KAAK,IAAI,KAAK,SAAS,OAAO,MAAM,SAAS;CAC1F,CAAC;CACD,MAAM,UAAU,WAAW;EACzB,IAAI,CAAC,SAAS;EACd,IAAI,CAAC,QAAQ;EACb,SAAS,cAAc,OAAO;GAC5B,IAAI,EAAE,MAAM,UAAU;GACtB,IAAI,CAAC,OAAO;IACV,kBAAkB,UAAU;IAC5B,kBAAkB,cAAc;IAChC,kBAAkB,UAAU;IAC5B,sBAAsB,UAAU;GAClC;EACF;EACA,OAAO,GAAG,cAAc,aAAa;EACrC,OAAO,WAAW;GAChB,OAAO,IAAI,cAAc,aAAa;EACxC;CACF,GAAG,CACD,SACA,MACF,CAAC;CACD,IAAI,iBAAiB,SAAS,SAAS,OAAO;EAC5C,IAAI,gBAAgB,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK,MAAM,SAAS,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK;EACrK,IAAI,aAAa,SAAS,SAAS,SAAS,SAAS,eAAe,OAAO;EAC3E,IAAI,cAAc,CAAC,WAAW,SAAS;GACrC,kBAAkB,UAAU;GAC5B,WAAW,UAAU,OAAO,WAAW,WAAW;IAChD,OAAO,mBAAmB,OAAO,OAAO,MAAM;GAChD,GAAG,UAAU;EACf,OAAO,IAAI,eAAe;GACxB,kBAAkB,UAAU;GAC5B,mBAAmB,OAAO,OAAO,MAAM;EACzC;CACF,CAAC;CACD,IAAI,0BAA0B,SAAS,WAAW;EAChD,mBAAmB,QAAQ;EAC3B,WAAW,UAAU,KAAK;EAC1B,IAAI,QAAQ,sBAAsB;GAChC,QAAQ,qBAAqB,UAAU;EACzC;CACF,CAAC;CACD,IAAI,qBAAqB,SAAS,WAAW;EAC3C,IAAI,kCAAkC,SAAS;GAC7C,IAAI,OAAO,YAAY,SAAS,QAAQ,EAAE;GAC1C,KAAK,MAAM,gBAAgB;GAC3B,KAAK,gBAAgB,qBAAqB;GAC1C,kCAAkC,UAAU;EAC9C;CACF,CAAC;CACD,IAAI,uBAAuB,SAAS,WAAW;EAC7C,OAAO,QAAQ,QAAQ,YAAY,CACjC,SACA,WACF,EAAE,SAAS,QAAQ,QAAQ,UAAU,IAAI,IAAI;CAC/C,CAAC;CACD,MAAM,UAAU,WAAW;EACzB,IAAI,CAAC,SAAS;EACd,SAAS,sBAAsB,OAAO;GACpC,kBAAkB,UAAU;GAC5B,kBAAkB,UAAU;GAC5B,IAAI,aAAa,CAAC,uBAAuB,eAAe,OAAO,KAAK,UAAU,UAAU,KAAK,CAAC,SAAS,SAAS,SAAS,MAAM,GAAG;IAChI;GACF;GACA,IAAI,YAAY,SAAS,SAAS,SAAS,QAAQ,eAAe,OAAO;GACzE,IAAI,WAAW;IACb,WAAW,UAAU,OAAO,WAAW,WAAW;KAChD,IAAI,CAAC,QAAQ,SAAS;MACpB,mBAAmB,MAAM,OAAO,OAAO;KACzC;IACF,GAAG,SAAS;GACd,OAAO,IAAI,CAAC,MAAM;IAChB,mBAAmB,MAAM,OAAO,OAAO;GACzC;EACF;EACA,SAAS,sBAAsB,OAAO;GACpC,IAAI;GACJ,IAAI,qBAAqB,GAAG;IAC1B,mBAAmB;IACnB;GACF;GACA,KAAK,2BAA2B,QAAQ,qBAAqB,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,WAAW,MAAM,aAAa,GAAG;IAC5K;GACF;GACA,mBAAmB,QAAQ;GAC3B,IAAI,MAAM,YAAY,SAAS,QAAQ;GACvC,kBAAkB,cAAc;GAChC,sBAAsB,UAAU;GAChC,IAAI,eAAe,SAAS;IAC1B,IAAI,CAAC,MAAM;KACT,kBAAkB,UAAU;IAC9B;IACA,IAAI,YAAY,QAAQ,QAAQ,aAAa;IAC7C,IAAI,aAAa,SAAS;IAC1B,IAAI,YAAY,SAAS;IACzB,IAAI,CAAC,cAAc,CAAC,WAAW;IAC/B,WAAW,UAAU,eAAe,QAAQ;KAC1C,GAAG,MAAM;KACT,GAAG,MAAM;KACT;KACA,UAAU;MACR,WAAW;MACX,UAAU;MACV,cAAc;KAChB;KACA,UAAU;MACR,IAAI,QAAQ,sBAAsB;OAChC,QAAQ,qBAAqB,UAAU;MACzC;MACA,mBAAmB;MACnB,wBAAwB;MACxB,IAAI,CAAC,qBAAqB,GAAG;OAC3B,eAAe,OAAO,MAAM,cAAc;MAC5C;KACF;IACF,CAAC;IACD,IAAI,QAAQ,sBAAsB;KAChC,QAAQ,qBAAqB,UAAU;IACzC;IACA,IAAI,UAAU,WAAW;IACzB,IAAI,iBAAiB,aAAa,OAAO;IACzC,mBAAmB,UAAU,WAAW;KACtC,IAAI,oBAAoB,aAAa,OAAO;IAC9C;IACA;GACF;GACA,IAAI,cAAc,eAAe,YAAY,UAAU,CAAC,SAAS,SAAS,UAAU,MAAM,aAAa,IAAI;GAC3G,IAAI,aAAa;IACf,eAAe,KAAK;GACtB;EACF;EACA,SAAS,mBAAmB,OAAO;GACjC,IAAI,0BAA0B;GAC9B,IAAI,qBAAqB,GAAG;GAC5B,KAAK,2BAA2B,QAAQ,qBAAqB,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,WAAW,MAAM,aAAa,GAAG;IAC5K;GACF;GACA,IAAI,YAAY,QAAQ,QAAQ,aAAa;GAC7C,IAAI,aAAa,SAAS;GAC1B,IAAI,YAAY,SAAS;GACzB,IAAI,CAAC,cAAc,CAAC,WAAW;GAC/B,CAAC,0BAA0B,eAAe,aAAa,QAAQ,4BAA4B,KAAK,IAAI,KAAK,IAAI,wBAAwB,KAAK,gBAAgB;IACxJ,GAAG,MAAM;IACT,GAAG,MAAM;IACT;IACA,UAAU;KACR,WAAW;KACX,UAAU;KACV,cAAc;IAChB;IACA,UAAU;KACR,mBAAmB;KACnB,wBAAwB;KACxB,IAAI,CAAC,qBAAqB,GAAG;MAC3B,eAAe,KAAK;KACtB;IACF;GACF,CAAC,EAAE,KAAK;EACV;EACA,SAAS,uBAAuB;GAC9B,kBAAkB,UAAU;EAC9B;EACA,SAAS,qBAAqB,OAAO;GACnC,IAAI;GACJ,IAAI,qBAAqB,GAAG;GAC5B,KAAK,2BAA2B,QAAQ,qBAAqB,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,WAAW,MAAM,aAAa,GAAG;IAC5K;GACF;GACA,eAAe,OAAO,KAAK;EAC7B;EACA,IAAI,UAAU,SAAS,YAAY,GAAG;GACpC,IAAI,aAAa,SAAS;GAC1B,IAAI,WAAW,SAAS;GACxB,IAAI,MAAM;IACR,WAAW,iBAAiB,cAAc,kBAAkB;GAC9D;GACA,IAAI,MAAM;IACR,WAAW,iBAAiB,aAAa,uBAAuB,EAC9D,MAAM,KACR,CAAC;GACH;GACA,WAAW,iBAAiB,cAAc,qBAAqB;GAC/D,WAAW,iBAAiB,cAAc,qBAAqB;GAC/D,IAAI,UAAU;IACZ,SAAS,iBAAiB,cAAc,kBAAkB;IAC1D,SAAS,iBAAiB,cAAc,oBAAoB;IAC5D,SAAS,iBAAiB,cAAc,oBAAoB;GAC9D;GACA,OAAO,WAAW;IAChB,IAAI,MAAM;KACR,WAAW,oBAAoB,cAAc,kBAAkB;IACjE;IACA,IAAI,MAAM;KACR,WAAW,oBAAoB,aAAa,qBAAqB;IACnE;IACA,WAAW,oBAAoB,cAAc,qBAAqB;IAClE,WAAW,oBAAoB,cAAc,qBAAqB;IAClE,IAAI,UAAU;KACZ,SAAS,oBAAoB,cAAc,kBAAkB;KAC7D,SAAS,oBAAoB,cAAc,oBAAoB;KAC/D,SAAS,oBAAoB,cAAc,oBAAoB;IACjE;IACA,wBAAwB;GAC1B;EACF;CACF,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,MAAM,gBAAgB,WAAW;EAC/B,IAAI,mCAAmC;EACvC,IAAI,CAAC,SAAS;EACd,IAAI,UAAU,0BAA0B,eAAe,aAAa,QAAQ,4BAA4B,KAAK,IAAI,KAAK,KAAK,oCAAoC,wBAAwB,eAAe,QAAQ,sCAAsC,KAAK,IAAI,KAAK,IAAI,kCAAkC,uBAAuB,YAAY,GAAG;GAC5U,kCAAkC,UAAU;GAC5C,IAAI,aAAa,SAAS;GAC1B,IAAI,UAAU,SAAS,YAAY,KAAK,YAAY;IAClD,IAAI,OAAO,YAAY,SAAS,QAAQ,EAAE;IAC1C,KAAK,aAAa,uBAAuB,EAAE;IAC3C,IAAI,MAAM,SAAS;IACnB,KAAK,MAAM,gBAAgB;IAC3B,IAAI,MAAM,gBAAgB;IAC1B,WAAW,MAAM,gBAAgB;IACjC,OAAO,WAAW;KAChB,KAAK,MAAM,gBAAgB;KAC3B,IAAI,MAAM,gBAAgB;KAC1B,WAAW,MAAM,gBAAgB;IACnC;GACF;EACF;CACF,GAAG;EACD;EACA;EACA;EACA;CACF,CAAC;CACD,MAAM,gBAAgB,WAAW;EAC/B,IAAI,CAAC,MAAM;GACT,eAAe,UAAU,KAAK;GAC9B,sBAAsB,UAAU;GAChC,wBAAwB;GACxB,mBAAmB;EACrB;CACF,GAAG,CACD,IACF,CAAC;CACD,MAAM,UAAU,WAAW;EACzB,OAAO,WAAW;GAChB,wBAAwB;GACxB,kBAAkB,UAAU;GAC5B,kBAAkB,cAAc;GAChC,mBAAmB;EACrB;CACF,GAAG,CACD,SACA,SAAS,YACX,CAAC;CACD,IAAI,YAAY,MAAM,QAAQ,WAAW;EACvC,SAAS,cAAc,OAAO;GAC5B,eAAe,UAAU,MAAM;EACjC;EACA,OAAO;GACL,eAAe;GACf,gBAAgB;GAChB,YAAY,OAAO;IACjB,IAAI,EAAE,gBAAgB;IACtB,SAAS,kBAAkB;KACzB,IAAI,CAAC,kBAAkB,WAAW,CAAC,QAAQ,SAAS;MAClD,mBAAmB,MAAM,aAAa,OAAO;KAC/C;IACF;IACA,IAAI,aAAa,CAAC,uBAAuB,eAAe,OAAO,GAAG;KAChE;IACF;IACA,IAAI,QAAQ,UAAU,YAAY,GAAG;KACnC;IACF;IACA,IAAI,sBAAsB,WAAW,KAAK,IAAI,MAAM,WAAW,CAAC,IAAI,KAAK,IAAI,MAAM,WAAW,CAAC,IAAI,GAAG;KACpG;IACF;IACA,kBAAkB,cAAc;IAChC,IAAI,eAAe,YAAY,SAAS;KACtC,gBAAgB;IAClB,OAAO;KACL,sBAAsB,UAAU;KAChC,eAAe,UAAU,OAAO,WAAW,iBAAiB,UAAU,OAAO;IAC/E;GACF;EACF;CACF,GAAG,CACD,WACA,IACF,CAAC;CACD,OAAO,MAAM,QAAQ,WAAW;EAC9B,OAAO,UAAU,EACf,UACF,IAAI,CAAC;CACP,GAAG,CACD,SACA,SACF,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"useHover.native.js","names":[],"sources":["esm/interactions/useHover.native.js"],"sourcesContent":["import * as React from \"react\";\nimport { useEvent } from \"@tamagui/use-event\";\nimport { clearTimeoutIfSet, contains, getDocument, isElement, isMouseLikePointerType } from \"./utils\";\nvar safePolygonIdentifier = \"data-floating-ui-safe-polygon\";\nfunction getDelay(value, prop, pointerType) {\n if (pointerType && !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 = 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 = 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 clearTimeoutIfSet(timeoutRef);\n 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 = 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 clearTimeoutIfSet(timeoutRef);\n timeoutRef.current = window.setTimeout(function() {\n return stableOnOpenChange(false, event, reason);\n }, closeDelay);\n } else if (runElseBranch) {\n clearTimeoutIfSet(timeoutRef);\n stableOnOpenChange(false, event, reason);\n }\n });\n var cleanupMouseMoveHandler = useEvent(function() {\n unbindMouseMoveRef.current();\n handlerRef.current = void 0;\n if (context.handleCloseActiveRef) {\n context.handleCloseActiveRef.current = false;\n }\n });\n var clearPointerEvents = useEvent(function() {\n if (performedPointerEventsMutationRef.current) {\n var body = getDocument(elements.floating).body;\n body.style.pointerEvents = \"\";\n body.removeAttribute(safePolygonIdentifier);\n performedPointerEventsMutationRef.current = false;\n }\n });\n var isClickLikeOpenEvent = 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 clearTimeoutIfSet(timeoutRef);\n blockMouseMoveRef.current = false;\n if (mouseOnly && !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 = getDocument(elements.floating);\n clearTimeoutIfSet(restTimeoutRef);\n restTimeoutPendingRef.current = false;\n if (handleCloseRef.current) {\n if (!open) {\n 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\" ? !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 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 (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 (isElement(elements.domReference) && floatingEl) {\n var body = 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 clearTimeoutIfSet(timeoutRef);\n 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 && !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 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}\nexport {\n getDelay,\n useHover\n};\n//# sourceMappingURL=useHover.js.map\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInnerOffset.js","names":[],"sources":["esm/interactions/useInnerOffset.js"],"sourcesContent":["import * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { useEvent } from \"@tamagui/use-event\";\nfunction useInnerOffset(context, props) {\n const { open, elements } = context;\n const { enabled = true, overflowRef, scrollRef, onChange: unstable_onChange } = props;\n const onChange = useEvent(unstable_onChange);\n const controlledScrollingRef = React.useRef(false);\n const prevScrollTopRef = React.useRef(null);\n const initialOverflowRef = React.useRef(null);\n React.useEffect(() => {\n if (!enabled) return;\n function onWheel(e) {\n if (e.ctrlKey || !el || overflowRef.current == null) {\n return;\n }\n const dY = e.deltaY;\n const isAtTop = overflowRef.current.top >= -0.5;\n const isAtBottom = overflowRef.current.bottom >= -0.5;\n const remainingScroll = el.scrollHeight - el.clientHeight;\n const sign = dY < 0 ? -1 : 1;\n const method = dY < 0 ? \"max\" : \"min\";\n if (el.scrollHeight <= el.clientHeight) {\n return;\n }\n if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {\n e.preventDefault();\n ReactDOM.flushSync(() => {\n onChange((d) => d + Math[method](dY, remainingScroll * sign));\n });\n } else if (/firefox/i.test(navigator.userAgent)) {\n el.scrollTop += dY;\n }\n }\n const el = scrollRef?.current || elements.floating;\n if (open && el) {\n el.addEventListener(\"wheel\", onWheel);\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n if (overflowRef.current != null) {\n initialOverflowRef.current = { ...overflowRef.current };\n }\n });\n return () => {\n prevScrollTopRef.current = null;\n initialOverflowRef.current = null;\n el.removeEventListener(\"wheel\", onWheel);\n };\n }\n }, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]);\n const floating = React.useMemo(\n () => ({\n onKeyDown() {\n controlledScrollingRef.current = true;\n },\n onWheel() {\n controlledScrollingRef.current = false;\n },\n onPointerMove() {\n controlledScrollingRef.current = false;\n },\n onScroll() {\n const el = scrollRef?.current || elements.floating;\n if (!overflowRef.current || !el || !controlledScrollingRef.current) {\n return;\n }\n if (prevScrollTopRef.current !== null) {\n const scrollDiff = el.scrollTop - prevScrollTopRef.current;\n if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {\n ReactDOM.flushSync(() => onChange((d) => d + scrollDiff));\n }\n }\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n });\n }\n }),\n [elements.floating, onChange, overflowRef, scrollRef]\n );\n return React.useMemo(() => enabled ? { floating } : {}, [enabled, floating]);\n}\nexport {\n useInnerOffset\n};\n//# sourceMappingURL=useInnerOffset.js.map\n"],"mappings":";;;;;AAGA,SAAS,eAAe,SAAS,OAAO;CACtC,MAAM,EAAE,MAAM,aAAa;CAC3B,MAAM,EAAE,UAAU,MAAM,aAAa,WAAW,UAAU,sBAAsB;CAChF,MAAM,WAAW,SAAS,iBAAiB;CAC3C,MAAM,yBAAyB,MAAM,OAAO,KAAK;CACjD,MAAM,mBAAmB,MAAM,OAAO,IAAI;CAC1C,MAAM,qBAAqB,MAAM,OAAO,IAAI;CAC5C,MAAM,gBAAgB;EACpB,IAAI,CAAC,SAAS;EACd,SAAS,QAAQ,GAAG;GAClB,IAAI,EAAE,WAAW,CAAC,MAAM,YAAY,WAAW,MAAM;IACnD;GACF;GACA,MAAM,KAAK,EAAE;GACb,MAAM,UAAU,YAAY,QAAQ,OAAO,CAAC;GAC5C,MAAM,aAAa,YAAY,QAAQ,UAAU,CAAC;GAClD,MAAM,kBAAkB,GAAG,eAAe,GAAG;GAC7C,MAAM,OAAO,KAAK,IAAI,CAAC,IAAI;GAC3B,MAAM,SAAS,KAAK,IAAI,QAAQ;GAChC,IAAI,GAAG,gBAAgB,GAAG,cAAc;IACtC;GACF;GACA,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,cAAc,KAAK,GAAG;IAC/C,EAAE,eAAe;IACjB,SAAS,gBAAgB;KACvB,UAAU,MAAM,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"useInnerOffset.js","names":[],"sources":["esm/interactions/useInnerOffset.js"],"sourcesContent":["import * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { useEvent } from \"@tamagui/use-event\";\nfunction useInnerOffset(context, props) {\n const { open, elements } = context;\n const { enabled = true, overflowRef, scrollRef, onChange: unstable_onChange } = props;\n const onChange = useEvent(unstable_onChange);\n const controlledScrollingRef = React.useRef(false);\n const prevScrollTopRef = React.useRef(null);\n const initialOverflowRef = React.useRef(null);\n React.useEffect(() => {\n if (!enabled) return;\n function onWheel(e) {\n if (e.ctrlKey || !el || overflowRef.current == null) {\n return;\n }\n const dY = e.deltaY;\n const isAtTop = overflowRef.current.top >= -0.5;\n const isAtBottom = overflowRef.current.bottom >= -0.5;\n const remainingScroll = el.scrollHeight - el.clientHeight;\n const sign = dY < 0 ? -1 : 1;\n const method = dY < 0 ? \"max\" : \"min\";\n if (el.scrollHeight <= el.clientHeight) {\n return;\n }\n if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {\n e.preventDefault();\n ReactDOM.flushSync(() => {\n onChange((d) => d + Math[method](dY, remainingScroll * sign));\n });\n } else if (/firefox/i.test(navigator.userAgent)) {\n el.scrollTop += dY;\n }\n }\n const el = scrollRef?.current || elements.floating;\n if (open && el) {\n el.addEventListener(\"wheel\", onWheel);\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n if (overflowRef.current != null) {\n initialOverflowRef.current = { ...overflowRef.current };\n }\n });\n return () => {\n prevScrollTopRef.current = null;\n initialOverflowRef.current = null;\n el.removeEventListener(\"wheel\", onWheel);\n };\n }\n }, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]);\n const floating = React.useMemo(\n () => ({\n onKeyDown() {\n controlledScrollingRef.current = true;\n },\n onWheel() {\n controlledScrollingRef.current = false;\n },\n onPointerMove() {\n controlledScrollingRef.current = false;\n },\n onScroll() {\n const el = scrollRef?.current || elements.floating;\n if (!overflowRef.current || !el || !controlledScrollingRef.current) {\n return;\n }\n if (prevScrollTopRef.current !== null) {\n const scrollDiff = el.scrollTop - prevScrollTopRef.current;\n if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {\n ReactDOM.flushSync(() => onChange((d) => d + scrollDiff));\n }\n }\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n });\n }\n }),\n [elements.floating, onChange, overflowRef, scrollRef]\n );\n return React.useMemo(() => enabled ? { floating } : {}, [enabled, floating]);\n}\nexport {\n useInnerOffset\n};\n//# sourceMappingURL=useInnerOffset.js.map\n"],"mappings":";;;;;AAGA,SAAS,eAAe,SAAS,OAAO;CACtC,MAAM,EAAE,MAAM,aAAa;CAC3B,MAAM,EAAE,UAAU,MAAM,aAAa,WAAW,UAAU,sBAAsB;CAChF,MAAM,WAAW,SAAS,iBAAiB;CAC3C,MAAM,yBAAyB,MAAM,OAAO,KAAK;CACjD,MAAM,mBAAmB,MAAM,OAAO,IAAI;CAC1C,MAAM,qBAAqB,MAAM,OAAO,IAAI;CAC5C,MAAM,gBAAgB;EACpB,IAAI,CAAC,SAAS;EACd,SAAS,QAAQ,GAAG;GAClB,IAAI,EAAE,WAAW,CAAC,MAAM,YAAY,WAAW,MAAM;IACnD;GACF;GACA,MAAM,KAAK,EAAE;GACb,MAAM,UAAU,YAAY,QAAQ,OAAO,CAAC;GAC5C,MAAM,aAAa,YAAY,QAAQ,UAAU,CAAC;GAClD,MAAM,kBAAkB,GAAG,eAAe,GAAG;GAC7C,MAAM,OAAO,KAAK,IAAI,CAAC,IAAI;GAC3B,MAAM,SAAS,KAAK,IAAI,QAAQ;GAChC,IAAI,GAAG,gBAAgB,GAAG,cAAc;IACtC;GACF;GACA,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,cAAc,KAAK,GAAG;IAC/C,EAAE,eAAe;IACjB,SAAS,gBAAgB;KACvB,UAAU,MAAM,IAAI,KAAK,OAAO,CAAC,IAAI,kBAAkB,IAAI,CAAC;IAC9D,CAAC;GACH,OAAO,IAAI,WAAW,KAAK,UAAU,SAAS,GAAG;IAC/C,GAAG,aAAa;GAClB;EACF;EACA,MAAM,KAAK,WAAW,WAAW,SAAS;EAC1C,IAAI,QAAQ,IAAI;GACd,GAAG,iBAAiB,SAAS,OAAO;GACpC,4BAA4B;IAC1B,iBAAiB,UAAU,GAAG;IAC9B,IAAI,YAAY,WAAW,MAAM;KAC/B,mBAAmB,UAAU,EAAE,GAAG,YAAY,QAAQ;IACxD;GACF,CAAC;GACD,aAAa;IACX,iBAAiB,UAAU;IAC3B,mBAAmB,UAAU;IAC7B,GAAG,oBAAoB,SAAS,OAAO;GACzC;EACF;CACF,GAAG;EAAC;EAAS;EAAM,SAAS;EAAU;EAAa;EAAW;CAAQ,CAAC;CACvE,MAAM,WAAW,MAAM,eACd;EACL,YAAY;GACV,uBAAuB,UAAU;EACnC;EACA,UAAU;GACR,uBAAuB,UAAU;EACnC;EACA,gBAAgB;GACd,uBAAuB,UAAU;EACnC;EACA,WAAW;GACT,MAAM,KAAK,WAAW,WAAW,SAAS;GAC1C,IAAI,CAAC,YAAY,WAAW,CAAC,MAAM,CAAC,uBAAuB,SAAS;IAClE;GACF;GACA,IAAI,iBAAiB,YAAY,MAAM;IACrC,MAAM,aAAa,GAAG,YAAY,iBAAiB;IACnD,IAAI,YAAY,QAAQ,SAAS,CAAC,MAAO,aAAa,CAAC,KAAK,YAAY,QAAQ,MAAM,CAAC,MAAO,aAAa,GAAG;KAC5G,SAAS,gBAAgB,UAAU,MAAM,IAAI,UAAU,CAAC;IAC1D;GACF;GACA,4BAA4B;IAC1B,iBAAiB,UAAU,GAAG;GAChC,CAAC;EACH;CACF,IACA;EAAC,SAAS;EAAU;EAAU;EAAa;CAAS,CACtD;CACA,OAAO,MAAM,cAAc,UAAU,EAAE,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,QAAQ,CAAC;AAC7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInnerOffset.native.js","names":[],"sources":["esm/interactions/useInnerOffset.native.js"],"sourcesContent":["import * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { useEvent } from \"@tamagui/use-event\";\nfunction useInnerOffset(context, props) {\n var { open, elements } = context;\n var { enabled = true, overflowRef, scrollRef, onChange: unstable_onChange } = props;\n var onChange = useEvent(unstable_onChange);\n var controlledScrollingRef = React.useRef(false);\n var prevScrollTopRef = React.useRef(null);\n var initialOverflowRef = React.useRef(null);\n React.useEffect(function() {\n if (!enabled) return;\n function onWheel(e) {\n if (e.ctrlKey || !el || overflowRef.current == null) {\n return;\n }\n var dY = e.deltaY;\n var isAtTop = overflowRef.current.top >= -0.5;\n var isAtBottom = overflowRef.current.bottom >= -0.5;\n var remainingScroll = el.scrollHeight - el.clientHeight;\n var sign = dY < 0 ? -1 : 1;\n var method = dY < 0 ? \"max\" : \"min\";\n if (el.scrollHeight <= el.clientHeight) {\n return;\n }\n if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {\n e.preventDefault();\n ReactDOM.flushSync(function() {\n onChange(function(d) {\n return d + Math[method](dY, remainingScroll * sign);\n });\n });\n } else if (/firefox/i.test(navigator.userAgent)) {\n el.scrollTop += dY;\n }\n }\n var el = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || elements.floating;\n if (open && el) {\n el.addEventListener(\"wheel\", onWheel);\n requestAnimationFrame(function() {\n prevScrollTopRef.current = el.scrollTop;\n if (overflowRef.current != null) {\n initialOverflowRef.current = {\n ...overflowRef.current\n };\n }\n });\n return function() {\n prevScrollTopRef.current = null;\n initialOverflowRef.current = null;\n el.removeEventListener(\"wheel\", onWheel);\n };\n }\n }, [\n enabled,\n open,\n elements.floating,\n overflowRef,\n scrollRef,\n onChange\n ]);\n var floating = React.useMemo(function() {\n return {\n onKeyDown() {\n controlledScrollingRef.current = true;\n },\n onWheel() {\n controlledScrollingRef.current = false;\n },\n onPointerMove() {\n controlledScrollingRef.current = false;\n },\n onScroll() {\n var el = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || elements.floating;\n if (!overflowRef.current || !el || !controlledScrollingRef.current) {\n return;\n }\n if (prevScrollTopRef.current !== null) {\n var scrollDiff = el.scrollTop - prevScrollTopRef.current;\n if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {\n ReactDOM.flushSync(function() {\n return onChange(function(d) {\n return d + scrollDiff;\n });\n });\n }\n }\n requestAnimationFrame(function() {\n prevScrollTopRef.current = el.scrollTop;\n });\n }\n };\n }, [\n elements.floating,\n onChange,\n overflowRef,\n scrollRef\n ]);\n return React.useMemo(function() {\n return enabled ? {\n floating\n } : {};\n }, [\n enabled,\n floating\n ]);\n}\nexport {\n useInnerOffset\n};\n//# sourceMappingURL=useInnerOffset.js.map\n"],"mappings":";;;;;AAGA,SAAS,eAAe,SAAS,OAAO;CACtC,IAAI,EAAE,MAAM,aAAa;CACzB,IAAI,EAAE,UAAU,MAAM,aAAa,WAAW,UAAU,sBAAsB;CAC9E,IAAI,WAAW,SAAS,iBAAiB;CACzC,IAAI,yBAAyB,MAAM,OAAO,KAAK;CAC/C,IAAI,mBAAmB,MAAM,OAAO,IAAI;CACxC,IAAI,qBAAqB,MAAM,OAAO,IAAI;CAC1C,MAAM,UAAU,WAAW;EACzB,IAAI,CAAC,SAAS;EACd,SAAS,QAAQ,GAAG;GAClB,IAAI,EAAE,WAAW,CAAC,MAAM,YAAY,WAAW,MAAM;IACnD;GACF;GACA,IAAI,KAAK,EAAE;GACX,IAAI,UAAU,YAAY,QAAQ,OAAO,CAAC;GAC1C,IAAI,aAAa,YAAY,QAAQ,UAAU,CAAC;GAChD,IAAI,kBAAkB,GAAG,eAAe,GAAG;GAC3C,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI;GACzB,IAAI,SAAS,KAAK,IAAI,QAAQ;GAC9B,IAAI,GAAG,gBAAgB,GAAG,cAAc;IACtC;GACF;GACA,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,cAAc,KAAK,GAAG;IAC/C,EAAE,eAAe;IACjB,SAAS,UAAU,WAAW;KAC5B,SAAS,SAAS,GAAG;MACnB,OAAO,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"useInnerOffset.native.js","names":[],"sources":["esm/interactions/useInnerOffset.native.js"],"sourcesContent":["import * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { useEvent } from \"@tamagui/use-event\";\nfunction useInnerOffset(context, props) {\n var { open, elements } = context;\n var { enabled = true, overflowRef, scrollRef, onChange: unstable_onChange } = props;\n var onChange = useEvent(unstable_onChange);\n var controlledScrollingRef = React.useRef(false);\n var prevScrollTopRef = React.useRef(null);\n var initialOverflowRef = React.useRef(null);\n React.useEffect(function() {\n if (!enabled) return;\n function onWheel(e) {\n if (e.ctrlKey || !el || overflowRef.current == null) {\n return;\n }\n var dY = e.deltaY;\n var isAtTop = overflowRef.current.top >= -0.5;\n var isAtBottom = overflowRef.current.bottom >= -0.5;\n var remainingScroll = el.scrollHeight - el.clientHeight;\n var sign = dY < 0 ? -1 : 1;\n var method = dY < 0 ? \"max\" : \"min\";\n if (el.scrollHeight <= el.clientHeight) {\n return;\n }\n if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {\n e.preventDefault();\n ReactDOM.flushSync(function() {\n onChange(function(d) {\n return d + Math[method](dY, remainingScroll * sign);\n });\n });\n } else if (/firefox/i.test(navigator.userAgent)) {\n el.scrollTop += dY;\n }\n }\n var el = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || elements.floating;\n if (open && el) {\n el.addEventListener(\"wheel\", onWheel);\n requestAnimationFrame(function() {\n prevScrollTopRef.current = el.scrollTop;\n if (overflowRef.current != null) {\n initialOverflowRef.current = {\n ...overflowRef.current\n };\n }\n });\n return function() {\n prevScrollTopRef.current = null;\n initialOverflowRef.current = null;\n el.removeEventListener(\"wheel\", onWheel);\n };\n }\n }, [\n enabled,\n open,\n elements.floating,\n overflowRef,\n scrollRef,\n onChange\n ]);\n var floating = React.useMemo(function() {\n return {\n onKeyDown() {\n controlledScrollingRef.current = true;\n },\n onWheel() {\n controlledScrollingRef.current = false;\n },\n onPointerMove() {\n controlledScrollingRef.current = false;\n },\n onScroll() {\n var el = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || elements.floating;\n if (!overflowRef.current || !el || !controlledScrollingRef.current) {\n return;\n }\n if (prevScrollTopRef.current !== null) {\n var scrollDiff = el.scrollTop - prevScrollTopRef.current;\n if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {\n ReactDOM.flushSync(function() {\n return onChange(function(d) {\n return d + scrollDiff;\n });\n });\n }\n }\n requestAnimationFrame(function() {\n prevScrollTopRef.current = el.scrollTop;\n });\n }\n };\n }, [\n elements.floating,\n onChange,\n overflowRef,\n scrollRef\n ]);\n return React.useMemo(function() {\n return enabled ? {\n floating\n } : {};\n }, [\n enabled,\n floating\n ]);\n}\nexport {\n useInnerOffset\n};\n//# sourceMappingURL=useInnerOffset.js.map\n"],"mappings":";;;;;AAGA,SAAS,eAAe,SAAS,OAAO;CACtC,IAAI,EAAE,MAAM,aAAa;CACzB,IAAI,EAAE,UAAU,MAAM,aAAa,WAAW,UAAU,sBAAsB;CAC9E,IAAI,WAAW,SAAS,iBAAiB;CACzC,IAAI,yBAAyB,MAAM,OAAO,KAAK;CAC/C,IAAI,mBAAmB,MAAM,OAAO,IAAI;CACxC,IAAI,qBAAqB,MAAM,OAAO,IAAI;CAC1C,MAAM,UAAU,WAAW;EACzB,IAAI,CAAC,SAAS;EACd,SAAS,QAAQ,GAAG;GAClB,IAAI,EAAE,WAAW,CAAC,MAAM,YAAY,WAAW,MAAM;IACnD;GACF;GACA,IAAI,KAAK,EAAE;GACX,IAAI,UAAU,YAAY,QAAQ,OAAO,CAAC;GAC1C,IAAI,aAAa,YAAY,QAAQ,UAAU,CAAC;GAChD,IAAI,kBAAkB,GAAG,eAAe,GAAG;GAC3C,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI;GACzB,IAAI,SAAS,KAAK,IAAI,QAAQ;GAC9B,IAAI,GAAG,gBAAgB,GAAG,cAAc;IACtC;GACF;GACA,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,cAAc,KAAK,GAAG;IAC/C,EAAE,eAAe;IACjB,SAAS,UAAU,WAAW;KAC5B,SAAS,SAAS,GAAG;MACnB,OAAO,IAAI,KAAK,OAAO,CAAC,IAAI,kBAAkB,IAAI;KACpD,CAAC;IACH,CAAC;GACH,OAAO,IAAI,WAAW,KAAK,UAAU,SAAS,GAAG;IAC/C,GAAG,aAAa;GAClB;EACF;EACA,IAAI,MAAM,cAAc,QAAQ,cAAc,KAAK,IAAI,KAAK,IAAI,UAAU,YAAY,SAAS;EAC/F,IAAI,QAAQ,IAAI;GACd,GAAG,iBAAiB,SAAS,OAAO;GACpC,sBAAsB,WAAW;IAC/B,iBAAiB,UAAU,GAAG;IAC9B,IAAI,YAAY,WAAW,MAAM;KAC/B,mBAAmB,UAAU,EAC3B,GAAG,YAAY,QACjB;IACF;GACF,CAAC;GACD,OAAO,WAAW;IAChB,iBAAiB,UAAU;IAC3B,mBAAmB,UAAU;IAC7B,GAAG,oBAAoB,SAAS,OAAO;GACzC;EACF;CACF,GAAG;EACD;EACA;EACA,SAAS;EACT;EACA;EACA;CACF,CAAC;CACD,IAAI,WAAW,MAAM,QAAQ,WAAW;EACtC,OAAO;GACL,YAAY;IACV,uBAAuB,UAAU;GACnC;GACA,UAAU;IACR,uBAAuB,UAAU;GACnC;GACA,gBAAgB;IACd,uBAAuB,UAAU;GACnC;GACA,WAAW;IACT,IAAI,MAAM,cAAc,QAAQ,cAAc,KAAK,IAAI,KAAK,IAAI,UAAU,YAAY,SAAS;IAC/F,IAAI,CAAC,YAAY,WAAW,CAAC,MAAM,CAAC,uBAAuB,SAAS;KAClE;IACF;IACA,IAAI,iBAAiB,YAAY,MAAM;KACrC,IAAI,aAAa,GAAG,YAAY,iBAAiB;KACjD,IAAI,YAAY,QAAQ,SAAS,CAAC,MAAO,aAAa,CAAC,KAAK,YAAY,QAAQ,MAAM,CAAC,MAAO,aAAa,GAAG;MAC5G,SAAS,UAAU,WAAW;OAC5B,OAAO,SAAS,SAAS,GAAG;QAC1B,OAAO,IAAI;OACb,CAAC;MACH,CAAC;KACH;IACF;IACA,sBAAsB,WAAW;KAC/B,iBAAiB,UAAU,GAAG;IAChC,CAAC;GACH;EACF;CACF,GAAG;EACD,SAAS;EACT;EACA;EACA;CACF,CAAC;CACD,OAAO,MAAM,QAAQ,WAAW;EAC9B,OAAO,UAAU,EACf,SACF,IAAI,CAAC;CACP,GAAG,CACD,SACA,QACF,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInteractions.native.js","names":[],"sources":["esm/interactions/useInteractions.native.js"],"sourcesContent":["function _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction useInteractions(propsList) {\n var filtered = propsList.filter(Boolean);\n var referenceFns = /* @__PURE__ */ new Map();\n var floatingFns = /* @__PURE__ */ new Map();\n var itemFns = /* @__PURE__ */ new Map();\n var referenceStatic = {};\n var floatingStatic = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = filtered[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var props = _step.value;\n if (props.reference) {\n collectProps(props.reference, referenceFns, referenceStatic);\n }\n if (props.floating) {\n collectProps(props.floating, floatingFns, floatingStatic);\n }\n if (props.item && _type_of(props.item) === \"object\") {\n collectProps(props.item, itemFns, {});\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return {\n getReferenceProps(userProps) {\n return buildProps(referenceFns, referenceStatic, userProps);\n },\n getFloatingProps(userProps) {\n return buildProps(floatingFns, floatingStatic, userProps);\n },\n getItemProps(userProps) {\n return buildProps(itemFns, {}, userProps);\n }\n };\n}\nfunction collectProps(props, fnMap, staticMap) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.keys(props)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (typeof props[key] === \"function\") {\n var arr = fnMap.get(key);\n if (!arr) {\n arr = [];\n fnMap.set(key, arr);\n }\n arr.push(props[key]);\n } else {\n staticMap[key] = props[key];\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction buildProps(fnMap, staticProps, userProps) {\n var result = {\n ...staticProps\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var [key, fns] = _step.value;\n var hookHandler = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = fns[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var fn = _step2.value;\n var result2 = fn(...args);\n if (result2 !== void 0) return result2;\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n };\n result[key] = hookHandler;\n };\n for (var _iterator = fnMap[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (userProps) {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n var _loop1 = function() {\n var key = _step1.value;\n if (key === \"style\") {\n result.style = {\n ...result.style,\n ...userProps.style\n };\n } else if (typeof userProps[key] === \"function\" && result[key]) {\n var hookFn = result[key];\n var userFn = userProps[key];\n result[key] = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n userFn(...args);\n hookFn(...args);\n };\n } else {\n result[key] = userProps[key];\n }\n };\n for (var _iterator1 = Object.keys(userProps)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop1();\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n return result;\n}\nexport {\n useInteractions\n};\n//# sourceMappingURL=useInteractions.js.map\n"],"mappings":";AAAA,SAAS,SAAS,KAAK;CACrB;CACA,OAAO,OAAO,OAAO,WAAW,eAAe,IAAI,gBAAgB,SAAS,WAAW,OAAO;AAChG;AACA,SAAS,gBAAgB,WAAW;CAClC,IAAI,WAAW,UAAU,OAAO,OAAO;CACvC,IAAI,+BAA+B,IAAI,IAAI;CAC3C,IAAI,8BAA8B,IAAI,IAAI;CAC1C,IAAI,0BAA0B,IAAI,IAAI;CACtC,IAAI,kBAAkB,CAAC;CACvB,IAAI,iBAAiB,CAAC;CACtB,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;CACvF,IAAI;EACF,KAAK,IAAI,YAAY,SAAS,OAAO,
|
|
1
|
+
{"version":3,"file":"useInteractions.native.js","names":[],"sources":["esm/interactions/useInteractions.native.js"],"sourcesContent":["function _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction useInteractions(propsList) {\n var filtered = propsList.filter(Boolean);\n var referenceFns = /* @__PURE__ */ new Map();\n var floatingFns = /* @__PURE__ */ new Map();\n var itemFns = /* @__PURE__ */ new Map();\n var referenceStatic = {};\n var floatingStatic = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = filtered[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var props = _step.value;\n if (props.reference) {\n collectProps(props.reference, referenceFns, referenceStatic);\n }\n if (props.floating) {\n collectProps(props.floating, floatingFns, floatingStatic);\n }\n if (props.item && _type_of(props.item) === \"object\") {\n collectProps(props.item, itemFns, {});\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return {\n getReferenceProps(userProps) {\n return buildProps(referenceFns, referenceStatic, userProps);\n },\n getFloatingProps(userProps) {\n return buildProps(floatingFns, floatingStatic, userProps);\n },\n getItemProps(userProps) {\n return buildProps(itemFns, {}, userProps);\n }\n };\n}\nfunction collectProps(props, fnMap, staticMap) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.keys(props)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (typeof props[key] === \"function\") {\n var arr = fnMap.get(key);\n if (!arr) {\n arr = [];\n fnMap.set(key, arr);\n }\n arr.push(props[key]);\n } else {\n staticMap[key] = props[key];\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\nfunction buildProps(fnMap, staticProps, userProps) {\n var result = {\n ...staticProps\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var [key, fns] = _step.value;\n var hookHandler = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = fns[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var fn = _step2.value;\n var result2 = fn(...args);\n if (result2 !== void 0) return result2;\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n };\n result[key] = hookHandler;\n };\n for (var _iterator = fnMap[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (userProps) {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n var _loop1 = function() {\n var key = _step1.value;\n if (key === \"style\") {\n result.style = {\n ...result.style,\n ...userProps.style\n };\n } else if (typeof userProps[key] === \"function\" && result[key]) {\n var hookFn = result[key];\n var userFn = userProps[key];\n result[key] = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n userFn(...args);\n hookFn(...args);\n };\n } else {\n result[key] = userProps[key];\n }\n };\n for (var _iterator1 = Object.keys(userProps)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop1();\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n return result;\n}\nexport {\n useInteractions\n};\n//# sourceMappingURL=useInteractions.js.map\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTypeahead.js","names":[],"sources":["esm/interactions/useTypeahead.js"],"sourcesContent":["import { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { useEvent } from \"@tamagui/use-event\";\nimport { clearTimeoutIfSet, stopEvent } from \"./utils\";\nfunction useTypeahead(context, props) {\n const { open, dataRef } = context;\n const {\n listRef,\n activeIndex,\n onMatch: unstable_onMatch,\n onTypingChange: unstable_onTypingChange,\n enabled = true,\n findMatch = null,\n resetMs = 750,\n ignoreKeys = [],\n selectedIndex = null\n } = props;\n const timeoutIdRef = useRef(-1);\n const stringRef = useRef(\"\");\n const prevIndexRef = useRef(selectedIndex ?? activeIndex ?? -1);\n const matchIndexRef = useRef(null);\n const onMatch = useEvent(unstable_onMatch || (() => {\n }));\n const onTypingChange = useEvent(unstable_onTypingChange || (() => {\n }));\n const findMatchRef = useRef(findMatch);\n findMatchRef.current = findMatch;\n const ignoreKeysRef = useRef(ignoreKeys);\n ignoreKeysRef.current = ignoreKeys;\n useLayoutEffect(() => {\n if (open) {\n clearTimeoutIfSet(timeoutIdRef);\n matchIndexRef.current = null;\n stringRef.current = \"\";\n }\n }, [open]);\n useLayoutEffect(() => {\n if (open && stringRef.current === \"\") {\n prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;\n }\n }, [open, selectedIndex, activeIndex]);\n const setTypingChange = (value) => {\n if (value) {\n if (!dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n } else {\n if (dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n }\n };\n const onKeyDown = (event) => {\n function getMatchingIndex(list, orderedList, string) {\n const str = findMatchRef.current ? findMatchRef.current(orderedList, string) : orderedList.find(\n (text) => text?.toLocaleLowerCase().indexOf(string.toLocaleLowerCase()) === 0\n );\n return str ? list.indexOf(str) : -1;\n }\n const listContent = listRef.current;\n if (stringRef.current.length > 0 && stringRef.current[0] !== \" \") {\n if (getMatchingIndex(listContent, listContent, stringRef.current) === -1) {\n setTypingChange(false);\n } else if (event.key === \" \") {\n stopEvent(event);\n }\n }\n if (listContent == null || ignoreKeysRef.current.includes(event.key) || // character key\n event.key.length !== 1 || // modifier key\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (open && event.key !== \" \") {\n stopEvent(event);\n setTypingChange(true);\n }\n const allowRapidSuccessionOfFirstLetter = listContent.every(\n (text) => text ? text[0]?.toLocaleLowerCase() !== text[1]?.toLocaleLowerCase() : true\n );\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = \"\";\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n clearTimeoutIfSet(timeoutIdRef);\n timeoutIdRef.current = window.setTimeout(() => {\n stringRef.current = \"\";\n prevIndexRef.current = matchIndexRef.current;\n setTypingChange(false);\n }, resetMs);\n const prevIndex = prevIndexRef.current;\n const index = getMatchingIndex(\n listContent,\n [\n ...listContent.slice((prevIndex || 0) + 1),\n ...listContent.slice(0, (prevIndex || 0) + 1)\n ],\n stringRef.current\n );\n if (index !== -1) {\n onMatch(index);\n matchIndexRef.current = index;\n } else if (event.key !== \" \") {\n stringRef.current = \"\";\n setTypingChange(false);\n }\n };\n const reference = useMemo(\n () => ({ onKeyDown }),\n [open, enabled]\n );\n const floating = useMemo(\n () => ({\n onKeyDown,\n onKeyUp(event) {\n if (event.key === \" \") {\n setTypingChange(false);\n }\n }\n }),\n [open, enabled]\n );\n return useMemo(\n () => enabled ? { reference, floating } : {},\n [enabled, reference, floating]\n );\n}\nexport {\n useTypeahead\n};\n//# sourceMappingURL=useTypeahead.js.map\n"],"mappings":";;;;;AAGA,SAAS,aAAa,SAAS,OAAO;CACpC,MAAM,EAAE,MAAM,YAAY;CAC1B,MAAM,EACJ,SACA,aACA,SAAS,kBACT,gBAAgB,yBAChB,UAAU,MACV,YAAY,MACZ,UAAU,KACV,aAAa,CAAC,GACd,gBAAgB,SACd;CACJ,MAAM,eAAe,OAAO,CAAC,CAAC;CAC9B,MAAM,YAAY,OAAO,EAAE;CAC3B,MAAM,eAAe,OAAO,iBAAiB,eAAe,CAAC,CAAC;CAC9D,MAAM,gBAAgB,OAAO,IAAI;CACjC,MAAM,UAAU,SAAS,2BAA2B,CACpD,EAAE;CACF,MAAM,iBAAiB,SAAS,kCAAkC,CAClE,EAAE;CACF,MAAM,eAAe,OAAO,SAAS;CACrC,aAAa,UAAU;CACvB,MAAM,gBAAgB,OAAO,UAAU;CACvC,cAAc,UAAU;CACxB,sBAAsB;EACpB,IAAI,MAAM;GACR,kBAAkB,YAAY;GAC9B,cAAc,UAAU;GACxB,UAAU,UAAU;EACtB;CACF,GAAG,CAAC,IAAI,CAAC;CACT,sBAAsB;EACpB,IAAI,QAAQ,UAAU,YAAY,IAAI;GACpC,aAAa,UAAU,iBAAiB,eAAe,CAAC;EAC1D;CACF,GAAG;EAAC;EAAM;EAAe;CAAW,CAAC;CACrC,MAAM,mBAAmB,UAAU;EACjC,IAAI,OAAO;GACT,IAAI,CAAC,QAAQ,QAAQ,QAAQ;IAC3B,QAAQ,QAAQ,SAAS;IACzB,eAAe,KAAK;GACtB;EACF,OAAO;GACL,IAAI,QAAQ,QAAQ,QAAQ;IAC1B,QAAQ,QAAQ,SAAS;IACzB,eAAe,KAAK;GACtB;EACF;CACF;CACA,MAAM,aAAa,UAAU;EAC3B,SAAS,iBAAiB,MAAM,aAAa,QAAQ;GACnD,MAAM,MAAM,aAAa,UAAU,aAAa,QAAQ,aAAa,MAAM,IAAI,YAAY,MACxF,SAAS,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"useTypeahead.js","names":[],"sources":["esm/interactions/useTypeahead.js"],"sourcesContent":["import { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { useEvent } from \"@tamagui/use-event\";\nimport { clearTimeoutIfSet, stopEvent } from \"./utils\";\nfunction useTypeahead(context, props) {\n const { open, dataRef } = context;\n const {\n listRef,\n activeIndex,\n onMatch: unstable_onMatch,\n onTypingChange: unstable_onTypingChange,\n enabled = true,\n findMatch = null,\n resetMs = 750,\n ignoreKeys = [],\n selectedIndex = null\n } = props;\n const timeoutIdRef = useRef(-1);\n const stringRef = useRef(\"\");\n const prevIndexRef = useRef(selectedIndex ?? activeIndex ?? -1);\n const matchIndexRef = useRef(null);\n const onMatch = useEvent(unstable_onMatch || (() => {\n }));\n const onTypingChange = useEvent(unstable_onTypingChange || (() => {\n }));\n const findMatchRef = useRef(findMatch);\n findMatchRef.current = findMatch;\n const ignoreKeysRef = useRef(ignoreKeys);\n ignoreKeysRef.current = ignoreKeys;\n useLayoutEffect(() => {\n if (open) {\n clearTimeoutIfSet(timeoutIdRef);\n matchIndexRef.current = null;\n stringRef.current = \"\";\n }\n }, [open]);\n useLayoutEffect(() => {\n if (open && stringRef.current === \"\") {\n prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;\n }\n }, [open, selectedIndex, activeIndex]);\n const setTypingChange = (value) => {\n if (value) {\n if (!dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n } else {\n if (dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n }\n };\n const onKeyDown = (event) => {\n function getMatchingIndex(list, orderedList, string) {\n const str = findMatchRef.current ? findMatchRef.current(orderedList, string) : orderedList.find(\n (text) => text?.toLocaleLowerCase().indexOf(string.toLocaleLowerCase()) === 0\n );\n return str ? list.indexOf(str) : -1;\n }\n const listContent = listRef.current;\n if (stringRef.current.length > 0 && stringRef.current[0] !== \" \") {\n if (getMatchingIndex(listContent, listContent, stringRef.current) === -1) {\n setTypingChange(false);\n } else if (event.key === \" \") {\n stopEvent(event);\n }\n }\n if (listContent == null || ignoreKeysRef.current.includes(event.key) || // character key\n event.key.length !== 1 || // modifier key\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (open && event.key !== \" \") {\n stopEvent(event);\n setTypingChange(true);\n }\n const allowRapidSuccessionOfFirstLetter = listContent.every(\n (text) => text ? text[0]?.toLocaleLowerCase() !== text[1]?.toLocaleLowerCase() : true\n );\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = \"\";\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n clearTimeoutIfSet(timeoutIdRef);\n timeoutIdRef.current = window.setTimeout(() => {\n stringRef.current = \"\";\n prevIndexRef.current = matchIndexRef.current;\n setTypingChange(false);\n }, resetMs);\n const prevIndex = prevIndexRef.current;\n const index = getMatchingIndex(\n listContent,\n [\n ...listContent.slice((prevIndex || 0) + 1),\n ...listContent.slice(0, (prevIndex || 0) + 1)\n ],\n stringRef.current\n );\n if (index !== -1) {\n onMatch(index);\n matchIndexRef.current = index;\n } else if (event.key !== \" \") {\n stringRef.current = \"\";\n setTypingChange(false);\n }\n };\n const reference = useMemo(\n () => ({ onKeyDown }),\n [open, enabled]\n );\n const floating = useMemo(\n () => ({\n onKeyDown,\n onKeyUp(event) {\n if (event.key === \" \") {\n setTypingChange(false);\n }\n }\n }),\n [open, enabled]\n );\n return useMemo(\n () => enabled ? { reference, floating } : {},\n [enabled, reference, floating]\n );\n}\nexport {\n useTypeahead\n};\n//# sourceMappingURL=useTypeahead.js.map\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTypeahead.native.js","names":[],"sources":["esm/interactions/useTypeahead.native.js"],"sourcesContent":["import { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { useEvent } from \"@tamagui/use-event\";\nimport { clearTimeoutIfSet, stopEvent } from \"./utils\";\nfunction useTypeahead(context, props) {\n var { open, dataRef } = context;\n var { listRef, activeIndex, onMatch: unstable_onMatch, onTypingChange: unstable_onTypingChange, enabled = true, findMatch = null, resetMs = 750, ignoreKeys = [], selectedIndex = null } = props;\n var timeoutIdRef = useRef(-1);\n var stringRef = useRef(\"\");\n var _ref;\n var prevIndexRef = useRef((_ref = selectedIndex !== null && selectedIndex !== void 0 ? selectedIndex : activeIndex) !== null && _ref !== void 0 ? _ref : -1);\n var matchIndexRef = useRef(null);\n var onMatch = useEvent(unstable_onMatch || function() {\n });\n var onTypingChange = useEvent(unstable_onTypingChange || function() {\n });\n var findMatchRef = useRef(findMatch);\n findMatchRef.current = findMatch;\n var ignoreKeysRef = useRef(ignoreKeys);\n ignoreKeysRef.current = ignoreKeys;\n useLayoutEffect(function() {\n if (open) {\n clearTimeoutIfSet(timeoutIdRef);\n matchIndexRef.current = null;\n stringRef.current = \"\";\n }\n }, [\n open\n ]);\n useLayoutEffect(function() {\n if (open && stringRef.current === \"\") {\n var _ref2;\n prevIndexRef.current = (_ref2 = selectedIndex !== null && selectedIndex !== void 0 ? selectedIndex : activeIndex) !== null && _ref2 !== void 0 ? _ref2 : -1;\n }\n }, [\n open,\n selectedIndex,\n activeIndex\n ]);\n var setTypingChange = function(value) {\n if (value) {\n if (!dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n } else {\n if (dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n }\n };\n var onKeyDown = function(event) {\n function getMatchingIndex(list, orderedList, string) {\n var str = findMatchRef.current ? findMatchRef.current(orderedList, string) : orderedList.find(function(text) {\n return (text === null || text === void 0 ? void 0 : text.toLocaleLowerCase().indexOf(string.toLocaleLowerCase())) === 0;\n });\n return str ? list.indexOf(str) : -1;\n }\n var listContent = listRef.current;\n if (stringRef.current.length > 0 && stringRef.current[0] !== \" \") {\n if (getMatchingIndex(listContent, listContent, stringRef.current) === -1) {\n setTypingChange(false);\n } else if (event.key === \" \") {\n stopEvent(event);\n }\n }\n if (listContent == null || ignoreKeysRef.current.includes(event.key) || // character key\n event.key.length !== 1 || // modifier key\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (open && event.key !== \" \") {\n stopEvent(event);\n setTypingChange(true);\n }\n var allowRapidSuccessionOfFirstLetter = listContent.every(function(text) {\n var _text_, _text_1;\n return text ? ((_text_ = text[0]) === null || _text_ === void 0 ? void 0 : _text_.toLocaleLowerCase()) !== ((_text_1 = text[1]) === null || _text_1 === void 0 ? void 0 : _text_1.toLocaleLowerCase()) : true;\n });\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = \"\";\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n clearTimeoutIfSet(timeoutIdRef);\n timeoutIdRef.current = window.setTimeout(function() {\n stringRef.current = \"\";\n prevIndexRef.current = matchIndexRef.current;\n setTypingChange(false);\n }, resetMs);\n var prevIndex = prevIndexRef.current;\n var index = getMatchingIndex(listContent, [\n ...listContent.slice((prevIndex || 0) + 1),\n ...listContent.slice(0, (prevIndex || 0) + 1)\n ], stringRef.current);\n if (index !== -1) {\n onMatch(index);\n matchIndexRef.current = index;\n } else if (event.key !== \" \") {\n stringRef.current = \"\";\n setTypingChange(false);\n }\n };\n var reference = useMemo(function() {\n return {\n onKeyDown\n };\n }, [\n open,\n enabled\n ]);\n var floating = useMemo(function() {\n return {\n onKeyDown,\n onKeyUp(event) {\n if (event.key === \" \") {\n setTypingChange(false);\n }\n }\n };\n }, [\n open,\n enabled\n ]);\n return useMemo(function() {\n return enabled ? {\n reference,\n floating\n } : {};\n }, [\n enabled,\n reference,\n floating\n ]);\n}\nexport {\n useTypeahead\n};\n//# sourceMappingURL=useTypeahead.js.map\n"],"mappings":";;;;;AAGA,SAAS,aAAa,SAAS,OAAO;CACpC,IAAI,EAAE,MAAM,YAAY;CACxB,IAAI,EAAE,SAAS,aAAa,SAAS,kBAAkB,gBAAgB,yBAAyB,UAAU,MAAM,YAAY,MAAM,UAAU,KAAK,aAAa,CAAC,GAAG,gBAAgB,SAAS;CAC3L,IAAI,eAAe,OAAO,CAAC,CAAC;CAC5B,IAAI,YAAY,OAAO,EAAE;CACzB,IAAI;CACJ,IAAI,eAAe,QAAQ,OAAO,kBAAkB,QAAQ,kBAAkB,KAAK,IAAI,gBAAgB,iBAAiB,QAAQ,SAAS,KAAK,IAAI,OAAO,CAAC,CAAC;CAC3J,IAAI,gBAAgB,OAAO,IAAI;CAC/B,IAAI,UAAU,SAAS,oBAAoB,WAAW,CACtD,CAAC;CACD,IAAI,iBAAiB,SAAS,2BAA2B,WAAW,CACpE,CAAC;CACD,IAAI,eAAe,OAAO,SAAS;CACnC,aAAa,UAAU;CACvB,IAAI,gBAAgB,OAAO,UAAU;CACrC,cAAc,UAAU;CACxB,gBAAgB,WAAW;EACzB,IAAI,MAAM;GACR,kBAAkB,YAAY;GAC9B,cAAc,UAAU;GACxB,UAAU,UAAU;EACtB;CACF,GAAG,CACD,IACF,CAAC;CACD,gBAAgB,WAAW;EACzB,IAAI,QAAQ,UAAU,YAAY,IAAI;GACpC,IAAI;GACJ,aAAa,WAAW,QAAQ,kBAAkB,QAAQ,kBAAkB,KAAK,IAAI,gBAAgB,iBAAiB,QAAQ,UAAU,KAAK,IAAI,QAAQ,CAAC;EAC5J;CACF,GAAG;EACD;EACA;EACA;CACF,CAAC;CACD,IAAI,kBAAkB,SAAS,OAAO;EACpC,IAAI,OAAO;GACT,IAAI,CAAC,QAAQ,QAAQ,QAAQ;IAC3B,QAAQ,QAAQ,SAAS;IACzB,eAAe,KAAK;GACtB;EACF,OAAO;GACL,IAAI,QAAQ,QAAQ,QAAQ;IAC1B,QAAQ,QAAQ,SAAS;IACzB,eAAe,KAAK;GACtB;EACF;CACF;CACA,IAAI,YAAY,SAAS,OAAO;EAC9B,SAAS,iBAAiB,MAAM,aAAa,QAAQ;GACnD,IAAI,MAAM,aAAa,UAAU,aAAa,QAAQ,aAAa,MAAM,IAAI,YAAY,KAAK,SAAS,MAAM;IAC3G,QAAQ,SAAS,QAAQ,SAAS,KAAK,IAAI,KAAK,IAAI,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"useTypeahead.native.js","names":[],"sources":["esm/interactions/useTypeahead.native.js"],"sourcesContent":["import { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { useEvent } from \"@tamagui/use-event\";\nimport { clearTimeoutIfSet, stopEvent } from \"./utils\";\nfunction useTypeahead(context, props) {\n var { open, dataRef } = context;\n var { listRef, activeIndex, onMatch: unstable_onMatch, onTypingChange: unstable_onTypingChange, enabled = true, findMatch = null, resetMs = 750, ignoreKeys = [], selectedIndex = null } = props;\n var timeoutIdRef = useRef(-1);\n var stringRef = useRef(\"\");\n var _ref;\n var prevIndexRef = useRef((_ref = selectedIndex !== null && selectedIndex !== void 0 ? selectedIndex : activeIndex) !== null && _ref !== void 0 ? _ref : -1);\n var matchIndexRef = useRef(null);\n var onMatch = useEvent(unstable_onMatch || function() {\n });\n var onTypingChange = useEvent(unstable_onTypingChange || function() {\n });\n var findMatchRef = useRef(findMatch);\n findMatchRef.current = findMatch;\n var ignoreKeysRef = useRef(ignoreKeys);\n ignoreKeysRef.current = ignoreKeys;\n useLayoutEffect(function() {\n if (open) {\n clearTimeoutIfSet(timeoutIdRef);\n matchIndexRef.current = null;\n stringRef.current = \"\";\n }\n }, [\n open\n ]);\n useLayoutEffect(function() {\n if (open && stringRef.current === \"\") {\n var _ref2;\n prevIndexRef.current = (_ref2 = selectedIndex !== null && selectedIndex !== void 0 ? selectedIndex : activeIndex) !== null && _ref2 !== void 0 ? _ref2 : -1;\n }\n }, [\n open,\n selectedIndex,\n activeIndex\n ]);\n var setTypingChange = function(value) {\n if (value) {\n if (!dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n } else {\n if (dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n }\n };\n var onKeyDown = function(event) {\n function getMatchingIndex(list, orderedList, string) {\n var str = findMatchRef.current ? findMatchRef.current(orderedList, string) : orderedList.find(function(text) {\n return (text === null || text === void 0 ? void 0 : text.toLocaleLowerCase().indexOf(string.toLocaleLowerCase())) === 0;\n });\n return str ? list.indexOf(str) : -1;\n }\n var listContent = listRef.current;\n if (stringRef.current.length > 0 && stringRef.current[0] !== \" \") {\n if (getMatchingIndex(listContent, listContent, stringRef.current) === -1) {\n setTypingChange(false);\n } else if (event.key === \" \") {\n stopEvent(event);\n }\n }\n if (listContent == null || ignoreKeysRef.current.includes(event.key) || // character key\n event.key.length !== 1 || // modifier key\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (open && event.key !== \" \") {\n stopEvent(event);\n setTypingChange(true);\n }\n var allowRapidSuccessionOfFirstLetter = listContent.every(function(text) {\n var _text_, _text_1;\n return text ? ((_text_ = text[0]) === null || _text_ === void 0 ? void 0 : _text_.toLocaleLowerCase()) !== ((_text_1 = text[1]) === null || _text_1 === void 0 ? void 0 : _text_1.toLocaleLowerCase()) : true;\n });\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = \"\";\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n clearTimeoutIfSet(timeoutIdRef);\n timeoutIdRef.current = window.setTimeout(function() {\n stringRef.current = \"\";\n prevIndexRef.current = matchIndexRef.current;\n setTypingChange(false);\n }, resetMs);\n var prevIndex = prevIndexRef.current;\n var index = getMatchingIndex(listContent, [\n ...listContent.slice((prevIndex || 0) + 1),\n ...listContent.slice(0, (prevIndex || 0) + 1)\n ], stringRef.current);\n if (index !== -1) {\n onMatch(index);\n matchIndexRef.current = index;\n } else if (event.key !== \" \") {\n stringRef.current = \"\";\n setTypingChange(false);\n }\n };\n var reference = useMemo(function() {\n return {\n onKeyDown\n };\n }, [\n open,\n enabled\n ]);\n var floating = useMemo(function() {\n return {\n onKeyDown,\n onKeyUp(event) {\n if (event.key === \" \") {\n setTypingChange(false);\n }\n }\n };\n }, [\n open,\n enabled\n ]);\n return useMemo(function() {\n return enabled ? {\n reference,\n floating\n } : {};\n }, [\n enabled,\n reference,\n floating\n ]);\n}\nexport {\n useTypeahead\n};\n//# sourceMappingURL=useTypeahead.js.map\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[],"sources":["esm/interactions/utils.js"],"sourcesContent":["function getDocument(node) {\n return node?.ownerDocument || document;\n}\nfunction contains(parent, child) {\n if (!parent || !child) return false;\n const rootNode = child.getRootNode?.();\n if (parent.contains(child)) return true;\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) return true;\n next = next.parentNode || next.host;\n }\n }\n return false;\n}\nfunction isShadowRoot(node) {\n return node instanceof ShadowRoot;\n}\nfunction getTarget(event) {\n if (\"composedPath\" in event) {\n return event.composedPath()[0];\n }\n return event.target;\n}\nfunction activeElement(doc) {\n let el = doc.activeElement;\n while (el?.shadowRoot?.activeElement != null) {\n el = el.shadowRoot.activeElement;\n }\n return el;\n}\nfunction isHTMLElement(value) {\n return value instanceof HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof Element;\n}\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute(\"role\") === \"combobox\" && isTypeableElement(element);\n}\nfunction getPlatform() {\n const uaData = navigator.userAgentData;\n if (uaData?.platform) return uaData.platform;\n return navigator.platform;\n}\nfunction getUserAgent() {\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(({ brand, version }) => `${brand}/${version}`).join(\" \");\n }\n return navigator.userAgent;\n}\nfunction isSafari() {\n return /apple/i.test(navigator.vendor);\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith(\"mac\") && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes(\"jsdom/\");\n}\nfunction matchesFocusVisible(element) {\n if (!element || isJSDOM()) return true;\n try {\n return element.matches(\":focus-visible\");\n } catch {\n return true;\n }\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n const values = [\"mouse\", \"pen\"];\n if (!strict) {\n values.push(\"\", void 0);\n }\n return values.includes(pointerType);\n}\nfunction clearTimeoutIfSet(timeoutRef) {\n if (timeoutRef.current !== -1) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = -1;\n }\n}\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isVirtualClick(event) {\n if (event.mozInputSource === 0 && event.isTrusted) return true;\n if (isAndroid() && event.pointerType) {\n return event.type === \"click\" && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === \"mouse\" || event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === \"touch\";\n}\nfunction isAndroid() {\n const re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nlet rafId = 0;\nfunction enqueueFocus(el, options = {}) {\n const { preventScroll = false, cancelPrevious = true, sync = false } = options;\n cancelPrevious && cancelAnimationFrame(rafId);\n const exec = () => el?.focus({ preventScroll });\n if (sync) {\n exec();\n } else {\n rafId = requestAnimationFrame(exec);\n }\n}\nfunction isListIndexDisabled(listRef, index, disabledIndices) {\n if (typeof disabledIndices === \"function\") return disabledIndices(index);\n if (disabledIndices) return disabledIndices.includes(index);\n const element = listRef.current[index];\n return element == null || element.hasAttribute(\"disabled\") || element.getAttribute(\"aria-disabled\") === \"true\";\n}\nfunction findNonDisabledListIndex(listRef, {\n startingIndex = -1,\n decrement = false,\n disabledIndices,\n amount = 1\n} = {}) {\n let index = startingIndex;\n do {\n index += decrement ? -amount : amount;\n } while (index >= 0 && index <= listRef.current.length - 1 && isListIndexDisabled(listRef, index, disabledIndices));\n return index;\n}\nfunction getMinListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, { disabledIndices });\n}\nfunction getMaxListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n decrement: true,\n startingIndex: listRef.current.length,\n disabledIndices\n });\n}\nfunction isIndexOutOfListBounds(listRef, index) {\n return index < 0 || index >= listRef.current.length;\n}\nexport {\n activeElement,\n clearTimeoutIfSet,\n contains,\n enqueueFocus,\n findNonDisabledListIndex,\n getDocument,\n getMaxListIndex,\n getMinListIndex,\n getTarget,\n isElement,\n isHTMLElement,\n isIndexOutOfListBounds,\n isListIndexDisabled,\n isMac,\n isMouseLikePointerType,\n isSafari,\n isTypeableCombobox,\n isTypeableElement,\n isVirtualClick,\n isVirtualPointerEvent,\n matchesFocusVisible,\n stopEvent\n};\n//# sourceMappingURL=utils.js.map\n"],"mappings":";AAAA,SAAS,YAAY,MAAM;CACzB,OAAO,MAAM,iBAAiB;AAChC;AACA,SAAS,SAAS,QAAQ,OAAO;CAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,OAAO;CAC9B,MAAM,WAAW,MAAM,cAAc;CACrC,IAAI,OAAO,SAAS,KAAK,GAAG,OAAO;CACnC,IAAI,YAAY,aAAa,QAAQ,GAAG;EACtC,IAAI,OAAO;EACX,OAAO,MAAM;GACX,IAAI,WAAW,MAAM,OAAO;GAC5B,OAAO,KAAK,cAAc,KAAK;EACjC;CACF;CACA,OAAO;AACT;AACA,SAAS,aAAa,MAAM;CAC1B,OAAO,gBAAgB;AACzB;AACA,SAAS,UAAU,OAAO;CACxB,IAAI,kBAAkB,OAAO;EAC3B,OAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["esm/interactions/utils.js"],"sourcesContent":["function getDocument(node) {\n return node?.ownerDocument || document;\n}\nfunction contains(parent, child) {\n if (!parent || !child) return false;\n const rootNode = child.getRootNode?.();\n if (parent.contains(child)) return true;\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) return true;\n next = next.parentNode || next.host;\n }\n }\n return false;\n}\nfunction isShadowRoot(node) {\n return node instanceof ShadowRoot;\n}\nfunction getTarget(event) {\n if (\"composedPath\" in event) {\n return event.composedPath()[0];\n }\n return event.target;\n}\nfunction activeElement(doc) {\n let el = doc.activeElement;\n while (el?.shadowRoot?.activeElement != null) {\n el = el.shadowRoot.activeElement;\n }\n return el;\n}\nfunction isHTMLElement(value) {\n return value instanceof HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof Element;\n}\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute(\"role\") === \"combobox\" && isTypeableElement(element);\n}\nfunction getPlatform() {\n const uaData = navigator.userAgentData;\n if (uaData?.platform) return uaData.platform;\n return navigator.platform;\n}\nfunction getUserAgent() {\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(({ brand, version }) => `${brand}/${version}`).join(\" \");\n }\n return navigator.userAgent;\n}\nfunction isSafari() {\n return /apple/i.test(navigator.vendor);\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith(\"mac\") && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes(\"jsdom/\");\n}\nfunction matchesFocusVisible(element) {\n if (!element || isJSDOM()) return true;\n try {\n return element.matches(\":focus-visible\");\n } catch {\n return true;\n }\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n const values = [\"mouse\", \"pen\"];\n if (!strict) {\n values.push(\"\", void 0);\n }\n return values.includes(pointerType);\n}\nfunction clearTimeoutIfSet(timeoutRef) {\n if (timeoutRef.current !== -1) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = -1;\n }\n}\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isVirtualClick(event) {\n if (event.mozInputSource === 0 && event.isTrusted) return true;\n if (isAndroid() && event.pointerType) {\n return event.type === \"click\" && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === \"mouse\" || event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === \"touch\";\n}\nfunction isAndroid() {\n const re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nlet rafId = 0;\nfunction enqueueFocus(el, options = {}) {\n const { preventScroll = false, cancelPrevious = true, sync = false } = options;\n cancelPrevious && cancelAnimationFrame(rafId);\n const exec = () => el?.focus({ preventScroll });\n if (sync) {\n exec();\n } else {\n rafId = requestAnimationFrame(exec);\n }\n}\nfunction isListIndexDisabled(listRef, index, disabledIndices) {\n if (typeof disabledIndices === \"function\") return disabledIndices(index);\n if (disabledIndices) return disabledIndices.includes(index);\n const element = listRef.current[index];\n return element == null || element.hasAttribute(\"disabled\") || element.getAttribute(\"aria-disabled\") === \"true\";\n}\nfunction findNonDisabledListIndex(listRef, {\n startingIndex = -1,\n decrement = false,\n disabledIndices,\n amount = 1\n} = {}) {\n let index = startingIndex;\n do {\n index += decrement ? -amount : amount;\n } while (index >= 0 && index <= listRef.current.length - 1 && isListIndexDisabled(listRef, index, disabledIndices));\n return index;\n}\nfunction getMinListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, { disabledIndices });\n}\nfunction getMaxListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n decrement: true,\n startingIndex: listRef.current.length,\n disabledIndices\n });\n}\nfunction isIndexOutOfListBounds(listRef, index) {\n return index < 0 || index >= listRef.current.length;\n}\nexport {\n activeElement,\n clearTimeoutIfSet,\n contains,\n enqueueFocus,\n findNonDisabledListIndex,\n getDocument,\n getMaxListIndex,\n getMinListIndex,\n getTarget,\n isElement,\n isHTMLElement,\n isIndexOutOfListBounds,\n isListIndexDisabled,\n isMac,\n isMouseLikePointerType,\n isSafari,\n isTypeableCombobox,\n isTypeableElement,\n isVirtualClick,\n isVirtualPointerEvent,\n matchesFocusVisible,\n stopEvent\n};\n//# sourceMappingURL=utils.js.map\n"],"mappings":";AAAA,SAAS,YAAY,MAAM;CACzB,OAAO,MAAM,iBAAiB;AAChC;AACA,SAAS,SAAS,QAAQ,OAAO;CAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,OAAO;CAC9B,MAAM,WAAW,MAAM,cAAc;CACrC,IAAI,OAAO,SAAS,KAAK,GAAG,OAAO;CACnC,IAAI,YAAY,aAAa,QAAQ,GAAG;EACtC,IAAI,OAAO;EACX,OAAO,MAAM;GACX,IAAI,WAAW,MAAM,OAAO;GAC5B,OAAO,KAAK,cAAc,KAAK;EACjC;CACF;CACA,OAAO;AACT;AACA,SAAS,aAAa,MAAM;CAC1B,OAAO,gBAAgB;AACzB;AACA,SAAS,UAAU,OAAO;CACxB,IAAI,kBAAkB,OAAO;EAC3B,OAAO,MAAM,aAAa,CAAC,CAAC;CAC9B;CACA,OAAO,MAAM;AACf;AACA,SAAS,cAAc,KAAK;CAC1B,IAAI,KAAK,IAAI;CACb,OAAO,IAAI,YAAY,iBAAiB,MAAM;EAC5C,KAAK,GAAG,WAAW;CACrB;CACA,OAAO;AACT;AACA,SAAS,cAAc,OAAO;CAC5B,OAAO,iBAAiB;AAC1B;AACA,SAAS,UAAU,OAAO;CACxB,OAAO,iBAAiB;AAC1B;AACA,MAAM,oBAAoB;AAC1B,SAAS,kBAAkB,SAAS;CAClC,OAAO,cAAc,OAAO,KAAK,QAAQ,QAAQ,iBAAiB;AACpE;AACA,SAAS,mBAAmB,SAAS;CACnC,IAAI,CAAC,SAAS,OAAO;CACrB,OAAO,QAAQ,aAAa,MAAM,MAAM,cAAc,kBAAkB,OAAO;AACjF;AACA,SAAS,cAAc;CACrB,MAAM,SAAS,UAAU;CACzB,IAAI,QAAQ,UAAU,OAAO,OAAO;CACpC,OAAO,UAAU;AACnB;AACA,SAAS,eAAe;CACtB,MAAM,SAAS,UAAU;CACzB,IAAI,UAAU,MAAM,QAAQ,OAAO,MAAM,GAAG;EAC1C,OAAO,OAAO,OAAO,KAAK,EAAE,OAAO,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC,KAAK,GAAG;CAClF;CACA,OAAO,UAAU;AACnB;AACA,SAAS,WAAW;CAClB,OAAO,SAAS,KAAK,UAAU,MAAM;AACvC;AACA,SAAS,QAAQ;CACf,OAAO,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC,UAAU;AACrE;AACA,SAAS,UAAU;CACjB,OAAO,aAAa,CAAC,CAAC,SAAS,QAAQ;AACzC;AACA,SAAS,oBAAoB,SAAS;CACpC,IAAI,CAAC,WAAW,QAAQ,GAAG,OAAO;CAClC,IAAI;EACF,OAAO,QAAQ,QAAQ,gBAAgB;CACzC,QAAQ;EACN,OAAO;CACT;AACF;AACA,SAAS,uBAAuB,aAAa,QAAQ;CACnD,MAAM,SAAS,CAAC,SAAS,KAAK;CAC9B,IAAI,CAAC,QAAQ;EACX,OAAO,KAAK,IAAI,KAAK,CAAC;CACxB;CACA,OAAO,OAAO,SAAS,WAAW;AACpC;AACA,SAAS,kBAAkB,YAAY;CACrC,IAAI,WAAW,YAAY,CAAC,GAAG;EAC7B,aAAa,WAAW,OAAO;EAC/B,WAAW,UAAU,CAAC;CACxB;AACF;AACA,SAAS,UAAU,OAAO;CACxB,MAAM,eAAe;CACrB,MAAM,gBAAgB;AACxB;AACA,SAAS,eAAe,OAAO;CAC7B,IAAI,MAAM,mBAAmB,KAAK,MAAM,WAAW,OAAO;CAC1D,IAAI,UAAU,KAAK,MAAM,aAAa;EACpC,OAAO,MAAM,SAAS,WAAW,MAAM,YAAY;CACrD;CACA,OAAO,MAAM,WAAW,KAAK,CAAC,MAAM;AACtC;AACA,SAAS,sBAAsB,OAAO;CACpC,IAAI,QAAQ,GAAG,OAAO;CACtB,OAAO,CAAC,UAAU,KAAK,MAAM,UAAU,KAAK,MAAM,WAAW,KAAK,UAAU,KAAK,MAAM,UAAU,KAAK,MAAM,WAAW,KAAK,MAAM,aAAa,KAAK,MAAM,WAAW,KAAK,MAAM,gBAAgB,WAAW,MAAM,QAAQ,KAAK,MAAM,SAAS,KAAK,MAAM,aAAa,KAAK,MAAM,WAAW,KAAK,MAAM,gBAAgB;AACxT;AACA,SAAS,YAAY;CACnB,MAAM,KAAK;CACX,OAAO,GAAG,KAAK,YAAY,CAAC,KAAK,GAAG,KAAK,aAAa,CAAC;AACzD;AACA,IAAI,QAAQ;AACZ,SAAS,aAAa,IAAI,UAAU,CAAC,GAAG;CACtC,MAAM,EAAE,gBAAgB,OAAO,iBAAiB,MAAM,OAAO,UAAU;CACvE,kBAAkB,qBAAqB,KAAK;CAC5C,MAAM,aAAa,IAAI,MAAM,EAAE,cAAc,CAAC;CAC9C,IAAI,MAAM;EACR,KAAK;CACP,OAAO;EACL,QAAQ,sBAAsB,IAAI;CACpC;AACF;AACA,SAAS,oBAAoB,SAAS,OAAO,iBAAiB;CAC5D,IAAI,OAAO,oBAAoB,YAAY,OAAO,gBAAgB,KAAK;CACvE,IAAI,iBAAiB,OAAO,gBAAgB,SAAS,KAAK;CAC1D,MAAM,UAAU,QAAQ,QAAQ;CAChC,OAAO,WAAW,QAAQ,QAAQ,aAAa,UAAU,KAAK,QAAQ,aAAa,eAAe,MAAM;AAC1G;AACA,SAAS,yBAAyB,SAAS,EACzC,gBAAgB,CAAC,GACjB,YAAY,OACZ,iBACA,SAAS,MACP,CAAC,GAAG;CACN,IAAI,QAAQ;CACZ,GAAG;EACD,SAAS,YAAY,CAAC,SAAS;CACjC,SAAS,SAAS,KAAK,SAAS,QAAQ,QAAQ,SAAS,KAAK,oBAAoB,SAAS,OAAO,eAAe;CACjH,OAAO;AACT;AACA,SAAS,gBAAgB,SAAS,iBAAiB;CACjD,OAAO,yBAAyB,SAAS,EAAE,gBAAgB,CAAC;AAC9D;AACA,SAAS,gBAAgB,SAAS,iBAAiB;CACjD,OAAO,yBAAyB,SAAS;EACvC,WAAW;EACX,eAAe,QAAQ,QAAQ;EAC/B;CACF,CAAC;AACH;AACA,SAAS,uBAAuB,SAAS,OAAO;CAC9C,OAAO,QAAQ,KAAK,SAAS,QAAQ,QAAQ;AAC/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.native.js","names":[],"sources":["esm/interactions/utils.native.js"],"sourcesContent":["function _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction getDocument(node) {\n return (node === null || node === void 0 ? void 0 : node.ownerDocument) || document;\n}\nfunction contains(parent, child) {\n var _child_getRootNode;\n if (!parent || !child) return false;\n var rootNode = (_child_getRootNode = child.getRootNode) === null || _child_getRootNode === void 0 ? void 0 : _child_getRootNode.call(child);\n if (parent.contains(child)) return true;\n if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n while (next) {\n if (parent === next) return true;\n next = next.parentNode || next.host;\n }\n }\n return false;\n}\nfunction isShadowRoot(node) {\n return _instanceof(node, ShadowRoot);\n}\nfunction getTarget(event) {\n if (\"composedPath\" in event) {\n return event.composedPath()[0];\n }\n return event.target;\n}\nfunction activeElement(doc) {\n var _el_shadowRoot;\n var el = doc.activeElement;\n while ((el === null || el === void 0 ? void 0 : (_el_shadowRoot = el.shadowRoot) === null || _el_shadowRoot === void 0 ? void 0 : _el_shadowRoot.activeElement) != null) {\n el = el.shadowRoot.activeElement;\n }\n return el;\n}\nfunction isHTMLElement(value) {\n return _instanceof(value, HTMLElement);\n}\nfunction isElement(value) {\n return _instanceof(value, Element);\n}\nvar TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute(\"role\") === \"combobox\" && isTypeableElement(element);\n}\nfunction getPlatform() {\n var uaData = navigator.userAgentData;\n if (uaData === null || uaData === void 0 ? void 0 : uaData.platform) return uaData.platform;\n return navigator.platform;\n}\nfunction getUserAgent() {\n var uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function(param) {\n var { brand, version } = param;\n return `${brand}/${version}`;\n }).join(\" \");\n }\n return navigator.userAgent;\n}\nfunction isSafari() {\n return /apple/i.test(navigator.vendor);\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith(\"mac\") && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes(\"jsdom/\");\n}\nfunction matchesFocusVisible(element) {\n if (!element || isJSDOM()) return true;\n try {\n return element.matches(\":focus-visible\");\n } catch (e) {\n return true;\n }\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n var values = [\n \"mouse\",\n \"pen\"\n ];\n if (!strict) {\n values.push(\"\", void 0);\n }\n return values.includes(pointerType);\n}\nfunction clearTimeoutIfSet(timeoutRef) {\n if (timeoutRef.current !== -1) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = -1;\n }\n}\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isVirtualClick(event) {\n if (event.mozInputSource === 0 && event.isTrusted) return true;\n if (isAndroid() && event.pointerType) {\n return event.type === \"click\" && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === \"mouse\" || event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === \"touch\";\n}\nfunction isAndroid() {\n var re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nvar rafId = 0;\nfunction enqueueFocus(el) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var { preventScroll = false, cancelPrevious = true, sync = false } = options;\n cancelPrevious && cancelAnimationFrame(rafId);\n var exec = function() {\n return el === null || el === void 0 ? void 0 : el.focus({\n preventScroll\n });\n };\n if (sync) {\n exec();\n } else {\n rafId = requestAnimationFrame(exec);\n }\n}\nfunction isListIndexDisabled(listRef, index, disabledIndices) {\n if (typeof disabledIndices === \"function\") return disabledIndices(index);\n if (disabledIndices) return disabledIndices.includes(index);\n var element = listRef.current[index];\n return element == null || element.hasAttribute(\"disabled\") || element.getAttribute(\"aria-disabled\") === \"true\";\n}\nfunction findNonDisabledListIndex(listRef) {\n var { startingIndex = -1, decrement = false, disabledIndices, amount = 1 } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var index = startingIndex;\n do {\n index += decrement ? -amount : amount;\n } while (index >= 0 && index <= listRef.current.length - 1 && isListIndexDisabled(listRef, index, disabledIndices));\n return index;\n}\nfunction getMinListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n disabledIndices\n });\n}\nfunction getMaxListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n decrement: true,\n startingIndex: listRef.current.length,\n disabledIndices\n });\n}\nfunction isIndexOutOfListBounds(listRef, index) {\n return index < 0 || index >= listRef.current.length;\n}\nexport {\n activeElement,\n clearTimeoutIfSet,\n contains,\n enqueueFocus,\n findNonDisabledListIndex,\n getDocument,\n getMaxListIndex,\n getMinListIndex,\n getTarget,\n isElement,\n isHTMLElement,\n isIndexOutOfListBounds,\n isListIndexDisabled,\n isMac,\n isMouseLikePointerType,\n isSafari,\n isTypeableCombobox,\n isTypeableElement,\n isVirtualClick,\n isVirtualPointerEvent,\n matchesFocusVisible,\n stopEvent\n};\n//# sourceMappingURL=utils.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.native.js","names":[],"sources":["esm/interactions/utils.native.js"],"sourcesContent":["function _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction getDocument(node) {\n return (node === null || node === void 0 ? void 0 : node.ownerDocument) || document;\n}\nfunction contains(parent, child) {\n var _child_getRootNode;\n if (!parent || !child) return false;\n var rootNode = (_child_getRootNode = child.getRootNode) === null || _child_getRootNode === void 0 ? void 0 : _child_getRootNode.call(child);\n if (parent.contains(child)) return true;\n if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n while (next) {\n if (parent === next) return true;\n next = next.parentNode || next.host;\n }\n }\n return false;\n}\nfunction isShadowRoot(node) {\n return _instanceof(node, ShadowRoot);\n}\nfunction getTarget(event) {\n if (\"composedPath\" in event) {\n return event.composedPath()[0];\n }\n return event.target;\n}\nfunction activeElement(doc) {\n var _el_shadowRoot;\n var el = doc.activeElement;\n while ((el === null || el === void 0 ? void 0 : (_el_shadowRoot = el.shadowRoot) === null || _el_shadowRoot === void 0 ? void 0 : _el_shadowRoot.activeElement) != null) {\n el = el.shadowRoot.activeElement;\n }\n return el;\n}\nfunction isHTMLElement(value) {\n return _instanceof(value, HTMLElement);\n}\nfunction isElement(value) {\n return _instanceof(value, Element);\n}\nvar TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute(\"role\") === \"combobox\" && isTypeableElement(element);\n}\nfunction getPlatform() {\n var uaData = navigator.userAgentData;\n if (uaData === null || uaData === void 0 ? void 0 : uaData.platform) return uaData.platform;\n return navigator.platform;\n}\nfunction getUserAgent() {\n var uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function(param) {\n var { brand, version } = param;\n return `${brand}/${version}`;\n }).join(\" \");\n }\n return navigator.userAgent;\n}\nfunction isSafari() {\n return /apple/i.test(navigator.vendor);\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith(\"mac\") && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes(\"jsdom/\");\n}\nfunction matchesFocusVisible(element) {\n if (!element || isJSDOM()) return true;\n try {\n return element.matches(\":focus-visible\");\n } catch (e) {\n return true;\n }\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n var values = [\n \"mouse\",\n \"pen\"\n ];\n if (!strict) {\n values.push(\"\", void 0);\n }\n return values.includes(pointerType);\n}\nfunction clearTimeoutIfSet(timeoutRef) {\n if (timeoutRef.current !== -1) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = -1;\n }\n}\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isVirtualClick(event) {\n if (event.mozInputSource === 0 && event.isTrusted) return true;\n if (isAndroid() && event.pointerType) {\n return event.type === \"click\" && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === \"mouse\" || event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === \"touch\";\n}\nfunction isAndroid() {\n var re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nvar rafId = 0;\nfunction enqueueFocus(el) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var { preventScroll = false, cancelPrevious = true, sync = false } = options;\n cancelPrevious && cancelAnimationFrame(rafId);\n var exec = function() {\n return el === null || el === void 0 ? void 0 : el.focus({\n preventScroll\n });\n };\n if (sync) {\n exec();\n } else {\n rafId = requestAnimationFrame(exec);\n }\n}\nfunction isListIndexDisabled(listRef, index, disabledIndices) {\n if (typeof disabledIndices === \"function\") return disabledIndices(index);\n if (disabledIndices) return disabledIndices.includes(index);\n var element = listRef.current[index];\n return element == null || element.hasAttribute(\"disabled\") || element.getAttribute(\"aria-disabled\") === \"true\";\n}\nfunction findNonDisabledListIndex(listRef) {\n var { startingIndex = -1, decrement = false, disabledIndices, amount = 1 } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var index = startingIndex;\n do {\n index += decrement ? -amount : amount;\n } while (index >= 0 && index <= listRef.current.length - 1 && isListIndexDisabled(listRef, index, disabledIndices));\n return index;\n}\nfunction getMinListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n disabledIndices\n });\n}\nfunction getMaxListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n decrement: true,\n startingIndex: listRef.current.length,\n disabledIndices\n });\n}\nfunction isIndexOutOfListBounds(listRef, index) {\n return index < 0 || index >= listRef.current.length;\n}\nexport {\n activeElement,\n clearTimeoutIfSet,\n contains,\n enqueueFocus,\n findNonDisabledListIndex,\n getDocument,\n getMaxListIndex,\n getMinListIndex,\n getTarget,\n isElement,\n isHTMLElement,\n isIndexOutOfListBounds,\n isListIndexDisabled,\n isMac,\n isMouseLikePointerType,\n isSafari,\n isTypeableCombobox,\n isTypeableElement,\n isVirtualClick,\n isVirtualPointerEvent,\n matchesFocusVisible,\n stopEvent\n};\n//# sourceMappingURL=utils.js.map\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inner.js","names":[],"sources":["esm/middleware/inner.js"],"sourcesContent":["import * as ReactDOM from \"react-dom\";\nimport { detectOverflow, offset } from \"@floating-ui/react-dom\";\nfunction getArgsWithCustomFloatingHeight(state, height) {\n return {\n ...state,\n rects: {\n ...state.rects,\n floating: {\n ...state.rects.floating,\n height\n }\n }\n };\n}\nconst inner = (props) => ({\n name: \"inner\",\n options: props,\n async fn(state) {\n const {\n listRef,\n overflowRef,\n onFallbackChange,\n offset: innerOffset = 0,\n index = 0,\n minItemsVisible = 4,\n referenceOverflowThreshold = 0,\n scrollRef,\n padding = 0\n } = props;\n const {\n rects,\n elements: { floating }\n } = state;\n const item = listRef.current?.[index ?? 0];\n const scrollEl = scrollRef?.current || floating;\n const clientTop = floating.clientTop || scrollEl.clientTop;\n const floatingIsBordered = floating.clientTop !== 0;\n const scrollElIsBordered = scrollEl.clientTop !== 0;\n const floatingIsScrollEl = floating === scrollEl;\n if (!item || index == null) {\n onFallbackChange?.(true);\n return {};\n }\n const nextArgs = {\n ...state,\n ...await offset(\n -item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset\n ).fn(state)\n };\n const detectOverflowOptions = { padding };\n const overflow = await detectOverflow(\n getArgsWithCustomFloatingHeight(\n nextArgs,\n scrollEl.scrollHeight + clientTop + floating.clientTop\n ),\n detectOverflowOptions\n );\n const refOverflow = await detectOverflow(nextArgs, {\n ...detectOverflowOptions,\n elementContext: \"reference\"\n });\n const diffY = Math.max(0, overflow.top);\n const nextY = nextArgs.y + diffY;\n const isScrollable = scrollEl.scrollHeight > scrollEl.clientHeight;\n const rounder = isScrollable ? (v) => v : Math.round;\n const maxHeight = rounder(\n Math.max(\n 0,\n scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - Math.max(0, overflow.bottom)\n )\n );\n scrollEl.style.maxHeight = `${maxHeight}px`;\n scrollEl.scrollTop = diffY;\n if (onFallbackChange) {\n const shouldFallback = scrollEl.offsetHeight < item.offsetHeight * Math.min(minItemsVisible, listRef.current?.length ?? 0) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold;\n ReactDOM.flushSync(() => onFallbackChange(shouldFallback));\n }\n if (overflowRef) {\n ;\n overflowRef.current = await detectOverflow(\n getArgsWithCustomFloatingHeight(\n { ...nextArgs, y: nextY },\n scrollEl.offsetHeight + clientTop + floating.clientTop\n ),\n detectOverflowOptions\n );\n }\n return {\n y: nextY\n };\n }\n});\nexport {\n inner\n};\n//# sourceMappingURL=inner.js.map\n"],"mappings":";;;;AAEA,SAAS,gCAAgC,OAAO,QAAQ;CACtD,OAAO;EACL,GAAG;EACH,OAAO;GACL,GAAG,MAAM;GACT,UAAU;IACR,GAAG,MAAM,MAAM;IACf;GACF;EACF;CACF;AACF;AACA,MAAM,SAAS,WAAW;CACxB,MAAM;CACN,SAAS;CACT,MAAM,GAAG,OAAO;EACd,MAAM,EACJ,SACA,aACA,kBACA,QAAQ,cAAc,GACtB,QAAQ,GACR,kBAAkB,GAClB,6BAA6B,GAC7B,WACA,UAAU,MACR;EACJ,MAAM,EACJ,OACA,UAAU,EAAE,eACV;EACJ,MAAM,OAAO,QAAQ,UAAU,SAAS;EACxC,MAAM,WAAW,WAAW,WAAW;EACvC,MAAM,YAAY,SAAS,aAAa,SAAS;EACjD,MAAM,qBAAqB,SAAS,cAAc;EAClD,MAAM,qBAAqB,SAAS,cAAc;EAClD,MAAM,qBAAqB,aAAa;EACxC,IAAI,CAAC,QAAQ,SAAS,MAAM;GAC1B,mBAAmB,IAAI;GACvB,OAAO,CAAC;EACV;EACA,MAAM,WAAW;GACf,GAAG;GACH,GAAG,MAAM,OACP,CAAC,KAAK,YAAY,SAAS,YAAY,MAAM,UAAU,SAAS,IAAI,KAAK,eAAe,IAAI,WAC9F,
|
|
1
|
+
{"version":3,"file":"inner.js","names":[],"sources":["esm/middleware/inner.js"],"sourcesContent":["import * as ReactDOM from \"react-dom\";\nimport { detectOverflow, offset } from \"@floating-ui/react-dom\";\nfunction getArgsWithCustomFloatingHeight(state, height) {\n return {\n ...state,\n rects: {\n ...state.rects,\n floating: {\n ...state.rects.floating,\n height\n }\n }\n };\n}\nconst inner = (props) => ({\n name: \"inner\",\n options: props,\n async fn(state) {\n const {\n listRef,\n overflowRef,\n onFallbackChange,\n offset: innerOffset = 0,\n index = 0,\n minItemsVisible = 4,\n referenceOverflowThreshold = 0,\n scrollRef,\n padding = 0\n } = props;\n const {\n rects,\n elements: { floating }\n } = state;\n const item = listRef.current?.[index ?? 0];\n const scrollEl = scrollRef?.current || floating;\n const clientTop = floating.clientTop || scrollEl.clientTop;\n const floatingIsBordered = floating.clientTop !== 0;\n const scrollElIsBordered = scrollEl.clientTop !== 0;\n const floatingIsScrollEl = floating === scrollEl;\n if (!item || index == null) {\n onFallbackChange?.(true);\n return {};\n }\n const nextArgs = {\n ...state,\n ...await offset(\n -item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset\n ).fn(state)\n };\n const detectOverflowOptions = { padding };\n const overflow = await detectOverflow(\n getArgsWithCustomFloatingHeight(\n nextArgs,\n scrollEl.scrollHeight + clientTop + floating.clientTop\n ),\n detectOverflowOptions\n );\n const refOverflow = await detectOverflow(nextArgs, {\n ...detectOverflowOptions,\n elementContext: \"reference\"\n });\n const diffY = Math.max(0, overflow.top);\n const nextY = nextArgs.y + diffY;\n const isScrollable = scrollEl.scrollHeight > scrollEl.clientHeight;\n const rounder = isScrollable ? (v) => v : Math.round;\n const maxHeight = rounder(\n Math.max(\n 0,\n scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - Math.max(0, overflow.bottom)\n )\n );\n scrollEl.style.maxHeight = `${maxHeight}px`;\n scrollEl.scrollTop = diffY;\n if (onFallbackChange) {\n const shouldFallback = scrollEl.offsetHeight < item.offsetHeight * Math.min(minItemsVisible, listRef.current?.length ?? 0) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold;\n ReactDOM.flushSync(() => onFallbackChange(shouldFallback));\n }\n if (overflowRef) {\n ;\n overflowRef.current = await detectOverflow(\n getArgsWithCustomFloatingHeight(\n { ...nextArgs, y: nextY },\n scrollEl.offsetHeight + clientTop + floating.clientTop\n ),\n detectOverflowOptions\n );\n }\n return {\n y: nextY\n };\n }\n});\nexport {\n inner\n};\n//# sourceMappingURL=inner.js.map\n"],"mappings":";;;;AAEA,SAAS,gCAAgC,OAAO,QAAQ;CACtD,OAAO;EACL,GAAG;EACH,OAAO;GACL,GAAG,MAAM;GACT,UAAU;IACR,GAAG,MAAM,MAAM;IACf;GACF;EACF;CACF;AACF;AACA,MAAM,SAAS,WAAW;CACxB,MAAM;CACN,SAAS;CACT,MAAM,GAAG,OAAO;EACd,MAAM,EACJ,SACA,aACA,kBACA,QAAQ,cAAc,GACtB,QAAQ,GACR,kBAAkB,GAClB,6BAA6B,GAC7B,WACA,UAAU,MACR;EACJ,MAAM,EACJ,OACA,UAAU,EAAE,eACV;EACJ,MAAM,OAAO,QAAQ,UAAU,SAAS;EACxC,MAAM,WAAW,WAAW,WAAW;EACvC,MAAM,YAAY,SAAS,aAAa,SAAS;EACjD,MAAM,qBAAqB,SAAS,cAAc;EAClD,MAAM,qBAAqB,SAAS,cAAc;EAClD,MAAM,qBAAqB,aAAa;EACxC,IAAI,CAAC,QAAQ,SAAS,MAAM;GAC1B,mBAAmB,IAAI;GACvB,OAAO,CAAC;EACV;EACA,MAAM,WAAW;GACf,GAAG;GACH,GAAG,MAAM,OACP,CAAC,KAAK,YAAY,SAAS,YAAY,MAAM,UAAU,SAAS,IAAI,KAAK,eAAe,IAAI,WAC9F,CAAC,CAAC,GAAG,KAAK;EACZ;EACA,MAAM,wBAAwB,EAAE,QAAQ;EACxC,MAAM,WAAW,MAAM,eACrB,gCACE,UACA,SAAS,eAAe,YAAY,SAAS,SAC/C,GACA,qBACF;EACA,MAAM,cAAc,MAAM,eAAe,UAAU;GACjD,GAAG;GACH,gBAAgB;EAClB,CAAC;EACD,MAAM,QAAQ,KAAK,IAAI,GAAG,SAAS,GAAG;EACtC,MAAM,QAAQ,SAAS,IAAI;EAC3B,MAAM,eAAe,SAAS,eAAe,SAAS;EACtD,MAAM,UAAU,gBAAgB,MAAM,IAAI,KAAK;EAC/C,MAAM,YAAY,QAChB,KAAK,IACH,GACA,SAAS,gBAAgB,sBAAsB,sBAAsB,qBAAqB,YAAY,IAAI,KAAK,QAAQ,KAAK,IAAI,GAAG,SAAS,MAAM,CACpJ,CACF;EACA,SAAS,MAAM,YAAY,GAAG,UAAU;EACxC,SAAS,YAAY;EACrB,IAAI,kBAAkB;GACpB,MAAM,iBAAiB,SAAS,eAAe,KAAK,eAAe,KAAK,IAAI,iBAAiB,QAAQ,SAAS,UAAU,CAAC,IAAI,KAAK,YAAY,OAAO,CAAC,8BAA8B,YAAY,UAAU,CAAC;GAC3M,SAAS,gBAAgB,iBAAiB,cAAc,CAAC;EAC3D;EACA,IAAI,aAAa;GACf;GACA,YAAY,UAAU,MAAM,eAC1B,gCACE;IAAE,GAAG;IAAU,GAAG;GAAM,GACxB,SAAS,eAAe,YAAY,SAAS,SAC/C,GACA,qBACF;EACF;EACA,OAAO,EACL,GAAG,MACL;CACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inner.native.js","names":[],"sources":["esm/middleware/inner.native.js"],"sourcesContent":["import * as ReactDOM from \"react-dom\";\nimport { detectOverflow, offset } from \"@floating-ui/react-dom\";\nfunction getArgsWithCustomFloatingHeight(state, height) {\n return {\n ...state,\n rects: {\n ...state.rects,\n floating: {\n ...state.rects.floating,\n height\n }\n }\n };\n}\nvar inner = function(props) {\n return {\n name: \"inner\",\n options: props,\n async fn(state) {\n var _listRef_current;\n var { listRef, overflowRef, onFallbackChange, offset: innerOffset = 0, index = 0, minItemsVisible = 4, referenceOverflowThreshold = 0, scrollRef, padding = 0 } = props;\n var { rects, elements: { floating } } = state;\n var item = (_listRef_current = listRef.current) === null || _listRef_current === void 0 ? void 0 : _listRef_current[index !== null && index !== void 0 ? index : 0];\n var scrollEl = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || floating;\n var clientTop = floating.clientTop || scrollEl.clientTop;\n var floatingIsBordered = floating.clientTop !== 0;\n var scrollElIsBordered = scrollEl.clientTop !== 0;\n var floatingIsScrollEl = floating === scrollEl;\n if (!item || index == null) {\n onFallbackChange === null || onFallbackChange === void 0 ? void 0 : onFallbackChange(true);\n return {};\n }\n var nextArgs = {\n ...state,\n ...await offset(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state)\n };\n var detectOverflowOptions = {\n padding\n };\n var overflow = await detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, scrollEl.scrollHeight + clientTop + floating.clientTop), detectOverflowOptions);\n var refOverflow = await detectOverflow(nextArgs, {\n ...detectOverflowOptions,\n elementContext: \"reference\"\n });\n var diffY = Math.max(0, overflow.top);\n var nextY = nextArgs.y + diffY;\n var isScrollable = scrollEl.scrollHeight > scrollEl.clientHeight;\n var rounder = isScrollable ? function(v) {\n return v;\n } : Math.round;\n var maxHeight = rounder(Math.max(0, scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - Math.max(0, overflow.bottom)));\n scrollEl.style.maxHeight = `${maxHeight}px`;\n scrollEl.scrollTop = diffY;\n if (onFallbackChange) {\n var _listRef_current1;\n var _listRef_current_length;\n var shouldFallback = scrollEl.offsetHeight < item.offsetHeight * Math.min(minItemsVisible, (_listRef_current_length = (_listRef_current1 = listRef.current) === null || _listRef_current1 === void 0 ? void 0 : _listRef_current1.length) !== null && _listRef_current_length !== void 0 ? _listRef_current_length : 0) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold;\n ReactDOM.flushSync(function() {\n return onFallbackChange(shouldFallback);\n });\n }\n if (overflowRef) {\n ;\n overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({\n ...nextArgs,\n y: nextY\n }, scrollEl.offsetHeight + clientTop + floating.clientTop), detectOverflowOptions);\n }\n return {\n y: nextY\n };\n }\n };\n};\nexport {\n inner\n};\n//# sourceMappingURL=inner.js.map\n"],"mappings":";;;;AAEA,SAAS,gCAAgC,OAAO,QAAQ;CACtD,OAAO;EACL,GAAG;EACH,OAAO;GACL,GAAG,MAAM;GACT,UAAU;IACR,GAAG,MAAM,MAAM;IACf;GACF;EACF;CACF;AACF;AACA,IAAI,QAAQ,SAAS,OAAO;CAC1B,OAAO;EACL,MAAM;EACN,SAAS;EACT,MAAM,GAAG,OAAO;GACd,IAAI;GACJ,IAAI,EAAE,SAAS,aAAa,kBAAkB,QAAQ,cAAc,GAAG,QAAQ,GAAG,kBAAkB,GAAG,6BAA6B,GAAG,WAAW,UAAU,MAAM;GAClK,IAAI,EAAE,OAAO,UAAU,EAAE,eAAe;GACxC,IAAI,QAAQ,mBAAmB,QAAQ,aAAa,QAAQ,qBAAqB,KAAK,IAAI,KAAK,IAAI,iBAAiB,UAAU,QAAQ,UAAU,KAAK,IAAI,QAAQ;GACjK,IAAI,YAAY,cAAc,QAAQ,cAAc,KAAK,IAAI,KAAK,IAAI,UAAU,YAAY;GAC5F,IAAI,YAAY,SAAS,aAAa,SAAS;GAC/C,IAAI,qBAAqB,SAAS,cAAc;GAChD,IAAI,qBAAqB,SAAS,cAAc;GAChD,IAAI,qBAAqB,aAAa;GACtC,IAAI,CAAC,QAAQ,SAAS,MAAM;IAC1B,qBAAqB,QAAQ,qBAAqB,KAAK,IAAI,KAAK,IAAI,iBAAiB,IAAI;IACzF,OAAO,CAAC;GACV;GACA,IAAI,WAAW;IACb,GAAG;IACH,GAAG,MAAM,OAAO,CAAC,KAAK,YAAY,SAAS,YAAY,MAAM,UAAU,SAAS,IAAI,KAAK,eAAe,IAAI,WAAW,
|
|
1
|
+
{"version":3,"file":"inner.native.js","names":[],"sources":["esm/middleware/inner.native.js"],"sourcesContent":["import * as ReactDOM from \"react-dom\";\nimport { detectOverflow, offset } from \"@floating-ui/react-dom\";\nfunction getArgsWithCustomFloatingHeight(state, height) {\n return {\n ...state,\n rects: {\n ...state.rects,\n floating: {\n ...state.rects.floating,\n height\n }\n }\n };\n}\nvar inner = function(props) {\n return {\n name: \"inner\",\n options: props,\n async fn(state) {\n var _listRef_current;\n var { listRef, overflowRef, onFallbackChange, offset: innerOffset = 0, index = 0, minItemsVisible = 4, referenceOverflowThreshold = 0, scrollRef, padding = 0 } = props;\n var { rects, elements: { floating } } = state;\n var item = (_listRef_current = listRef.current) === null || _listRef_current === void 0 ? void 0 : _listRef_current[index !== null && index !== void 0 ? index : 0];\n var scrollEl = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || floating;\n var clientTop = floating.clientTop || scrollEl.clientTop;\n var floatingIsBordered = floating.clientTop !== 0;\n var scrollElIsBordered = scrollEl.clientTop !== 0;\n var floatingIsScrollEl = floating === scrollEl;\n if (!item || index == null) {\n onFallbackChange === null || onFallbackChange === void 0 ? void 0 : onFallbackChange(true);\n return {};\n }\n var nextArgs = {\n ...state,\n ...await offset(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state)\n };\n var detectOverflowOptions = {\n padding\n };\n var overflow = await detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, scrollEl.scrollHeight + clientTop + floating.clientTop), detectOverflowOptions);\n var refOverflow = await detectOverflow(nextArgs, {\n ...detectOverflowOptions,\n elementContext: \"reference\"\n });\n var diffY = Math.max(0, overflow.top);\n var nextY = nextArgs.y + diffY;\n var isScrollable = scrollEl.scrollHeight > scrollEl.clientHeight;\n var rounder = isScrollable ? function(v) {\n return v;\n } : Math.round;\n var maxHeight = rounder(Math.max(0, scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - Math.max(0, overflow.bottom)));\n scrollEl.style.maxHeight = `${maxHeight}px`;\n scrollEl.scrollTop = diffY;\n if (onFallbackChange) {\n var _listRef_current1;\n var _listRef_current_length;\n var shouldFallback = scrollEl.offsetHeight < item.offsetHeight * Math.min(minItemsVisible, (_listRef_current_length = (_listRef_current1 = listRef.current) === null || _listRef_current1 === void 0 ? void 0 : _listRef_current1.length) !== null && _listRef_current_length !== void 0 ? _listRef_current_length : 0) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold;\n ReactDOM.flushSync(function() {\n return onFallbackChange(shouldFallback);\n });\n }\n if (overflowRef) {\n ;\n overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({\n ...nextArgs,\n y: nextY\n }, scrollEl.offsetHeight + clientTop + floating.clientTop), detectOverflowOptions);\n }\n return {\n y: nextY\n };\n }\n };\n};\nexport {\n inner\n};\n//# sourceMappingURL=inner.js.map\n"],"mappings":";;;;AAEA,SAAS,gCAAgC,OAAO,QAAQ;CACtD,OAAO;EACL,GAAG;EACH,OAAO;GACL,GAAG,MAAM;GACT,UAAU;IACR,GAAG,MAAM,MAAM;IACf;GACF;EACF;CACF;AACF;AACA,IAAI,QAAQ,SAAS,OAAO;CAC1B,OAAO;EACL,MAAM;EACN,SAAS;EACT,MAAM,GAAG,OAAO;GACd,IAAI;GACJ,IAAI,EAAE,SAAS,aAAa,kBAAkB,QAAQ,cAAc,GAAG,QAAQ,GAAG,kBAAkB,GAAG,6BAA6B,GAAG,WAAW,UAAU,MAAM;GAClK,IAAI,EAAE,OAAO,UAAU,EAAE,eAAe;GACxC,IAAI,QAAQ,mBAAmB,QAAQ,aAAa,QAAQ,qBAAqB,KAAK,IAAI,KAAK,IAAI,iBAAiB,UAAU,QAAQ,UAAU,KAAK,IAAI,QAAQ;GACjK,IAAI,YAAY,cAAc,QAAQ,cAAc,KAAK,IAAI,KAAK,IAAI,UAAU,YAAY;GAC5F,IAAI,YAAY,SAAS,aAAa,SAAS;GAC/C,IAAI,qBAAqB,SAAS,cAAc;GAChD,IAAI,qBAAqB,SAAS,cAAc;GAChD,IAAI,qBAAqB,aAAa;GACtC,IAAI,CAAC,QAAQ,SAAS,MAAM;IAC1B,qBAAqB,QAAQ,qBAAqB,KAAK,IAAI,KAAK,IAAI,iBAAiB,IAAI;IACzF,OAAO,CAAC;GACV;GACA,IAAI,WAAW;IACb,GAAG;IACH,GAAG,MAAM,OAAO,CAAC,KAAK,YAAY,SAAS,YAAY,MAAM,UAAU,SAAS,IAAI,KAAK,eAAe,IAAI,WAAW,CAAC,CAAC,GAAG,KAAK;GACnI;GACA,IAAI,wBAAwB,EAC1B,QACF;GACA,IAAI,WAAW,MAAM,eAAe,gCAAgC,UAAU,SAAS,eAAe,YAAY,SAAS,SAAS,GAAG,qBAAqB;GAC5J,IAAI,cAAc,MAAM,eAAe,UAAU;IAC/C,GAAG;IACH,gBAAgB;GAClB,CAAC;GACD,IAAI,QAAQ,KAAK,IAAI,GAAG,SAAS,GAAG;GACpC,IAAI,QAAQ,SAAS,IAAI;GACzB,IAAI,eAAe,SAAS,eAAe,SAAS;GACpD,IAAI,UAAU,eAAe,SAAS,GAAG;IACvC,OAAO;GACT,IAAI,KAAK;GACT,IAAI,YAAY,QAAQ,KAAK,IAAI,GAAG,SAAS,gBAAgB,sBAAsB,sBAAsB,qBAAqB,YAAY,IAAI,KAAK,QAAQ,KAAK,IAAI,GAAG,SAAS,MAAM,CAAC,CAAC;GACxL,SAAS,MAAM,YAAY,GAAG,UAAU;GACxC,SAAS,YAAY;GACrB,IAAI,kBAAkB;IACpB,IAAI;IACJ,IAAI;IACJ,IAAI,iBAAiB,SAAS,eAAe,KAAK,eAAe,KAAK,IAAI,kBAAkB,2BAA2B,oBAAoB,QAAQ,aAAa,QAAQ,sBAAsB,KAAK,IAAI,KAAK,IAAI,kBAAkB,YAAY,QAAQ,4BAA4B,KAAK,IAAI,0BAA0B,CAAC,IAAI,KAAK,YAAY,OAAO,CAAC,8BAA8B,YAAY,UAAU,CAAC;IACxY,SAAS,UAAU,WAAW;KAC5B,OAAO,iBAAiB,cAAc;IACxC,CAAC;GACH;GACA,IAAI,aAAa;IACf;IACA,YAAY,UAAU,MAAM,eAAe,gCAAgC;KACzE,GAAG;KACH,GAAG;IACL,GAAG,SAAS,eAAe,YAAY,SAAS,SAAS,GAAG,qBAAqB;GACnF;GACA,OAAO,EACL,GAAG,MACL;EACF;CACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFloating.js","names":[],"sources":["esm/useFloating.js"],"sourcesContent":["import React from \"react\";\nimport * as Floating from \"./Floating\";\nconst FloatingOverrideContext = React.createContext(\n null\n);\nconst useFloating = (props) => {\n \"use no memo\";\n const context = React.useContext(FloatingOverrideContext);\n return (context || Floating.useFloating)?.({\n ...props,\n middleware: [\n // @ts-ignore\n ...props.middleware,\n {\n name: `rounded`,\n fn({ x, y }) {\n return {\n x: Math.round(x),\n y: Math.round(y)\n };\n }\n }\n ]\n });\n};\nexport {\n FloatingOverrideContext,\n useFloating\n};\n//# sourceMappingURL=useFloating.js.map\n"],"mappings":";;;;AAEA,MAAM,0BAA0B,MAAM,cACpC,IACF;AACA,MAAM,eAAe,UAAU;CAC7B;CACA,MAAM,UAAU,MAAM,WAAW,uBAAuB;CACxD,QAAQ,WAAW,SAAS,
|
|
1
|
+
{"version":3,"file":"useFloating.js","names":[],"sources":["esm/useFloating.js"],"sourcesContent":["import React from \"react\";\nimport * as Floating from \"./Floating\";\nconst FloatingOverrideContext = React.createContext(\n null\n);\nconst useFloating = (props) => {\n \"use no memo\";\n const context = React.useContext(FloatingOverrideContext);\n return (context || Floating.useFloating)?.({\n ...props,\n middleware: [\n // @ts-ignore\n ...props.middleware,\n {\n name: `rounded`,\n fn({ x, y }) {\n return {\n x: Math.round(x),\n y: Math.round(y)\n };\n }\n }\n ]\n });\n};\nexport {\n FloatingOverrideContext,\n useFloating\n};\n//# sourceMappingURL=useFloating.js.map\n"],"mappings":";;;;AAEA,MAAM,0BAA0B,MAAM,cACpC,IACF;AACA,MAAM,eAAe,UAAU;CAC7B;CACA,MAAM,UAAU,MAAM,WAAW,uBAAuB;CACxD,QAAQ,WAAW,SAAS,YAAW,GAAI;EACzC,GAAG;EACH,YAAY,CAEV,GAAG,MAAM,YACT;GACE,MAAM;GACN,GAAG,EAAE,GAAG,KAAK;IACX,OAAO;KACL,GAAG,KAAK,MAAM,CAAC;KACf,GAAG,KAAK,MAAM,CAAC;IACjB;GACF;EACF,CACF;CACF,CAAC;AACH"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/floating",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.728.1",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -36,11 +36,11 @@
|
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@floating-ui/react-dom": "^2.1.6",
|
|
38
38
|
"@floating-ui/react-native": "^0.10.7",
|
|
39
|
-
"@tamagui/use-event": "3.0.0-beta.
|
|
39
|
+
"@tamagui/use-event": "3.0.0-beta.728.1"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@tamagui/build": "3.0.0-beta.
|
|
43
|
-
"react": "
|
|
42
|
+
"@tamagui/build": "3.0.0-beta.728.1",
|
|
43
|
+
"react": "19.2.3",
|
|
44
44
|
"react-native": "0.86.2"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|