@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,15 +0,0 @@
1
- import { View } from "react-native-web";
2
- import { getGestureHandlerState, isGestureHandlerEnabled } from "./gestureState";
3
- import { jsx } from "react/jsx-runtime";
4
- function GestureDetectorWrapper({
5
- gesture,
6
- children,
7
- style
8
- }) {
9
- const { GestureDetector } = getGestureHandlerState();
10
- return isGestureHandlerEnabled() && GestureDetector && gesture ? /* @__PURE__ */ jsx(GestureDetector, { gesture, children: /* @__PURE__ */ jsx(View, { style, collapsable: !1, children }) }) : /* @__PURE__ */ jsx(View, { style, children });
11
- }
12
- export {
13
- GestureDetectorWrapper
14
- };
15
- //# sourceMappingURL=GestureDetectorWrapper.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/GestureDetectorWrapper.tsx"],
4
- "mappings": "AACA,SAAS,YAA4B;AACrC,SAAS,wBAAwB,+BAA+B;AA6BxD;AAjBD,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAC9B,QAAM,EAAE,gBAAgB,IAAI,uBAAuB;AAMnD,SALgB,wBAAwB,KAKzB,mBAAmB,UAK9B,oBAAC,mBAAgB,SACf,8BAAC,QAAK,OAAc,aAAa,IAC9B,UACH,GACF,IAKG,oBAAC,QAAK,OAAe,UAAS;AACvC;",
5
- "names": []
6
- }
@@ -1,28 +0,0 @@
1
- import { createContext, useContext } from "react";
2
- import { jsx } from "react/jsx-runtime";
3
- const GestureSheetContext = createContext(null);
4
- function useGestureSheetContext() {
5
- return useContext(GestureSheetContext);
6
- }
7
- function GestureSheetProvider({
8
- children,
9
- isDragging,
10
- blockPan,
11
- setBlockPan,
12
- panGesture,
13
- panGestureRef
14
- }) {
15
- const value = {
16
- panGesture,
17
- panGestureRef,
18
- isDragging,
19
- blockPan,
20
- setBlockPan
21
- };
22
- return /* @__PURE__ */ jsx(GestureSheetContext.Provider, { value, children });
23
- }
24
- export {
25
- GestureSheetProvider,
26
- useGestureSheetContext
27
- };
28
- //# sourceMappingURL=GestureSheetContext.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/GestureSheetContext.tsx"],
4
- "mappings": "AACA,SAAS,eAAe,kBAAkC;AA0DtD;AAhCJ,MAAM,sBAAsB,cAA+C,IAAI;AAExE,SAAS,yBAA0D;AACxE,SAAO,WAAW,mBAAmB;AACvC;AAWO,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA8B;AAC5B,QAAM,QAAkC;AAAA,IACtC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SACE,oBAAC,oBAAoB,UAApB,EAA6B,OAAe,UAAS;AAE1D;",
5
- "names": []
6
- }
package/dist/esm/Sheet.js DELETED
@@ -1,92 +0,0 @@
1
- import { styled } from "@tamagui/core";
2
- import { XStack, YStack } from "@tamagui/stacks";
3
- import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from "./constants";
4
- import { createSheet } from "./createSheet";
5
- import { createSheetScope } from "./SheetContext";
6
- export * from "./types";
7
- const Handle = styled(XStack, {
8
- name: SHEET_HANDLE_NAME,
9
- variants: {
10
- open: {
11
- true: {
12
- opacity: 1,
13
- pointerEvents: "auto"
14
- },
15
- false: {
16
- opacity: 0,
17
- pointerEvents: "none"
18
- }
19
- },
20
- unstyled: {
21
- false: {
22
- height: 10,
23
- borderRadius: 100,
24
- backgroundColor: "$background",
25
- zIndex: 10,
26
- marginHorizontal: "35%",
27
- marginBottom: "$2",
28
- opacity: 0.5,
29
- hoverStyle: {
30
- opacity: 0.7
31
- }
32
- }
33
- }
34
- },
35
- defaultVariants: {
36
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
37
- }
38
- }), Overlay = styled(YStack, {
39
- name: SHEET_OVERLAY_NAME,
40
- variants: {
41
- open: {
42
- true: {
43
- pointerEvents: "auto"
44
- },
45
- false: {
46
- pointerEvents: "none"
47
- }
48
- },
49
- unstyled: {
50
- false: {
51
- fullscreen: !0,
52
- position: "absolute",
53
- backgroundColor: "$background",
54
- zIndex: 99999,
55
- pointerEvents: "auto"
56
- }
57
- }
58
- },
59
- defaultVariants: {
60
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
61
- }
62
- }), Frame = styled(YStack, {
63
- name: SHEET_NAME,
64
- variants: {
65
- unstyled: {
66
- false: {
67
- flex: 1,
68
- backgroundColor: "$background",
69
- borderTopLeftRadius: "$true",
70
- borderTopRightRadius: "$true",
71
- width: "100%",
72
- maxHeight: "100%",
73
- overflow: "hidden"
74
- }
75
- }
76
- },
77
- defaultVariants: {
78
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
79
- }
80
- }), Sheet = createSheet({
81
- Frame,
82
- Handle,
83
- Overlay
84
- });
85
- export {
86
- Frame,
87
- Handle,
88
- Overlay,
89
- Sheet,
90
- createSheetScope
91
- };
92
- //# sourceMappingURL=Sheet.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Sheet.tsx"],
4
- "mappings": "AAAA,SAAS,cAAc;AACvB,SAAS,QAAQ,cAAc;AAE/B,SAAS,mBAAmB,YAAY,0BAA0B;AAClE,SAAS,mBAAmB;AAE5B,SAAS,wBAAwB;AACjC,cAAc;AAMP,MAAM,SAAS,OAAO,QAAQ;AAAA,EACnC,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,eAAe;AAAA,MACjB;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,QACT,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,IAEA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,iBAAiB;AAAA,QACjB,QAAQ;AAAA,QACR,kBAAkB;AAAA,QAClB,cAAc;AAAA,QACd,SAAS;AAAA,QAET,YAAY;AAAA,UACV,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU,QAAQ,IAAI,qBAAqB;AAAA,EAC7C;AACF,CAAC,GAMY,UAAU,OAAO,QAAQ;AAAA,EACpC,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AAAA,QACJ,eAAe;AAAA,MACjB;AAAA,MACA,OAAO;AAAA,QACL,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,IAEA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,iBAAiB;AAAA,QACjB,QAAQ;AAAA,QACR,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU,QAAQ,IAAI,qBAAqB;AAAA,EAC7C;AACF,CAAC,GAMY,QAAQ,OAAO,QAAQ;AAAA,EAClC,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,MAAM;AAAA,QACN,iBAAiB;AAAA,QACjB,qBAAqB;AAAA,QACrB,sBAAsB;AAAA,QACtB,OAAO;AAAA,QACP,WAAW;AAAA,QACX,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU,QAAQ,IAAI,qBAAqB;AAAA,EAC7C;AACF,CAAC,GAEY,QAAQ,YAAY;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,CAAC;",
5
- "names": []
6
- }
@@ -1,13 +0,0 @@
1
- import { createContextScope } from "@tamagui/create-context";
2
- import { SHEET_NAME } from "./constants";
3
- const [createSheetContext, createSheetScope] = createContextScope(SHEET_NAME), [SheetProvider, useSheetContext] = createSheetContext(
4
- SHEET_NAME,
5
- {}
6
- );
7
- export {
8
- SheetProvider,
9
- createSheetContext,
10
- createSheetScope,
11
- useSheetContext
12
- };
13
- //# sourceMappingURL=SheetContext.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/SheetContext.tsx"],
4
- "mappings": "AAAA,SAAS,0BAA0B;AAEnC,SAAS,kBAAkB;AAGpB,MAAM,CAAC,oBAAoB,gBAAgB,IAAI,mBAAmB,UAAU,GAEtE,CAAC,eAAe,eAAe,IAAI;AAAA,EAC9C;AAAA,EACA,CAAC;AACH;",
5
- "names": []
6
- }
@@ -1,31 +0,0 @@
1
- import React, { useId, useRef } from "react";
2
- import { useEvent } from "@tamagui/core";
3
- import { SheetControllerContext } from "./useSheetController";
4
- import { jsx } from "react/jsx-runtime";
5
- const SheetController = ({
6
- children,
7
- onOpenChange: onOpenChangeProp,
8
- open,
9
- hidden,
10
- disableDrag
11
- }) => {
12
- const onOpenChange = useEvent(onOpenChangeProp), id = useId(), wasHiddenRef = useRef(hidden);
13
- let skipNextAnimation = !1;
14
- wasHiddenRef.current && !hidden && open && (skipNextAnimation = !0), wasHiddenRef.current = hidden;
15
- const memoValue = React.useMemo(
16
- () => ({
17
- id,
18
- open,
19
- hidden,
20
- disableDrag,
21
- onOpenChange,
22
- skipNextAnimation
23
- }),
24
- [id, onOpenChange, open, hidden, disableDrag, skipNextAnimation]
25
- );
26
- return /* @__PURE__ */ jsx(SheetControllerContext.Provider, { value: memoValue, children });
27
- };
28
- export {
29
- SheetController
30
- };
31
- //# sourceMappingURL=SheetController.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/SheetController.tsx"],
4
- "mappings": "AAAA,OAAO,SAAS,OAAO,cAAc;AACrC,SAAS,gBAAgB;AAIzB,SAAS,8BAA8B;AAkCnC;AAhCG,MAAM,kBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AACF,MAAuE;AACrE,QAAM,eAAe,SAAS,gBAAgB,GACxC,KAAK,MAAM,GAIX,eAAe,OAAO,MAAM;AAClC,MAAI,oBAAoB;AACxB,EAAI,aAAa,WAAW,CAAC,UAAU,SACrC,oBAAoB,KAEtB,aAAa,UAAU;AAEvB,QAAM,YAAY,MAAM;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,IAAI,cAAc,MAAM,QAAQ,aAAa,iBAAiB;AAAA,EACjE;AAEA,SACE,oBAAC,uBAAuB,UAAvB,EAAgC,OAAO,WACrC,UACH;AAEJ;",
5
- "names": []
6
- }
@@ -1,395 +0,0 @@
1
-
2
- import { AnimatePresence } from "@tamagui/animate-presence";
3
- import { useComposedRefs } from "@tamagui/compose-refs";
4
- import { isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
5
- import {
6
- LayoutMeasurementController,
7
- View as TamaguiView,
8
- Theme,
9
- useConfiguration,
10
- useDidFinishSSR,
11
- useEvent,
12
- useThemeName
13
- } from "@tamagui/core";
14
- import { getSafeArea } from "@tamagui/native";
15
- import { needsPortalRepropagation, Portal } from "@tamagui/portal";
16
- import React, { useState } from "react";
17
- import { Dimensions, PanResponder, View } from "react-native-web";
18
- import { ParentSheetContext, SheetInsideSheetContext } from "./contexts";
19
- import { GestureDetectorWrapper } from "./GestureDetectorWrapper";
20
- import { GestureSheetProvider } from "./GestureSheetContext";
21
- import { resisted } from "./helpers";
22
- import { SheetProvider } from "./SheetContext";
23
- import { useGestureHandlerPan } from "./useGestureHandlerPan";
24
- import { useKeyboardControllerSheet } from "./useKeyboardControllerSheet";
25
- import { useSheetOpenState } from "./useSheetOpenState";
26
- import { useSheetProviderProps } from "./useSheetProviderProps";
27
- import { jsx, jsxs } from "react/jsx-runtime";
28
- const hiddenSize = 10000.1;
29
- let _cachedSafeAreaTop;
30
- function getSafeAreaTopInset() {
31
- return _cachedSafeAreaTop !== void 0 || (_cachedSafeAreaTop = getSafeArea().getInsets().top), _cachedSafeAreaTop;
32
- }
33
- let sheetHiddenStyleSheet = null;
34
- const relativeDimensionTo = isWeb ? "window" : "screen", SheetImplementationCustom = React.forwardRef(
35
- function(props, forwardedRef) {
36
- const parentSheet = React.useContext(ParentSheetContext), {
37
- transition,
38
- transitionConfig: transitionConfigProp,
39
- modal = !1,
40
- zIndex = parentSheet.zIndex + 1,
41
- moveOnKeyboardChange = !1,
42
- unmountChildrenWhenHidden = !1,
43
- portalProps,
44
- containerComponent: ContainerComponent = React.Fragment
45
- } = props, state = useSheetOpenState(props), [overlayComponent, setOverlayComponent] = React.useState(null), providerProps = useSheetProviderProps(props, state, {
46
- onOverlayComponent: setOverlayComponent
47
- }), {
48
- frameSize,
49
- setFrameSize,
50
- snapPoints,
51
- snapPointsMode,
52
- hasFit,
53
- position,
54
- setPosition,
55
- scrollBridge,
56
- screenSize,
57
- setMaxContentSize,
58
- maxSnapPoint
59
- } = providerProps, { open, controller, isHidden } = state, sheetRef = React.useRef(void 0), ref = useComposedRefs(forwardedRef, sheetRef, providerProps.contentRef), { animationDriver } = useConfiguration();
60
- if (!animationDriver)
61
- throw new Error("Sheet requires an animation driver to be set");
62
- const transitionConfig = (() => {
63
- if (transitionConfigProp)
64
- return transitionConfigProp;
65
- const [animationProp, animationPropConfig] = transition ? Array.isArray(transition) ? transition : [transition] : [];
66
- return animationProp && animationDriver.animations?.[animationProp] ? {
67
- ...animationDriver.animations[animationProp],
68
- ...animationPropConfig
69
- } : null;
70
- })(), [isShowingInnerSheet, setIsShowingInnerSheet] = React.useState(!1), shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet && needsPortalRepropagation(), sheetInsideSheet = React.useContext(SheetInsideSheetContext), onInnerSheet = React.useCallback((hasChild) => {
71
- setIsShowingInnerSheet(hasChild);
72
- }, []), stableFrameSize = React.useRef(frameSize);
73
- React.useEffect(() => {
74
- open && frameSize && (stableFrameSize.current = frameSize);
75
- }, [open, frameSize]);
76
- const effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize, positions = React.useMemo(
77
- () => snapPoints.map(
78
- (point) => getYPositions(snapPointsMode, point, screenSize, effectiveFrameSize)
79
- ),
80
- [screenSize, effectiveFrameSize, snapPoints, snapPointsMode]
81
- ), {
82
- keyboardHeight,
83
- isKeyboardVisible,
84
- dismissKeyboard,
85
- pauseKeyboardHandler,
86
- flushPendingHide
87
- } = useKeyboardControllerSheet({
88
- enabled: !isWeb && !!moveOnKeyboardChange
89
- }), [isDragging, setIsDragging_] = React.useState(!1), isDraggingRef = React.useRef(!1), setIsDragging = React.useCallback(
90
- (val) => {
91
- isDraggingRef.current = val, pauseKeyboardHandler.current = val, setIsDragging_(val), val || flushPendingHide();
92
- },
93
- [pauseKeyboardHandler, flushPendingHide]
94
- ), activePositionsRef = React.useRef(positions), activePositions = React.useMemo(() => {
95
- if (isDragging || isDraggingRef.current) return activePositionsRef.current;
96
- let result;
97
- if (!isKeyboardVisible || keyboardHeight <= 0)
98
- result = positions;
99
- else {
100
- const safeAreaTop = isWeb ? 0 : getSafeAreaTopInset();
101
- result = positions.map((p) => screenSize && p >= screenSize ? p : Math.max(safeAreaTop, p - keyboardHeight));
102
- }
103
- return activePositionsRef.current = result, result;
104
- }, [positions, isKeyboardVisible, keyboardHeight, screenSize, isDragging]), { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } = animationDriver, AnimatedView = animationDriver.View ?? TamaguiView;
105
- useIsomorphicLayoutEffect(() => {
106
- if (sheetInsideSheet && open)
107
- return sheetInsideSheet(!0), () => {
108
- sheetInsideSheet(!1);
109
- };
110
- }, [sheetInsideSheet, open]);
111
- const nextParentContext = React.useMemo(
112
- () => ({
113
- zIndex
114
- }),
115
- [zIndex]
116
- ), startPosition = useDidFinishSSR() && screenSize ? screenSize : hiddenSize, animatedNumber = useAnimatedNumber(startPosition), at = React.useRef(startPosition), hasntMeasured = at.current === hiddenSize, [disableAnimation, setDisableAnimation] = useState(hasntMeasured), skipAdaptAnimation = React.useRef(!1);
117
- controller?.skipNextAnimation && (skipAdaptAnimation.current = !0);
118
- const hasScrollView = React.useRef(!1);
119
- useAnimatedNumberReaction(
120
- {
121
- value: animatedNumber,
122
- hostRef: sheetRef
123
- },
124
- React.useCallback(
125
- (value) => {
126
- at.current = value, scrollBridge.paneY = value;
127
- const minY = activePositions[0], wasAtTop = scrollBridge.isAtTop, nowAtTop = value <= minY + 5;
128
- wasAtTop !== nowAtTop && (scrollBridge.isAtTop = nowAtTop, nowAtTop ? (scrollBridge.scrollLockY = void 0, scrollBridge.setScrollEnabled?.(!0)) : (scrollBridge.scrollLockY = 0, scrollBridge.setScrollEnabled?.(!1)));
129
- },
130
- [animationDriver, activePositions]
131
- )
132
- );
133
- function stopSpring() {
134
- animatedNumber.stop(), scrollBridge.onFinishAnimate && (scrollBridge.onFinishAnimate(), scrollBridge.onFinishAnimate = void 0);
135
- }
136
- const animateTo = useEvent((position2, animationOverride) => {
137
- if (frameSize === 0) return;
138
- let toValue = isHidden || position2 === -1 ? screenSize : activePositions[position2];
139
- if (at.current !== toValue) {
140
- if (at.current = toValue, stopSpring(), skipAdaptAnimation.current) {
141
- skipAdaptAnimation.current = !1, animatedNumber.setValue(toValue, { type: "timing", duration: 0 });
142
- return;
143
- }
144
- animatedNumber.setValue(
145
- toValue,
146
- animationOverride || {
147
- type: "spring",
148
- ...transitionConfig
149
- }
150
- );
151
- }
152
- });
153
- useIsomorphicLayoutEffect(() => {
154
- if (hasntMeasured && screenSize && frameSize) {
155
- at.current = screenSize, animatedNumber.setValue(
156
- screenSize,
157
- {
158
- type: "timing",
159
- duration: 0
160
- },
161
- () => {
162
- setTimeout(() => {
163
- setDisableAnimation(!1);
164
- }, 10);
165
- }
166
- );
167
- return;
168
- }
169
- if (!disableAnimation && !(!frameSize || !screenSize || isHidden || hasntMeasured && !open) && (animateTo(position), position === -1 && (scrollBridge.scrollLock = !1, scrollBridge.scrollStartY = -1), open && position >= 0)) {
170
- const isTopPosition = position === 0;
171
- scrollBridge.isAtTop = isTopPosition, isTopPosition ? (scrollBridge.scrollLockY = void 0, scrollBridge.setScrollEnabled?.(!0)) : (scrollBridge.scrollLockY = 0, scrollBridge.setScrollEnabled?.(!1));
172
- }
173
- }, [hasntMeasured, disableAnimation, isHidden, frameSize, screenSize, open, position]);
174
- const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = useThemeName(), [blockPan, setBlockPan] = React.useState(!1), panResponder = React.useMemo(() => {
175
- if (disableDrag || !frameSize || isShowingInnerSheet) return;
176
- const minY = positions[0];
177
- scrollBridge.paneMinY = minY;
178
- let startY = at.current;
179
- function setPanning(val) {
180
- setIsDragging(val), sheetHiddenStyleSheet || (sheetHiddenStyleSheet = document.createElement("style"), typeof document.head < "u" && document.head.appendChild(sheetHiddenStyleSheet)), val ? sheetHiddenStyleSheet.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : sheetHiddenStyleSheet.innerText = "";
181
- }
182
- const release = ({ vy }) => {
183
- if (scrollBridge.setParentDragging(!1), scrollBridge.scrollLock)
184
- return;
185
- isExternalDrag = !1, previouslyScrolling = !1, setPanning(!1);
186
- const end = at.current + frameSize * vy * 0.2;
187
- let closestPoint = 0, dist = Number.POSITIVE_INFINITY;
188
- for (let i = 0; i < positions.length; i++) {
189
- const position2 = positions[i], curDist = end > position2 ? end - position2 : position2 - end;
190
- curDist < dist && (dist = curDist, closestPoint = i);
191
- }
192
- setPosition(closestPoint), animateTo(closestPoint);
193
- }, finish = (_e, state2) => {
194
- release({
195
- vy: state2.vy,
196
- dragAt: state2.dy
197
- });
198
- };
199
- let previouslyScrolling = !1;
200
- const onMoveShouldSet = (e, { dy }) => {
201
- function getShouldSet() {
202
- if (e.target === providerProps.handleRef.current)
203
- return !0;
204
- if (scrollBridge.hasScrollableContent === !0) {
205
- if (scrollBridge.scrollLock)
206
- return !1;
207
- const isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
208
- if (isScrolled)
209
- return previouslyScrolling = !0, !1;
210
- if (isNearTop && hasScrollView.current && isDraggingUp)
211
- return !1;
212
- }
213
- return Math.abs(dy) > 10;
214
- }
215
- const granted = getShouldSet();
216
- return granted && scrollBridge.setParentDragging(!0), granted;
217
- }, grant = () => {
218
- setPanning(!0), stopSpring(), startY = at.current;
219
- };
220
- let isExternalDrag = !1;
221
- return scrollBridge.drag = (dy) => {
222
- isExternalDrag || (isExternalDrag = !0, grant());
223
- const to = dy + startY;
224
- animatedNumber.setValue(resisted(to, minY), { type: "direct" });
225
- }, scrollBridge.release = release, scrollBridge.snapToPosition = (positionIndex) => {
226
- isExternalDrag = !1, previouslyScrolling = !1, setPanning(!1), setPosition(positionIndex), animateTo(positionIndex);
227
- }, PanResponder.create({
228
- onMoveShouldSetPanResponder: onMoveShouldSet,
229
- onPanResponderGrant: grant,
230
- onPanResponderMove: (_e, { dy }) => {
231
- const toFull = dy + startY, to = resisted(toFull, minY);
232
- to <= minY ? scrollBridge.setParentDragging(!1) : scrollBridge.setParentDragging(!0), animatedNumber.setValue(to, { type: "direct" });
233
- },
234
- onPanResponderEnd: finish,
235
- onPanResponderTerminate: finish,
236
- onPanResponderRelease: finish
237
- });
238
- }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]);
239
- React.useEffect(() => {
240
- isDragging || isHidden || !open || disableAnimation || !frameSize || !screenSize || animateTo(position, { type: "timing", duration: 250 });
241
- }, [isKeyboardVisible, keyboardHeight]);
242
- const wasDragging = React.useRef(!1);
243
- React.useEffect(() => {
244
- if (isDragging) {
245
- wasDragging.current = !0;
246
- return;
247
- }
248
- wasDragging.current && (wasDragging.current = !1, !(!frameSize || !screenSize || isHidden || !open) && animateTo(position));
249
- }, [isDragging]), React.useEffect(() => {
250
- !open && isKeyboardVisible && dismissKeyboard();
251
- }, [open]);
252
- const { panGesture, panGestureRef, gestureHandlerEnabled } = useGestureHandlerPan({
253
- positions: activePositions,
254
- frameSize,
255
- setPosition,
256
- animateTo,
257
- stopSpring,
258
- scrollBridge,
259
- setIsDragging,
260
- getCurrentPosition: () => at.current,
261
- resisted,
262
- disableDrag,
263
- isShowingInnerSheet,
264
- setAnimatedPosition: (val) => {
265
- at.current = val, animatedNumber.setValue(val, { type: "direct" });
266
- },
267
- pauseKeyboardHandler
268
- }), handleAnimationViewLayout = React.useCallback(
269
- (e) => {
270
- if (!open && stableFrameSize.current !== 0)
271
- return;
272
- const layoutHeight = e.nativeEvent?.layout.height, next = modal ? Math.min(layoutHeight, Dimensions.get(relativeDimensionTo).height) : layoutHeight;
273
- next && setFrameSize(next);
274
- },
275
- [open, modal]
276
- ), handleMaxContentViewLayout = React.useCallback((e) => {
277
- const next = Math.min(
278
- e.nativeEvent?.layout.height,
279
- Dimensions.get(relativeDimensionTo).height
280
- );
281
- next && setMaxContentSize(next);
282
- }, []), animatedStyle = useAnimatedNumberStyle(animatedNumber, (val) => {
283
- "worklet";
284
- return {
285
- transform: [{ translateY: frameSize === 0 ? hiddenSize : val }]
286
- };
287
- }), [opacity, setOpacity] = React.useState(open ? 1 : 0);
288
- open && opacity === 0 && setOpacity(1), React.useEffect(() => {
289
- if (!open) {
290
- const tm = setTimeout(() => {
291
- setOpacity(0);
292
- }, 400);
293
- return () => {
294
- clearTimeout(tm);
295
- };
296
- }
297
- }, [open]);
298
- const forcedContentHeight = hasFit ? void 0 : snapPointsMode === "percent" ? (
299
- // Use dvh for modal (viewport-relative), % for inline (container-relative)
300
- `${maxSnapPoint}${isWeb && modal ? "dvh" : "%"}`
301
- ) : maxSnapPoint, setHasScrollView = React.useCallback((val) => {
302
- hasScrollView.current = val;
303
- }, []);
304
- let contents = /* @__PURE__ */ jsx(LayoutMeasurementController, { disable: !open, children: /* @__PURE__ */ jsx(ParentSheetContext.Provider, { value: nextParentContext, children: /* @__PURE__ */ jsx(SheetProvider, { ...providerProps, setHasScrollView, children: /* @__PURE__ */ jsxs(
305
- GestureSheetProvider,
306
- {
307
- isDragging,
308
- blockPan,
309
- setBlockPan,
310
- panGesture,
311
- panGestureRef,
312
- children: [
313
- /* @__PURE__ */ jsx(AnimatePresence, { custom: { open }, children: shouldHideParentSheet || !open ? null : overlayComponent }),
314
- snapPointsMode !== "percent" && /* @__PURE__ */ jsx(
315
- View,
316
- {
317
- style: {
318
- opacity: 0,
319
- position: "absolute",
320
- top: 0,
321
- left: 0,
322
- right: 0,
323
- bottom: 0,
324
- pointerEvents: "none"
325
- },
326
- onLayout: handleMaxContentViewLayout
327
- }
328
- ),
329
- /* @__PURE__ */ jsx(
330
- AnimatedView,
331
- {
332
- ref,
333
- onLayout: handleAnimationViewLayout,
334
- transition: isDragging || disableAnimation ? null : transition,
335
- disableClassName: !0,
336
- style: [
337
- {
338
- position: "absolute",
339
- zIndex,
340
- width: "100%",
341
- height: forcedContentHeight,
342
- minHeight: forcedContentHeight,
343
- opacity: shouldHideParentSheet ? 0 : opacity,
344
- ...(shouldHideParentSheet || !open) && {
345
- pointerEvents: "none"
346
- }
347
- },
348
- animatedStyle
349
- ],
350
- children: gestureHandlerEnabled && panGesture ? /* @__PURE__ */ jsx(GestureDetectorWrapper, { gesture: panGesture, style: { flex: 1 }, children: props.children }) : /* @__PURE__ */ jsx(
351
- View,
352
- {
353
- ...panResponder?.panHandlers,
354
- style: { flex: 1, width: "100%", height: "100%" },
355
- children: props.children
356
- }
357
- )
358
- }
359
- )
360
- ]
361
- }
362
- ) }) }) });
363
- const shouldMountChildren = unmountChildrenWhenHidden ? !!opacity : !0;
364
- if (modal) {
365
- const modalContents = /* @__PURE__ */ jsx(Portal, { stackZIndex: zIndex, ...portalProps, children: shouldMountChildren && /* @__PURE__ */ jsx(ContainerComponent, { children: /* @__PURE__ */ jsx(Theme, { contain: !0, forceClassName: !0, name: themeName, children: contents }) }) });
366
- return isWeb ? modalContents : /* @__PURE__ */ jsx(SheetInsideSheetContext.Provider, { value: onInnerSheet, children: modalContents });
367
- }
368
- return contents;
369
- }
370
- );
371
- function getYPositions(mode, point, screenSize, frameSize) {
372
- if (!screenSize || !frameSize)
373
- return 0;
374
- if (mode === "mixed") {
375
- if (typeof point == "number")
376
- return screenSize - Math.min(screenSize, Math.max(0, point));
377
- if (point === "fit")
378
- return screenSize - Math.min(screenSize, frameSize);
379
- if (point.endsWith("%")) {
380
- const pct2 = Math.min(100, Math.max(0, Number(point.slice(0, -1)))) / 100;
381
- return Number.isNaN(pct2) ? (console.warn("Invalid snapPoint percentage string"), 0) : Math.round(screenSize - pct2 * screenSize);
382
- }
383
- return console.warn("Invalid snapPoint unknown value"), 0;
384
- }
385
- if (mode === "fit")
386
- return point === 0 ? screenSize : screenSize - Math.min(screenSize, frameSize);
387
- if (mode === "constant" && typeof point == "number")
388
- return screenSize - Math.min(screenSize, Math.max(0, point));
389
- const pct = Math.min(100, Math.max(0, Number(point))) / 100;
390
- return Number.isNaN(pct) ? (console.warn("Invalid snapPoint percentage"), 0) : Math.round(screenSize - pct * screenSize);
391
- }
392
- export {
393
- SheetImplementationCustom
394
- };
395
- //# sourceMappingURL=SheetImplementationCustom.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/SheetImplementationCustom.tsx"],
4
- "mappings": "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",
5
- "names": ["position", "state", "pct"]
6
- }