@tamagui/sheet 1.72.2 → 1.73.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 (109) hide show
  1. package/dist/cjs/SheetImplementationCustom.js +7 -4
  2. package/dist/cjs/SheetImplementationCustom.js.map +1 -1
  3. package/dist/cjs/SheetImplementationCustom.native.js +7 -4
  4. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  5. package/dist/cjs/useSheetProviderProps.js +4 -2
  6. package/dist/cjs/useSheetProviderProps.js.map +1 -1
  7. package/dist/cjs/useSheetProviderProps.native.js +4 -2
  8. package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
  9. package/dist/esm/SheetImplementationCustom.js +8 -5
  10. package/dist/esm/SheetImplementationCustom.js.map +1 -1
  11. package/dist/esm/useSheetProviderProps.js +5 -3
  12. package/dist/esm/useSheetProviderProps.js.map +1 -1
  13. package/dist/jsx/SheetImplementationCustom.js +8 -5
  14. package/dist/jsx/SheetImplementationCustom.js.map +1 -1
  15. package/dist/jsx/SheetImplementationCustom.native.js +8 -5
  16. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  17. package/dist/jsx/useSheetProviderProps.js +5 -3
  18. package/dist/jsx/useSheetProviderProps.js.map +1 -1
  19. package/dist/jsx/useSheetProviderProps.native.js +5 -3
  20. package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
  21. package/package.json +14 -14
  22. package/src/SheetImplementationCustom.tsx +12 -11
  23. package/src/useSheetProviderProps.tsx +3 -3
  24. package/types/SheetImplementationCustom.d.ts.map +1 -1
  25. package/types/useSheetProviderProps.d.ts.map +1 -1
  26. package/dist/cjs/useSheetChildren.js +0 -80
  27. package/dist/cjs/useSheetChildren.js.map +0 -6
  28. package/dist/cjs/useSheetSnapPoints.js +0 -77
  29. package/dist/cjs/useSheetSnapPoints.js.map +0 -6
  30. package/dist/esm/Sheet.mjs +0 -95
  31. package/dist/esm/Sheet.mjs.map +0 -6
  32. package/dist/esm/SheetContext.mjs +0 -13
  33. package/dist/esm/SheetContext.mjs.map +0 -6
  34. package/dist/esm/SheetController.mjs +0 -24
  35. package/dist/esm/SheetController.mjs.map +0 -6
  36. package/dist/esm/SheetImplementationCustom.mjs +0 -296
  37. package/dist/esm/SheetImplementationCustom.mjs.map +0 -6
  38. package/dist/esm/SheetScrollView.mjs +0 -52
  39. package/dist/esm/SheetScrollView.mjs.map +0 -6
  40. package/dist/esm/constants.mjs +0 -11
  41. package/dist/esm/constants.mjs.map +0 -6
  42. package/dist/esm/contexts.mjs +0 -9
  43. package/dist/esm/contexts.mjs.map +0 -6
  44. package/dist/esm/createSheet.mjs +0 -139
  45. package/dist/esm/createSheet.mjs.map +0 -6
  46. package/dist/esm/helpers.mjs +0 -11
  47. package/dist/esm/helpers.mjs.map +0 -6
  48. package/dist/esm/index.mjs +0 -10
  49. package/dist/esm/index.mjs.map +0 -6
  50. package/dist/esm/nativeSheet.mjs +0 -39
  51. package/dist/esm/nativeSheet.mjs.map +0 -6
  52. package/dist/esm/types.mjs +0 -1
  53. package/dist/esm/types.mjs.map +0 -6
  54. package/dist/esm/useSheet.mjs +0 -6
  55. package/dist/esm/useSheet.mjs.map +0 -6
  56. package/dist/esm/useSheetChildren.js +0 -46
  57. package/dist/esm/useSheetChildren.js.map +0 -6
  58. package/dist/esm/useSheetController.mjs +0 -17
  59. package/dist/esm/useSheetController.mjs.map +0 -6
  60. package/dist/esm/useSheetOffscreenSize.mjs +0 -27
  61. package/dist/esm/useSheetOffscreenSize.mjs.map +0 -6
  62. package/dist/esm/useSheetOpenState.mjs +0 -23
  63. package/dist/esm/useSheetOpenState.mjs.map +0 -6
  64. package/dist/esm/useSheetProviderProps.mjs +0 -90
  65. package/dist/esm/useSheetProviderProps.mjs.map +0 -6
  66. package/dist/esm/useSheetSnapPoints.js +0 -53
  67. package/dist/esm/useSheetSnapPoints.js.map +0 -6
  68. package/dist/jsx/Sheet.mjs +0 -99
  69. package/dist/jsx/Sheet.mjs.map +0 -6
  70. package/dist/jsx/SheetContext.mjs +0 -14
  71. package/dist/jsx/SheetContext.mjs.map +0 -6
  72. package/dist/jsx/SheetController.mjs +0 -24
  73. package/dist/jsx/SheetController.mjs.map +0 -6
  74. package/dist/jsx/SheetImplementationCustom.mjs +0 -351
  75. package/dist/jsx/SheetImplementationCustom.mjs.map +0 -6
  76. package/dist/jsx/SheetScrollView.mjs +0 -65
  77. package/dist/jsx/SheetScrollView.mjs.map +0 -6
  78. package/dist/jsx/constants.mjs +0 -21
  79. package/dist/jsx/constants.mjs.map +0 -6
  80. package/dist/jsx/contexts.mjs +0 -10
  81. package/dist/jsx/contexts.mjs.map +0 -6
  82. package/dist/jsx/createSheet.mjs +0 -151
  83. package/dist/jsx/createSheet.mjs.map +0 -6
  84. package/dist/jsx/helpers.mjs +0 -14
  85. package/dist/jsx/helpers.mjs.map +0 -6
  86. package/dist/jsx/index.mjs +0 -10
  87. package/dist/jsx/index.mjs.map +0 -6
  88. package/dist/jsx/nativeSheet.mjs +0 -46
  89. package/dist/jsx/nativeSheet.mjs.map +0 -6
  90. package/dist/jsx/types.mjs +0 -1
  91. package/dist/jsx/types.mjs.map +0 -6
  92. package/dist/jsx/useSheet.mjs +0 -6
  93. package/dist/jsx/useSheet.mjs.map +0 -6
  94. package/dist/jsx/useSheetChildren.js +0 -45
  95. package/dist/jsx/useSheetChildren.js.map +0 -6
  96. package/dist/jsx/useSheetChildren.mjs +0 -45
  97. package/dist/jsx/useSheetChildren.mjs.map +0 -6
  98. package/dist/jsx/useSheetController.mjs +0 -20
  99. package/dist/jsx/useSheetController.mjs.map +0 -6
  100. package/dist/jsx/useSheetOffscreenSize.mjs +0 -15
  101. package/dist/jsx/useSheetOffscreenSize.mjs.map +0 -6
  102. package/dist/jsx/useSheetOpenState.mjs +0 -26
  103. package/dist/jsx/useSheetOpenState.mjs.map +0 -6
  104. package/dist/jsx/useSheetProviderProps.mjs +0 -95
  105. package/dist/jsx/useSheetProviderProps.mjs.map +0 -6
  106. package/dist/jsx/useSheetSnapPoints.js +0 -53
  107. package/dist/jsx/useSheetSnapPoints.js.map +0 -6
  108. package/dist/jsx/useSheetSnapPoints.mjs +0 -53
  109. package/dist/jsx/useSheetSnapPoints.mjs.map +0 -6
@@ -1,351 +0,0 @@
1
- import { AdaptParentContext } from "@tamagui/adapt";
2
- import { useComposedRefs } from "@tamagui/compose-refs";
3
- import {
4
- Theme,
5
- isTouchable,
6
- isWeb,
7
- themeable,
8
- useAnimationDriver,
9
- useEvent,
10
- useIsomorphicLayoutEffect,
11
- useThemeName
12
- } from "@tamagui/core";
13
- import { Portal } from "@tamagui/portal";
14
- import { useKeyboardVisible } from "@tamagui/use-keyboard-visible";
15
- import {
16
- forwardRef,
17
- useCallback,
18
- useContext,
19
- useEffect,
20
- useMemo,
21
- useRef,
22
- useState
23
- } from "react";
24
- import {
25
- Keyboard,
26
- PanResponder
27
- } from "react-native";
28
- import { HIDDEN_SIZE, SHEET_HIDDEN_STYLESHEET } from "./constants";
29
- import { ParentSheetContext, SheetInsideSheetContext } from "./contexts";
30
- import { resisted } from "./helpers";
31
- import { SheetProvider } from "./SheetContext";
32
- import { useSheetOpenState } from "./useSheetOpenState";
33
- import { useSheetProviderProps } from "./useSheetProviderProps";
34
- const SheetImplementationCustom = themeable(
35
- forwardRef(function SheetImplementationCustom2(props, forwardedRef) {
36
- const parentSheet = useContext(ParentSheetContext);
37
- const {
38
- animationConfig,
39
- modal = false,
40
- zIndex = parentSheet.zIndex + 1,
41
- moveOnKeyboardChange = false,
42
- unmountChildrenWhenHidden = false,
43
- portalProps
44
- } = props;
45
- const keyboardIsVisible = useKeyboardVisible();
46
- const state = useSheetOpenState(props);
47
- const [overlayComponent, setOverlayComponent] = useState(null);
48
- const providerProps = useSheetProviderProps(props, state, {
49
- onOverlayComponent: setOverlayComponent
50
- });
51
- const {
52
- frameSize,
53
- setFrameSize,
54
- snapPoints,
55
- position,
56
- setPosition,
57
- scrollBridge,
58
- screenSize,
59
- maxSnapPoint
60
- } = providerProps;
61
- const { open, controller, isHidden } = state;
62
- const sheetRef = useRef(null);
63
- const ref = useComposedRefs(forwardedRef, sheetRef);
64
- const [isShowingInnerSheet, setIsShowingInnerSheet] = useState(false);
65
- const shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet;
66
- const parentSheetContext = useContext(SheetInsideSheetContext);
67
- const onInnerSheet = useCallback((hasChild) => {
68
- setIsShowingInnerSheet(hasChild);
69
- }, []);
70
- const positions = useMemo(
71
- () => snapPoints.map((point) => getPercentSize(point, screenSize)),
72
- [frameSize, snapPoints]
73
- );
74
- const driver = useAnimationDriver();
75
- const { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } = driver;
76
- const AnimatedView = driver["NumberView"] ?? driver.View;
77
- useIsomorphicLayoutEffect(() => {
78
- if (!(parentSheetContext && open))
79
- return;
80
- parentSheetContext(true);
81
- return () => {
82
- parentSheetContext(false);
83
- };
84
- }, [parentSheetContext, open]);
85
- const nextParentContext = useMemo(
86
- () => ({
87
- zIndex
88
- }),
89
- [zIndex]
90
- );
91
- const animatedNumber = useAnimatedNumber(HIDDEN_SIZE);
92
- const at = useRef(HIDDEN_SIZE);
93
- useAnimatedNumberReaction(
94
- {
95
- value: animatedNumber,
96
- hostRef: sheetRef
97
- },
98
- useCallback((value) => {
99
- if (!driver.isReactNative)
100
- return;
101
- at.current = value;
102
- scrollBridge.paneY = value;
103
- }, [])
104
- );
105
- function stopSpring() {
106
- animatedNumber.stop();
107
- if (scrollBridge.onFinishAnimate) {
108
- scrollBridge.onFinishAnimate();
109
- scrollBridge.onFinishAnimate = void 0;
110
- }
111
- }
112
- const hasntMeasured = at.current === HIDDEN_SIZE;
113
- const animateTo = useEvent((position2) => {
114
- if (frameSize === 0)
115
- return;
116
- let toValue = isHidden || position2 === -1 ? screenSize : positions[position2];
117
- if (at.current === toValue)
118
- return;
119
- at.current = toValue;
120
- stopSpring();
121
- if (hasntMeasured || isHidden) {
122
- animatedNumber.setValue(screenSize, {
123
- type: "timing",
124
- duration: 0
125
- });
126
- if (isHidden) {
127
- return;
128
- }
129
- toValue = positions[position2];
130
- at.current = toValue;
131
- }
132
- animatedNumber.setValue(toValue, {
133
- ...animationConfig,
134
- type: "spring"
135
- });
136
- });
137
- useIsomorphicLayoutEffect(() => {
138
- if (screenSize && hasntMeasured) {
139
- animatedNumber.setValue(screenSize, {
140
- type: "timing",
141
- duration: 0
142
- });
143
- }
144
- }, [hasntMeasured, screenSize]);
145
- useIsomorphicLayoutEffect(() => {
146
- if (!frameSize || isHidden || hasntMeasured && !open) {
147
- return;
148
- }
149
- animateTo(position);
150
- }, [isHidden, frameSize, open, position]);
151
- const disableDrag = props.disableDrag ?? controller?.disableDrag;
152
- const themeName = useThemeName();
153
- const panResponder = useMemo(
154
- () => {
155
- if (disableDrag)
156
- return;
157
- if (!frameSize)
158
- return;
159
- if (isShowingInnerSheet)
160
- return;
161
- const minY = positions[0];
162
- scrollBridge.paneMinY = minY;
163
- let startY = at.current;
164
- function makeUnselectable(val) {
165
- if (!SHEET_HIDDEN_STYLESHEET)
166
- return;
167
- if (!val) {
168
- SHEET_HIDDEN_STYLESHEET.innerText = "";
169
- } else {
170
- SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }";
171
- }
172
- }
173
- const release = ({ vy, dragAt }) => {
174
- isExternalDrag = false;
175
- previouslyScrolling = false;
176
- makeUnselectable(false);
177
- const at2 = dragAt + startY;
178
- const end = at2 + frameSize * vy * 0.2;
179
- let closestPoint = 0;
180
- let dist = Infinity;
181
- for (let i = 0; i < positions.length; i++) {
182
- const position2 = positions[i];
183
- const curDist = end > position2 ? end - position2 : position2 - end;
184
- if (curDist < dist) {
185
- dist = curDist;
186
- closestPoint = i;
187
- }
188
- }
189
- setPosition(closestPoint);
190
- animateTo(closestPoint);
191
- };
192
- const finish = (_e, state2) => {
193
- release({
194
- vy: state2.vy,
195
- dragAt: state2.dy
196
- });
197
- };
198
- let previouslyScrolling = false;
199
- const onMoveShouldSet = (_e, { dy }) => {
200
- const isScrolled = scrollBridge.y !== 0;
201
- const isDraggingUp = dy < 0;
202
- const isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
203
- if (isScrolled) {
204
- previouslyScrolling = true;
205
- return false;
206
- }
207
- if (isNearTop) {
208
- if (!isScrolled && isDraggingUp) {
209
- return false;
210
- }
211
- }
212
- return Math.abs(dy) > 5;
213
- };
214
- const grant = () => {
215
- makeUnselectable(true);
216
- stopSpring();
217
- startY = at.current;
218
- };
219
- let isExternalDrag = false;
220
- scrollBridge.drag = (dy) => {
221
- if (!isExternalDrag) {
222
- isExternalDrag = true;
223
- grant();
224
- }
225
- const to = dy + startY;
226
- animatedNumber.setValue(resisted(to, minY), { type: "direct" });
227
- };
228
- scrollBridge.release = release;
229
- return PanResponder.create({
230
- onMoveShouldSetPanResponder: onMoveShouldSet,
231
- onPanResponderGrant: grant,
232
- onPanResponderMove: (_e, { dy }) => {
233
- const toFull = dy + startY;
234
- const to = resisted(toFull, minY);
235
- animatedNumber.setValue(to, { type: "direct" });
236
- },
237
- onPanResponderEnd: finish,
238
- onPanResponderTerminate: finish,
239
- onPanResponderRelease: finish
240
- });
241
- },
242
- // eslint-disable-next-line react-hooks/exhaustive-deps
243
- [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]
244
- );
245
- const handleAnimationViewLayout = useCallback(
246
- (e) => {
247
- const next = (() => {
248
- let _ = e.nativeEvent?.layout.height;
249
- if (isWeb && isTouchable && !open) {
250
- _ += 100;
251
- }
252
- return _;
253
- })();
254
- if (!next)
255
- return;
256
- setFrameSize(next);
257
- },
258
- [keyboardIsVisible]
259
- );
260
- const animatedStyle = useAnimatedNumberStyle(animatedNumber, (val) => {
261
- "worklet";
262
- const translateY = frameSize === 0 ? HIDDEN_SIZE : val;
263
- return {
264
- transform: [{ translateY }]
265
- };
266
- });
267
- const sizeBeforeKeyboard = useRef(null);
268
- useEffect(() => {
269
- if (isWeb || !moveOnKeyboardChange)
270
- return;
271
- const keyboardDidShowListener = Keyboard.addListener("keyboardDidShow", (e) => {
272
- if (sizeBeforeKeyboard.current !== null)
273
- return;
274
- sizeBeforeKeyboard.current = animatedNumber.getValue();
275
- animatedNumber.setValue(
276
- Math.max(animatedNumber.getValue() - e.endCoordinates.height, 0)
277
- );
278
- });
279
- const keyboardDidHideListener = Keyboard.addListener("keyboardDidHide", () => {
280
- if (sizeBeforeKeyboard.current === null)
281
- return;
282
- animatedNumber.setValue(sizeBeforeKeyboard.current);
283
- sizeBeforeKeyboard.current = null;
284
- });
285
- return () => {
286
- keyboardDidHideListener.remove();
287
- keyboardDidShowListener.remove();
288
- };
289
- }, [moveOnKeyboardChange]);
290
- const [opacity, setOpacity] = useState(open ? 1 : 0);
291
- if (open && opacity === 0) {
292
- setOpacity(1);
293
- }
294
- useEffect(() => {
295
- if (!open) {
296
- const tm = setTimeout(() => {
297
- setOpacity(0);
298
- }, 400);
299
- return () => {
300
- clearTimeout(tm);
301
- };
302
- }
303
- }, [open]);
304
- const contents = <ParentSheetContext.Provider value={nextParentContext}><SheetProvider {...providerProps}>
305
- {shouldHideParentSheet ? null : overlayComponent}
306
- <AnimatedView
307
- ref={ref}
308
- {...panResponder?.panHandlers}
309
- onLayout={handleAnimationViewLayout}
310
- pointerEvents={open && !shouldHideParentSheet ? "auto" : "none"}
311
- animation={props.animation}
312
- style={[
313
- {
314
- position: "absolute",
315
- zIndex,
316
- width: "100%",
317
- height: `${maxSnapPoint}%`,
318
- minHeight: `${maxSnapPoint}%`,
319
- opacity
320
- },
321
- animatedStyle
322
- ]}
323
- >{props.children}</AnimatedView>
324
- </SheetProvider></ParentSheetContext.Provider>;
325
- const adaptContext = useContext(AdaptParentContext);
326
- const shouldMountChildren = Boolean(opacity || !unmountChildrenWhenHidden);
327
- if (modal) {
328
- const modalContents = <Portal zIndex={zIndex} {...portalProps}>{shouldMountChildren && <Theme forceClassName name={themeName}><AdaptParentContext.Provider value={adaptContext}>{contents}</AdaptParentContext.Provider></Theme>}</Portal>;
329
- if (isWeb) {
330
- return modalContents;
331
- }
332
- return <SheetInsideSheetContext.Provider value={onInnerSheet}>{modalContents}</SheetInsideSheetContext.Provider>;
333
- }
334
- return contents;
335
- })
336
- );
337
- function getPercentSize(point, screenSize) {
338
- if (!screenSize)
339
- return 0;
340
- if (point === void 0) {
341
- console.warn("No snapPoint");
342
- return 0;
343
- }
344
- const pct = point / 100;
345
- const next = Math.round(screenSize - pct * screenSize);
346
- return next;
347
- }
348
- export {
349
- SheetImplementationCustom
350
- };
351
- //# sourceMappingURL=SheetImplementationCustom.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/SheetImplementationCustom.tsx"],
4
- "mappings": "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",
5
- "names": ["SheetImplementationCustom", "position", "at", "state"]
6
- }
@@ -1,65 +0,0 @@
1
- import { composeRefs } from "@tamagui/core";
2
- import { ScrollView } from "@tamagui/scroll-view";
3
- import { forwardRef, useMemo, useRef } from "react";
4
- import { useSheetContext } from "./SheetContext";
5
- const SHEET_SCROLL_VIEW_NAME = "SheetScrollView";
6
- const SheetScrollView = forwardRef(
7
- ({ __scopeSheet, children, ...props }, ref) => {
8
- const context = useSheetContext(SHEET_SCROLL_VIEW_NAME, __scopeSheet);
9
- const { scrollBridge } = context;
10
- const scrollRef = useRef(null);
11
- const state = useRef({
12
- lastPageY: 0,
13
- dragAt: 0,
14
- dys: [],
15
- // store a few recent dys to get velocity on release
16
- isScrolling: false,
17
- isDragging: false
18
- });
19
- const release = () => {
20
- if (!state.current.isDragging) {
21
- return;
22
- }
23
- state.current.isDragging = false;
24
- scrollBridge.scrollStartY = -1;
25
- state.current.isScrolling = false;
26
- let vy = 0;
27
- if (state.current.dys.length) {
28
- const recentDys = state.current.dys.slice(-10);
29
- const dist = recentDys.length ? recentDys.reduce((a, b) => a + b, 0) : 0;
30
- const avgDy = dist / recentDys.length;
31
- vy = avgDy * 0.04;
32
- }
33
- state.current.dys = [];
34
- scrollBridge.release({
35
- dragAt: state.current.dragAt,
36
- vy
37
- });
38
- };
39
- return <ScrollView
40
- ref={composeRefs(scrollRef, ref)}
41
- flex={1}
42
- scrollEventThrottle={8}
43
- onScroll={(e) => {
44
- const { y } = e.nativeEvent.contentOffset;
45
- scrollBridge.y = y;
46
- if (y > 0) {
47
- scrollBridge.scrollStartY = -1;
48
- }
49
- }}
50
- onStartShouldSetResponder={() => {
51
- scrollBridge.scrollStartY = -1;
52
- state.current.isDragging = true;
53
- return true;
54
- }}
55
- onMoveShouldSetResponder={() => false}
56
- onResponderRelease={release}
57
- className="_ovs-contain"
58
- {...props}
59
- >{useMemo(() => children, [children])}</ScrollView>;
60
- }
61
- );
62
- export {
63
- SheetScrollView
64
- };
65
- //# sourceMappingURL=SheetScrollView.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/SheetScrollView.tsx"],
4
- "mappings": "AAAA,SAAiB,mBAAmB;AACpC,SAAS,kBAAmC;AAC5C,SAAS,YAAY,SAAS,cAAc;AAG5C,SAAS,uBAAuB;AAShC,MAAM,yBAAyB;AAExB,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,cAAc,UAAU,GAAG,MAAM,GAAsC,QAAQ;AAChF,UAAM,UAAU,gBAAgB,wBAAwB,YAAY;AACpE,UAAM,EAAE,aAAa,IAAI;AAEzB,UAAM,YAAY,OAA4B,IAAI;AAclD,UAAM,QAAQ,OAAO;AAAA,MACnB,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,KAAK,CAAC;AAAA;AAAA,MACN,aAAa;AAAA,MACb,YAAY;AAAA,IACd,CAAC;AAED,UAAM,UAAU,MAAM;AACpB,UAAI,CAAC,MAAM,QAAQ,YAAY;AAC7B;AAAA,MACF;AACA,YAAM,QAAQ,aAAa;AAC3B,mBAAa,eAAe;AAC5B,YAAM,QAAQ,cAAc;AAE5B,UAAI,KAAK;AACT,UAAI,MAAM,QAAQ,IAAI,QAAQ;AAC5B,cAAM,YAAY,MAAM,QAAQ,IAAI,MAAM,GAAG;AAC7C,cAAM,OAAO,UAAU,SAAS,UAAU,OAAO,CAAC,GAAG,MAAM,IAAI,GAAG,CAAC,IAAI;AACvE,cAAM,QAAQ,OAAO,UAAU;AAC/B,aAAK,QAAQ;AAAA,MACf;AACA,YAAM,QAAQ,MAAM,CAAC;AACrB,mBAAa,QAAQ;AAAA,QACnB,QAAQ,MAAM,QAAQ;AAAA,QACtB;AAAA,MACF,CAAC;AAAA,IACH;AAEA,WACE,CAAC;AAAA,MACC,KAAK,YAAY,WAAkB,GAAG;AAAA,MACtC,MAAM;AAAA,MACN,qBAAqB;AAAA,MAErB,UAAU,CAAC,MAAM;AACf,cAAM,EAAE,EAAE,IAAI,EAAE,YAAY;AAC5B,qBAAa,IAAI;AACjB,YAAI,IAAI,GAAG;AACT,uBAAa,eAAe;AAAA,QAC9B;AAAA,MACF;AAAA,MACA,2BAA2B,MAAM;AAC/B,qBAAa,eAAe;AAC5B,cAAM,QAAQ,aAAa;AAC3B,eAAO;AAAA,MACT;AAAA,MAEA,0BAA0B,MAAM;AAAA,MAmChC,oBAAoB;AAAA,MACpB,UAAU;AAAA,UACN;AAAA,MAEH,QAAQ,MAAM,UAAU,CAAC,QAAQ,CAAC,EACrC,EA1DC;AAAA,EA4DL;AACF;",
5
- "names": []
6
- }
@@ -1,21 +0,0 @@
1
- import { isClient } from "@tamagui/core";
2
- import { Dimensions } from "react-native";
3
- const constants = {};
4
- const SHEET_NAME = "Sheet";
5
- const SHEET_HANDLE_NAME = "SheetHandle";
6
- const SHEET_OVERLAY_NAME = "SheetOverlay";
7
- const screen = Dimensions.get("screen");
8
- const HIDDEN_SIZE = Math.max(screen.height, screen.width) + 0.1;
9
- const SHEET_HIDDEN_STYLESHEET = isClient ? document.createElement("style") : null;
10
- if (SHEET_HIDDEN_STYLESHEET) {
11
- document.head.appendChild(SHEET_HIDDEN_STYLESHEET);
12
- }
13
- export {
14
- HIDDEN_SIZE,
15
- SHEET_HANDLE_NAME,
16
- SHEET_HIDDEN_STYLESHEET,
17
- SHEET_NAME,
18
- SHEET_OVERLAY_NAME,
19
- constants
20
- };
21
- //# sourceMappingURL=constants.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/constants.tsx"],
4
- "mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAEpB,MAAM,YAAY,CAAC;AAEnB,MAAM,aAAa;AACnB,MAAM,oBAAoB;AAC1B,MAAM,qBAAqB;AAIlC,MAAM,SAAS,WAAW,IAAI,QAAQ;AAC/B,MAAM,cAAc,KAAK,IAAI,OAAO,QAAQ,OAAO,KAAK,IAAI;AAE5D,MAAM,0BAA0B,WAAW,SAAS,cAAc,OAAO,IAAI;AACpF,IAAI,yBAAyB;AAC3B,WAAS,KAAK,YAAY,uBAAuB;AACnD;",
5
- "names": []
6
- }
@@ -1,10 +0,0 @@
1
- import { createContext } from "react";
2
- const ParentSheetContext = createContext({
3
- zIndex: 1e5
4
- });
5
- const SheetInsideSheetContext = createContext(null);
6
- export {
7
- ParentSheetContext,
8
- SheetInsideSheetContext
9
- };
10
- //# sourceMappingURL=contexts.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/contexts.ts"],
4
- "mappings": "AAAA,SAAS,qBAAqB;AAEvB,MAAM,qBAAqB,cAAc;AAAA,EAC9C,QAAQ;AACV,CAAC;AAEM,MAAM,0BAA0B,cAErC,IAAI;",
5
- "names": []
6
- }
@@ -1,151 +0,0 @@
1
- import { useComposedRefs } from "@tamagui/compose-refs";
2
- import {
3
- Stack,
4
- mergeEvent,
5
- useDidFinishSSR,
6
- useIsomorphicLayoutEffect,
7
- withStaticProperties
8
- } from "@tamagui/core";
9
- import { RemoveScroll } from "@tamagui/remove-scroll";
10
- import { forwardRef, memo, useMemo } from "react";
11
- import { Platform } from "react-native";
12
- import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from "./constants";
13
- import { getNativeSheet } from "./nativeSheet";
14
- import { useSheetContext } from "./SheetContext";
15
- import { SheetImplementationCustom } from "./SheetImplementationCustom";
16
- import { SheetScrollView } from "./SheetScrollView";
17
- import { useSheetController } from "./useSheetController";
18
- import { useSheetOffscreenSize } from "./useSheetOffscreenSize";
19
- function createSheet({ Handle, Frame, Overlay }) {
20
- const SheetHandle = Handle.extractable(
21
- ({ __scopeSheet, ...props }) => {
22
- const context = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet);
23
- if (context.onlyShowFrame) {
24
- return null;
25
- }
26
- return (
27
- // @ts-ignore
28
- <Handle
29
- onPress={() => {
30
- const max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0);
31
- const nextPos = (context.position + 1) % max;
32
- context.setPosition(nextPos);
33
- }}
34
- open={context.open}
35
- {...props}
36
- />
37
- );
38
- }
39
- );
40
- const SheetOverlay = Overlay.extractable(
41
- memo((propsIn) => {
42
- const { __scopeSheet, ...props } = propsIn;
43
- const context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet);
44
- const element = useMemo(
45
- () => (
46
- // @ts-ignore
47
- <Overlay
48
- open={context.open && !context.hidden}
49
- {...props}
50
- onPress={mergeEvent(
51
- props.onPress,
52
- context.dismissOnOverlayPress ? () => {
53
- context.setOpen(false);
54
- } : void 0
55
- )}
56
- />
57
- ),
58
- [context.open, propsIn, context.hidden, context.dismissOnOverlayPress]
59
- );
60
- useIsomorphicLayoutEffect(() => {
61
- context.onOverlayComponent?.(element);
62
- }, [element]);
63
- if (context.onlyShowFrame) {
64
- return null;
65
- }
66
- return null;
67
- })
68
- );
69
- const SheetFrame = Frame.extractable(
70
- forwardRef(
71
- ({
72
- __scopeSheet,
73
- children,
74
- ...props
75
- }, forwardedRef) => {
76
- const context = useSheetContext(SHEET_NAME, __scopeSheet);
77
- const { removeScrollEnabled, frameSize, contentRef } = context;
78
- const composedContentRef = useComposedRefs(forwardedRef, contentRef);
79
- const offscreenSize = useSheetOffscreenSize(context);
80
- const sheetContents = useMemo(() => {
81
- return (
82
- // @ts-ignore
83
- <Frame ref={composedContentRef} height={frameSize} {...props}>
84
- {children}
85
- <Stack data-sheet-offscreen-pad height={offscreenSize} width="100%" />
86
- </Frame>
87
- );
88
- }, [props, frameSize, offscreenSize]);
89
- return <>
90
- <RemoveScroll
91
- forwardProps
92
- enabled={removeScrollEnabled}
93
- allowPinchZoom
94
- shards={[contentRef]}
95
- removeScrollBar={false}
96
- >{sheetContents}</RemoveScroll>
97
- {
98
- /* below frame hide when bouncing past 100% */
99
- }
100
- {!props.disableHideBottomOverflow && // @ts-ignore
101
- <Frame
102
- {...props}
103
- componentName="SheetCover"
104
- children={null}
105
- position="absolute"
106
- bottom="-50%"
107
- zIndex={-1}
108
- height={context.frameSize}
109
- left={0}
110
- right={0}
111
- borderWidth={0}
112
- borderRadius={0}
113
- shadowOpacity={0}
114
- />}
115
- </>;
116
- }
117
- )
118
- );
119
- const Sheet = forwardRef(function Sheet2(props, ref) {
120
- const hydrated = useDidFinishSSR();
121
- const { isShowingNonSheet } = useSheetController();
122
- let SheetImplementation = SheetImplementationCustom;
123
- if (props.native && Platform.OS === "ios") {
124
- if (process.env.TAMAGUI_TARGET === "native") {
125
- const impl = getNativeSheet("ios");
126
- if (impl) {
127
- SheetImplementation = impl;
128
- }
129
- }
130
- }
131
- if (isShowingNonSheet || !hydrated) {
132
- return null;
133
- }
134
- return <SheetImplementation ref={ref} {...props} />;
135
- });
136
- const components = {
137
- Frame: SheetFrame,
138
- Overlay: SheetOverlay,
139
- Handle: SheetHandle,
140
- ScrollView: SheetScrollView
141
- };
142
- const Controlled = withStaticProperties(Sheet, components);
143
- return withStaticProperties(Sheet, {
144
- ...components,
145
- Controlled
146
- });
147
- }
148
- export {
149
- createSheet
150
- };
151
- //# sourceMappingURL=createSheet.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/createSheet.tsx"],
4
- "mappings": "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",
5
- "names": ["Sheet"]
6
- }
@@ -1,14 +0,0 @@
1
- function resisted(y, minY, maxOverflow = 25) {
2
- if (y < minY) {
3
- const past = minY - y;
4
- const pctPast = Math.min(maxOverflow, past) / maxOverflow;
5
- const diminishBy = 1.1 - Math.pow(0.1, pctPast);
6
- const extra = -diminishBy * maxOverflow;
7
- return minY + extra;
8
- }
9
- return y;
10
- }
11
- export {
12
- resisted
13
- };
14
- //# sourceMappingURL=helpers.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers.tsx"],
4
- "mappings": "AAAO,SAAS,SAAS,GAAW,MAAc,cAAc,IAAI;AAClE,MAAI,IAAI,MAAM;AACZ,UAAM,OAAO,OAAO;AACpB,UAAM,UAAU,KAAK,IAAI,aAAa,IAAI,IAAI;AAC9C,UAAM,aAAa,MAAM,KAAK,IAAI,KAAK,OAAO;AAC9C,UAAM,QAAQ,CAAC,aAAa;AAC5B,WAAO,OAAO;AAAA,EAChB;AACA,SAAO;AACT;",
5
- "names": []
6
- }