@tamagui/floating 2.7.7 → 3.0.0-beta.1097.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 +9 -11
- package/dist/cjs/Floating.native.cjs +36 -0
- package/dist/cjs/Floating.native.js +19 -20
- package/dist/cjs/Floating.native.js.map +1 -1
- package/dist/cjs/index.cjs +44 -46
- package/dist/cjs/index.native.cjs +73 -0
- package/dist/cjs/index.native.js +44 -45
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/interactions/PopupTriggerMap.cjs +35 -39
- package/dist/cjs/interactions/PopupTriggerMap.native.cjs +95 -0
- package/dist/cjs/interactions/PopupTriggerMap.native.js +75 -75
- package/dist/cjs/interactions/PopupTriggerMap.native.js.map +1 -1
- package/dist/cjs/interactions/createFloatingEvents.cjs +35 -39
- package/dist/cjs/interactions/createFloatingEvents.native.cjs +51 -0
- package/dist/cjs/interactions/createFloatingEvents.native.js +38 -41
- package/dist/cjs/interactions/createFloatingEvents.native.js.map +1 -1
- package/dist/cjs/interactions/safePolygon.cjs +262 -252
- package/dist/cjs/interactions/safePolygon.native.cjs +293 -0
- package/dist/cjs/interactions/safePolygon.native.js +270 -259
- package/dist/cjs/interactions/safePolygon.native.js.map +1 -1
- package/dist/cjs/interactions/types.cjs +9 -11
- package/dist/cjs/interactions/types.native.cjs +18 -0
- package/dist/cjs/interactions/types.native.js +9 -10
- package/dist/cjs/interactions/types.native.js.map +1 -1
- package/dist/cjs/interactions/useClick.cjs +95 -105
- package/dist/cjs/interactions/useClick.native.cjs +121 -0
- package/dist/cjs/interactions/useClick.native.js +100 -109
- package/dist/cjs/interactions/useClick.native.js.map +1 -1
- package/dist/cjs/interactions/useDelayGroup.cjs +85 -91
- package/dist/cjs/interactions/useDelayGroup.native.cjs +118 -0
- package/dist/cjs/interactions/useDelayGroup.native.js +91 -96
- package/dist/cjs/interactions/useDelayGroup.native.js.map +1 -1
- package/dist/cjs/interactions/useFocus.cjs +107 -115
- package/dist/cjs/interactions/useFocus.native.cjs +130 -0
- package/dist/cjs/interactions/useFocus.native.js +113 -120
- package/dist/cjs/interactions/useFocus.native.js.map +1 -1
- package/dist/cjs/interactions/useHover.cjs +320 -335
- package/dist/cjs/interactions/useHover.native.cjs +356 -0
- package/dist/cjs/interactions/useHover.native.js +332 -347
- package/dist/cjs/interactions/useHover.native.js.map +1 -1
- package/dist/cjs/interactions/useInnerOffset.cjs +102 -111
- package/dist/cjs/interactions/useInnerOffset.native.cjs +131 -0
- package/dist/cjs/interactions/useInnerOffset.native.js +112 -120
- package/dist/cjs/interactions/useInnerOffset.native.js.map +1 -1
- package/dist/cjs/interactions/useInteractions.cjs +76 -92
- package/dist/cjs/interactions/useInteractions.native.cjs +199 -0
- package/dist/cjs/interactions/useInteractions.native.js +185 -200
- package/dist/cjs/interactions/useInteractions.native.js.map +1 -1
- package/dist/cjs/interactions/useListNavigation.cjs +404 -390
- package/dist/cjs/interactions/useListNavigation.native.cjs +446 -0
- package/dist/cjs/interactions/useListNavigation.native.js +416 -401
- package/dist/cjs/interactions/useListNavigation.native.js.map +1 -1
- package/dist/cjs/interactions/useRole.cjs +91 -106
- package/dist/cjs/interactions/useRole.native.cjs +120 -0
- package/dist/cjs/interactions/useRole.native.js +102 -116
- package/dist/cjs/interactions/useRole.native.js.map +1 -1
- package/dist/cjs/interactions/useTypeahead.cjs +114 -129
- package/dist/cjs/interactions/useTypeahead.native.cjs +143 -0
- package/dist/cjs/interactions/useTypeahead.native.js +127 -141
- package/dist/cjs/interactions/useTypeahead.native.js.map +1 -1
- package/dist/cjs/interactions/utils.cjs +125 -143
- package/dist/cjs/interactions/utils.native.cjs +201 -0
- package/dist/cjs/interactions/utils.native.js +132 -156
- package/dist/cjs/interactions/utils.native.js.map +1 -1
- package/dist/cjs/middleware/inner.cjs +73 -101
- package/dist/cjs/middleware/inner.native.cjs +101 -0
- package/dist/cjs/middleware/inner.native.js +82 -109
- package/dist/cjs/middleware/inner.native.js.map +1 -1
- package/dist/cjs/useFloating.cjs +33 -46
- package/dist/cjs/useFloating.native.cjs +55 -0
- package/dist/cjs/useFloating.native.js +36 -48
- package/dist/cjs/useFloating.native.js.map +1 -1
- package/dist/esm/Floating.mjs +1 -2
- package/dist/esm/Floating.native.js +6 -4
- package/dist/esm/Floating.native.js.map +1 -1
- package/dist/esm/index.js +4 -5
- package/dist/esm/index.mjs +4 -5
- package/dist/esm/index.native.js +4 -5
- package/dist/esm/interactions/PopupTriggerMap.mjs +23 -22
- package/dist/esm/interactions/PopupTriggerMap.mjs.map +1 -1
- package/dist/esm/interactions/PopupTriggerMap.native.js +62 -58
- package/dist/esm/interactions/PopupTriggerMap.native.js.map +1 -1
- package/dist/esm/interactions/createFloatingEvents.mjs +22 -21
- package/dist/esm/interactions/createFloatingEvents.mjs.map +1 -1
- package/dist/esm/interactions/createFloatingEvents.native.js +25 -24
- package/dist/esm/interactions/createFloatingEvents.native.js.map +1 -1
- package/dist/esm/interactions/safePolygon.mjs +250 -234
- package/dist/esm/interactions/safePolygon.mjs.map +1 -1
- package/dist/esm/interactions/safePolygon.native.js +258 -242
- package/dist/esm/interactions/safePolygon.native.js.map +1 -1
- package/dist/esm/interactions/types.mjs +0 -2
- package/dist/esm/interactions/types.native.js +0 -2
- package/dist/esm/interactions/useClick.mjs +83 -87
- package/dist/esm/interactions/useClick.mjs.map +1 -1
- package/dist/esm/interactions/useClick.native.js +88 -92
- package/dist/esm/interactions/useClick.native.js.map +1 -1
- package/dist/esm/interactions/useDelayGroup.mjs +68 -65
- package/dist/esm/interactions/useDelayGroup.mjs.map +1 -1
- package/dist/esm/interactions/useDelayGroup.native.js +74 -71
- package/dist/esm/interactions/useDelayGroup.native.js.map +1 -1
- package/dist/esm/interactions/useFocus.mjs +95 -97
- package/dist/esm/interactions/useFocus.mjs.map +1 -1
- package/dist/esm/interactions/useFocus.native.js +101 -103
- package/dist/esm/interactions/useFocus.native.js.map +1 -1
- package/dist/esm/interactions/useHover.mjs +304 -310
- package/dist/esm/interactions/useHover.mjs.map +1 -1
- package/dist/esm/interactions/useHover.native.js +316 -323
- package/dist/esm/interactions/useHover.native.js.map +1 -1
- package/dist/esm/interactions/useInnerOffset.mjs +87 -85
- package/dist/esm/interactions/useInnerOffset.mjs.map +1 -1
- package/dist/esm/interactions/useInnerOffset.native.js +97 -95
- package/dist/esm/interactions/useInnerOffset.native.js.map +1 -1
- package/dist/esm/interactions/useInteractions.mjs +65 -75
- package/dist/esm/interactions/useInteractions.mjs.map +1 -1
- package/dist/esm/interactions/useInteractions.native.js +172 -182
- package/dist/esm/interactions/useInteractions.native.js.map +1 -1
- package/dist/esm/interactions/useListNavigation.mjs +393 -373
- package/dist/esm/interactions/useListNavigation.mjs.map +1 -1
- package/dist/esm/interactions/useListNavigation.native.js +405 -385
- package/dist/esm/interactions/useListNavigation.native.js.map +1 -1
- package/dist/esm/interactions/useRole.mjs +76 -80
- package/dist/esm/interactions/useRole.mjs.map +1 -1
- package/dist/esm/interactions/useRole.native.js +87 -91
- package/dist/esm/interactions/useRole.native.js.map +1 -1
- package/dist/esm/interactions/useTypeahead.mjs +102 -111
- package/dist/esm/interactions/useTypeahead.mjs.map +1 -1
- package/dist/esm/interactions/useTypeahead.native.js +115 -124
- package/dist/esm/interactions/useTypeahead.native.js.map +1 -1
- package/dist/esm/interactions/utils.mjs +91 -106
- package/dist/esm/interactions/utils.mjs.map +1 -1
- package/dist/esm/interactions/utils.native.js +98 -120
- package/dist/esm/interactions/utils.native.js.map +1 -1
- package/dist/esm/middleware/inner.mjs +58 -75
- package/dist/esm/middleware/inner.mjs.map +1 -1
- package/dist/esm/middleware/inner.native.js +67 -84
- package/dist/esm/middleware/inner.native.js.map +1 -1
- package/dist/esm/useFloating.mjs +17 -21
- package/dist/esm/useFloating.mjs.map +1 -1
- package/dist/esm/useFloating.native.js +19 -23
- package/dist/esm/useFloating.native.js.map +1 -1
- package/package.json +8 -6
- package/src/interactions/useInteractions.ts +61 -59
- package/src/interactions/useListNavigation.ts +7 -2
- package/types/interactions/PopupTriggerMap.d.ts.map +1 -1
- package/types/interactions/useInteractions.d.ts +3 -3
- package/types/interactions/useInteractions.d.ts.map +1 -1
- package/types/interactions/useListNavigation.d.ts.map +1 -1
- package/types/middleware/inner.d.ts.map +1 -1
- package/types/useFloating.d.ts.map +1 -1
- package/dist/esm/Floating.mjs.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/interactions/types.mjs.map +0 -1
- package/dist/esm/interactions/types.native.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils.native.js","names":[],"sources":["esm/interactions/utils.native.js"],"sourcesContent":["function 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 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 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 value instanceof HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof 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,82 +1,65 @@
|
|
|
1
1
|
import * as ReactDOM from "react-dom";
|
|
2
2
|
import { detectOverflow, offset } from "@floating-ui/react-dom";
|
|
3
|
+
|
|
3
4
|
function getArgsWithCustomFloatingHeight(state, height) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
return {
|
|
6
|
+
...state,
|
|
7
|
+
rects: {
|
|
8
|
+
...state.rects,
|
|
9
|
+
floating: {
|
|
10
|
+
...state.rects.floating,
|
|
11
|
+
height
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
};
|
|
14
15
|
}
|
|
15
|
-
const inner = props => ({
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
const rounder = isScrollable ? v => v : Math.round;
|
|
62
|
-
const maxHeight = rounder(Math.max(0, scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - Math.max(0, overflow.bottom)));
|
|
63
|
-
scrollEl.style.maxHeight = `${maxHeight}px`;
|
|
64
|
-
scrollEl.scrollTop = diffY;
|
|
65
|
-
if (onFallbackChange) {
|
|
66
|
-
const shouldFallback = scrollEl.offsetHeight < item.offsetHeight * Math.min(minItemsVisible, listRef.current?.length ?? 0) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold;
|
|
67
|
-
ReactDOM.flushSync(() => onFallbackChange(shouldFallback));
|
|
68
|
-
}
|
|
69
|
-
if (overflowRef) {
|
|
70
|
-
;
|
|
71
|
-
overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({
|
|
72
|
-
...nextArgs,
|
|
73
|
-
y: nextY
|
|
74
|
-
}, scrollEl.offsetHeight + clientTop + floating.clientTop), detectOverflowOptions);
|
|
75
|
-
}
|
|
76
|
-
return {
|
|
77
|
-
y: nextY
|
|
78
|
-
};
|
|
79
|
-
}
|
|
16
|
+
const inner = (props) => ({
|
|
17
|
+
name: "inner",
|
|
18
|
+
options: props,
|
|
19
|
+
async fn(state) {
|
|
20
|
+
const { listRef, overflowRef, onFallbackChange, offset: innerOffset = 0, index = 0, minItemsVisible = 4, referenceOverflowThreshold = 0, scrollRef, padding = 0 } = props;
|
|
21
|
+
const { rects, elements: { floating } } = state;
|
|
22
|
+
const item = listRef.current?.[index ?? 0];
|
|
23
|
+
const scrollEl = scrollRef?.current || floating;
|
|
24
|
+
const clientTop = floating.clientTop || scrollEl.clientTop;
|
|
25
|
+
const floatingIsBordered = floating.clientTop !== 0;
|
|
26
|
+
const scrollElIsBordered = scrollEl.clientTop !== 0;
|
|
27
|
+
const floatingIsScrollEl = floating === scrollEl;
|
|
28
|
+
if (!item || index == null) {
|
|
29
|
+
onFallbackChange?.(true);
|
|
30
|
+
return {};
|
|
31
|
+
}
|
|
32
|
+
const nextArgs = {
|
|
33
|
+
...state,
|
|
34
|
+
...await offset(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state)
|
|
35
|
+
};
|
|
36
|
+
const detectOverflowOptions = { padding };
|
|
37
|
+
const overflow = await detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, scrollEl.scrollHeight + clientTop + floating.clientTop), detectOverflowOptions);
|
|
38
|
+
const refOverflow = await detectOverflow(nextArgs, {
|
|
39
|
+
...detectOverflowOptions,
|
|
40
|
+
elementContext: "reference"
|
|
41
|
+
});
|
|
42
|
+
const diffY = Math.max(0, overflow.top);
|
|
43
|
+
const nextY = nextArgs.y + diffY;
|
|
44
|
+
const isScrollable = scrollEl.scrollHeight > scrollEl.clientHeight;
|
|
45
|
+
const rounder = isScrollable ? (v) => v : Math.round;
|
|
46
|
+
const maxHeight = rounder(Math.max(0, scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - Math.max(0, overflow.bottom)));
|
|
47
|
+
scrollEl.style.maxHeight = `${maxHeight}px`;
|
|
48
|
+
scrollEl.scrollTop = diffY;
|
|
49
|
+
if (onFallbackChange) {
|
|
50
|
+
const shouldFallback = scrollEl.offsetHeight < item.offsetHeight * Math.min(minItemsVisible, listRef.current?.length ?? 0) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold;
|
|
51
|
+
ReactDOM.flushSync(() => onFallbackChange(shouldFallback));
|
|
52
|
+
}
|
|
53
|
+
if (overflowRef) {
|
|
54
|
+
;
|
|
55
|
+
overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({
|
|
56
|
+
...nextArgs,
|
|
57
|
+
y: nextY
|
|
58
|
+
}, scrollEl.offsetHeight + clientTop + floating.clientTop), detectOverflowOptions);
|
|
59
|
+
}
|
|
60
|
+
return { y: nextY };
|
|
61
|
+
}
|
|
80
62
|
});
|
|
63
|
+
|
|
81
64
|
export { inner };
|
|
82
65
|
//# sourceMappingURL=inner.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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,91 +1,74 @@
|
|
|
1
1
|
import * as ReactDOM from "react-dom";
|
|
2
2
|
import { detectOverflow, offset } from "@floating-ui/react-dom";
|
|
3
|
+
|
|
3
4
|
function getArgsWithCustomFloatingHeight(state, height) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
return {
|
|
6
|
+
...state,
|
|
7
|
+
rects: {
|
|
8
|
+
...state.rects,
|
|
9
|
+
floating: {
|
|
10
|
+
...state.rects.floating,
|
|
11
|
+
height
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
};
|
|
14
15
|
}
|
|
15
|
-
var inner = function
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
var _listRef_current1;
|
|
71
|
-
var _listRef_current_length;
|
|
72
|
-
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;
|
|
73
|
-
ReactDOM.flushSync(function () {
|
|
74
|
-
return onFallbackChange(shouldFallback);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
if (overflowRef) {
|
|
78
|
-
;
|
|
79
|
-
overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({
|
|
80
|
-
...nextArgs,
|
|
81
|
-
y: nextY
|
|
82
|
-
}, scrollEl.offsetHeight + clientTop + floating.clientTop), detectOverflowOptions);
|
|
83
|
-
}
|
|
84
|
-
return {
|
|
85
|
-
y: nextY
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
};
|
|
16
|
+
var inner = function(props) {
|
|
17
|
+
return {
|
|
18
|
+
name: "inner",
|
|
19
|
+
options: props,
|
|
20
|
+
async fn(state) {
|
|
21
|
+
var _listRef_current;
|
|
22
|
+
var { listRef, overflowRef, onFallbackChange, offset: innerOffset = 0, index = 0, minItemsVisible = 4, referenceOverflowThreshold = 0, scrollRef, padding = 0 } = props;
|
|
23
|
+
var { rects, elements: { floating } } = state;
|
|
24
|
+
var item = (_listRef_current = listRef.current) === null || _listRef_current === void 0 ? void 0 : _listRef_current[index !== null && index !== void 0 ? index : 0];
|
|
25
|
+
var scrollEl = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || floating;
|
|
26
|
+
var clientTop = floating.clientTop || scrollEl.clientTop;
|
|
27
|
+
var floatingIsBordered = floating.clientTop !== 0;
|
|
28
|
+
var scrollElIsBordered = scrollEl.clientTop !== 0;
|
|
29
|
+
var floatingIsScrollEl = floating === scrollEl;
|
|
30
|
+
if (!item || index == null) {
|
|
31
|
+
onFallbackChange === null || onFallbackChange === void 0 ? void 0 : onFallbackChange(true);
|
|
32
|
+
return {};
|
|
33
|
+
}
|
|
34
|
+
var nextArgs = {
|
|
35
|
+
...state,
|
|
36
|
+
...await offset(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state)
|
|
37
|
+
};
|
|
38
|
+
var detectOverflowOptions = { padding };
|
|
39
|
+
var overflow = await detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, scrollEl.scrollHeight + clientTop + floating.clientTop), detectOverflowOptions);
|
|
40
|
+
var refOverflow = await detectOverflow(nextArgs, {
|
|
41
|
+
...detectOverflowOptions,
|
|
42
|
+
elementContext: "reference"
|
|
43
|
+
});
|
|
44
|
+
var diffY = Math.max(0, overflow.top);
|
|
45
|
+
var nextY = nextArgs.y + diffY;
|
|
46
|
+
var isScrollable = scrollEl.scrollHeight > scrollEl.clientHeight;
|
|
47
|
+
var rounder = isScrollable ? function(v) {
|
|
48
|
+
return v;
|
|
49
|
+
} : Math.round;
|
|
50
|
+
var maxHeight = rounder(Math.max(0, scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - Math.max(0, overflow.bottom)));
|
|
51
|
+
scrollEl.style.maxHeight = `${maxHeight}px`;
|
|
52
|
+
scrollEl.scrollTop = diffY;
|
|
53
|
+
if (onFallbackChange) {
|
|
54
|
+
var _listRef_current1;
|
|
55
|
+
var _listRef_current_length;
|
|
56
|
+
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;
|
|
57
|
+
ReactDOM.flushSync(function() {
|
|
58
|
+
return onFallbackChange(shouldFallback);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
if (overflowRef) {
|
|
62
|
+
;
|
|
63
|
+
overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({
|
|
64
|
+
...nextArgs,
|
|
65
|
+
y: nextY
|
|
66
|
+
}, scrollEl.offsetHeight + clientTop + floating.clientTop), detectOverflowOptions);
|
|
67
|
+
}
|
|
68
|
+
return { y: nextY };
|
|
69
|
+
}
|
|
70
|
+
};
|
|
89
71
|
};
|
|
72
|
+
|
|
90
73
|
export { inner };
|
|
91
74
|
//# sourceMappingURL=inner.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|
package/dist/esm/useFloating.mjs
CHANGED
|
@@ -1,27 +1,23 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import * as Floating from "./Floating.mjs";
|
|
3
|
-
const FloatingOverrideContext = React.createContext(null);
|
|
4
|
-
const useFloating = props => {
|
|
5
|
-
"use no memo";
|
|
6
3
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}]
|
|
24
|
-
});
|
|
4
|
+
const FloatingOverrideContext = React.createContext(null);
|
|
5
|
+
const useFloating = (props) => {
|
|
6
|
+
"use no memo";
|
|
7
|
+
const context = React.useContext(FloatingOverrideContext);
|
|
8
|
+
return (context || Floating.useFloating)?.({
|
|
9
|
+
...props,
|
|
10
|
+
middleware: [...props.middleware, {
|
|
11
|
+
name: `rounded`,
|
|
12
|
+
fn({ x, y }) {
|
|
13
|
+
return {
|
|
14
|
+
x: Math.round(x),
|
|
15
|
+
y: Math.round(y)
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}]
|
|
19
|
+
});
|
|
25
20
|
};
|
|
21
|
+
|
|
26
22
|
export { FloatingOverrideContext, useFloating };
|
|
27
23
|
//# sourceMappingURL=useFloating.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|
|
@@ -1,29 +1,25 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import * as Floating from "./Floating.native.js";
|
|
3
|
-
var FloatingOverrideContext = /* @__PURE__ */React.createContext(null);
|
|
4
|
-
var useFloating = function (props) {
|
|
5
|
-
"use no memo";
|
|
6
3
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}]
|
|
26
|
-
});
|
|
4
|
+
var FloatingOverrideContext = /* @__PURE__ */ React.createContext(null);
|
|
5
|
+
var useFloating = function(props) {
|
|
6
|
+
"use no memo";
|
|
7
|
+
var _this;
|
|
8
|
+
var context = React.useContext(FloatingOverrideContext);
|
|
9
|
+
return (_this = context || Floating.useFloating) === null || _this === void 0 ? void 0 : _this({
|
|
10
|
+
...props,
|
|
11
|
+
middleware: [...props.middleware, {
|
|
12
|
+
name: `rounded`,
|
|
13
|
+
fn(param) {
|
|
14
|
+
var { x, y } = param;
|
|
15
|
+
return {
|
|
16
|
+
x: Math.round(x),
|
|
17
|
+
y: Math.round(y)
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}]
|
|
21
|
+
});
|
|
27
22
|
};
|
|
23
|
+
|
|
28
24
|
export { FloatingOverrideContext, useFloating };
|
|
29
25
|
//# sourceMappingURL=useFloating.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"useFloating.native.js","names":[],"sources":["esm/useFloating.native.js"],"sourcesContent":["import React from \"react\";\nimport * as Floating from \"./Floating\";\nvar FloatingOverrideContext = /* @__PURE__ */ React.createContext(null);\nvar useFloating = function(props) {\n \"use no memo\";\n var _this;\n var context = React.useContext(FloatingOverrideContext);\n return (_this = context || Floating.useFloating) === null || _this === void 0 ? void 0 : _this({\n ...props,\n middleware: [\n // @ts-ignore\n ...props.middleware,\n {\n name: `rounded`,\n fn(param) {\n var { x, y } = param;\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,IAAI,0BAA0C,sBAAM,cAAc,IAAI;AACtE,IAAI,cAAc,SAAS,OAAO;CAChC;CACA,IAAI;CACJ,IAAI,UAAU,MAAM,WAAW,uBAAuB;CACtD,QAAQ,QAAQ,WAAW,SAAS,iBAAiB,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM;EAC7F,GAAG;EACH,YAAY,CAEV,GAAG,MAAM,YACT;GACE,MAAM;GACN,GAAG,OAAO;IACR,IAAI,EAAE,GAAG,MAAM;IACf,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,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/floating",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0-beta.1097.1",
|
|
4
|
+
"license": "MIT",
|
|
4
5
|
"source": "src/index.ts",
|
|
5
6
|
"files": [
|
|
6
7
|
"src",
|
|
@@ -36,15 +37,16 @@
|
|
|
36
37
|
"dependencies": {
|
|
37
38
|
"@floating-ui/react-dom": "^2.1.6",
|
|
38
39
|
"@floating-ui/react-native": "^0.10.7",
|
|
39
|
-
"@tamagui/use-event": "
|
|
40
|
+
"@tamagui/use-event": "3.0.0-beta.1097.1"
|
|
40
41
|
},
|
|
41
42
|
"devDependencies": {
|
|
42
|
-
"@tamagui/build": "
|
|
43
|
-
"react": "
|
|
44
|
-
"react-native": "0.
|
|
43
|
+
"@tamagui/build": "3.0.0-beta.1097.1",
|
|
44
|
+
"react": "19.2.3",
|
|
45
|
+
"react-native": "0.86.2"
|
|
45
46
|
},
|
|
46
47
|
"peerDependencies": {
|
|
47
|
-
"react": ">=19"
|
|
48
|
+
"react": ">=19",
|
|
49
|
+
"react-dom": "*"
|
|
48
50
|
},
|
|
49
51
|
"repository": {
|
|
50
52
|
"type": "git",
|