@tamagui/sheet 3.0.18 → 3.1.0

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.
Files changed (64) hide show
  1. package/dist/cjs/Sheet.cjs +6 -3
  2. package/dist/cjs/Sheet.native.cjs +6 -6
  3. package/dist/cjs/Sheet.native.js +6 -6
  4. package/dist/cjs/Sheet.native.js.map +1 -1
  5. package/dist/cjs/SheetImplementationCustom.cjs +13 -1
  6. package/dist/cjs/SheetImplementationCustom.native.cjs +13 -1
  7. package/dist/cjs/SheetImplementationCustom.native.js +13 -1
  8. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  9. package/dist/cjs/SheetScrollView.cjs +2 -1
  10. package/dist/cjs/SheetScrollView.native.cjs +2 -2
  11. package/dist/cjs/SheetScrollView.native.js +2 -2
  12. package/dist/cjs/SheetScrollView.native.js.map +1 -1
  13. package/dist/cjs/webViewport.cjs +7 -0
  14. package/dist/cjs/webViewport.native.cjs +7 -0
  15. package/dist/cjs/webViewport.native.js +7 -0
  16. package/dist/cjs/webViewport.native.js.map +1 -1
  17. package/dist/esm/Sheet.mjs +6 -3
  18. package/dist/esm/Sheet.mjs.map +1 -1
  19. package/dist/esm/Sheet.native.js +6 -6
  20. package/dist/esm/Sheet.native.js.map +1 -1
  21. package/dist/esm/SheetImplementationCustom.mjs +14 -2
  22. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  23. package/dist/esm/SheetImplementationCustom.native.js +14 -2
  24. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  25. package/dist/esm/SheetScrollView.mjs +2 -1
  26. package/dist/esm/SheetScrollView.mjs.map +1 -1
  27. package/dist/esm/SheetScrollView.native.js +2 -2
  28. package/dist/esm/SheetScrollView.native.js.map +1 -1
  29. package/dist/esm/webViewport.mjs +7 -1
  30. package/dist/esm/webViewport.mjs.map +1 -1
  31. package/dist/esm/webViewport.native.js +7 -1
  32. package/dist/esm/webViewport.native.js.map +1 -1
  33. package/dist/jsx/Sheet.mjs +6 -3
  34. package/dist/jsx/Sheet.mjs.map +1 -1
  35. package/dist/jsx/Sheet.native.cjs +6 -6
  36. package/dist/jsx/Sheet.native.js +6 -6
  37. package/dist/jsx/Sheet.native.js.map +1 -1
  38. package/dist/jsx/SheetImplementationCustom.mjs +14 -2
  39. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  40. package/dist/jsx/SheetImplementationCustom.native.cjs +13 -1
  41. package/dist/jsx/SheetImplementationCustom.native.js +13 -1
  42. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  43. package/dist/jsx/SheetScrollView.mjs +2 -1
  44. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  45. package/dist/jsx/SheetScrollView.native.cjs +2 -2
  46. package/dist/jsx/SheetScrollView.native.js +2 -2
  47. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  48. package/dist/jsx/webViewport.mjs +7 -1
  49. package/dist/jsx/webViewport.mjs.map +1 -1
  50. package/dist/jsx/webViewport.native.cjs +7 -0
  51. package/dist/jsx/webViewport.native.js +7 -0
  52. package/dist/jsx/webViewport.native.js.map +1 -1
  53. package/package.json +25 -25
  54. package/src/Sheet.tsx +13 -12
  55. package/src/SheetImplementationCustom.tsx +19 -0
  56. package/src/SheetScrollView.tsx +2 -1
  57. package/src/webViewport.ts +12 -0
  58. package/types/Sheet.d.ts +86 -114
  59. package/types/Sheet.d.ts.map +1 -1
  60. package/types/SheetImplementationCustom.d.ts.map +1 -1
  61. package/types/SheetScrollView.d.ts +15 -16
  62. package/types/SheetScrollView.d.ts.map +1 -1
  63. package/types/webViewport.d.ts +6 -0
  64. package/types/webViewport.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SheetScrollView.native.js","names":[],"sources":["esm/SheetScrollView.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { composeRefs } from \"@tamagui/compose-refs\";\nimport { createRefComponent, createStyledHOC, isWeb, View } from \"@tamagui/core\";\nimport { ScrollView } from \"@tamagui/scroll-view\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { useGestureSheetContext } from \"./GestureSheetContext\";\nimport { getGestureHandlerState, isGestureHandlerEnabled } from \"./gestureState\";\nimport { useSheetContext } from \"./SheetContext\";\nimport { useSheetScrollViewGestures } from \"./useSheetScrollViewGestures\";\nimport { getStableLayoutViewportHeight, getWebKeyboardBottomInset, getWebKeyboardResizeHeight, isEditableElement, MIN_KEYBOARD_HEIGHT } from \"./webViewport\";\nvar SHEET_SCROLL_VIEW_NAME = \"SheetScrollView\";\nvar sheetContentStyle = {\n minHeight: \"100%\"\n};\nvar SheetScrollViewCustom = createRefComponent(function(param, ref) {\n var { scope, children, onScroll, scrollEnabled: scrollEnabledProp, style, ...props } = param;\n var context = useSheetContext(scope);\n if (context.onlyShowContainer) throw new Error(\"Custom Sheet scrolling requires a custom Sheet\");\n var gestureContext = useGestureSheetContext();\n var { scrollBridge, setHasScrollView, hasFit, screenSize } = context;\n var keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);\n var isKeyboardVisible = hasFit && (context.isKeyboardVisible === true || isWeb && getWebKeyboardResizeHeight() >= MIN_KEYBOARD_HEIGHT);\n var [scrollEnabled] = useControllableState({\n prop: scrollEnabledProp,\n defaultProp: true\n });\n var scrollRef = React.useRef(null);\n var [hasScrollableContent, setHasScrollableContent] = useState(true);\n var parentHeight = useRef(0);\n var contentHeight = useRef(0);\n var frozenFrameHeight = Math.max(0, context.keyboardStableFrameHeight || 0);\n var fitSizingProps = hasFit ? {\n flex: void 0,\n height: void 0,\n maxHeight: screenSize || void 0\n } : {\n flex: 1\n };\n var contentContainerStyle = hasFit ? void 0 : sheetContentStyle;\n var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? {\n height: frozenFrameHeight,\n maxHeight: frozenFrameHeight\n } : null;\n var scrollViewStyle = [\n ...Array.isArray(style) ? style : [\n style\n ],\n keyboardFrozenOverride\n ];\n var panGestureRef = gestureContext === null || gestureContext === void 0 ? void 0 : gestureContext.panGestureRef;\n var { ScrollView: RNGHScrollView } = getGestureHandlerState();\n var useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef;\n var currentScrollOffset = useRef(0);\n var lastEmittedScrollOffset = useRef(0);\n var lockedScrollY = useRef(0);\n var focusedInputScrollFrame = useRef(0);\n var setScrollEnabled = function setScrollEnabled2(next, lockTo) {\n if (!next) {\n var _ref;\n var lockY = (_ref = lockTo !== null && lockTo !== void 0 ? lockTo : scrollBridge.scrollLockY) !== null && _ref !== void 0 ? _ref : currentScrollOffset.current;\n if (scrollBridge.enabled === false && scrollBridge.scrollLockY === lockY) {\n return;\n }\n scrollBridge.enabled = false;\n lockedScrollY.current = lockY;\n scrollBridge.scrollLockY = lockY;\n if (currentScrollOffset.current !== lockY) {\n var _scrollRef_current_scrollTo, _scrollRef_current;\n (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {\n x: 0,\n y: lockY,\n animated: false\n });\n currentScrollOffset.current = lockY;\n }\n } else {\n if (scrollBridge.enabled === true && scrollBridge.scrollLockY === void 0) {\n return;\n }\n scrollBridge.enabled = true;\n lockedScrollY.current = currentScrollOffset.current;\n scrollBridge.scrollLockY = void 0;\n }\n };\n var forceScrollTo = function forceScrollTo2(y) {\n var _scrollRef_current_scrollTo, _scrollRef_current;\n (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {\n x: 0,\n y,\n animated: false\n });\n currentScrollOffset.current = y;\n };\n var emitManualScroll = React.useCallback(function(node, y) {\n currentScrollOffset.current = y;\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll({\n nativeEvent: {\n contentOffset: {\n x: node.scrollLeft,\n y\n },\n contentSize: {\n height: node.scrollHeight,\n width: node.scrollWidth\n },\n layoutMeasurement: {\n height: node.offsetHeight,\n width: node.offsetWidth\n }\n },\n timeStamp: Date.now()\n });\n }, [\n onScroll,\n scrollBridge\n ]);\n var scrollFocusedInputClearOfKeyboard = React.useCallback(function() {\n var _scrollRef_current;\n if (!isWeb || !hasFit || !isKeyboardVisible || keyboardOccludedHeight <= 0) {\n return;\n }\n var node = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.getScrollableNode();\n var active = document.activeElement;\n if (!node || !active || !isEditableElement(active) || !node.contains(active)) {\n return;\n }\n var keyboardHeight = Math.max(keyboardOccludedHeight, getWebKeyboardBottomInset());\n if (keyboardHeight <= 0) return;\n var activeRect = active.getBoundingClientRect();\n var nodeRect = node.getBoundingClientRect();\n var margin = 12;\n var keyboardTop = getStableLayoutViewportHeight() - keyboardHeight;\n var visibleTop = nodeRect.top + margin;\n var visibleBottom = Math.min(nodeRect.bottom, keyboardTop) - margin;\n var nextScrollTop = node.scrollTop;\n if (activeRect.bottom > visibleBottom) {\n nextScrollTop += Math.ceil(activeRect.bottom - visibleBottom);\n } else if (activeRect.top < visibleTop) {\n nextScrollTop -= Math.ceil(visibleTop - activeRect.top);\n }\n var maxScrollTop = Math.max(0, node.scrollHeight - node.clientHeight);\n nextScrollTop = Math.max(0, Math.min(maxScrollTop, nextScrollTop));\n if (nextScrollTop === node.scrollTop) return;\n node.scrollTop = nextScrollTop;\n currentScrollOffset.current = nextScrollTop;\n scrollBridge.y = nextScrollTop;\n if (nextScrollTop > 0) scrollBridge.scrollStartY = -1;\n }, [\n hasFit,\n isKeyboardVisible,\n keyboardOccludedHeight,\n scrollBridge\n ]);\n var scheduleFocusedInputScroll = React.useCallback(function() {\n if (!isWeb || !hasFit) return;\n cancelAnimationFrame(focusedInputScrollFrame.current);\n focusedInputScrollFrame.current = requestAnimationFrame(function() {\n scrollFocusedInputClearOfKeyboard();\n focusedInputScrollFrame.current = requestAnimationFrame(scrollFocusedInputClearOfKeyboard);\n });\n }, [\n hasFit,\n scrollFocusedInputClearOfKeyboard\n ]);\n useEffect(function() {\n var _window_visualViewport;\n if (!isWeb || !hasFit) return;\n scheduleFocusedInputScroll();\n window.addEventListener(\"focusin\", scheduleFocusedInputScroll);\n (_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.addEventListener(\"resize\", scheduleFocusedInputScroll);\n return function() {\n var _window_visualViewport2;\n cancelAnimationFrame(focusedInputScrollFrame.current);\n window.removeEventListener(\"focusin\", scheduleFocusedInputScroll);\n (_window_visualViewport2 = window.visualViewport) === null || _window_visualViewport2 === void 0 ? void 0 : _window_visualViewport2.removeEventListener(\"resize\", scheduleFocusedInputScroll);\n };\n }, [\n hasFit,\n scheduleFocusedInputScroll\n ]);\n useEffect(function() {\n setHasScrollView(true);\n if (isGestureHandlerEnabled()) {\n scrollBridge.setScrollEnabled = setScrollEnabled;\n scrollBridge.forceScrollTo = forceScrollTo;\n }\n return function() {\n setHasScrollView(false);\n scrollBridge.setScrollEnabled = void 0;\n scrollBridge.forceScrollTo = void 0;\n };\n }, []);\n var updateScrollable = function updateScrollable2() {\n if (parentHeight.current && contentHeight.current) {\n setHasScrollableContent(contentHeight.current > parentHeight.current);\n }\n };\n var recordFitHeight = function recordFitHeight2(height) {\n parentHeight.current = height;\n };\n useEffect(function() {\n scrollBridge.hasScrollableContent = hasScrollableContent;\n }, [\n hasScrollableContent\n ]);\n var gestureProps = useSheetScrollViewGestures({\n scrollRef,\n scrollBridge,\n hasScrollableContent,\n scrollEnabled,\n setScrollEnabled,\n onManualScroll: emitManualScroll\n });\n var contentWrapper = /* @__PURE__ */ _jsxs(View, {\n onLayout: function onLayout(e) {\n var height = Math.floor(e.nativeEvent.layout.height);\n if (height !== contentHeight.current) {\n contentHeight.current = height;\n updateScrollable();\n if (keyboardOccludedHeight > 0) {\n scheduleFocusedInputScroll();\n }\n }\n },\n children: [\n children,\n keyboardOccludedHeight > 0 && /* @__PURE__ */ _jsx(View, {\n \"data-sheet-keyboard-scroll-pad\": true,\n height: keyboardOccludedHeight,\n width: \"100%\"\n })\n ]\n });\n if (useRNGHScrollView && RNGHScrollView && panGestureRef) {\n var RNGHComponent = RNGHScrollView;\n return /* @__PURE__ */ _jsx(RNGHComponent, {\n ref: composeRefs(scrollRef, ref),\n style: [\n fitSizingProps,\n ...scrollViewStyle\n ],\n scrollEventThrottle: 1,\n scrollEnabled,\n simultaneousHandlers: [\n panGestureRef\n ],\n onLayout: function onLayout(e) {\n recordFitHeight(Math.ceil(e.nativeEvent.layout.height));\n updateScrollable();\n },\n onScroll: function onScroll1(e) {\n var { y } = e.nativeEvent.contentOffset;\n currentScrollOffset.current = y;\n if (scrollBridge.scrollLockY !== void 0) {\n if (y !== scrollBridge.scrollLockY) {\n var _scrollRef_current_scrollTo, _scrollRef_current;\n (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {\n x: 0,\n y: scrollBridge.scrollLockY,\n animated: false\n });\n }\n currentScrollOffset.current = scrollBridge.scrollLockY;\n scrollBridge.y = scrollBridge.scrollLockY;\n if (lastEmittedScrollOffset.current !== scrollBridge.scrollLockY) {\n lastEmittedScrollOffset.current = scrollBridge.scrollLockY;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll({\n ...e,\n nativeEvent: {\n ...e.nativeEvent,\n contentOffset: {\n ...e.nativeEvent.contentOffset,\n y: scrollBridge.scrollLockY\n }\n }\n });\n }\n return;\n }\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);\n },\n contentContainerStyle,\n bounces: false,\n keyboardShouldPersistTaps: \"always\",\n keyboardDismissMode: \"none\",\n ...props,\n children: contentWrapper\n });\n }\n return /* @__PURE__ */ _jsx(ScrollView, {\n ...fitSizingProps,\n onLayout: function onLayout(e) {\n recordFitHeight(Math.ceil(e.nativeEvent.layout.height));\n updateScrollable();\n },\n ref: composeRefs(scrollRef, ref),\n scrollEventThrottle: 1,\n className: \"_ovs-contain\",\n scrollEnabled,\n onScroll: function onScroll1(e) {\n var { y } = e.nativeEvent.contentOffset;\n currentScrollOffset.current = y;\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);\n },\n contentContainerStyle,\n ...gestureProps,\n ...props,\n style: scrollViewStyle,\n children: contentWrapper\n });\n});\nvar SheetScrollView = createStyledHOC(ScrollView, function(param, ref) {\n var { scope, ...props } = param;\n var context = useSheetContext(scope);\n return context.onlyShowContainer ? /* @__PURE__ */ _jsx(ScrollView, {\n ...props,\n ref\n }) : /* @__PURE__ */ _jsx(SheetScrollViewCustom, {\n ...props,\n scope,\n ref\n });\n}, {\n disableTheme: true,\n displayName: SHEET_SCROLL_VIEW_NAME\n});\nexport {\n SheetScrollView\n};\n//# sourceMappingURL=SheetScrollView.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"SheetScrollView.native.js","names":[],"sources":["esm/SheetScrollView.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { composeRefs } from \"@tamagui/compose-refs\";\nimport { createRefComponent, createStyledHOC, isWeb, View } from \"@tamagui/core\";\nimport { ScrollView } from \"@tamagui/scroll-view\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { useGestureSheetContext } from \"./GestureSheetContext\";\nimport { getGestureHandlerState, isGestureHandlerEnabled } from \"./gestureState\";\nimport { useSheetContext } from \"./SheetContext\";\nimport { useSheetScrollViewGestures } from \"./useSheetScrollViewGestures\";\nimport { getStableLayoutViewportHeight, getWebKeyboardBottomInset, getWebKeyboardResizeHeight, isEditableElement, MIN_KEYBOARD_HEIGHT } from \"./webViewport\";\nvar SHEET_SCROLL_VIEW_NAME = \"SheetScrollView\";\nvar sheetContentStyle = {\n minHeight: \"100%\"\n};\nvar SheetScrollViewCustom = createRefComponent(function(param, ref) {\n var { scope, children, onScroll, scrollEnabled: scrollEnabledProp, style, ...props } = param;\n var context = useSheetContext(scope);\n if (context.onlyShowContainer) throw new Error(\"Custom Sheet scrolling requires a custom Sheet\");\n var gestureContext = useGestureSheetContext();\n var { scrollBridge, setHasScrollView, hasFit, screenSize } = context;\n var keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);\n var isKeyboardVisible = hasFit && (context.isKeyboardVisible === true || isWeb && getWebKeyboardResizeHeight() >= MIN_KEYBOARD_HEIGHT);\n var [scrollEnabled] = useControllableState({\n prop: scrollEnabledProp,\n defaultProp: true\n });\n var scrollRef = React.useRef(null);\n var [hasScrollableContent, setHasScrollableContent] = useState(true);\n var parentHeight = useRef(0);\n var contentHeight = useRef(0);\n var frozenFrameHeight = Math.max(0, context.keyboardStableFrameHeight || 0);\n var fitSizingProps = hasFit ? {\n flex: void 0,\n height: void 0,\n maxHeight: screenSize || void 0\n } : {\n flex: 1\n };\n var contentContainerStyle = hasFit ? void 0 : sheetContentStyle;\n var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? {\n height: frozenFrameHeight,\n maxHeight: frozenFrameHeight\n } : null;\n var scrollViewStyle = [\n ...Array.isArray(style) ? style : [\n style\n ],\n keyboardFrozenOverride\n ];\n var panGestureRef = gestureContext === null || gestureContext === void 0 ? void 0 : gestureContext.panGestureRef;\n var { ScrollView: RNGHScrollView } = getGestureHandlerState();\n var useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef;\n var currentScrollOffset = useRef(0);\n var lastEmittedScrollOffset = useRef(0);\n var lockedScrollY = useRef(0);\n var focusedInputScrollFrame = useRef(0);\n var setScrollEnabled = function setScrollEnabled2(next, lockTo) {\n if (!next) {\n var _ref;\n var lockY = (_ref = lockTo !== null && lockTo !== void 0 ? lockTo : scrollBridge.scrollLockY) !== null && _ref !== void 0 ? _ref : currentScrollOffset.current;\n if (scrollBridge.enabled === false && scrollBridge.scrollLockY === lockY) {\n return;\n }\n scrollBridge.enabled = false;\n lockedScrollY.current = lockY;\n scrollBridge.scrollLockY = lockY;\n if (currentScrollOffset.current !== lockY) {\n var _scrollRef_current_scrollTo, _scrollRef_current;\n (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {\n x: 0,\n y: lockY,\n animated: false\n });\n currentScrollOffset.current = lockY;\n }\n } else {\n if (scrollBridge.enabled === true && scrollBridge.scrollLockY === void 0) {\n return;\n }\n scrollBridge.enabled = true;\n lockedScrollY.current = currentScrollOffset.current;\n scrollBridge.scrollLockY = void 0;\n }\n };\n var forceScrollTo = function forceScrollTo2(y) {\n var _scrollRef_current_scrollTo, _scrollRef_current;\n (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {\n x: 0,\n y,\n animated: false\n });\n currentScrollOffset.current = y;\n };\n var emitManualScroll = React.useCallback(function(node, y) {\n currentScrollOffset.current = y;\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll({\n nativeEvent: {\n contentOffset: {\n x: node.scrollLeft,\n y\n },\n contentSize: {\n height: node.scrollHeight,\n width: node.scrollWidth\n },\n layoutMeasurement: {\n height: node.offsetHeight,\n width: node.offsetWidth\n }\n },\n timeStamp: Date.now()\n });\n }, [\n onScroll,\n scrollBridge\n ]);\n var scrollFocusedInputClearOfKeyboard = React.useCallback(function() {\n var _scrollRef_current;\n if (!isWeb || !hasFit || !isKeyboardVisible || keyboardOccludedHeight <= 0) {\n return;\n }\n var node = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.getScrollableNode();\n var active = document.activeElement;\n if (!node || !active || !isEditableElement(active) || !node.contains(active)) {\n return;\n }\n var keyboardHeight = Math.max(keyboardOccludedHeight, getWebKeyboardBottomInset());\n if (keyboardHeight <= 0) return;\n var activeRect = active.getBoundingClientRect();\n var nodeRect = node.getBoundingClientRect();\n var margin = 12;\n var keyboardTop = getStableLayoutViewportHeight() - keyboardHeight;\n var visibleTop = nodeRect.top + margin;\n var visibleBottom = Math.min(nodeRect.bottom, keyboardTop) - margin;\n var nextScrollTop = node.scrollTop;\n if (activeRect.bottom > visibleBottom) {\n nextScrollTop += Math.ceil(activeRect.bottom - visibleBottom);\n } else if (activeRect.top < visibleTop) {\n nextScrollTop -= Math.ceil(visibleTop - activeRect.top);\n }\n var maxScrollTop = Math.max(0, node.scrollHeight - node.clientHeight);\n nextScrollTop = Math.max(0, Math.min(maxScrollTop, nextScrollTop));\n if (nextScrollTop === node.scrollTop) return;\n node.scrollTop = nextScrollTop;\n currentScrollOffset.current = nextScrollTop;\n scrollBridge.y = nextScrollTop;\n if (nextScrollTop > 0) scrollBridge.scrollStartY = -1;\n }, [\n hasFit,\n isKeyboardVisible,\n keyboardOccludedHeight,\n scrollBridge\n ]);\n var scheduleFocusedInputScroll = React.useCallback(function() {\n if (!isWeb || !hasFit) return;\n cancelAnimationFrame(focusedInputScrollFrame.current);\n focusedInputScrollFrame.current = requestAnimationFrame(function() {\n scrollFocusedInputClearOfKeyboard();\n focusedInputScrollFrame.current = requestAnimationFrame(scrollFocusedInputClearOfKeyboard);\n });\n }, [\n hasFit,\n scrollFocusedInputClearOfKeyboard\n ]);\n useEffect(function() {\n var _window_visualViewport;\n if (!isWeb || !hasFit) return;\n scheduleFocusedInputScroll();\n window.addEventListener(\"focusin\", scheduleFocusedInputScroll);\n (_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.addEventListener(\"resize\", scheduleFocusedInputScroll);\n return function() {\n var _window_visualViewport2;\n cancelAnimationFrame(focusedInputScrollFrame.current);\n window.removeEventListener(\"focusin\", scheduleFocusedInputScroll);\n (_window_visualViewport2 = window.visualViewport) === null || _window_visualViewport2 === void 0 ? void 0 : _window_visualViewport2.removeEventListener(\"resize\", scheduleFocusedInputScroll);\n };\n }, [\n hasFit,\n scheduleFocusedInputScroll\n ]);\n useEffect(function() {\n setHasScrollView(true);\n if (isGestureHandlerEnabled()) {\n scrollBridge.setScrollEnabled = setScrollEnabled;\n scrollBridge.forceScrollTo = forceScrollTo;\n }\n return function() {\n setHasScrollView(false);\n scrollBridge.setScrollEnabled = void 0;\n scrollBridge.forceScrollTo = void 0;\n };\n }, []);\n var updateScrollable = function updateScrollable2() {\n if (parentHeight.current && contentHeight.current) {\n setHasScrollableContent(contentHeight.current > parentHeight.current);\n }\n };\n var recordFitHeight = function recordFitHeight2(height) {\n parentHeight.current = height;\n };\n useEffect(function() {\n scrollBridge.hasScrollableContent = hasScrollableContent;\n }, [\n hasScrollableContent\n ]);\n var gestureProps = useSheetScrollViewGestures({\n scrollRef,\n scrollBridge,\n hasScrollableContent,\n scrollEnabled,\n setScrollEnabled,\n onManualScroll: emitManualScroll\n });\n var contentWrapper = /* @__PURE__ */ _jsxs(View, {\n onLayout: function onLayout(e) {\n var height = Math.floor(e.nativeEvent.layout.height);\n if (height !== contentHeight.current) {\n contentHeight.current = height;\n updateScrollable();\n if (keyboardOccludedHeight > 0) {\n scheduleFocusedInputScroll();\n }\n }\n },\n children: [\n children,\n keyboardOccludedHeight > 0 && /* @__PURE__ */ _jsx(View, {\n \"data-sheet-keyboard-scroll-pad\": true,\n height: keyboardOccludedHeight,\n width: \"100%\"\n })\n ]\n });\n if (useRNGHScrollView && RNGHScrollView && panGestureRef) {\n var RNGHComponent = RNGHScrollView;\n return /* @__PURE__ */ _jsx(RNGHComponent, {\n ref: composeRefs(scrollRef, ref),\n style: [\n fitSizingProps,\n ...scrollViewStyle\n ],\n scrollEventThrottle: 1,\n scrollEnabled,\n simultaneousHandlers: [\n panGestureRef\n ],\n onLayout: function onLayout(e) {\n recordFitHeight(Math.ceil(e.nativeEvent.layout.height));\n updateScrollable();\n },\n onScroll: function onScroll1(e) {\n var { y } = e.nativeEvent.contentOffset;\n currentScrollOffset.current = y;\n if (scrollBridge.scrollLockY !== void 0) {\n if (y !== scrollBridge.scrollLockY) {\n var _scrollRef_current_scrollTo, _scrollRef_current;\n (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {\n x: 0,\n y: scrollBridge.scrollLockY,\n animated: false\n });\n }\n currentScrollOffset.current = scrollBridge.scrollLockY;\n scrollBridge.y = scrollBridge.scrollLockY;\n if (lastEmittedScrollOffset.current !== scrollBridge.scrollLockY) {\n lastEmittedScrollOffset.current = scrollBridge.scrollLockY;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll({\n ...e,\n nativeEvent: {\n ...e.nativeEvent,\n contentOffset: {\n ...e.nativeEvent.contentOffset,\n y: scrollBridge.scrollLockY\n }\n }\n });\n }\n return;\n }\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);\n },\n contentContainerStyle,\n bounces: false,\n keyboardShouldPersistTaps: \"always\",\n keyboardDismissMode: \"none\",\n ...props,\n children: contentWrapper\n });\n }\n return /* @__PURE__ */ _jsx(ScrollView, {\n ...fitSizingProps,\n onLayout: function onLayout(e) {\n recordFitHeight(Math.ceil(e.nativeEvent.layout.height));\n updateScrollable();\n },\n ref: composeRefs(scrollRef, ref),\n scrollEventThrottle: 1,\n className: \"_ovs-contain\",\n scrollEnabled,\n onScroll: function onScroll1(e) {\n var { y } = e.nativeEvent.contentOffset;\n currentScrollOffset.current = y;\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);\n },\n contentContainerStyle,\n ...gestureProps,\n ...props,\n style: scrollViewStyle,\n children: contentWrapper\n });\n});\nvar SheetScrollView = createStyledHOC(ScrollView, function(propsIn, ref) {\n var { scope, ...props } = propsIn;\n var context = useSheetContext(scope);\n return context.onlyShowContainer ? /* @__PURE__ */ _jsx(ScrollView, {\n ...props,\n ref\n }) : /* @__PURE__ */ _jsx(SheetScrollViewCustom, {\n ...props,\n scope,\n ref\n });\n}, {\n disableTheme: true,\n displayName: SHEET_SCROLL_VIEW_NAME\n});\nexport {\n SheetScrollView\n};\n//# sourceMappingURL=SheetScrollView.js.map\n"],"mappings":"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"}
@@ -13,8 +13,10 @@ function getStableLayoutViewportHeight() {
13
13
  return Math.max(window.innerHeight || 0, window.visualViewport?.height || 0);
14
14
  }
15
15
  let _maxViewportHeight = 0;
16
+ let _visibleViewportHeight = 0;
16
17
  function updateMaxViewportHeight() {
17
18
  const ch = typeof document !== "undefined" ? document.documentElement?.clientHeight : 0;
19
+ _visibleViewportHeight = Math.max(ch || 0, window.innerHeight || 0);
18
20
  _maxViewportHeight = Math.max(_maxViewportHeight, ch || 0, window.innerHeight || 0, window.visualViewport?.height || 0, window.screen?.height || 0);
19
21
  }
20
22
  function getMaxViewportHeight() {
@@ -26,6 +28,10 @@ function getMaxViewportHeight() {
26
28
  }
27
29
  return _maxViewportHeight;
28
30
  }
31
+ function getVisibleViewportHeight() {
32
+ getMaxViewportHeight();
33
+ return _visibleViewportHeight;
34
+ }
29
35
  function getWebKeyboardResizeHeight() {
30
36
  if (typeof window === "undefined") return 0;
31
37
  const vv = window.visualViewport;
@@ -47,5 +53,5 @@ function getWebKeyboardHeight() {
47
53
  return getWebKeyboardResizeHeight();
48
54
  }
49
55
 
50
- export { MIN_KEYBOARD_HEIGHT, getMaxViewportHeight, getStableLayoutViewportHeight, getWebKeyboardBottomInset, getWebKeyboardHeight, getWebKeyboardResizeHeight, getWebVisualViewportOffsetTop, isEditableElement };
56
+ export { MIN_KEYBOARD_HEIGHT, getMaxViewportHeight, getStableLayoutViewportHeight, getVisibleViewportHeight, getWebKeyboardBottomInset, getWebKeyboardHeight, getWebKeyboardResizeHeight, getWebVisualViewportOffsetTop, isEditableElement };
51
57
  //# sourceMappingURL=webViewport.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"webViewport.js","names":[],"sources":["esm/webViewport.js"],"sourcesContent":["const MIN_KEYBOARD_HEIGHT = 80;\nfunction isEditableElement(el) {\n if (!el) return false;\n const tag = el.tagName;\n if (tag === \"INPUT\" || tag === \"TEXTAREA\" || tag === \"SELECT\") return true;\n if (el.isContentEditable) return true;\n return false;\n}\nfunction getStableLayoutViewportHeight() {\n if (typeof window === \"undefined\") return 0;\n const ch = typeof document !== \"undefined\" ? document.documentElement?.clientHeight : 0;\n if (ch && ch > 0) return ch;\n return Math.max(window.innerHeight || 0, window.visualViewport?.height || 0);\n}\nlet _maxViewportHeight = 0;\nfunction updateMaxViewportHeight() {\n const ch = typeof document !== \"undefined\" ? document.documentElement?.clientHeight : 0;\n _maxViewportHeight = Math.max(\n _maxViewportHeight,\n ch || 0,\n window.innerHeight || 0,\n window.visualViewport?.height || 0,\n window.screen?.height || 0\n );\n}\nfunction getMaxViewportHeight() {\n if (typeof window === \"undefined\") return 0;\n if (!_maxViewportHeight) {\n updateMaxViewportHeight();\n window.addEventListener(\"resize\", updateMaxViewportHeight);\n window.visualViewport?.addEventListener(\"resize\", updateMaxViewportHeight);\n }\n return _maxViewportHeight;\n}\nfunction getWebKeyboardResizeHeight() {\n if (typeof window === \"undefined\") return 0;\n const vv = window.visualViewport;\n if (!vv) return 0;\n return Math.max(0, Math.round(getStableLayoutViewportHeight() - vv.height));\n}\nfunction getWebVisualViewportOffsetTop() {\n if (typeof window === \"undefined\") return 0;\n return Math.max(0, Math.round(window.visualViewport?.offsetTop || 0));\n}\nfunction getWebKeyboardBottomInset() {\n if (typeof window === \"undefined\") return 0;\n const vv = window.visualViewport;\n if (!vv) return 0;\n const visibleBottom = getWebVisualViewportOffsetTop() + vv.height;\n return Math.max(0, Math.round(getStableLayoutViewportHeight() - visibleBottom));\n}\nfunction getWebKeyboardHeight() {\n return getWebKeyboardResizeHeight();\n}\nexport {\n MIN_KEYBOARD_HEIGHT,\n getMaxViewportHeight,\n getStableLayoutViewportHeight,\n getWebKeyboardBottomInset,\n getWebKeyboardHeight,\n getWebKeyboardResizeHeight,\n getWebVisualViewportOffsetTop,\n isEditableElement\n};\n//# sourceMappingURL=webViewport.js.map\n"],"mappings":";AAAA,MAAM,sBAAsB;AAC5B,SAAS,kBAAkB,IAAI;CAC7B,IAAI,CAAC,IAAI,OAAO;CAChB,MAAM,MAAM,GAAG;CACf,IAAI,QAAQ,WAAW,QAAQ,cAAc,QAAQ,UAAU,OAAO;CACtE,IAAI,GAAG,mBAAmB,OAAO;CACjC,OAAO;AACT;AACA,SAAS,gCAAgC;CACvC,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,MAAM,KAAK,OAAO,aAAa,cAAc,SAAS,iBAAiB,eAAe;CACtF,IAAI,MAAM,KAAK,GAAG,OAAO;CACzB,OAAO,KAAK,IAAI,OAAO,eAAe,GAAG,OAAO,gBAAgB,UAAU,CAAC;AAC7E;AACA,IAAI,qBAAqB;AACzB,SAAS,0BAA0B;CACjC,MAAM,KAAK,OAAO,aAAa,cAAc,SAAS,iBAAiB,eAAe;CACtF,qBAAqB,KAAK,IACxB,oBACA,MAAM,GACN,OAAO,eAAe,GACtB,OAAO,gBAAgB,UAAU,GACjC,OAAO,QAAQ,UAAU,CAC3B;AACF;AACA,SAAS,uBAAuB;CAC9B,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,IAAI,CAAC,oBAAoB;EACvB,wBAAwB;EACxB,OAAO,iBAAiB,UAAU,uBAAuB;EACzD,OAAO,gBAAgB,iBAAiB,UAAU,uBAAuB;CAC3E;CACA,OAAO;AACT;AACA,SAAS,6BAA6B;CACpC,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,MAAM,KAAK,OAAO;CAClB,IAAI,CAAC,IAAI,OAAO;CAChB,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,8BAA8B,IAAI,GAAG,MAAM,CAAC;AAC5E;AACA,SAAS,gCAAgC;CACvC,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,OAAO,gBAAgB,aAAa,CAAC,CAAC;AACtE;AACA,SAAS,4BAA4B;CACnC,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,MAAM,KAAK,OAAO;CAClB,IAAI,CAAC,IAAI,OAAO;CAChB,MAAM,gBAAgB,8BAA8B,IAAI,GAAG;CAC3D,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,8BAA8B,IAAI,aAAa,CAAC;AAChF;AACA,SAAS,uBAAuB;CAC9B,OAAO,2BAA2B;AACpC"}
1
+ {"version":3,"file":"webViewport.js","names":[],"sources":["esm/webViewport.js"],"sourcesContent":["const MIN_KEYBOARD_HEIGHT = 80;\nfunction isEditableElement(el) {\n if (!el) return false;\n const tag = el.tagName;\n if (tag === \"INPUT\" || tag === \"TEXTAREA\" || tag === \"SELECT\") return true;\n if (el.isContentEditable) return true;\n return false;\n}\nfunction getStableLayoutViewportHeight() {\n if (typeof window === \"undefined\") return 0;\n const ch = typeof document !== \"undefined\" ? document.documentElement?.clientHeight : 0;\n if (ch && ch > 0) return ch;\n return Math.max(window.innerHeight || 0, window.visualViewport?.height || 0);\n}\nlet _maxViewportHeight = 0;\nlet _visibleViewportHeight = 0;\nfunction updateMaxViewportHeight() {\n const ch = typeof document !== \"undefined\" ? document.documentElement?.clientHeight : 0;\n _visibleViewportHeight = Math.max(ch || 0, window.innerHeight || 0);\n _maxViewportHeight = Math.max(\n _maxViewportHeight,\n ch || 0,\n window.innerHeight || 0,\n window.visualViewport?.height || 0,\n window.screen?.height || 0\n );\n}\nfunction getMaxViewportHeight() {\n if (typeof window === \"undefined\") return 0;\n if (!_maxViewportHeight) {\n updateMaxViewportHeight();\n window.addEventListener(\"resize\", updateMaxViewportHeight);\n window.visualViewport?.addEventListener(\"resize\", updateMaxViewportHeight);\n }\n return _maxViewportHeight;\n}\nfunction getVisibleViewportHeight() {\n getMaxViewportHeight();\n return _visibleViewportHeight;\n}\nfunction getWebKeyboardResizeHeight() {\n if (typeof window === \"undefined\") return 0;\n const vv = window.visualViewport;\n if (!vv) return 0;\n return Math.max(0, Math.round(getStableLayoutViewportHeight() - vv.height));\n}\nfunction getWebVisualViewportOffsetTop() {\n if (typeof window === \"undefined\") return 0;\n return Math.max(0, Math.round(window.visualViewport?.offsetTop || 0));\n}\nfunction getWebKeyboardBottomInset() {\n if (typeof window === \"undefined\") return 0;\n const vv = window.visualViewport;\n if (!vv) return 0;\n const visibleBottom = getWebVisualViewportOffsetTop() + vv.height;\n return Math.max(0, Math.round(getStableLayoutViewportHeight() - visibleBottom));\n}\nfunction getWebKeyboardHeight() {\n return getWebKeyboardResizeHeight();\n}\nexport {\n MIN_KEYBOARD_HEIGHT,\n getMaxViewportHeight,\n getStableLayoutViewportHeight,\n getVisibleViewportHeight,\n getWebKeyboardBottomInset,\n getWebKeyboardHeight,\n getWebKeyboardResizeHeight,\n getWebVisualViewportOffsetTop,\n isEditableElement\n};\n//# sourceMappingURL=webViewport.js.map\n"],"mappings":";AAAA,MAAM,sBAAsB;AAC5B,SAAS,kBAAkB,IAAI;CAC7B,IAAI,CAAC,IAAI,OAAO;CAChB,MAAM,MAAM,GAAG;CACf,IAAI,QAAQ,WAAW,QAAQ,cAAc,QAAQ,UAAU,OAAO;CACtE,IAAI,GAAG,mBAAmB,OAAO;CACjC,OAAO;AACT;AACA,SAAS,gCAAgC;CACvC,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,MAAM,KAAK,OAAO,aAAa,cAAc,SAAS,iBAAiB,eAAe;CACtF,IAAI,MAAM,KAAK,GAAG,OAAO;CACzB,OAAO,KAAK,IAAI,OAAO,eAAe,GAAG,OAAO,gBAAgB,UAAU,CAAC;AAC7E;AACA,IAAI,qBAAqB;AACzB,IAAI,yBAAyB;AAC7B,SAAS,0BAA0B;CACjC,MAAM,KAAK,OAAO,aAAa,cAAc,SAAS,iBAAiB,eAAe;CACtF,yBAAyB,KAAK,IAAI,MAAM,GAAG,OAAO,eAAe,CAAC;CAClE,qBAAqB,KAAK,IACxB,oBACA,MAAM,GACN,OAAO,eAAe,GACtB,OAAO,gBAAgB,UAAU,GACjC,OAAO,QAAQ,UAAU,CAC3B;AACF;AACA,SAAS,uBAAuB;CAC9B,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,IAAI,CAAC,oBAAoB;EACvB,wBAAwB;EACxB,OAAO,iBAAiB,UAAU,uBAAuB;EACzD,OAAO,gBAAgB,iBAAiB,UAAU,uBAAuB;CAC3E;CACA,OAAO;AACT;AACA,SAAS,2BAA2B;CAClC,qBAAqB;CACrB,OAAO;AACT;AACA,SAAS,6BAA6B;CACpC,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,MAAM,KAAK,OAAO;CAClB,IAAI,CAAC,IAAI,OAAO;CAChB,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,8BAA8B,IAAI,GAAG,MAAM,CAAC;AAC5E;AACA,SAAS,gCAAgC;CACvC,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,OAAO,gBAAgB,aAAa,CAAC,CAAC;AACtE;AACA,SAAS,4BAA4B;CACnC,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,MAAM,KAAK,OAAO;CAClB,IAAI,CAAC,IAAI,OAAO;CAChB,MAAM,gBAAgB,8BAA8B,IAAI,GAAG;CAC3D,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,8BAA8B,IAAI,aAAa,CAAC;AAChF;AACA,SAAS,uBAAuB;CAC9B,OAAO,2BAA2B;AACpC"}
@@ -14,9 +14,11 @@ function getStableLayoutViewportHeight() {
14
14
  return Math.max(window.innerHeight || 0, ((_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.height) || 0);
15
15
  }
16
16
  var _maxViewportHeight = 0;
17
+ var _visibleViewportHeight = 0;
17
18
  function updateMaxViewportHeight() {
18
19
  var _document_documentElement, _window_visualViewport, _window_screen;
19
20
  var ch = typeof document !== "undefined" ? (_document_documentElement = document.documentElement) === null || _document_documentElement === void 0 ? void 0 : _document_documentElement.clientHeight : 0;
21
+ _visibleViewportHeight = Math.max(ch || 0, window.innerHeight || 0);
20
22
  _maxViewportHeight = Math.max(_maxViewportHeight, ch || 0, window.innerHeight || 0, ((_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.height) || 0, ((_window_screen = window.screen) === null || _window_screen === void 0 ? void 0 : _window_screen.height) || 0);
21
23
  }
22
24
  function getMaxViewportHeight() {
@@ -29,6 +31,10 @@ function getMaxViewportHeight() {
29
31
  }
30
32
  return _maxViewportHeight;
31
33
  }
34
+ function getVisibleViewportHeight() {
35
+ getMaxViewportHeight();
36
+ return _visibleViewportHeight;
37
+ }
32
38
  function getWebKeyboardResizeHeight() {
33
39
  if (typeof window === "undefined") return 0;
34
40
  var vv = window.visualViewport;
@@ -51,5 +57,5 @@ function getWebKeyboardHeight() {
51
57
  return getWebKeyboardResizeHeight();
52
58
  }
53
59
 
54
- export { MIN_KEYBOARD_HEIGHT, getMaxViewportHeight, getStableLayoutViewportHeight, getWebKeyboardBottomInset, getWebKeyboardHeight, getWebKeyboardResizeHeight, getWebVisualViewportOffsetTop, isEditableElement };
60
+ export { MIN_KEYBOARD_HEIGHT, getMaxViewportHeight, getStableLayoutViewportHeight, getVisibleViewportHeight, getWebKeyboardBottomInset, getWebKeyboardHeight, getWebKeyboardResizeHeight, getWebVisualViewportOffsetTop, isEditableElement };
55
61
  //# sourceMappingURL=webViewport.native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webViewport.native.js","names":[],"sources":["esm/webViewport.native.js"],"sourcesContent":["var MIN_KEYBOARD_HEIGHT = 80;\nfunction isEditableElement(el) {\n if (!el) return false;\n var tag = el.tagName;\n if (tag === \"INPUT\" || tag === \"TEXTAREA\" || tag === \"SELECT\") return true;\n if (el.isContentEditable) return true;\n return false;\n}\nfunction getStableLayoutViewportHeight() {\n var _document_documentElement, _window_visualViewport;\n if (typeof window === \"undefined\") return 0;\n var ch = typeof document !== \"undefined\" ? (_document_documentElement = document.documentElement) === null || _document_documentElement === void 0 ? void 0 : _document_documentElement.clientHeight : 0;\n if (ch && ch > 0) return ch;\n return Math.max(window.innerHeight || 0, ((_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.height) || 0);\n}\nvar _maxViewportHeight = 0;\nfunction updateMaxViewportHeight() {\n var _document_documentElement, _window_visualViewport, _window_screen;\n var ch = typeof document !== \"undefined\" ? (_document_documentElement = document.documentElement) === null || _document_documentElement === void 0 ? void 0 : _document_documentElement.clientHeight : 0;\n _maxViewportHeight = Math.max(_maxViewportHeight, ch || 0, window.innerHeight || 0, ((_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.height) || 0, ((_window_screen = window.screen) === null || _window_screen === void 0 ? void 0 : _window_screen.height) || 0);\n}\nfunction getMaxViewportHeight() {\n if (typeof window === \"undefined\") return 0;\n if (!_maxViewportHeight) {\n var _window_visualViewport;\n updateMaxViewportHeight();\n window.addEventListener(\"resize\", updateMaxViewportHeight);\n (_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.addEventListener(\"resize\", updateMaxViewportHeight);\n }\n return _maxViewportHeight;\n}\nfunction getWebKeyboardResizeHeight() {\n if (typeof window === \"undefined\") return 0;\n var vv = window.visualViewport;\n if (!vv) return 0;\n return Math.max(0, Math.round(getStableLayoutViewportHeight() - vv.height));\n}\nfunction getWebVisualViewportOffsetTop() {\n var _window_visualViewport;\n if (typeof window === \"undefined\") return 0;\n return Math.max(0, Math.round(((_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.offsetTop) || 0));\n}\nfunction getWebKeyboardBottomInset() {\n if (typeof window === \"undefined\") return 0;\n var vv = window.visualViewport;\n if (!vv) return 0;\n var visibleBottom = getWebVisualViewportOffsetTop() + vv.height;\n return Math.max(0, Math.round(getStableLayoutViewportHeight() - visibleBottom));\n}\nfunction getWebKeyboardHeight() {\n return getWebKeyboardResizeHeight();\n}\nexport {\n MIN_KEYBOARD_HEIGHT,\n getMaxViewportHeight,\n getStableLayoutViewportHeight,\n getWebKeyboardBottomInset,\n getWebKeyboardHeight,\n getWebKeyboardResizeHeight,\n getWebVisualViewportOffsetTop,\n isEditableElement\n};\n//# sourceMappingURL=webViewport.js.map\n"],"mappings":";AAAA,IAAI,sBAAsB;AAC1B,SAAS,kBAAkB,IAAI;CAC7B,IAAI,CAAC,IAAI,OAAO;CAChB,IAAI,MAAM,GAAG;CACb,IAAI,QAAQ,WAAW,QAAQ,cAAc,QAAQ,UAAU,OAAO;CACtE,IAAI,GAAG,mBAAmB,OAAO;CACjC,OAAO;AACT;AACA,SAAS,gCAAgC;CACvC,IAAI,2BAA2B;CAC/B,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,IAAI,KAAK,OAAO,aAAa,eAAe,4BAA4B,SAAS,qBAAqB,QAAQ,8BAA8B,KAAK,IAAI,KAAK,IAAI,0BAA0B,eAAe;CACvM,IAAI,MAAM,KAAK,GAAG,OAAO;CACzB,OAAO,KAAK,IAAI,OAAO,eAAe,KAAK,yBAAyB,OAAO,oBAAoB,QAAQ,2BAA2B,KAAK,IAAI,KAAK,IAAI,uBAAuB,WAAW,CAAC;AACzL;AACA,IAAI,qBAAqB;AACzB,SAAS,0BAA0B;CACjC,IAAI,2BAA2B,wBAAwB;CACvD,IAAI,KAAK,OAAO,aAAa,eAAe,4BAA4B,SAAS,qBAAqB,QAAQ,8BAA8B,KAAK,IAAI,KAAK,IAAI,0BAA0B,eAAe;CACvM,qBAAqB,KAAK,IAAI,oBAAoB,MAAM,GAAG,OAAO,eAAe,KAAK,yBAAyB,OAAO,oBAAoB,QAAQ,2BAA2B,KAAK,IAAI,KAAK,IAAI,uBAAuB,WAAW,KAAK,iBAAiB,OAAO,YAAY,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe,WAAW,CAAC;AACpV;AACA,SAAS,uBAAuB;CAC9B,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,IAAI,CAAC,oBAAoB;EACvB,IAAI;EACJ,wBAAwB;EACxB,OAAO,iBAAiB,UAAU,uBAAuB;EACzD,CAAC,yBAAyB,OAAO,oBAAoB,QAAQ,2BAA2B,KAAK,IAAI,KAAK,IAAI,uBAAuB,iBAAiB,UAAU,uBAAuB;CACrL;CACA,OAAO;AACT;AACA,SAAS,6BAA6B;CACpC,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,IAAI,KAAK,OAAO;CAChB,IAAI,CAAC,IAAI,OAAO;CAChB,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,8BAA8B,IAAI,GAAG,MAAM,CAAC;AAC5E;AACA,SAAS,gCAAgC;CACvC,IAAI;CACJ,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,OAAO,KAAK,IAAI,GAAG,KAAK,QAAQ,yBAAyB,OAAO,oBAAoB,QAAQ,2BAA2B,KAAK,IAAI,KAAK,IAAI,uBAAuB,cAAc,CAAC,CAAC;AAClL;AACA,SAAS,4BAA4B;CACnC,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,IAAI,KAAK,OAAO;CAChB,IAAI,CAAC,IAAI,OAAO;CAChB,IAAI,gBAAgB,8BAA8B,IAAI,GAAG;CACzD,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,8BAA8B,IAAI,aAAa,CAAC;AAChF;AACA,SAAS,uBAAuB;CAC9B,OAAO,2BAA2B;AACpC"}
1
+ {"version":3,"file":"webViewport.native.js","names":[],"sources":["esm/webViewport.native.js"],"sourcesContent":["var MIN_KEYBOARD_HEIGHT = 80;\nfunction isEditableElement(el) {\n if (!el) return false;\n var tag = el.tagName;\n if (tag === \"INPUT\" || tag === \"TEXTAREA\" || tag === \"SELECT\") return true;\n if (el.isContentEditable) return true;\n return false;\n}\nfunction getStableLayoutViewportHeight() {\n var _document_documentElement, _window_visualViewport;\n if (typeof window === \"undefined\") return 0;\n var ch = typeof document !== \"undefined\" ? (_document_documentElement = document.documentElement) === null || _document_documentElement === void 0 ? void 0 : _document_documentElement.clientHeight : 0;\n if (ch && ch > 0) return ch;\n return Math.max(window.innerHeight || 0, ((_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.height) || 0);\n}\nvar _maxViewportHeight = 0;\nvar _visibleViewportHeight = 0;\nfunction updateMaxViewportHeight() {\n var _document_documentElement, _window_visualViewport, _window_screen;\n var ch = typeof document !== \"undefined\" ? (_document_documentElement = document.documentElement) === null || _document_documentElement === void 0 ? void 0 : _document_documentElement.clientHeight : 0;\n _visibleViewportHeight = Math.max(ch || 0, window.innerHeight || 0);\n _maxViewportHeight = Math.max(_maxViewportHeight, ch || 0, window.innerHeight || 0, ((_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.height) || 0, ((_window_screen = window.screen) === null || _window_screen === void 0 ? void 0 : _window_screen.height) || 0);\n}\nfunction getMaxViewportHeight() {\n if (typeof window === \"undefined\") return 0;\n if (!_maxViewportHeight) {\n var _window_visualViewport;\n updateMaxViewportHeight();\n window.addEventListener(\"resize\", updateMaxViewportHeight);\n (_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.addEventListener(\"resize\", updateMaxViewportHeight);\n }\n return _maxViewportHeight;\n}\nfunction getVisibleViewportHeight() {\n getMaxViewportHeight();\n return _visibleViewportHeight;\n}\nfunction getWebKeyboardResizeHeight() {\n if (typeof window === \"undefined\") return 0;\n var vv = window.visualViewport;\n if (!vv) return 0;\n return Math.max(0, Math.round(getStableLayoutViewportHeight() - vv.height));\n}\nfunction getWebVisualViewportOffsetTop() {\n var _window_visualViewport;\n if (typeof window === \"undefined\") return 0;\n return Math.max(0, Math.round(((_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.offsetTop) || 0));\n}\nfunction getWebKeyboardBottomInset() {\n if (typeof window === \"undefined\") return 0;\n var vv = window.visualViewport;\n if (!vv) return 0;\n var visibleBottom = getWebVisualViewportOffsetTop() + vv.height;\n return Math.max(0, Math.round(getStableLayoutViewportHeight() - visibleBottom));\n}\nfunction getWebKeyboardHeight() {\n return getWebKeyboardResizeHeight();\n}\nexport {\n MIN_KEYBOARD_HEIGHT,\n getMaxViewportHeight,\n getStableLayoutViewportHeight,\n getVisibleViewportHeight,\n getWebKeyboardBottomInset,\n getWebKeyboardHeight,\n getWebKeyboardResizeHeight,\n getWebVisualViewportOffsetTop,\n isEditableElement\n};\n//# sourceMappingURL=webViewport.js.map\n"],"mappings":";AAAA,IAAI,sBAAsB;AAC1B,SAAS,kBAAkB,IAAI;CAC7B,IAAI,CAAC,IAAI,OAAO;CAChB,IAAI,MAAM,GAAG;CACb,IAAI,QAAQ,WAAW,QAAQ,cAAc,QAAQ,UAAU,OAAO;CACtE,IAAI,GAAG,mBAAmB,OAAO;CACjC,OAAO;AACT;AACA,SAAS,gCAAgC;CACvC,IAAI,2BAA2B;CAC/B,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,IAAI,KAAK,OAAO,aAAa,eAAe,4BAA4B,SAAS,qBAAqB,QAAQ,8BAA8B,KAAK,IAAI,KAAK,IAAI,0BAA0B,eAAe;CACvM,IAAI,MAAM,KAAK,GAAG,OAAO;CACzB,OAAO,KAAK,IAAI,OAAO,eAAe,KAAK,yBAAyB,OAAO,oBAAoB,QAAQ,2BAA2B,KAAK,IAAI,KAAK,IAAI,uBAAuB,WAAW,CAAC;AACzL;AACA,IAAI,qBAAqB;AACzB,IAAI,yBAAyB;AAC7B,SAAS,0BAA0B;CACjC,IAAI,2BAA2B,wBAAwB;CACvD,IAAI,KAAK,OAAO,aAAa,eAAe,4BAA4B,SAAS,qBAAqB,QAAQ,8BAA8B,KAAK,IAAI,KAAK,IAAI,0BAA0B,eAAe;CACvM,yBAAyB,KAAK,IAAI,MAAM,GAAG,OAAO,eAAe,CAAC;CAClE,qBAAqB,KAAK,IAAI,oBAAoB,MAAM,GAAG,OAAO,eAAe,KAAK,yBAAyB,OAAO,oBAAoB,QAAQ,2BAA2B,KAAK,IAAI,KAAK,IAAI,uBAAuB,WAAW,KAAK,iBAAiB,OAAO,YAAY,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe,WAAW,CAAC;AACpV;AACA,SAAS,uBAAuB;CAC9B,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,IAAI,CAAC,oBAAoB;EACvB,IAAI;EACJ,wBAAwB;EACxB,OAAO,iBAAiB,UAAU,uBAAuB;EACzD,CAAC,yBAAyB,OAAO,oBAAoB,QAAQ,2BAA2B,KAAK,IAAI,KAAK,IAAI,uBAAuB,iBAAiB,UAAU,uBAAuB;CACrL;CACA,OAAO;AACT;AACA,SAAS,2BAA2B;CAClC,qBAAqB;CACrB,OAAO;AACT;AACA,SAAS,6BAA6B;CACpC,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,IAAI,KAAK,OAAO;CAChB,IAAI,CAAC,IAAI,OAAO;CAChB,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,8BAA8B,IAAI,GAAG,MAAM,CAAC;AAC5E;AACA,SAAS,gCAAgC;CACvC,IAAI;CACJ,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,OAAO,KAAK,IAAI,GAAG,KAAK,QAAQ,yBAAyB,OAAO,oBAAoB,QAAQ,2BAA2B,KAAK,IAAI,KAAK,IAAI,uBAAuB,cAAc,CAAC,CAAC;AAClL;AACA,SAAS,4BAA4B;CACnC,IAAI,OAAO,WAAW,aAAa,OAAO;CAC1C,IAAI,KAAK,OAAO;CAChB,IAAI,CAAC,IAAI,OAAO;CAChB,IAAI,gBAAgB,8BAA8B,IAAI,GAAG;CACzD,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,8BAA8B,IAAI,aAAa,CAAC;AAChF;AACA,SAAS,uBAAuB;CAC9B,OAAO,2BAA2B;AACpC"}
@@ -56,7 +56,8 @@ const SheetBackgroundFrame = styled(YStack, {
56
56
  zIndex: -1,
57
57
  pointerEvents: "none"
58
58
  });
59
- const SheetHandle = createStyledHOC(SheetHandleFrame, ({ scope, ...props }, forwardedRef) => {
59
+ const SheetHandle = createStyledHOC(SheetHandleFrame, (propsIn, forwardedRef) => {
60
+ const { scope, ...props } = propsIn;
60
61
  const context = useSheetContext(scope);
61
62
  const composedRef = useComposedRefs(context.handleRef, forwardedRef);
62
63
  const wasDraggingRef = useRef(false);
@@ -112,7 +113,8 @@ const SheetOverlay = createStyledHOC(SheetOverlayFrame, (propsIn, ref) => {
112
113
  } : void 0)
113
114
  });
114
115
  });
115
- const SheetContainer = createStyledHOC(SheetContainerFrame, ({ scope, adjustPaddingForOffscreenContent, children, ...props }, forwardedRef) => {
116
+ const SheetContainer = createStyledHOC(SheetContainerFrame, (propsIn, forwardedRef) => {
117
+ const { scope, adjustPaddingForOffscreenContent, children, ...props } = propsIn;
116
118
  const context = useSheetContext(scope);
117
119
  const { hasFit, frameSize, contentRef, open } = context;
118
120
  const composedContentRef = useComposedRefs(forwardedRef, contentRef);
@@ -177,7 +179,8 @@ const SheetContainer = createStyledHOC(SheetContainerFrame, ({ scope, adjustPadd
177
179
  children: sheetContents
178
180
  });
179
181
  });
180
- const SheetBackground = createStyledHOC(SheetBackgroundFrame, ({ scope, disableHideBottomOverflow, ...props }, forwardedRef) => {
182
+ const SheetBackground = createStyledHOC(SheetBackgroundFrame, (propsIn, forwardedRef) => {
183
+ const { scope, disableHideBottomOverflow, ...props } = propsIn;
181
184
  const context = useSheetContext(scope);
182
185
  if (context.onlyShowContainer) return null;
183
186
  const bottomOverflow = isWeb ? Math.max(context.frameSize, getMaxViewportHeight()) : context.frameSize;
@@ -1 +1 @@
1
- {"version":3,"file":"Sheet.js","names":[],"sources":["jsx/Sheet.js"],"sourcesContent":["import { AdaptCapabilities, useAdaptContext, useAdaptIsActive } from \"@tamagui/adapt\";\nimport { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb } from \"@tamagui/constants\";\nimport {\n createRefComponent,\n createStyledHOC,\n styled,\n View\n} from \"@tamagui/core\";\nimport { composeEventHandlers, withStaticProperties } from \"@tamagui/helpers\";\nimport { resolveViewZIndex } from \"@tamagui/portal\";\nimport { RemoveScroll } from \"@tamagui/remove-scroll\";\nimport { XStack, YStack } from \"@tamagui/stacks\";\nimport { useDidFinishSSR } from \"@tamagui/use-did-finish-ssr\";\nimport { StackZIndexContext } from \"@tamagui/z-index-stack\";\nimport { useContext, useEffect, useMemo, useRef } from \"react\";\nimport {\n SHEET_BACKGROUND_NAME,\n SHEET_CONTAINER_NAME,\n SHEET_HANDLE_NAME,\n SHEET_OVERLAY_MARKER,\n SHEET_OVERLAY_NAME\n} from \"./constants\";\nimport { getNativeSheet } from \"./nativeSheet\";\nimport {\n SheetOverlayLayerContext,\n useAnimatedPosition,\n useSheetContext\n} from \"./SheetContext\";\nimport { SheetImplementationCustom } from \"./SheetImplementationCustom\";\nimport { SheetScrollView } from \"./SheetScrollView\";\nimport { useSheetController } from \"./useSheetController\";\nimport { useSheetOffscreenSize } from \"./useSheetOffscreenSize\";\nimport { getMaxViewportHeight } from \"./webViewport\";\nexport * from \"./types\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nconst SheetHandleFrame = styled(XStack, {\n displayName: SHEET_HANDLE_NAME,\n // the behavior Handle ships no opacity rules; open/close aesthetics (fade in\n // when open, dim when idle) live in the copied skin. see the canonical skin.\n variants: {\n open: {\n true: {\n pointerEvents: \"auto\"\n },\n false: {\n pointerEvents: \"none\"\n }\n }\n }\n});\nconst SheetOverlayFrame = styled(YStack, {\n displayName: SHEET_OVERLAY_NAME,\n inset: 0,\n position: \"absolute\",\n zIndex: 1e5 - 1,\n pointerEvents: \"auto\",\n variants: {\n open: {\n true: {\n pointerEvents: \"auto\"\n },\n false: {\n pointerEvents: \"none\"\n }\n }\n }\n});\nObject.assign(SheetOverlayFrame.staticConfig, { [SHEET_OVERLAY_MARKER]: true });\nconst SheetContainerFrame = styled(YStack, {\n displayName: SHEET_CONTAINER_NAME,\n flex: 1,\n position: \"relative\",\n zIndex: 0,\n width: \"100%\"\n});\nconst SheetBackgroundFrame = styled(YStack, {\n displayName: SHEET_BACKGROUND_NAME,\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n zIndex: -1,\n pointerEvents: \"none\"\n});\nconst SheetHandle = createStyledHOC(\n SheetHandleFrame,\n ({ scope, ...props }, forwardedRef) => {\n const context = useSheetContext(scope);\n const composedRef = useComposedRefs(context.handleRef, forwardedRef);\n const wasDraggingRef = useRef(false);\n useEffect(() => {\n if (!context.scrollBridge) return;\n return context.scrollBridge.onParentDragging((isDragging) => {\n if (isDragging) {\n wasDraggingRef.current = true;\n }\n });\n }, [context.scrollBridge]);\n if (context.onlyShowContainer) {\n return null;\n }\n return /* @__PURE__ */ jsx(\n SheetHandleFrame,\n {\n ref: composedRef,\n onPressIn: () => {\n wasDraggingRef.current = false;\n },\n onPress: () => {\n if (wasDraggingRef.current) {\n wasDraggingRef.current = false;\n return;\n }\n const max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0);\n const nextPos = (context.position + 1) % max;\n context.setPosition(nextPos);\n },\n open: context.open,\n ...props\n }\n );\n }\n);\nconst SheetOverlay = createStyledHOC(\n SheetOverlayFrame,\n (propsIn, ref) => {\n const { scope, ...props } = propsIn;\n const context = useSheetContext(scope);\n const isInOverlayLayer = useContext(SheetOverlayLayerContext);\n const didWarn = useRef(false);\n if (context.onlyShowContainer) {\n return null;\n }\n if (!isInOverlayLayer) {\n if (process.env.NODE_ENV === \"development\" && !didWarn.current) {\n didWarn.current = true;\n console.error(\n \"Sheet.Overlay must be a direct child of Sheet. Move it next to Sheet.Handle and Sheet.Container.\"\n );\n }\n return null;\n }\n return /* @__PURE__ */ jsx(\n SheetOverlayFrame,\n {\n ...props,\n ref,\n onPress: composeEventHandlers(\n props.onPress,\n context.dismissOnOverlayPress ? () => {\n context.setOpen(false);\n } : void 0\n )\n }\n );\n }\n);\nconst SheetContainer = createStyledHOC(\n SheetContainerFrame,\n ({\n scope,\n adjustPaddingForOffscreenContent,\n children,\n ...props\n }, forwardedRef) => {\n const context = useSheetContext(scope);\n const { hasFit, frameSize, contentRef, open } = context;\n const composedContentRef = useComposedRefs(forwardedRef, contentRef);\n const offscreenSize = useSheetOffscreenSize(context);\n const stableFrameSize = useRef(frameSize);\n useEffect(() => {\n if (open && frameSize) {\n stableFrameSize.current = frameSize;\n }\n }, [open, frameSize]);\n const sheetContents = useMemo(() => {\n if (context.onlyShowContainer) {\n return /* @__PURE__ */ jsx(\n SheetContainerFrame,\n {\n ref: composedContentRef,\n flex: hasFit ? 0 : 1,\n flexBasis: hasFit ? \"auto\" : void 0,\n maxHeight: hasFit ? void 0 : \"100%\",\n pointerEvents: open ? \"auto\" : \"none\",\n \"data-state\": open ? \"open\" : \"closed\",\n ...props,\n onLayout: composeEventHandlers(props.onLayout, (event) => {\n context.setFrameSize(event.nativeEvent.layout.height);\n }),\n children: /* @__PURE__ */ jsx(StackZIndexContext, { zIndex: resolveViewZIndex(props.zIndex), children })\n }\n );\n }\n const shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;\n return /* @__PURE__ */ jsxs(\n SheetContainerFrame,\n {\n ref: composedContentRef,\n flex: hasFit && open ? 0 : 1,\n flexBasis: hasFit ? \"auto\" : void 0,\n maxHeight: \"100%\",\n height: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize,\n pointerEvents: open ? \"auto\" : \"none\",\n \"data-state\": open ? \"open\" : \"closed\",\n ...props,\n children: [\n /* @__PURE__ */ jsx(StackZIndexContext, { zIndex: resolveViewZIndex(props.zIndex), children }),\n adjustPaddingForOffscreenContent && /* @__PURE__ */ jsx(View, { \"data-sheet-offscreen-pad\": true, height: offscreenSize, width: \"100%\" })\n ]\n }\n );\n }, [\n open,\n props,\n frameSize,\n offscreenSize,\n adjustPaddingForOffscreenContent,\n hasFit,\n context.onlyShowContainer,\n context.setFrameSize\n ]);\n if (context.onlyShowContainer) return sheetContents;\n return /* @__PURE__ */ jsx(RemoveScroll, { enabled: !context.disableRemoveScroll && context.open, children: sheetContents });\n }\n);\nconst SheetBackground = createStyledHOC(\n SheetBackgroundFrame,\n ({ scope, disableHideBottomOverflow, ...props }, forwardedRef) => {\n const context = useSheetContext(scope);\n if (context.onlyShowContainer) return null;\n const bottomOverflow = isWeb ? Math.max(context.frameSize, getMaxViewportHeight()) : context.frameSize;\n return /* @__PURE__ */ jsx(\n SheetBackgroundFrame,\n {\n ref: forwardedRef,\n \"data-sheet-background\": \"\",\n bottom: disableHideBottomOverflow ? 0 : -bottomOverflow,\n ...props\n }\n );\n }\n);\nconst SheetRoot = createRefComponent(\n function SheetRoot2(props, ref) {\n const hydrated = useDidFinishSSR();\n const isAdapted = useAdaptIsActive();\n const adaptContext = useAdaptContext();\n const { isShowingNonSheet } = useSheetController(props.scope);\n const shouldUseAdapt = Boolean(\n adaptContext.open !== void 0 || adaptContext.onOpenChange\n );\n const isShowingAdaptNonSheet = shouldUseAdapt && !adaptContext.active && adaptContext.open;\n const nativeImplementation = props.native === true || Array.isArray(props.native) && props.native.includes(\"ios\") ? getNativeSheet(\"ios\") : null;\n const SheetImplementation = nativeImplementation ?? SheetImplementationCustom;\n if (isShowingAdaptNonSheet || isShowingNonSheet || !hydrated) {\n return null;\n }\n const implementation = /* @__PURE__ */ jsx(SheetImplementation, { ref, ...props });\n return isAdapted ? /* @__PURE__ */ jsx(AdaptCapabilities, { scroll: true, overlay: true, dismiss: true, children: implementation }) : implementation;\n }\n);\nconst sheetParts = {\n Container: SheetContainer,\n Background: SheetBackground,\n Overlay: SheetOverlay,\n Handle: SheetHandle,\n ScrollView: SheetScrollView\n};\nconst SheetControlled = withStaticProperties(\n SheetRoot,\n sheetParts\n);\nconst Sheet = withStaticProperties(SheetRoot, {\n Root: SheetRoot,\n Controlled: SheetControlled,\n useAnimatedPosition,\n ...sheetParts\n});\nexport {\n Sheet,\n SheetBackground,\n SheetContainer,\n SheetControlled,\n SheetHandle,\n SheetOverlay,\n SheetRoot\n};\n//# sourceMappingURL=Sheet.js.map\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoCA,MAAM,mBAAmB,OAAO,QAAQ;CACtC,aAAa;CAGb,UAAU,EACR,MAAM;EACJ,MAAM,EACJ,eAAe,OACjB;EACA,OAAO,EACL,eAAe,OACjB;CACF,EACF;AACF,CAAC;AACD,MAAM,oBAAoB,OAAO,QAAQ;CACvC,aAAa;CACb,OAAO;CACP,UAAU;CACV,QAAQ,MAAM;CACd,eAAe;CACf,UAAU,EACR,MAAM;EACJ,MAAM,EACJ,eAAe,OACjB;EACA,OAAO,EACL,eAAe,OACjB;CACF,EACF;AACF,CAAC;AACD,OAAO,OAAO,kBAAkB,cAAc,GAAG,uBAAuB,KAAK,CAAC;AAC9E,MAAM,sBAAsB,OAAO,QAAQ;CACzC,aAAa;CACb,MAAM;CACN,UAAU;CACV,QAAQ;CACR,OAAO;AACT,CAAC;AACD,MAAM,uBAAuB,OAAO,QAAQ;CAC1C,aAAa;CACb,UAAU;CACV,KAAK;CACL,MAAM;CACN,OAAO;CACP,QAAQ,CAAC;CACT,eAAe;AACjB,CAAC;AACD,MAAM,cAAc,gBAClB,mBACC,EAAE,OAAO,GAAG,SAAS,iBAAiB;CACrC,MAAM,UAAU,gBAAgB,KAAK;CACrC,MAAM,cAAc,gBAAgB,QAAQ,WAAW,YAAY;CACnE,MAAM,iBAAiB,OAAO,KAAK;CACnC,gBAAgB;EACd,IAAI,CAAC,QAAQ,cAAc;EAC3B,OAAO,QAAQ,aAAa,kBAAkB,eAAe;GAC3D,IAAI,YAAY;IACd,eAAe,UAAU;GAC3B;EACF,CAAC;CACH,GAAG,CAAC,QAAQ,YAAY,CAAC;CACzB,IAAI,QAAQ,mBAAmB;EAC7B,OAAO;CACT;CACA,OAAuB,oBACrB,kBACA;EACE,KAAK;EACL,iBAAiB;GACf,eAAe,UAAU;EAC3B;EACA,eAAe;GACb,IAAI,eAAe,SAAS;IAC1B,eAAe,UAAU;IACzB;GACF;GACA,MAAM,MAAM,QAAQ,WAAW,UAAU,QAAQ,wBAAwB,CAAC,IAAI;GAC9E,MAAM,WAAW,QAAQ,WAAW,KAAK;GACzC,QAAQ,YAAY,OAAO;EAC7B;EACA,MAAM,QAAQ;EACd,GAAG;CACL,CACF;AACF,CACF;AACA,MAAM,eAAe,gBACnB,oBACC,SAAS,QAAQ;CAChB,MAAM,EAAE,OAAO,GAAG,UAAU;CAC5B,MAAM,UAAU,gBAAgB,KAAK;CACrC,MAAM,mBAAmB,WAAW,wBAAwB;CAC5D,MAAM,UAAU,OAAO,KAAK;CAC5B,IAAI,QAAQ,mBAAmB;EAC7B,OAAO;CACT;CACA,IAAI,CAAC,kBAAkB;EACrB,IAAI,QAAQ,IAAI,aAAa,iBAAiB,CAAC,QAAQ,SAAS;GAC9D,QAAQ,UAAU;GAClB,QAAQ,MACN,kGACF;EACF;EACA,OAAO;CACT;CACA,OAAuB,oBACrB,mBACA;EACE,GAAG;EACH;EACA,SAAS,qBACP,MAAM,SACN,QAAQ,8BAA8B;GACpC,QAAQ,QAAQ,KAAK;EACvB,IAAI,KAAK,CACX;CACF,CACF;AACF,CACF;AACA,MAAM,iBAAiB,gBACrB,sBACC,EACC,OACA,kCACA,UACA,GAAG,SACF,iBAAiB;CAClB,MAAM,UAAU,gBAAgB,KAAK;CACrC,MAAM,EAAE,QAAQ,WAAW,YAAY,SAAS;CAChD,MAAM,qBAAqB,gBAAgB,cAAc,UAAU;CACnE,MAAM,gBAAgB,sBAAsB,OAAO;CACnD,MAAM,kBAAkB,OAAO,SAAS;CACxC,gBAAgB;EACd,IAAI,QAAQ,WAAW;GACrB,gBAAgB,UAAU;EAC5B;CACF,GAAG,CAAC,MAAM,SAAS,CAAC;CACpB,MAAM,gBAAgB,cAAc;EAClC,IAAI,QAAQ,mBAAmB;GAC7B,OAAuB,oBACrB,qBACA;IACE,KAAK;IACL,MAAM,SAAS,IAAI;IACnB,WAAW,SAAS,SAAS,KAAK;IAClC,WAAW,SAAS,KAAK,IAAI;IAC7B,eAAe,OAAO,SAAS;IAC/B,cAAc,OAAO,SAAS;IAC9B,GAAG;IACH,UAAU,qBAAqB,MAAM,WAAW,UAAU;KACxD,QAAQ,aAAa,MAAM,YAAY,OAAO,MAAM;IACtD,CAAC;IACD,UAA0B,oBAAI,oBAAoB;KAAE,QAAQ,kBAAkB,MAAM,MAAM;KAAG;IAAS,CAAC;GACzG,CACF;EACF;EACA,MAAM,uBAAuB,UAAU,CAAC,QAAQ,gBAAgB;EAChE,OAAuB,qBACrB,qBACA;GACE,KAAK;GACL,MAAM,UAAU,OAAO,IAAI;GAC3B,WAAW,SAAS,SAAS,KAAK;GAClC,WAAW;GACX,QAAQ,uBAAuB,gBAAgB,UAAU,SAAS,KAAK,IAAI;GAC3E,eAAe,OAAO,SAAS;GAC/B,cAAc,OAAO,SAAS;GAC9B,GAAG;GACH,UAAU,CACQ,oBAAI,oBAAoB;IAAE,QAAQ,kBAAkB,MAAM,MAAM;IAAG;GAAS,CAAC,GAC7F,oCAAoD,oBAAI,MAAM;IAAE,4BAA4B;IAAM,QAAQ;IAAe,OAAO;GAAO,CAAC,CAC1I;EACF,CACF;CACF,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR,QAAQ;CACV,CAAC;CACD,IAAI,QAAQ,mBAAmB,OAAO;CACtC,OAAuB,oBAAI,cAAc;EAAE,SAAS,CAAC,QAAQ,uBAAuB,QAAQ;EAAM,UAAU;CAAc,CAAC;AAC7H,CACF;AACA,MAAM,kBAAkB,gBACtB,uBACC,EAAE,OAAO,2BAA2B,GAAG,SAAS,iBAAiB;CAChE,MAAM,UAAU,gBAAgB,KAAK;CACrC,IAAI,QAAQ,mBAAmB,OAAO;CACtC,MAAM,iBAAiB,QAAQ,KAAK,IAAI,QAAQ,WAAW,qBAAqB,CAAC,IAAI,QAAQ;CAC7F,OAAuB,oBACrB,sBACA;EACE,KAAK;EACL,yBAAyB;EACzB,QAAQ,4BAA4B,IAAI,CAAC;EACzC,GAAG;CACL,CACF;AACF,CACF;AACA,MAAM,YAAY,mBAChB,SAAS,WAAW,OAAO,KAAK;CAC9B,MAAM,WAAW,gBAAgB;CACjC,MAAM,YAAY,iBAAiB;CACnC,MAAM,eAAe,gBAAgB;CACrC,MAAM,EAAE,sBAAsB,mBAAmB,MAAM,KAAK;CAC5D,MAAM,iBAAiB,QACrB,aAAa,SAAS,KAAK,KAAK,aAAa,YAC/C;CACA,MAAM,yBAAyB,kBAAkB,CAAC,aAAa,UAAU,aAAa;CACtF,MAAM,uBAAuB,MAAM,WAAW,QAAQ,MAAM,QAAQ,MAAM,MAAM,KAAK,MAAM,OAAO,SAAS,KAAK,IAAI,eAAe,KAAK,IAAI;CAC5I,MAAM,sBAAsB,wBAAwB;CACpD,IAAI,0BAA0B,qBAAqB,CAAC,UAAU;EAC5D,OAAO;CACT;CACA,MAAM,iBAAiC,oBAAI,qBAAqB;EAAE;EAAK,GAAG;CAAM,CAAC;CACjF,OAAO,YAA4B,oBAAI,mBAAmB;EAAE,QAAQ;EAAM,SAAS;EAAM,SAAS;EAAM,UAAU;CAAe,CAAC,IAAI;AACxI,CACF;AACA,MAAM,aAAa;CACjB,WAAW;CACX,YAAY;CACZ,SAAS;CACT,QAAQ;CACR,YAAY;AACd;AACA,MAAM,kBAAkB,qBACtB,WACA,UACF;AACA,MAAM,QAAQ,qBAAqB,WAAW;CAC5C,MAAM;CACN,YAAY;CACZ;CACA,GAAG;AACL,CAAC"}
1
+ {"version":3,"file":"Sheet.js","names":[],"sources":["jsx/Sheet.js"],"sourcesContent":["import { AdaptCapabilities, useAdaptContext, useAdaptIsActive } from \"@tamagui/adapt\";\nimport { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb } from \"@tamagui/constants\";\nimport {\n createRefComponent,\n createStyledHOC,\n styled,\n View\n} from \"@tamagui/core\";\nimport { composeEventHandlers, withStaticProperties } from \"@tamagui/helpers\";\nimport { resolveViewZIndex } from \"@tamagui/portal\";\nimport { RemoveScroll } from \"@tamagui/remove-scroll\";\nimport { XStack, YStack } from \"@tamagui/stacks\";\nimport { useDidFinishSSR } from \"@tamagui/use-did-finish-ssr\";\nimport { StackZIndexContext } from \"@tamagui/z-index-stack\";\nimport { useContext, useEffect, useMemo, useRef } from \"react\";\nimport {\n SHEET_BACKGROUND_NAME,\n SHEET_CONTAINER_NAME,\n SHEET_HANDLE_NAME,\n SHEET_OVERLAY_MARKER,\n SHEET_OVERLAY_NAME\n} from \"./constants\";\nimport { getNativeSheet } from \"./nativeSheet\";\nimport {\n SheetOverlayLayerContext,\n useAnimatedPosition,\n useSheetContext\n} from \"./SheetContext\";\nimport { SheetImplementationCustom } from \"./SheetImplementationCustom\";\nimport { SheetScrollView } from \"./SheetScrollView\";\nimport { useSheetController } from \"./useSheetController\";\nimport { useSheetOffscreenSize } from \"./useSheetOffscreenSize\";\nimport { getMaxViewportHeight } from \"./webViewport\";\nexport * from \"./types\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nconst SheetHandleFrame = styled(XStack, {\n displayName: SHEET_HANDLE_NAME,\n // the behavior Handle ships no opacity rules; open/close aesthetics (fade in\n // when open, dim when idle) live in the copied skin. see the canonical skin.\n variants: {\n open: {\n true: {\n pointerEvents: \"auto\"\n },\n false: {\n pointerEvents: \"none\"\n }\n }\n }\n});\nconst SheetOverlayFrame = styled(YStack, {\n displayName: SHEET_OVERLAY_NAME,\n inset: 0,\n position: \"absolute\",\n zIndex: 1e5 - 1,\n pointerEvents: \"auto\",\n variants: {\n open: {\n true: {\n pointerEvents: \"auto\"\n },\n false: {\n pointerEvents: \"none\"\n }\n }\n }\n});\nObject.assign(SheetOverlayFrame.staticConfig, { [SHEET_OVERLAY_MARKER]: true });\nconst SheetContainerFrame = styled(YStack, {\n displayName: SHEET_CONTAINER_NAME,\n flex: 1,\n position: \"relative\",\n zIndex: 0,\n width: \"100%\"\n});\nconst SheetBackgroundFrame = styled(YStack, {\n displayName: SHEET_BACKGROUND_NAME,\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n zIndex: -1,\n pointerEvents: \"none\"\n});\nconst SheetHandle = createStyledHOC(\n SheetHandleFrame,\n (propsIn, forwardedRef) => {\n const { scope, ...props } = propsIn;\n const context = useSheetContext(scope);\n const composedRef = useComposedRefs(context.handleRef, forwardedRef);\n const wasDraggingRef = useRef(false);\n useEffect(() => {\n if (!context.scrollBridge) return;\n return context.scrollBridge.onParentDragging((isDragging) => {\n if (isDragging) {\n wasDraggingRef.current = true;\n }\n });\n }, [context.scrollBridge]);\n if (context.onlyShowContainer) {\n return null;\n }\n return /* @__PURE__ */ jsx(\n SheetHandleFrame,\n {\n ref: composedRef,\n onPressIn: () => {\n wasDraggingRef.current = false;\n },\n onPress: () => {\n if (wasDraggingRef.current) {\n wasDraggingRef.current = false;\n return;\n }\n const max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0);\n const nextPos = (context.position + 1) % max;\n context.setPosition(nextPos);\n },\n open: context.open,\n ...props\n }\n );\n }\n);\nconst SheetOverlay = createStyledHOC(\n SheetOverlayFrame,\n (propsIn, ref) => {\n const { scope, ...props } = propsIn;\n const context = useSheetContext(scope);\n const isInOverlayLayer = useContext(SheetOverlayLayerContext);\n const didWarn = useRef(false);\n if (context.onlyShowContainer) {\n return null;\n }\n if (!isInOverlayLayer) {\n if (process.env.NODE_ENV === \"development\" && !didWarn.current) {\n didWarn.current = true;\n console.error(\n \"Sheet.Overlay must be a direct child of Sheet. Move it next to Sheet.Handle and Sheet.Container.\"\n );\n }\n return null;\n }\n return /* @__PURE__ */ jsx(\n SheetOverlayFrame,\n {\n ...props,\n ref,\n onPress: composeEventHandlers(\n props.onPress,\n context.dismissOnOverlayPress ? () => {\n context.setOpen(false);\n } : void 0\n )\n }\n );\n }\n);\nconst SheetContainer = createStyledHOC(\n SheetContainerFrame,\n (propsIn, forwardedRef) => {\n const {\n scope,\n adjustPaddingForOffscreenContent,\n children,\n ...props\n } = propsIn;\n const context = useSheetContext(scope);\n const { hasFit, frameSize, contentRef, open } = context;\n const composedContentRef = useComposedRefs(forwardedRef, contentRef);\n const offscreenSize = useSheetOffscreenSize(context);\n const stableFrameSize = useRef(frameSize);\n useEffect(() => {\n if (open && frameSize) {\n stableFrameSize.current = frameSize;\n }\n }, [open, frameSize]);\n const sheetContents = useMemo(() => {\n if (context.onlyShowContainer) {\n return /* @__PURE__ */ jsx(\n SheetContainerFrame,\n {\n ref: composedContentRef,\n flex: hasFit ? 0 : 1,\n flexBasis: hasFit ? \"auto\" : void 0,\n maxHeight: hasFit ? void 0 : \"100%\",\n pointerEvents: open ? \"auto\" : \"none\",\n \"data-state\": open ? \"open\" : \"closed\",\n ...props,\n onLayout: composeEventHandlers(props.onLayout, (event) => {\n context.setFrameSize(event.nativeEvent.layout.height);\n }),\n children: /* @__PURE__ */ jsx(StackZIndexContext, { zIndex: resolveViewZIndex(props.zIndex), children })\n }\n );\n }\n const shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;\n return /* @__PURE__ */ jsxs(\n SheetContainerFrame,\n {\n ref: composedContentRef,\n flex: hasFit && open ? 0 : 1,\n flexBasis: hasFit ? \"auto\" : void 0,\n maxHeight: \"100%\",\n height: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize,\n pointerEvents: open ? \"auto\" : \"none\",\n \"data-state\": open ? \"open\" : \"closed\",\n ...props,\n children: [\n /* @__PURE__ */ jsx(StackZIndexContext, { zIndex: resolveViewZIndex(props.zIndex), children }),\n adjustPaddingForOffscreenContent && /* @__PURE__ */ jsx(View, { \"data-sheet-offscreen-pad\": true, height: offscreenSize, width: \"100%\" })\n ]\n }\n );\n }, [\n open,\n props,\n frameSize,\n offscreenSize,\n adjustPaddingForOffscreenContent,\n hasFit,\n context.onlyShowContainer,\n context.setFrameSize\n ]);\n if (context.onlyShowContainer) return sheetContents;\n return /* @__PURE__ */ jsx(RemoveScroll, { enabled: !context.disableRemoveScroll && context.open, children: sheetContents });\n }\n);\nconst SheetBackground = createStyledHOC(\n SheetBackgroundFrame,\n (propsIn, forwardedRef) => {\n const {\n scope,\n disableHideBottomOverflow,\n ...props\n } = propsIn;\n const context = useSheetContext(scope);\n if (context.onlyShowContainer) return null;\n const bottomOverflow = isWeb ? Math.max(context.frameSize, getMaxViewportHeight()) : context.frameSize;\n return /* @__PURE__ */ jsx(\n SheetBackgroundFrame,\n {\n ref: forwardedRef,\n \"data-sheet-background\": \"\",\n bottom: disableHideBottomOverflow ? 0 : -bottomOverflow,\n ...props\n }\n );\n }\n);\nconst SheetRoot = createRefComponent(\n function SheetRoot2(props, ref) {\n const hydrated = useDidFinishSSR();\n const isAdapted = useAdaptIsActive();\n const adaptContext = useAdaptContext();\n const { isShowingNonSheet } = useSheetController(props.scope);\n const shouldUseAdapt = Boolean(\n adaptContext.open !== void 0 || adaptContext.onOpenChange\n );\n const isShowingAdaptNonSheet = shouldUseAdapt && !adaptContext.active && adaptContext.open;\n const nativeImplementation = props.native === true || Array.isArray(props.native) && props.native.includes(\"ios\") ? getNativeSheet(\"ios\") : null;\n const SheetImplementation = nativeImplementation ?? SheetImplementationCustom;\n if (isShowingAdaptNonSheet || isShowingNonSheet || !hydrated) {\n return null;\n }\n const implementation = /* @__PURE__ */ jsx(SheetImplementation, { ref, ...props });\n return isAdapted ? /* @__PURE__ */ jsx(AdaptCapabilities, { scroll: true, overlay: true, dismiss: true, children: implementation }) : implementation;\n }\n);\nconst sheetParts = {\n Container: SheetContainer,\n Background: SheetBackground,\n Overlay: SheetOverlay,\n Handle: SheetHandle,\n ScrollView: SheetScrollView\n};\nconst SheetControlled = withStaticProperties(\n SheetRoot,\n sheetParts\n);\nconst Sheet = withStaticProperties(SheetRoot, {\n Root: SheetRoot,\n Controlled: SheetControlled,\n useAnimatedPosition,\n ...sheetParts\n});\nexport {\n Sheet,\n SheetBackground,\n SheetContainer,\n SheetControlled,\n SheetHandle,\n SheetOverlay,\n SheetRoot\n};\n//# sourceMappingURL=Sheet.js.map\n"],"mappings":"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"}
@@ -88,8 +88,8 @@ var SheetBackgroundFrame = (0, import_core.styled)(import_stacks.YStack, {
88
88
  zIndex: -1,
89
89
  pointerEvents: "none"
90
90
  });
91
- var SheetHandle = (0, import_core.createStyledHOC)(SheetHandleFrame, function(param, forwardedRef) {
92
- var { scope, ...props } = param;
91
+ var SheetHandle = (0, import_core.createStyledHOC)(SheetHandleFrame, function(propsIn, forwardedRef) {
92
+ var { scope, ...props } = propsIn;
93
93
  var context = (0, import_SheetContext.useSheetContext)(scope);
94
94
  var composedRef = (0, import_compose_refs.useComposedRefs)(context.handleRef, forwardedRef);
95
95
  var wasDraggingRef = (0, import_react.useRef)(false);
@@ -145,8 +145,8 @@ var SheetOverlay = (0, import_core.createStyledHOC)(SheetOverlayFrame, function(
145
145
  } : void 0)
146
146
  });
147
147
  });
148
- var SheetContainer = (0, import_core.createStyledHOC)(SheetContainerFrame, function(param, forwardedRef) {
149
- var { scope, adjustPaddingForOffscreenContent, children, ...props } = param;
148
+ var SheetContainer = (0, import_core.createStyledHOC)(SheetContainerFrame, function(propsIn, forwardedRef) {
149
+ var { scope, adjustPaddingForOffscreenContent, children, ...props } = propsIn;
150
150
  var context = (0, import_SheetContext.useSheetContext)(scope);
151
151
  var { hasFit, frameSize, contentRef, open } = context;
152
152
  var composedContentRef = (0, import_compose_refs.useComposedRefs)(forwardedRef, contentRef);
@@ -211,8 +211,8 @@ var SheetContainer = (0, import_core.createStyledHOC)(SheetContainerFrame, funct
211
211
  children: sheetContents
212
212
  });
213
213
  });
214
- var SheetBackground = (0, import_core.createStyledHOC)(SheetBackgroundFrame, function(param, forwardedRef) {
215
- var { scope, disableHideBottomOverflow, ...props } = param;
214
+ var SheetBackground = (0, import_core.createStyledHOC)(SheetBackgroundFrame, function(propsIn, forwardedRef) {
215
+ var { scope, disableHideBottomOverflow, ...props } = propsIn;
216
216
  var context = (0, import_SheetContext.useSheetContext)(scope);
217
217
  if (context.onlyShowContainer) return null;
218
218
  var bottomOverflow = import_constants.isWeb ? Math.max(context.frameSize, (0, import_webViewport.getMaxViewportHeight)()) : context.frameSize;
@@ -88,8 +88,8 @@ var SheetBackgroundFrame = (0, import_core.styled)(import_stacks.YStack, {
88
88
  zIndex: -1,
89
89
  pointerEvents: "none"
90
90
  });
91
- var SheetHandle = (0, import_core.createStyledHOC)(SheetHandleFrame, function(param, forwardedRef) {
92
- var { scope, ...props } = param;
91
+ var SheetHandle = (0, import_core.createStyledHOC)(SheetHandleFrame, function(propsIn, forwardedRef) {
92
+ var { scope, ...props } = propsIn;
93
93
  var context = (0, import_SheetContext.useSheetContext)(scope);
94
94
  var composedRef = (0, import_compose_refs.useComposedRefs)(context.handleRef, forwardedRef);
95
95
  var wasDraggingRef = (0, import_react.useRef)(false);
@@ -145,8 +145,8 @@ var SheetOverlay = (0, import_core.createStyledHOC)(SheetOverlayFrame, function(
145
145
  } : void 0)
146
146
  });
147
147
  });
148
- var SheetContainer = (0, import_core.createStyledHOC)(SheetContainerFrame, function(param, forwardedRef) {
149
- var { scope, adjustPaddingForOffscreenContent, children, ...props } = param;
148
+ var SheetContainer = (0, import_core.createStyledHOC)(SheetContainerFrame, function(propsIn, forwardedRef) {
149
+ var { scope, adjustPaddingForOffscreenContent, children, ...props } = propsIn;
150
150
  var context = (0, import_SheetContext.useSheetContext)(scope);
151
151
  var { hasFit, frameSize, contentRef, open } = context;
152
152
  var composedContentRef = (0, import_compose_refs.useComposedRefs)(forwardedRef, contentRef);
@@ -211,8 +211,8 @@ var SheetContainer = (0, import_core.createStyledHOC)(SheetContainerFrame, funct
211
211
  children: sheetContents
212
212
  });
213
213
  });
214
- var SheetBackground = (0, import_core.createStyledHOC)(SheetBackgroundFrame, function(param, forwardedRef) {
215
- var { scope, disableHideBottomOverflow, ...props } = param;
214
+ var SheetBackground = (0, import_core.createStyledHOC)(SheetBackgroundFrame, function(propsIn, forwardedRef) {
215
+ var { scope, disableHideBottomOverflow, ...props } = propsIn;
216
216
  var context = (0, import_SheetContext.useSheetContext)(scope);
217
217
  if (context.onlyShowContainer) return null;
218
218
  var bottomOverflow = import_constants.isWeb ? Math.max(context.frameSize, (0, import_webViewport.getMaxViewportHeight)()) : context.frameSize;
@@ -1 +1 @@
1
- {"version":3,"file":"Sheet.native.js","names":[],"sources":["jsx/Sheet.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar Sheet_exports = {};\n__export(Sheet_exports, {\n Sheet: () => Sheet,\n SheetBackground: () => SheetBackground,\n SheetContainer: () => SheetContainer,\n SheetControlled: () => SheetControlled,\n SheetHandle: () => SheetHandle,\n SheetOverlay: () => SheetOverlay,\n SheetRoot: () => SheetRoot\n});\nmodule.exports = __toCommonJS(Sheet_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_adapt = require(\"@tamagui/adapt\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_core = require(\"@tamagui/core\");\nvar import_helpers = require(\"@tamagui/helpers\");\nvar import_portal = require(\"@tamagui/portal\");\nvar import_remove_scroll = require(\"@tamagui/remove-scroll\");\nvar import_stacks = require(\"@tamagui/stacks\");\nvar import_use_did_finish_ssr = require(\"@tamagui/use-did-finish-ssr\");\nvar import_z_index_stack = require(\"@tamagui/z-index-stack\");\nvar import_react = require(\"react\");\nvar import_constants2 = require(\"./constants\");\nvar import_nativeSheet = require(\"./nativeSheet\");\nvar import_SheetContext = require(\"./SheetContext\");\nvar import_SheetImplementationCustom = require(\"./SheetImplementationCustom\");\nvar import_SheetScrollView = require(\"./SheetScrollView\");\nvar import_useSheetController = require(\"./useSheetController\");\nvar import_useSheetOffscreenSize = require(\"./useSheetOffscreenSize\");\nvar import_webViewport = require(\"./webViewport\");\n__reExport(Sheet_exports, require(\"./types\"), module.exports);\nvar SheetHandleFrame = (0, import_core.styled)(import_stacks.XStack, {\n displayName: import_constants2.SHEET_HANDLE_NAME,\n // the behavior Handle ships no opacity rules; open/close aesthetics (fade in\n // when open, dim when idle) live in the copied skin. see the canonical skin.\n variants: {\n open: {\n true: {\n pointerEvents: \"auto\"\n },\n false: {\n pointerEvents: \"none\"\n }\n }\n }\n});\nvar SheetOverlayFrame = (0, import_core.styled)(import_stacks.YStack, {\n displayName: import_constants2.SHEET_OVERLAY_NAME,\n inset: 0,\n position: \"absolute\",\n zIndex: 1e5 - 1,\n pointerEvents: \"auto\",\n variants: {\n open: {\n true: {\n pointerEvents: \"auto\"\n },\n false: {\n pointerEvents: \"none\"\n }\n }\n }\n});\nObject.assign(SheetOverlayFrame.staticConfig, {\n [import_constants2.SHEET_OVERLAY_MARKER]: true\n});\nvar SheetContainerFrame = (0, import_core.styled)(import_stacks.YStack, {\n displayName: import_constants2.SHEET_CONTAINER_NAME,\n flex: 1,\n position: \"relative\",\n zIndex: 0,\n width: \"100%\"\n});\nvar SheetBackgroundFrame = (0, import_core.styled)(import_stacks.YStack, {\n displayName: import_constants2.SHEET_BACKGROUND_NAME,\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n zIndex: -1,\n pointerEvents: \"none\"\n});\nvar SheetHandle = (0, import_core.createStyledHOC)(SheetHandleFrame, function(param, forwardedRef) {\n var { scope, ...props } = param;\n var context = (0, import_SheetContext.useSheetContext)(scope);\n var composedRef = (0, import_compose_refs.useComposedRefs)(context.handleRef, forwardedRef);\n var wasDraggingRef = (0, import_react.useRef)(false);\n (0, import_react.useEffect)(function() {\n if (!context.scrollBridge) return;\n return context.scrollBridge.onParentDragging(function(isDragging) {\n if (isDragging) {\n wasDraggingRef.current = true;\n }\n });\n }, [\n context.scrollBridge\n ]);\n if (context.onlyShowContainer) {\n return null;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetHandleFrame, {\n ref: composedRef,\n onPressIn: function onPressIn() {\n wasDraggingRef.current = false;\n },\n onPress: function onPress() {\n if (wasDraggingRef.current) {\n wasDraggingRef.current = false;\n return;\n }\n var max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0);\n var nextPos = (context.position + 1) % max;\n context.setPosition(nextPos);\n },\n open: context.open,\n ...props\n });\n});\nvar SheetOverlay = (0, import_core.createStyledHOC)(SheetOverlayFrame, function(propsIn, ref) {\n var { scope, ...props } = propsIn;\n var context = (0, import_SheetContext.useSheetContext)(scope);\n var isInOverlayLayer = (0, import_react.useContext)(import_SheetContext.SheetOverlayLayerContext);\n var didWarn = (0, import_react.useRef)(false);\n if (context.onlyShowContainer) {\n return null;\n }\n if (!isInOverlayLayer) {\n if (process.env.NODE_ENV === \"development\" && !didWarn.current) {\n didWarn.current = true;\n console.error(\"Sheet.Overlay must be a direct child of Sheet. Move it next to Sheet.Handle and Sheet.Container.\");\n }\n return null;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetOverlayFrame, {\n ...props,\n ref,\n onPress: (0, import_helpers.composeEventHandlers)(props.onPress, context.dismissOnOverlayPress ? function() {\n context.setOpen(false);\n } : void 0)\n });\n});\nvar SheetContainer = (0, import_core.createStyledHOC)(SheetContainerFrame, function(param, forwardedRef) {\n var { scope, adjustPaddingForOffscreenContent, children, ...props } = param;\n var context = (0, import_SheetContext.useSheetContext)(scope);\n var { hasFit, frameSize, contentRef, open } = context;\n var composedContentRef = (0, import_compose_refs.useComposedRefs)(forwardedRef, contentRef);\n var offscreenSize = (0, import_useSheetOffscreenSize.useSheetOffscreenSize)(context);\n var stableFrameSize = (0, import_react.useRef)(frameSize);\n (0, import_react.useEffect)(function() {\n if (open && frameSize) {\n stableFrameSize.current = frameSize;\n }\n }, [\n open,\n frameSize\n ]);\n var sheetContents = (0, import_react.useMemo)(function() {\n if (context.onlyShowContainer) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetContainerFrame, {\n ref: composedContentRef,\n flex: hasFit ? 0 : 1,\n flexBasis: hasFit ? \"auto\" : void 0,\n maxHeight: hasFit ? void 0 : \"100%\",\n pointerEvents: open ? \"auto\" : \"none\",\n \"data-state\": open ? \"open\" : \"closed\",\n ...props,\n onLayout: (0, import_helpers.composeEventHandlers)(props.onLayout, function(event) {\n context.setFrameSize(event.nativeEvent.layout.height);\n }),\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_z_index_stack.StackZIndexContext, {\n zIndex: (0, import_portal.resolveViewZIndex)(props.zIndex),\n children\n })\n });\n }\n var shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(SheetContainerFrame, {\n ref: composedContentRef,\n flex: hasFit && open ? 0 : 1,\n flexBasis: hasFit ? \"auto\" : void 0,\n maxHeight: \"100%\",\n height: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize,\n pointerEvents: open ? \"auto\" : \"none\",\n \"data-state\": open ? \"open\" : \"closed\",\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_z_index_stack.StackZIndexContext, {\n zIndex: (0, import_portal.resolveViewZIndex)(props.zIndex),\n children\n }),\n adjustPaddingForOffscreenContent && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.View, {\n \"data-sheet-offscreen-pad\": true,\n height: offscreenSize,\n width: \"100%\"\n })\n ]\n });\n }, [\n open,\n props,\n frameSize,\n offscreenSize,\n adjustPaddingForOffscreenContent,\n hasFit,\n context.onlyShowContainer,\n context.setFrameSize\n ]);\n if (context.onlyShowContainer) return sheetContents;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_remove_scroll.RemoveScroll, {\n enabled: !context.disableRemoveScroll && context.open,\n children: sheetContents\n });\n});\nvar SheetBackground = (0, import_core.createStyledHOC)(SheetBackgroundFrame, function(param, forwardedRef) {\n var { scope, disableHideBottomOverflow, ...props } = param;\n var context = (0, import_SheetContext.useSheetContext)(scope);\n if (context.onlyShowContainer) return null;\n var bottomOverflow = import_constants.isWeb ? Math.max(context.frameSize, (0, import_webViewport.getMaxViewportHeight)()) : context.frameSize;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetBackgroundFrame, {\n ref: forwardedRef,\n \"data-sheet-background\": \"\",\n bottom: disableHideBottomOverflow ? 0 : -bottomOverflow,\n ...props\n });\n});\nvar SheetRoot = (0, import_core.createRefComponent)(function SheetRoot2(props, ref) {\n var hydrated = (0, import_use_did_finish_ssr.useDidFinishSSR)();\n var isAdapted = (0, import_adapt.useAdaptIsActive)();\n var adaptContext = (0, import_adapt.useAdaptContext)();\n var { isShowingNonSheet } = (0, import_useSheetController.useSheetController)(props.scope);\n var shouldUseAdapt = Boolean(adaptContext.open !== void 0 || adaptContext.onOpenChange);\n var isShowingAdaptNonSheet = shouldUseAdapt && !adaptContext.active && adaptContext.open;\n var nativeImplementation = props.native === true || Array.isArray(props.native) && props.native.includes(\"ios\") ? (0, import_nativeSheet.getNativeSheet)(\"ios\") : null;\n var SheetImplementation = nativeImplementation !== null && nativeImplementation !== void 0 ? nativeImplementation : import_SheetImplementationCustom.SheetImplementationCustom;\n if (isShowingAdaptNonSheet || isShowingNonSheet || !hydrated) {\n return null;\n }\n var implementation = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetImplementation, {\n ref,\n ...props\n });\n return isAdapted ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_adapt.AdaptCapabilities, {\n scroll: true,\n overlay: true,\n dismiss: true,\n children: implementation\n }) : implementation;\n});\nvar sheetParts = {\n Container: SheetContainer,\n Background: SheetBackground,\n Overlay: SheetOverlay,\n Handle: SheetHandle,\n ScrollView: import_SheetScrollView.SheetScrollView\n};\nvar SheetControlled = (0, import_helpers.withStaticProperties)(SheetRoot, sheetParts);\nvar Sheet = (0, import_helpers.withStaticProperties)(SheetRoot, {\n Root: SheetRoot,\n Controlled: SheetControlled,\n useAnimatedPosition: import_SheetContext.useAnimatedPosition,\n ...sheetParts\n});\n//# sourceMappingURL=Sheet.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"Sheet.native.js","names":[],"sources":["jsx/Sheet.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar Sheet_exports = {};\n__export(Sheet_exports, {\n Sheet: () => Sheet,\n SheetBackground: () => SheetBackground,\n SheetContainer: () => SheetContainer,\n SheetControlled: () => SheetControlled,\n SheetHandle: () => SheetHandle,\n SheetOverlay: () => SheetOverlay,\n SheetRoot: () => SheetRoot\n});\nmodule.exports = __toCommonJS(Sheet_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_adapt = require(\"@tamagui/adapt\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_core = require(\"@tamagui/core\");\nvar import_helpers = require(\"@tamagui/helpers\");\nvar import_portal = require(\"@tamagui/portal\");\nvar import_remove_scroll = require(\"@tamagui/remove-scroll\");\nvar import_stacks = require(\"@tamagui/stacks\");\nvar import_use_did_finish_ssr = require(\"@tamagui/use-did-finish-ssr\");\nvar import_z_index_stack = require(\"@tamagui/z-index-stack\");\nvar import_react = require(\"react\");\nvar import_constants2 = require(\"./constants\");\nvar import_nativeSheet = require(\"./nativeSheet\");\nvar import_SheetContext = require(\"./SheetContext\");\nvar import_SheetImplementationCustom = require(\"./SheetImplementationCustom\");\nvar import_SheetScrollView = require(\"./SheetScrollView\");\nvar import_useSheetController = require(\"./useSheetController\");\nvar import_useSheetOffscreenSize = require(\"./useSheetOffscreenSize\");\nvar import_webViewport = require(\"./webViewport\");\n__reExport(Sheet_exports, require(\"./types\"), module.exports);\nvar SheetHandleFrame = (0, import_core.styled)(import_stacks.XStack, {\n displayName: import_constants2.SHEET_HANDLE_NAME,\n // the behavior Handle ships no opacity rules; open/close aesthetics (fade in\n // when open, dim when idle) live in the copied skin. see the canonical skin.\n variants: {\n open: {\n true: {\n pointerEvents: \"auto\"\n },\n false: {\n pointerEvents: \"none\"\n }\n }\n }\n});\nvar SheetOverlayFrame = (0, import_core.styled)(import_stacks.YStack, {\n displayName: import_constants2.SHEET_OVERLAY_NAME,\n inset: 0,\n position: \"absolute\",\n zIndex: 1e5 - 1,\n pointerEvents: \"auto\",\n variants: {\n open: {\n true: {\n pointerEvents: \"auto\"\n },\n false: {\n pointerEvents: \"none\"\n }\n }\n }\n});\nObject.assign(SheetOverlayFrame.staticConfig, {\n [import_constants2.SHEET_OVERLAY_MARKER]: true\n});\nvar SheetContainerFrame = (0, import_core.styled)(import_stacks.YStack, {\n displayName: import_constants2.SHEET_CONTAINER_NAME,\n flex: 1,\n position: \"relative\",\n zIndex: 0,\n width: \"100%\"\n});\nvar SheetBackgroundFrame = (0, import_core.styled)(import_stacks.YStack, {\n displayName: import_constants2.SHEET_BACKGROUND_NAME,\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n zIndex: -1,\n pointerEvents: \"none\"\n});\nvar SheetHandle = (0, import_core.createStyledHOC)(SheetHandleFrame, function(propsIn, forwardedRef) {\n var { scope, ...props } = propsIn;\n var context = (0, import_SheetContext.useSheetContext)(scope);\n var composedRef = (0, import_compose_refs.useComposedRefs)(context.handleRef, forwardedRef);\n var wasDraggingRef = (0, import_react.useRef)(false);\n (0, import_react.useEffect)(function() {\n if (!context.scrollBridge) return;\n return context.scrollBridge.onParentDragging(function(isDragging) {\n if (isDragging) {\n wasDraggingRef.current = true;\n }\n });\n }, [\n context.scrollBridge\n ]);\n if (context.onlyShowContainer) {\n return null;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetHandleFrame, {\n ref: composedRef,\n onPressIn: function onPressIn() {\n wasDraggingRef.current = false;\n },\n onPress: function onPress() {\n if (wasDraggingRef.current) {\n wasDraggingRef.current = false;\n return;\n }\n var max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0);\n var nextPos = (context.position + 1) % max;\n context.setPosition(nextPos);\n },\n open: context.open,\n ...props\n });\n});\nvar SheetOverlay = (0, import_core.createStyledHOC)(SheetOverlayFrame, function(propsIn, ref) {\n var { scope, ...props } = propsIn;\n var context = (0, import_SheetContext.useSheetContext)(scope);\n var isInOverlayLayer = (0, import_react.useContext)(import_SheetContext.SheetOverlayLayerContext);\n var didWarn = (0, import_react.useRef)(false);\n if (context.onlyShowContainer) {\n return null;\n }\n if (!isInOverlayLayer) {\n if (process.env.NODE_ENV === \"development\" && !didWarn.current) {\n didWarn.current = true;\n console.error(\"Sheet.Overlay must be a direct child of Sheet. Move it next to Sheet.Handle and Sheet.Container.\");\n }\n return null;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetOverlayFrame, {\n ...props,\n ref,\n onPress: (0, import_helpers.composeEventHandlers)(props.onPress, context.dismissOnOverlayPress ? function() {\n context.setOpen(false);\n } : void 0)\n });\n});\nvar SheetContainer = (0, import_core.createStyledHOC)(SheetContainerFrame, function(propsIn, forwardedRef) {\n var { scope, adjustPaddingForOffscreenContent, children, ...props } = propsIn;\n var context = (0, import_SheetContext.useSheetContext)(scope);\n var { hasFit, frameSize, contentRef, open } = context;\n var composedContentRef = (0, import_compose_refs.useComposedRefs)(forwardedRef, contentRef);\n var offscreenSize = (0, import_useSheetOffscreenSize.useSheetOffscreenSize)(context);\n var stableFrameSize = (0, import_react.useRef)(frameSize);\n (0, import_react.useEffect)(function() {\n if (open && frameSize) {\n stableFrameSize.current = frameSize;\n }\n }, [\n open,\n frameSize\n ]);\n var sheetContents = (0, import_react.useMemo)(function() {\n if (context.onlyShowContainer) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetContainerFrame, {\n ref: composedContentRef,\n flex: hasFit ? 0 : 1,\n flexBasis: hasFit ? \"auto\" : void 0,\n maxHeight: hasFit ? void 0 : \"100%\",\n pointerEvents: open ? \"auto\" : \"none\",\n \"data-state\": open ? \"open\" : \"closed\",\n ...props,\n onLayout: (0, import_helpers.composeEventHandlers)(props.onLayout, function(event) {\n context.setFrameSize(event.nativeEvent.layout.height);\n }),\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_z_index_stack.StackZIndexContext, {\n zIndex: (0, import_portal.resolveViewZIndex)(props.zIndex),\n children\n })\n });\n }\n var shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(SheetContainerFrame, {\n ref: composedContentRef,\n flex: hasFit && open ? 0 : 1,\n flexBasis: hasFit ? \"auto\" : void 0,\n maxHeight: \"100%\",\n height: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize,\n pointerEvents: open ? \"auto\" : \"none\",\n \"data-state\": open ? \"open\" : \"closed\",\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_z_index_stack.StackZIndexContext, {\n zIndex: (0, import_portal.resolveViewZIndex)(props.zIndex),\n children\n }),\n adjustPaddingForOffscreenContent && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.View, {\n \"data-sheet-offscreen-pad\": true,\n height: offscreenSize,\n width: \"100%\"\n })\n ]\n });\n }, [\n open,\n props,\n frameSize,\n offscreenSize,\n adjustPaddingForOffscreenContent,\n hasFit,\n context.onlyShowContainer,\n context.setFrameSize\n ]);\n if (context.onlyShowContainer) return sheetContents;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_remove_scroll.RemoveScroll, {\n enabled: !context.disableRemoveScroll && context.open,\n children: sheetContents\n });\n});\nvar SheetBackground = (0, import_core.createStyledHOC)(SheetBackgroundFrame, function(propsIn, forwardedRef) {\n var { scope, disableHideBottomOverflow, ...props } = propsIn;\n var context = (0, import_SheetContext.useSheetContext)(scope);\n if (context.onlyShowContainer) return null;\n var bottomOverflow = import_constants.isWeb ? Math.max(context.frameSize, (0, import_webViewport.getMaxViewportHeight)()) : context.frameSize;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetBackgroundFrame, {\n ref: forwardedRef,\n \"data-sheet-background\": \"\",\n bottom: disableHideBottomOverflow ? 0 : -bottomOverflow,\n ...props\n });\n});\nvar SheetRoot = (0, import_core.createRefComponent)(function SheetRoot2(props, ref) {\n var hydrated = (0, import_use_did_finish_ssr.useDidFinishSSR)();\n var isAdapted = (0, import_adapt.useAdaptIsActive)();\n var adaptContext = (0, import_adapt.useAdaptContext)();\n var { isShowingNonSheet } = (0, import_useSheetController.useSheetController)(props.scope);\n var shouldUseAdapt = Boolean(adaptContext.open !== void 0 || adaptContext.onOpenChange);\n var isShowingAdaptNonSheet = shouldUseAdapt && !adaptContext.active && adaptContext.open;\n var nativeImplementation = props.native === true || Array.isArray(props.native) && props.native.includes(\"ios\") ? (0, import_nativeSheet.getNativeSheet)(\"ios\") : null;\n var SheetImplementation = nativeImplementation !== null && nativeImplementation !== void 0 ? nativeImplementation : import_SheetImplementationCustom.SheetImplementationCustom;\n if (isShowingAdaptNonSheet || isShowingNonSheet || !hydrated) {\n return null;\n }\n var implementation = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetImplementation, {\n ref,\n ...props\n });\n return isAdapted ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_adapt.AdaptCapabilities, {\n scroll: true,\n overlay: true,\n dismiss: true,\n children: implementation\n }) : implementation;\n});\nvar sheetParts = {\n Container: SheetContainer,\n Background: SheetBackground,\n Overlay: SheetOverlay,\n Handle: SheetHandle,\n ScrollView: import_SheetScrollView.SheetScrollView\n};\nvar SheetControlled = (0, import_helpers.withStaticProperties)(SheetRoot, sheetParts);\nvar Sheet = (0, import_helpers.withStaticProperties)(SheetRoot, {\n Root: SheetRoot,\n Controlled: SheetControlled,\n useAnimatedPosition: import_SheetContext.useAnimatedPosition,\n ...sheetParts\n});\n//# sourceMappingURL=Sheet.js.map\n"],"mappings":"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"}
@@ -13,7 +13,7 @@ import { getStableViewportHeight } from "./stableViewportHeight.mjs";
13
13
  import { GestureSheetProvider } from "./GestureSheetContext.mjs";
14
14
  import { resisted } from "./helpers.mjs";
15
15
  import { getKeyboardAdjustedSheetY, getKeyboardOccludedHeight, getSheetReleasePosition } from "./keyboardAvoidance.mjs";
16
- import { MIN_KEYBOARD_HEIGHT, getMaxViewportHeight, getWebKeyboardResizeHeight, getWebVisualViewportOffsetTop } from "./webViewport.mjs";
16
+ import { MIN_KEYBOARD_HEIGHT, getMaxViewportHeight, getVisibleViewportHeight, getWebKeyboardResizeHeight, getWebVisualViewportOffsetTop } from "./webViewport.mjs";
17
17
  import { SheetAnimatedPositionContext, SheetOverlayLayerContext, SheetProvider } from "./SheetContext.mjs";
18
18
  import { useGestureHandlerPan } from "./useGestureHandlerPan.mjs";
19
19
  import { useKeyboardControllerSheet } from "./useKeyboardControllerSheet.mjs";
@@ -158,6 +158,7 @@ const SheetImplementationCustom = createRefComponent(function SheetImplementatio
158
158
  onTransition?.(e);
159
159
  controller?.onTransition?.(e);
160
160
  });
161
+ const isParkedClosedRef = React.useRef(false);
161
162
  const syncAnimatedPosition = useEvent((value) => {
162
163
  at.current = value;
163
164
  scrollBridge.paneY = value;
@@ -223,11 +224,13 @@ const SheetImplementationCustom = createRefComponent(function SheetImplementatio
223
224
  lastPositionIndexRef.current = -1;
224
225
  emitTransition("start", event2);
225
226
  syncAnimatedPosition(toValue);
227
+ isParkedClosedRef.current = true;
226
228
  setIsFullyClosed(true);
227
229
  emitTransition("end", event2, true);
228
230
  }
229
231
  return;
230
232
  }
233
+ const from = at.current;
231
234
  at.current = toValue;
232
235
  const cause = !isOpenAnimation ? "close" : lastPositionIndexRef.current < 0 ? "open" : "snap";
233
236
  lastPositionIndexRef.current = isOpenAnimation ? position2 : -1;
@@ -240,11 +243,20 @@ const SheetImplementationCustom = createRefComponent(function SheetImplementatio
240
243
  pendingTransitionRef.current = null;
241
244
  }
242
245
  stopSpring();
246
+ const wasParkedClosed = isParkedClosedRef.current;
247
+ isParkedClosedRef.current = false;
248
+ if (isWeb && isOpenAnimation && wasParkedClosed) {
249
+ const visibleEdge = getVisibleViewportHeight();
250
+ if (from > visibleEdge) animatedNumber.setValue(visibleEdge, { type: "direct" });
251
+ }
243
252
  const animationCompleteCallback = () => {
244
253
  if (at.current !== toValue) return;
245
254
  syncAnimatedPosition(toValue);
246
255
  pendingTransitionRef.current = null;
247
- if (!isOpenAnimation && !openRef.current) setIsFullyClosed(true);
256
+ if (!isOpenAnimation && !openRef.current) {
257
+ isParkedClosedRef.current = true;
258
+ setIsFullyClosed(true);
259
+ }
248
260
  emitTransition("end", event, true);
249
261
  };
250
262
  pendingTransitionRef.current = event;