@tamagui/sheet 2.0.0-rc.3 → 2.0.0-rc.31

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 (207) hide show
  1. package/.turbo/turbo-build.log +2 -0
  2. package/controller/index.cjs +2 -0
  3. package/controller/index.js +2 -0
  4. package/controller/index.native.cjs +2 -0
  5. package/controller/index.native.js +2 -0
  6. package/dist/cjs/SheetImplementationCustom.cjs +32 -33
  7. package/dist/cjs/SheetImplementationCustom.native.js +28 -24
  8. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  9. package/dist/cjs/useGestureHandlerPan.cjs +1 -1
  10. package/dist/cjs/useGestureHandlerPan.native.js +1 -1
  11. package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
  12. package/dist/esm/SheetImplementationCustom.mjs +33 -34
  13. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  14. package/dist/esm/SheetImplementationCustom.native.js +29 -25
  15. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  16. package/dist/esm/index.js +11 -11
  17. package/dist/esm/index.js.map +1 -6
  18. package/dist/esm/useGestureHandlerPan.mjs +1 -1
  19. package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
  20. package/dist/esm/useGestureHandlerPan.native.js +1 -1
  21. package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
  22. package/dist/jsx/SheetImplementationCustom.mjs +33 -34
  23. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  24. package/dist/jsx/SheetImplementationCustom.native.js +28 -24
  25. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  26. package/dist/jsx/index.js +11 -11
  27. package/dist/jsx/index.js.map +1 -6
  28. package/dist/jsx/useGestureHandlerPan.mjs +1 -1
  29. package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
  30. package/dist/jsx/useGestureHandlerPan.native.js +1 -1
  31. package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
  32. package/next.md +78 -0
  33. package/package.json +31 -46
  34. package/setup-gesture-handler/index.cjs +2 -0
  35. package/setup-gesture-handler/index.js +2 -0
  36. package/setup-gesture-handler/index.native.cjs +2 -0
  37. package/setup-gesture-handler/index.native.js +2 -0
  38. package/setup-gesture-handler.cjs +1 -0
  39. package/src/SheetImplementationCustom.tsx +69 -38
  40. package/src/types.tsx +5 -0
  41. package/src/useGestureHandlerPan.tsx +5 -3
  42. package/tsconfig.json +56 -0
  43. package/types/Sheet.d.ts +3 -0
  44. package/types/Sheet.d.ts.map +1 -1
  45. package/types/SheetImplementationCustom.d.ts +3 -0
  46. package/types/SheetImplementationCustom.d.ts.map +1 -1
  47. package/types/createSheet.d.ts +3 -0
  48. package/types/createSheet.d.ts.map +1 -1
  49. package/types/types.d.ts +6 -0
  50. package/types/types.d.ts.map +1 -1
  51. package/types/useGestureHandlerPan.d.ts.map +1 -1
  52. package/dist/cjs/GestureDetectorWrapper.js +0 -29
  53. package/dist/cjs/GestureDetectorWrapper.js.map +0 -6
  54. package/dist/cjs/GestureSheetContext.js +0 -43
  55. package/dist/cjs/GestureSheetContext.js.map +0 -6
  56. package/dist/cjs/Sheet.js +0 -104
  57. package/dist/cjs/Sheet.js.map +0 -6
  58. package/dist/cjs/SheetContext.js +0 -28
  59. package/dist/cjs/SheetContext.js.map +0 -6
  60. package/dist/cjs/SheetController.js +0 -52
  61. package/dist/cjs/SheetController.js.map +0 -6
  62. package/dist/cjs/SheetImplementationCustom.js +0 -393
  63. package/dist/cjs/SheetImplementationCustom.js.map +0 -6
  64. package/dist/cjs/SheetScrollView.js +0 -137
  65. package/dist/cjs/SheetScrollView.js.map +0 -6
  66. package/dist/cjs/constants.js +0 -24
  67. package/dist/cjs/constants.js.map +0 -6
  68. package/dist/cjs/contexts.js +0 -33
  69. package/dist/cjs/contexts.js.map +0 -6
  70. package/dist/cjs/controller.js +0 -23
  71. package/dist/cjs/controller.js.map +0 -6
  72. package/dist/cjs/createSheet.js +0 -152
  73. package/dist/cjs/createSheet.js.map +0 -6
  74. package/dist/cjs/gestureState.js +0 -34
  75. package/dist/cjs/gestureState.js.map +0 -6
  76. package/dist/cjs/helpers.js +0 -26
  77. package/dist/cjs/helpers.js.map +0 -6
  78. package/dist/cjs/index.js +0 -25
  79. package/dist/cjs/index.js.map +0 -6
  80. package/dist/cjs/nativeSheet.js +0 -56
  81. package/dist/cjs/nativeSheet.js.map +0 -6
  82. package/dist/cjs/setupGestureHandler.js +0 -38
  83. package/dist/cjs/setupGestureHandler.js.map +0 -6
  84. package/dist/cjs/types.js +0 -14
  85. package/dist/cjs/types.js.map +0 -6
  86. package/dist/cjs/useGestureHandlerPan.js +0 -126
  87. package/dist/cjs/useGestureHandlerPan.js.map +0 -6
  88. package/dist/cjs/useKeyboardControllerSheet.js +0 -34
  89. package/dist/cjs/useKeyboardControllerSheet.js.map +0 -6
  90. package/dist/cjs/useSheet.js +0 -22
  91. package/dist/cjs/useSheet.js.map +0 -6
  92. package/dist/cjs/useSheetController.js +0 -39
  93. package/dist/cjs/useSheetController.js.map +0 -6
  94. package/dist/cjs/useSheetOffscreenSize.js +0 -43
  95. package/dist/cjs/useSheetOffscreenSize.js.map +0 -6
  96. package/dist/cjs/useSheetOpenState.js +0 -37
  97. package/dist/cjs/useSheetOpenState.js.map +0 -6
  98. package/dist/cjs/useSheetProviderProps.js +0 -130
  99. package/dist/cjs/useSheetProviderProps.js.map +0 -6
  100. package/dist/cjs/useSheetScrollViewGestures.js +0 -102
  101. package/dist/cjs/useSheetScrollViewGestures.js.map +0 -6
  102. package/dist/esm/GestureDetectorWrapper.js +0 -15
  103. package/dist/esm/GestureDetectorWrapper.js.map +0 -6
  104. package/dist/esm/GestureSheetContext.js +0 -28
  105. package/dist/esm/GestureSheetContext.js.map +0 -6
  106. package/dist/esm/Sheet.js +0 -92
  107. package/dist/esm/Sheet.js.map +0 -6
  108. package/dist/esm/SheetContext.js +0 -13
  109. package/dist/esm/SheetContext.js.map +0 -6
  110. package/dist/esm/SheetController.js +0 -31
  111. package/dist/esm/SheetController.js.map +0 -6
  112. package/dist/esm/SheetImplementationCustom.js +0 -395
  113. package/dist/esm/SheetImplementationCustom.js.map +0 -6
  114. package/dist/esm/SheetScrollView.js +0 -122
  115. package/dist/esm/SheetScrollView.js.map +0 -6
  116. package/dist/esm/constants.js +0 -8
  117. package/dist/esm/constants.js.map +0 -6
  118. package/dist/esm/contexts.js +0 -9
  119. package/dist/esm/contexts.js.map +0 -6
  120. package/dist/esm/controller.js +0 -11
  121. package/dist/esm/controller.js.map +0 -6
  122. package/dist/esm/createSheet.js +0 -153
  123. package/dist/esm/createSheet.js.map +0 -6
  124. package/dist/esm/gestureState.js +0 -18
  125. package/dist/esm/gestureState.js.map +0 -6
  126. package/dist/esm/helpers.js +0 -10
  127. package/dist/esm/helpers.js.map +0 -6
  128. package/dist/esm/nativeSheet.js +0 -46
  129. package/dist/esm/nativeSheet.js.map +0 -6
  130. package/dist/esm/setupGestureHandler.js +0 -22
  131. package/dist/esm/setupGestureHandler.js.map +0 -6
  132. package/dist/esm/types.js +0 -1
  133. package/dist/esm/types.js.map +0 -6
  134. package/dist/esm/useGestureHandlerPan.js +0 -111
  135. package/dist/esm/useGestureHandlerPan.js.map +0 -6
  136. package/dist/esm/useKeyboardControllerSheet.js +0 -18
  137. package/dist/esm/useKeyboardControllerSheet.js.map +0 -6
  138. package/dist/esm/useSheet.js +0 -6
  139. package/dist/esm/useSheet.js.map +0 -6
  140. package/dist/esm/useSheetController.js +0 -15
  141. package/dist/esm/useSheetController.js.map +0 -6
  142. package/dist/esm/useSheetOffscreenSize.js +0 -27
  143. package/dist/esm/useSheetOffscreenSize.js.map +0 -6
  144. package/dist/esm/useSheetOpenState.js +0 -22
  145. package/dist/esm/useSheetOpenState.js.map +0 -6
  146. package/dist/esm/useSheetProviderProps.js +0 -109
  147. package/dist/esm/useSheetProviderProps.js.map +0 -6
  148. package/dist/esm/useSheetScrollViewGestures.js +0 -86
  149. package/dist/esm/useSheetScrollViewGestures.js.map +0 -6
  150. package/dist/jsx/GestureDetectorWrapper.js +0 -15
  151. package/dist/jsx/GestureDetectorWrapper.js.map +0 -6
  152. package/dist/jsx/GestureSheetContext.js +0 -28
  153. package/dist/jsx/GestureSheetContext.js.map +0 -6
  154. package/dist/jsx/Sheet.js +0 -92
  155. package/dist/jsx/Sheet.js.map +0 -6
  156. package/dist/jsx/SheetContext.js +0 -13
  157. package/dist/jsx/SheetContext.js.map +0 -6
  158. package/dist/jsx/SheetController.js +0 -31
  159. package/dist/jsx/SheetController.js.map +0 -6
  160. package/dist/jsx/SheetImplementationCustom.js +0 -395
  161. package/dist/jsx/SheetImplementationCustom.js.map +0 -6
  162. package/dist/jsx/SheetScrollView.js +0 -122
  163. package/dist/jsx/SheetScrollView.js.map +0 -6
  164. package/dist/jsx/constants.js +0 -8
  165. package/dist/jsx/constants.js.map +0 -6
  166. package/dist/jsx/contexts.js +0 -9
  167. package/dist/jsx/contexts.js.map +0 -6
  168. package/dist/jsx/controller.js +0 -11
  169. package/dist/jsx/controller.js.map +0 -6
  170. package/dist/jsx/createSheet.js +0 -153
  171. package/dist/jsx/createSheet.js.map +0 -6
  172. package/dist/jsx/gestureState.js +0 -18
  173. package/dist/jsx/gestureState.js.map +0 -6
  174. package/dist/jsx/helpers.js +0 -10
  175. package/dist/jsx/helpers.js.map +0 -6
  176. package/dist/jsx/nativeSheet.js +0 -46
  177. package/dist/jsx/nativeSheet.js.map +0 -6
  178. package/dist/jsx/setupGestureHandler.js +0 -22
  179. package/dist/jsx/setupGestureHandler.js.map +0 -6
  180. package/dist/jsx/types.js +0 -1
  181. package/dist/jsx/types.js.map +0 -6
  182. package/dist/jsx/useGestureHandlerPan.js +0 -111
  183. package/dist/jsx/useGestureHandlerPan.js.map +0 -6
  184. package/dist/jsx/useKeyboardControllerSheet.js +0 -18
  185. package/dist/jsx/useKeyboardControllerSheet.js.map +0 -6
  186. package/dist/jsx/useSheet.js +0 -6
  187. package/dist/jsx/useSheet.js.map +0 -6
  188. package/dist/jsx/useSheetController.js +0 -15
  189. package/dist/jsx/useSheetController.js.map +0 -6
  190. package/dist/jsx/useSheetOffscreenSize.js +0 -27
  191. package/dist/jsx/useSheetOffscreenSize.js.map +0 -6
  192. package/dist/jsx/useSheetOpenState.js +0 -22
  193. package/dist/jsx/useSheetOpenState.js.map +0 -6
  194. package/dist/jsx/useSheetProviderProps.js +0 -109
  195. package/dist/jsx/useSheetProviderProps.js.map +0 -6
  196. package/dist/jsx/useSheetScrollViewGestures.js +0 -86
  197. package/dist/jsx/useSheetScrollViewGestures.js.map +0 -6
  198. package/types/GestureDetectorWrapper.native.d.ts +0 -14
  199. package/types/GestureDetectorWrapper.native.d.ts.map +0 -1
  200. package/types/gestureState.native.d.ts +0 -12
  201. package/types/gestureState.native.d.ts.map +0 -1
  202. package/types/setupGestureHandler.native.d.ts +0 -41
  203. package/types/setupGestureHandler.native.d.ts.map +0 -1
  204. package/types/useGestureHandlerPan.native.d.ts +0 -33
  205. package/types/useGestureHandlerPan.native.d.ts.map +0 -1
  206. package/types/useSheetScrollViewGestures.web.d.ts +0 -15
  207. package/types/useSheetScrollViewGestures.web.d.ts.map +0 -1
@@ -1,122 +0,0 @@
1
- import { composeRefs } from "@tamagui/compose-refs";
2
- import { View } from "@tamagui/core";
3
- import { ScrollView } from "@tamagui/scroll-view";
4
- import { useControllableState } from "@tamagui/use-controllable-state";
5
- import React, { useEffect, useRef, useState } from "react";
6
- import { useGestureSheetContext } from "./GestureSheetContext";
7
- import { getGestureHandlerState, isGestureHandlerEnabled } from "./gestureState";
8
- import { useSheetContext } from "./SheetContext";
9
- import { useSheetScrollViewGestures } from "./useSheetScrollViewGestures";
10
- import { jsx } from "react/jsx-runtime";
11
- const SHEET_SCROLL_VIEW_NAME = "SheetScrollView", SheetScrollView = React.forwardRef(
12
- ({
13
- __scopeSheet,
14
- children,
15
- onScroll,
16
- scrollEnabled: scrollEnabledProp,
17
- ...props
18
- }, ref) => {
19
- const context = useSheetContext(SHEET_SCROLL_VIEW_NAME, __scopeSheet), gestureContext = useGestureSheetContext(), { scrollBridge, setHasScrollView } = context, [scrollEnabled] = useControllableState({
20
- prop: scrollEnabledProp,
21
- defaultProp: !0
22
- }), scrollRef = React.useRef(null), panGestureRef = gestureContext?.panGestureRef, { ScrollView: RNGHScrollView } = getGestureHandlerState(), useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef, currentScrollOffset = useRef(0), lockedScrollY = useRef(0), setScrollEnabled = (next, lockTo) => {
23
- if (next)
24
- lockedScrollY.current = currentScrollOffset.current, scrollBridge.scrollLockY = void 0;
25
- else {
26
- const lockY = lockTo ?? currentScrollOffset.current;
27
- lockedScrollY.current = lockY, scrollBridge.scrollLockY = lockY, scrollRef.current?.scrollTo?.({ x: 0, y: lockY, animated: !1 });
28
- }
29
- }, forceScrollTo = (y) => {
30
- scrollRef.current?.scrollTo?.({ x: 0, y, animated: !1 });
31
- };
32
- useEffect(() => (setHasScrollView(!0), isGestureHandlerEnabled() && (scrollBridge.setScrollEnabled = setScrollEnabled, scrollBridge.forceScrollTo = forceScrollTo), () => {
33
- setHasScrollView(!1), scrollBridge.setScrollEnabled = void 0, scrollBridge.forceScrollTo = void 0;
34
- }), []);
35
- const [hasScrollableContent, setHasScrollableContent] = useState(!0), parentHeight = useRef(0), contentHeight = useRef(0), updateScrollable = () => {
36
- parentHeight.current && contentHeight.current && setHasScrollableContent(contentHeight.current > parentHeight.current);
37
- };
38
- useEffect(() => {
39
- scrollBridge.hasScrollableContent = hasScrollableContent;
40
- }, [hasScrollableContent]);
41
- const gestureProps = useSheetScrollViewGestures({
42
- scrollRef,
43
- scrollBridge,
44
- hasScrollableContent,
45
- scrollEnabled,
46
- setScrollEnabled
47
- }), contentWrapper = /* @__PURE__ */ jsx(
48
- View,
49
- {
50
- onLayout: (e) => {
51
- const height = Math.floor(e.nativeEvent.layout.height);
52
- height !== contentHeight.current && (contentHeight.current = height, updateScrollable());
53
- },
54
- children
55
- }
56
- );
57
- return useRNGHScrollView && RNGHScrollView && panGestureRef ? /* @__PURE__ */ jsx(
58
- RNGHScrollView,
59
- {
60
- ref: composeRefs(scrollRef, ref),
61
- style: { flex: 1 },
62
- scrollEventThrottle: 1,
63
- scrollEnabled,
64
- simultaneousHandlers: [panGestureRef],
65
- onLayout: (e) => {
66
- parentHeight.current = Math.ceil(e.nativeEvent.layout.height), updateScrollable();
67
- },
68
- onScroll: (e) => {
69
- const { y } = e.nativeEvent.contentOffset;
70
- if (currentScrollOffset.current = y, scrollBridge.scrollLockY !== void 0) {
71
- y !== scrollBridge.scrollLockY && scrollRef.current?.scrollTo?.({
72
- x: 0,
73
- y: scrollBridge.scrollLockY,
74
- animated: !1
75
- }), scrollBridge.y = scrollBridge.scrollLockY, onScroll?.({
76
- ...e,
77
- nativeEvent: {
78
- ...e.nativeEvent,
79
- contentOffset: {
80
- ...e.nativeEvent.contentOffset,
81
- y: scrollBridge.scrollLockY
82
- }
83
- }
84
- });
85
- return;
86
- }
87
- scrollBridge.y = y, y > 0 && (scrollBridge.scrollStartY = -1), onScroll?.(e);
88
- },
89
- contentContainerStyle: { minHeight: "100%" },
90
- bounces: !1,
91
- keyboardShouldPersistTaps: "always",
92
- keyboardDismissMode: "none",
93
- ...props,
94
- children: contentWrapper
95
- }
96
- ) : /* @__PURE__ */ jsx(
97
- ScrollView,
98
- {
99
- onLayout: (e) => {
100
- parentHeight.current = Math.ceil(e.nativeEvent.layout.height), updateScrollable();
101
- },
102
- ref: composeRefs(scrollRef, ref),
103
- flex: 1,
104
- scrollEventThrottle: 1,
105
- className: "_ovs-contain",
106
- scrollEnabled,
107
- onScroll: (e) => {
108
- const { y } = e.nativeEvent.contentOffset;
109
- scrollBridge.y = y, y > 0 && (scrollBridge.scrollStartY = -1), onScroll?.(e);
110
- },
111
- contentContainerStyle: { minHeight: "100%" },
112
- ...gestureProps,
113
- ...props,
114
- children: contentWrapper
115
- }
116
- );
117
- }
118
- );
119
- export {
120
- SheetScrollView
121
- };
122
- //# sourceMappingURL=SheetScrollView.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/SheetScrollView.tsx"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,8 +0,0 @@
1
- const constants = {}, SHEET_NAME = "Sheet", SHEET_HANDLE_NAME = "SheetHandle", SHEET_OVERLAY_NAME = "SheetOverlay";
2
- export {
3
- SHEET_HANDLE_NAME,
4
- SHEET_NAME,
5
- SHEET_OVERLAY_NAME,
6
- constants
7
- };
8
- //# sourceMappingURL=constants.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/constants.tsx"],
4
- "mappings": "AAAO,MAAM,YAAY,CAAC,GAEb,aAAa,SACb,oBAAoB,eACpB,qBAAqB;",
5
- "names": []
6
- }
@@ -1,9 +0,0 @@
1
- import React from "react";
2
- const ParentSheetContext = React.createContext({
3
- zIndex: 1e5
4
- }), SheetInsideSheetContext = React.createContext(null);
5
- export {
6
- ParentSheetContext,
7
- SheetInsideSheetContext
8
- };
9
- //# sourceMappingURL=contexts.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/contexts.ts"],
4
- "mappings": "AAAA,OAAO,WAAW;AAEX,MAAM,qBAAqB,MAAM,cAAc;AAAA,EACpD,QAAQ;AACV,CAAC,GAEY,0BAA0B,MAAM,cAE3C,IAAI;",
5
- "names": []
6
- }
@@ -1,11 +0,0 @@
1
- import { SheetController } from "./SheetController";
2
- import {
3
- SheetControllerContext,
4
- useSheetController
5
- } from "./useSheetController";
6
- export {
7
- SheetController,
8
- SheetControllerContext,
9
- useSheetController
10
- };
11
- //# sourceMappingURL=controller.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/controller.ts"],
4
- "mappings": "AAGA,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,EACA;AAAA,OAEK;",
5
- "names": []
6
- }
@@ -1,153 +0,0 @@
1
- import { useComposedRefs } from "@tamagui/compose-refs";
2
- import { useIsomorphicLayoutEffect } from "@tamagui/constants";
3
- import { View } from "@tamagui/core";
4
- import { composeEventHandlers, withStaticProperties } from "@tamagui/helpers";
5
- import { resolveViewZIndex } from "@tamagui/portal";
6
- import { RemoveScroll } from "@tamagui/remove-scroll";
7
- import { useDidFinishSSR } from "@tamagui/use-did-finish-ssr";
8
- import { StackZIndexContext } from "@tamagui/z-index-stack";
9
- import { forwardRef, useMemo, useEffect, useRef } from "react";
10
- import { Platform } from "react-native-web";
11
- import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from "./constants";
12
-
13
- import { useSheetContext } from "./SheetContext";
14
- import { SheetImplementationCustom } from "./SheetImplementationCustom";
15
- import { SheetScrollView } from "./SheetScrollView";
16
- import { useSheetController } from "./useSheetController";
17
- import { useSheetOffscreenSize } from "./useSheetOffscreenSize";
18
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
19
- function createSheet({ Handle, Frame, Overlay }) {
20
- const SheetHandle = Handle.styleable(
21
- ({ __scopeSheet, ...props }, forwardedRef) => {
22
- const context = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet), composedRef = useComposedRefs(context.handleRef, forwardedRef), wasDraggingRef = useRef(!1);
23
- return useEffect(() => {
24
- if (context.scrollBridge)
25
- return context.scrollBridge.onParentDragging((isDragging) => {
26
- isDragging && (wasDraggingRef.current = !0);
27
- });
28
- }, [context.scrollBridge]), context.onlyShowFrame ? null : (
29
- // @ts-ignore
30
- /* @__PURE__ */ jsx(
31
- Handle,
32
- {
33
- ref: composedRef,
34
- onPressIn: () => {
35
- wasDraggingRef.current = !1;
36
- },
37
- onPress: () => {
38
- if (wasDraggingRef.current) {
39
- wasDraggingRef.current = !1;
40
- return;
41
- }
42
- const max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0), nextPos = (context.position + 1) % max;
43
- context.setPosition(nextPos);
44
- },
45
- open: context.open,
46
- ...props
47
- }
48
- )
49
- );
50
- }
51
- ), SheetOverlay = Overlay.styleable((propsIn, ref) => {
52
- const { __scopeSheet, ...props } = propsIn, context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet), element = useMemo(() => (
53
- // @ts-ignore
54
- /* @__PURE__ */ jsx(
55
- Overlay,
56
- {
57
- ...props,
58
- onPress: composeEventHandlers(
59
- props.onPress,
60
- context.dismissOnOverlayPress ? () => {
61
- context.setOpen(!1);
62
- } : void 0
63
- )
64
- }
65
- )
66
- ), [props.onPress, props.opacity, context.dismissOnOverlayPress]);
67
- return useIsomorphicLayoutEffect(() => {
68
- context.onOverlayComponent?.(element);
69
- }, [element]), context.onlyShowFrame, null;
70
- }), SheetFrame = Frame.styleable(
71
- ({
72
- __scopeSheet,
73
- adjustPaddingForOffscreenContent,
74
- disableHideBottomOverflow,
75
- children,
76
- ...props
77
- }, forwardedRef) => {
78
- const context = useSheetContext(SHEET_NAME, __scopeSheet), { hasFit, disableRemoveScroll, frameSize, contentRef, open } = context, composedContentRef = useComposedRefs(forwardedRef, contentRef), offscreenSize = useSheetOffscreenSize(context), stableFrameSize = useRef(frameSize);
79
- useEffect(() => {
80
- open && frameSize && (stableFrameSize.current = frameSize);
81
- }, [open, frameSize]);
82
- const sheetContents = useMemo(() => {
83
- const shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;
84
- return (
85
- // @ts-expect-error
86
- /* @__PURE__ */ jsxs(
87
- Frame,
88
- {
89
- ref: composedContentRef,
90
- flex: hasFit && open ? 0 : 1,
91
- flexBasis: hasFit ? "auto" : void 0,
92
- height: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize,
93
- pointerEvents: open ? "auto" : "none",
94
- "data-state": open ? "open" : "closed",
95
- ...props,
96
- children: [
97
- /* @__PURE__ */ jsx(StackZIndexContext, { zIndex: resolveViewZIndex(props.zIndex), children }),
98
- adjustPaddingForOffscreenContent && /* @__PURE__ */ jsx(View, { "data-sheet-offscreen-pad": !0, height: offscreenSize, width: "100%" })
99
- ]
100
- }
101
- )
102
- );
103
- }, [
104
- open,
105
- props,
106
- frameSize,
107
- offscreenSize,
108
- adjustPaddingForOffscreenContent,
109
- hasFit
110
- ]);
111
- return /* @__PURE__ */ jsxs(Fragment, { children: [
112
- /* @__PURE__ */ jsx(RemoveScroll, { enabled: !disableRemoveScroll && context.open, children: sheetContents }),
113
- !disableHideBottomOverflow && // @ts-ignore
114
- /* @__PURE__ */ jsx(
115
- Frame,
116
- {
117
- ...props,
118
- componentName: "SheetCover",
119
- children: null,
120
- testID: void 0,
121
- id: void 0,
122
- position: "absolute",
123
- bottom: "-100%",
124
- zIndex: -1,
125
- height: context.frameSize,
126
- left: 0,
127
- right: 0,
128
- borderWidth: 0,
129
- borderRadius: 0,
130
- shadowOpacity: 0
131
- }
132
- )
133
- ] });
134
- }
135
- ), Sheet = forwardRef(function(props, ref) {
136
- const hydrated = useDidFinishSSR(), { isShowingNonSheet } = useSheetController();
137
- let SheetImplementation = SheetImplementationCustom;
138
- return props.native && Platform.OS, isShowingNonSheet || !hydrated ? null : /* @__PURE__ */ jsx(SheetImplementation, { ref, ...props });
139
- }), components = {
140
- Frame: SheetFrame,
141
- Overlay: SheetOverlay,
142
- Handle: SheetHandle,
143
- ScrollView: SheetScrollView
144
- }, Controlled = withStaticProperties(Sheet, components);
145
- return withStaticProperties(Sheet, {
146
- ...components,
147
- Controlled
148
- });
149
- }
150
- export {
151
- createSheet
152
- };
153
- //# sourceMappingURL=createSheet.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/createSheet.tsx"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,18 +0,0 @@
1
- import { getGestureHandler } from "@tamagui/native";
2
- function isGestureHandlerEnabled() {
3
- return getGestureHandler().isEnabled;
4
- }
5
- function getGestureHandlerState() {
6
- return getGestureHandler().state;
7
- }
8
- function setGestureHandlerState(updates) {
9
- getGestureHandler().set(updates);
10
- }
11
- const setGestureState = setGestureHandlerState;
12
- export {
13
- getGestureHandlerState,
14
- isGestureHandlerEnabled,
15
- setGestureHandlerState,
16
- setGestureState
17
- };
18
- //# sourceMappingURL=gestureState.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/gestureState.ts"],
4
- "mappings": "AAKA,SAAS,yBAA4C;AAK9C,SAAS,0BAAmC;AACjD,SAAO,kBAAkB,EAAE;AAC7B;AAEO,SAAS,yBAAuC;AACrD,SAAO,kBAAkB,EAAE;AAC7B;AAEO,SAAS,uBAAuB,SAAsC;AAC3E,oBAAkB,EAAE,IAAI,OAAO;AACjC;AAGO,MAAM,kBAAkB;",
5
- "names": []
6
- }
@@ -1,10 +0,0 @@
1
- function resisted(y, minY, maxOverflow = 25) {
2
- if (y >= minY)
3
- return y;
4
- const pastBoundary = minY - y, resistedDistance = Math.sqrt(pastBoundary) * 2;
5
- return minY - resistedDistance;
6
- }
7
- export {
8
- resisted
9
- };
10
- //# sourceMappingURL=helpers.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers.tsx"],
4
- "mappings": "AAAO,SAAS,SAAS,GAAW,MAAc,cAAc,IAAI;AAElE,MAAI,KAAK;AACP,WAAO;AAIT,QAAM,eAAe,OAAO,GAKtB,mBAAmB,KAAK,KAAK,YAAY,IAAI;AAGnD,SAAO,OAAO;AAChB;",
5
- "names": []
6
- }
@@ -1,46 +0,0 @@
1
- import { YStack } from "@tamagui/stacks";
2
- import { useEffect, useRef } from "react";
3
- import { View } from "react-native-web";
4
- import { SheetProvider } from "./SheetContext";
5
- import { useSheetOpenState } from "./useSheetOpenState";
6
- import { useSheetProviderProps } from "./useSheetProviderProps";
7
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
- const nativeSheets = {
9
- ios: null
10
- };
11
- function getNativeSheet(platform) {
12
- return nativeSheets[platform];
13
- }
14
- function setupNativeSheet(platform, RNIOSModal) {
15
- const { ModalSheetView, ModalSheetViewMainContent } = RNIOSModal;
16
- platform === "ios" && (nativeSheets[platform] = (props) => {
17
- const state = useSheetOpenState(props), providerProps = useSheetProviderProps(props, state), { open, setOpen } = state, ref = useRef(void 0);
18
- useEffect(() => {
19
- open ? ref.current?.presentModal() : ref.current?.dismissModal();
20
- }, [open]);
21
- function setOpenInternal(next) {
22
- props.onOpenChange?.(open), setOpen(next);
23
- }
24
- return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(SheetProvider, { setHasScrollView: emptyFn, ...providerProps, onlyShowFrame: !0, children: [
25
- /* @__PURE__ */ jsx(ModalSheetView, { ref, onModalDidDismiss: () => setOpenInternal(!1), children: /* @__PURE__ */ jsx(ModalSheetViewMainContent, { children: /* @__PURE__ */ jsx(View, { style: { flex: 1 }, children: props.children }) }) }),
26
- /* @__PURE__ */ jsx(
27
- YStack,
28
- {
29
- position: "absolute",
30
- opacity: 0,
31
- pointerEvents: "none",
32
- width: 0,
33
- height: 0,
34
- children: props.children
35
- }
36
- )
37
- ] }) });
38
- });
39
- }
40
- const emptyFn = () => {
41
- };
42
- export {
43
- getNativeSheet,
44
- setupNativeSheet
45
- };
46
- //# sourceMappingURL=nativeSheet.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/nativeSheet.tsx"],
4
- "mappings": "AAAA,SAAS,cAAc;AAEvB,SAAS,WAAW,cAAc;AAClC,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAE9B,SAAS,yBAAyB;AAClC,SAAS,6BAA6B;AAqD9B,mBAIQ,KAHN,YADF;AA/CR,MAAM,eAAmF;AAAA,EACvF,KAAK;AACP;AAEO,SAAS,eAAe,UAAgC;AAC7D,SAAO,aAAa,QAAQ;AAC9B;AAEO,SAAS,iBACd,UACA,YACA;AACA,QAAM,EAAE,gBAAgB,0BAA0B,IAAI;AAEtD,EAAI,aAAa,UACf,aAAa,QAAQ,IAAI,CAAC,UAAsB;AAC9C,UAAM,QAAQ,kBAAkB,KAAK,GAC/B,gBAAgB,sBAAsB,OAAO,KAAK,GAIlD,EAAE,MAAM,QAAQ,IAAI,OACpB,MAAM,OAGT,MAAS;AAEZ,cAAU,MAAM;AACd,MAAI,OACF,IAAI,SAAS,aAAa,IAE1B,IAAI,SAAS,aAAa;AAAA,IAE9B,GAAG,CAAC,IAAI,CAAC;AAET,aAAS,gBAAgB,MAAe;AACtC,YAAM,eAAe,IAAI,GACzB,QAAQ,IAAI;AAAA,IACd;AAQA,WACE,gCACE,+BAAC,iBAAc,kBAAkB,SAAU,GAAG,eAAe,eAAa,IACxE;AAAA,0BAAC,kBAAe,KAAU,mBAAmB,MAAM,gBAAgB,EAAK,GACtE,8BAAC,6BACC,8BAAC,QAAK,OAAO,EAAE,MAAM,EAAE,GAAI,gBAAM,UAAS,GAC5C,GACF;AAAA,MAIA;AAAA,QAAC;AAAA;AAAA,UACC,UAAS;AAAA,UACT,SAAS;AAAA,UACT,eAAc;AAAA,UACd,OAAO;AAAA,UACP,QAAQ;AAAA,UAEP,gBAAM;AAAA;AAAA,MACT;AAAA,OACF,GACF;AAAA,EAEJ;AAEJ;AAEA,MAAM,UAAU,MAAM;AAEtB;",
5
- "names": []
6
- }
@@ -1,22 +0,0 @@
1
- import { getGestureHandler } from "@tamagui/native";
2
- function isGestureHandlerEnabled() {
3
- return getGestureHandler().isEnabled;
4
- }
5
- function setupGestureHandler(config) {
6
- const g = globalThis;
7
- if (g.__tamagui_sheet_gesture_handler_setup)
8
- return;
9
- g.__tamagui_sheet_gesture_handler_setup = !0;
10
- const { Gesture, GestureDetector, ScrollView } = config;
11
- Gesture && GestureDetector && getGestureHandler().set({
12
- enabled: !0,
13
- Gesture,
14
- GestureDetector,
15
- ScrollView: ScrollView || null
16
- });
17
- }
18
- export {
19
- isGestureHandlerEnabled,
20
- setupGestureHandler
21
- };
22
- //# sourceMappingURL=setupGestureHandler.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/setupGestureHandler.ts"],
4
- "mappings": "AAIA,SAAS,yBAAyB;AAE3B,SAAS,0BAAmC;AACjD,SAAO,kBAAkB,EAAE;AAC7B;AAQO,SAAS,oBAAoB,QAAyC;AAC3E,QAAM,IAAI;AACV,MAAI,EAAE;AACJ;AAEF,IAAE,wCAAwC;AAE1C,QAAM,EAAE,SAAS,iBAAiB,WAAW,IAAI;AAEjD,EAAI,WAAW,mBACb,kBAAkB,EAAE,IAAI;AAAA,IACtB,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,YAAY,cAAc;AAAA,EAC5B,CAAC;AAEL;",
5
- "names": []
6
- }
package/dist/esm/types.js DELETED
@@ -1 +0,0 @@
1
- //# sourceMappingURL=types.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "mappings": "",
5
- "names": []
6
- }
@@ -1,111 +0,0 @@
1
- import { useCallback, useMemo, useRef } from "react";
2
- import { getGestureHandlerState, isGestureHandlerEnabled } from "./gestureState";
3
- const AT_TOP_THRESHOLD = 5;
4
- function useGestureHandlerPan(config) {
5
- const {
6
- positions,
7
- frameSize,
8
- setPosition,
9
- animateTo,
10
- stopSpring,
11
- scrollBridge,
12
- setIsDragging,
13
- getCurrentPosition,
14
- resisted,
15
- disableDrag,
16
- isShowingInnerSheet,
17
- setAnimatedPosition,
18
- scrollGestureRef
19
- } = config, gestureHandlerEnabled = isGestureHandlerEnabled(), panGestureRef = useRef(null), gestureStateRef = useRef({
20
- startY: 0,
21
- // track last translation when pan was active (for position calculation after handoff)
22
- lastPanTranslationY: 0,
23
- // accumulated position offset from all pan movements
24
- accumulatedOffset: 0,
25
- // track previous translation for direction detection (like actions-sheet)
26
- prevTranslationY: 0,
27
- // track if scroll was engaged (scrollY > 0) at some point
28
- scrollEngaged: !1,
29
- // positions frozen at gesture start — keyboard may dismiss during drag (input blur),
30
- // causing positions to revert. Frozen positions ensure stable snap calculation.
31
- frozenPositions: [],
32
- frozenMinY: 0,
33
- // whether pan gesture actually started (vs just a tap in onBegin)
34
- panStarted: !1
35
- }), onStart = useCallback(() => {
36
- stopSpring();
37
- }, [stopSpring]), onEnd = useCallback(
38
- (closestPoint, animationOverride) => {
39
- setIsDragging(!1), scrollBridge.setParentDragging(!1), scrollBridge.setScrollEnabled?.(!0), setPosition(closestPoint), animateTo(closestPoint, animationOverride);
40
- },
41
- [setIsDragging, scrollBridge, setPosition, animateTo]
42
- );
43
- return {
44
- panGesture: useMemo(() => {
45
- if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize)
46
- return null;
47
- const { Gesture } = getGestureHandlerState();
48
- if (!Gesture)
49
- return null;
50
- const minY = positions[0], gs = gestureStateRef.current, gesture = Gesture.Pan().withRef(panGestureRef).activeOffsetY([-10, 10]).failOffsetX([-20, 20]).shouldCancelWhenOutside(!1).onBegin(() => {
51
- gs.panStarted = !1, config.pauseKeyboardHandler && (config.pauseKeyboardHandler.current = !0);
52
- const pos = getCurrentPosition(), atTop = pos <= minY + AT_TOP_THRESHOLD, currentScrollY = scrollBridge.y;
53
- gs.startY = pos, gs.lastPanTranslationY = 0, gs.accumulatedOffset = 0, gs.prevTranslationY = 0, gs.scrollEngaged = currentScrollY > 0, gs.frozenPositions = [...positions], gs.frozenMinY = minY, atTop || scrollBridge.setScrollEnabled?.(!1, 0);
54
- }).onStart(() => {
55
- gs.panStarted = !0, setIsDragging(!0), scrollBridge.initialPosition = gs.startY, onStart();
56
- }).onChange((event) => {
57
- const { translationY } = event, isSwipingDown = gs.prevTranslationY < translationY, deltaY = translationY - gs.prevTranslationY;
58
- gs.prevTranslationY = translationY;
59
- const scrollY = scrollBridge.y;
60
- scrollY > 0 && (gs.scrollEngaged = !0);
61
- const isCurrentlyAtTop = gs.startY + gs.accumulatedOffset <= minY + AT_TOP_THRESHOLD, nodeIsScrolling = scrollY > 0;
62
- let panHandles = !1;
63
- const hasScrollableContent = scrollBridge.hasScrollableContent !== !1;
64
- if (isCurrentlyAtTop ? isSwipingDown ? nodeIsScrolling && hasScrollableContent ? panHandles = !1 : (gs.scrollEngaged, panHandles = !0) : hasScrollableContent ? panHandles = !1 : panHandles = !0 : isSwipingDown ? panHandles = !nodeIsScrolling || !hasScrollableContent : panHandles = !0, panHandles) {
65
- const lockTo = isCurrentlyAtTop ? void 0 : 0;
66
- scrollBridge.setScrollEnabled?.(!1, lockTo), gs.accumulatedOffset += deltaY;
67
- const newPosition = resisted(gs.startY + gs.accumulatedOffset, minY);
68
- scrollBridge.paneY = newPosition, setAnimatedPosition(newPosition), scrollBridge.setParentDragging(newPosition > minY);
69
- } else
70
- scrollBridge.setScrollEnabled?.(!0);
71
- }).onEnd((event) => {
72
- const { velocityY } = event, currentPos = gs.startY + gs.accumulatedOffset;
73
- scrollBridge.scrollLockY = void 0;
74
- const snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions, snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
75
- if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
76
- onEnd(0);
77
- return;
78
- }
79
- const velocity = velocityY / 1e3, projectedEnd = currentPos + frameSize * velocity * 0.2;
80
- let closestPoint = 0, minDist = Number.POSITIVE_INFINITY;
81
- for (let i = 0; i < snapPositions.length; i++) {
82
- const pos = snapPositions[i], dist = Math.abs(projectedEnd - pos);
83
- dist < minDist && (minDist = dist, closestPoint = i);
84
- }
85
- onEnd(closestPoint);
86
- }).onFinalize(() => {
87
- scrollBridge.scrollLockY = void 0, gs.panStarted ? setIsDragging(!1) : config.pauseKeyboardHandler && (config.pauseKeyboardHandler.current = !1);
88
- }).runOnJS(!0);
89
- return scrollGestureRef?.current ? gesture.simultaneousWithExternalGesture(scrollGestureRef.current) : gesture;
90
- }, [
91
- gestureHandlerEnabled,
92
- disableDrag,
93
- isShowingInnerSheet,
94
- frameSize,
95
- positions,
96
- scrollBridge,
97
- getCurrentPosition,
98
- resisted,
99
- onStart,
100
- onEnd,
101
- setIsDragging,
102
- setAnimatedPosition
103
- ]),
104
- panGestureRef,
105
- gestureHandlerEnabled
106
- };
107
- }
108
- export {
109
- useGestureHandlerPan
110
- };
111
- //# sourceMappingURL=useGestureHandlerPan.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useGestureHandlerPan.tsx"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,18 +0,0 @@
1
- import { useRef } from "react";
2
- const noop = () => {
3
- };
4
- function useKeyboardControllerSheet(_options) {
5
- const pauseKeyboardHandler = useRef(!1);
6
- return {
7
- keyboardControllerEnabled: !1,
8
- keyboardHeight: 0,
9
- isKeyboardVisible: !1,
10
- dismissKeyboard: noop,
11
- pauseKeyboardHandler,
12
- flushPendingHide: noop
13
- };
14
- }
15
- export {
16
- useKeyboardControllerSheet
17
- };
18
- //# sourceMappingURL=useKeyboardControllerSheet.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useKeyboardControllerSheet.ts"],
4
- "mappings": "AAKA,SAAS,cAAc;AAMvB,MAAM,OAAO,MAAM;AAAC;AAEb,SAAS,2BACd,UAC+B;AAC/B,QAAM,uBAAuB,OAAO,EAAK;AACzC,SAAO;AAAA,IACL,2BAA2B;AAAA,IAC3B,gBAAgB;AAAA,IAChB,mBAAmB;AAAA,IACnB,iBAAiB;AAAA,IACjB;AAAA,IACA,kBAAkB;AAAA,EACpB;AACF;",
5
- "names": []
6
- }