@tamagui/sheet 1.112.2 → 1.112.3

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 (40) hide show
  1. package/dist/cjs/SheetImplementationCustom.js +247 -249
  2. package/dist/cjs/SheetImplementationCustom.js.map +2 -2
  3. package/dist/cjs/SheetImplementationCustom.native.js +3 -3
  4. package/dist/cjs/SheetImplementationCustom.native.js.map +2 -2
  5. package/dist/cjs/constants.js +1 -4
  6. package/dist/cjs/constants.js.map +1 -1
  7. package/dist/cjs/constants.native.js +1 -4
  8. package/dist/cjs/constants.native.js.map +2 -2
  9. package/dist/esm/SheetImplementationCustom.js +253 -252
  10. package/dist/esm/SheetImplementationCustom.js.map +1 -1
  11. package/dist/esm/SheetImplementationCustom.mjs +8 -8
  12. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  13. package/dist/esm/SheetImplementationCustom.native.js +7 -7
  14. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  15. package/dist/esm/constants.js +1 -4
  16. package/dist/esm/constants.js.map +1 -1
  17. package/dist/esm/constants.mjs +2 -5
  18. package/dist/esm/constants.mjs.map +1 -1
  19. package/dist/esm/constants.native.js +2 -5
  20. package/dist/esm/constants.native.js.map +1 -1
  21. package/dist/jsx/SheetImplementationCustom.js +253 -252
  22. package/dist/jsx/SheetImplementationCustom.js.map +1 -1
  23. package/dist/jsx/SheetImplementationCustom.mjs +8 -8
  24. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  25. package/dist/jsx/SheetImplementationCustom.native.js +6 -7
  26. package/dist/jsx/SheetImplementationCustom.native.js.map +2 -2
  27. package/dist/jsx/constants.js +1 -4
  28. package/dist/jsx/constants.js.map +1 -1
  29. package/dist/jsx/constants.mjs +2 -5
  30. package/dist/jsx/constants.mjs.map +1 -1
  31. package/dist/jsx/constants.native.js +1 -4
  32. package/dist/jsx/constants.native.js.map +2 -2
  33. package/package.json +16 -16
  34. package/src/SheetImplementationCustom.tsx +442 -433
  35. package/src/constants.tsx +0 -9
  36. package/src/createSheet.tsx +1 -1
  37. package/types/SheetImplementationCustom.d.ts +2 -2
  38. package/types/SheetImplementationCustom.d.ts.map +1 -1
  39. package/types/constants.d.ts +0 -1
  40. package/types/constants.d.ts.map +1 -1
@@ -1,288 +1,289 @@
1
- import React from "react";
2
1
  import { AdaptParentContext } from "@tamagui/adapt";
3
2
  import { AnimatePresence } from "@tamagui/animate-presence";
4
3
  import { useComposedRefs } from "@tamagui/compose-refs";
5
- import { currentPlatform, isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
4
+ import {
5
+ currentPlatform,
6
+ isClient,
7
+ isWeb,
8
+ useIsomorphicLayoutEffect
9
+ } from "@tamagui/constants";
6
10
  import {
7
11
  getConfig,
8
12
  Stack,
9
13
  Theme,
10
- themeable,
11
14
  useConfiguration,
12
15
  useEvent,
13
16
  useThemeName
14
17
  } from "@tamagui/core";
15
18
  import { Portal } from "@tamagui/portal";
16
19
  import { useKeyboardVisible } from "@tamagui/use-keyboard-visible";
20
+ import React from "react";
17
21
  import { Dimensions, Keyboard, PanResponder, View } from "react-native-web";
18
- import { SHEET_HIDDEN_STYLESHEET } from "./constants";
19
22
  import { ParentSheetContext, SheetInsideSheetContext } from "./contexts";
20
23
  import { resisted } from "./helpers";
21
24
  import { SheetProvider } from "./SheetContext";
22
25
  import { useSheetOpenState } from "./useSheetOpenState";
23
26
  import { useSheetProviderProps } from "./useSheetProviderProps";
24
27
  import { jsx, jsxs } from "react/jsx-runtime";
25
- let hiddenSize = 10000.1;
26
- const SheetImplementationCustom = themeable(
27
- React.forwardRef(
28
- function(props, forwardedRef) {
29
- const parentSheet = React.useContext(ParentSheetContext), {
30
- animation,
31
- animationConfig: animationConfigProp,
32
- modal = !1,
33
- zIndex = parentSheet.zIndex + 1,
34
- moveOnKeyboardChange = !1,
35
- unmountChildrenWhenHidden = !1,
36
- portalProps,
37
- containerComponent: ContainerComponent = React.Fragment
38
- } = props, keyboardIsVisible = useKeyboardVisible(), state = useSheetOpenState(props), [overlayComponent, setOverlayComponent] = React.useState(null), providerProps = useSheetProviderProps(props, state, {
39
- onOverlayComponent: setOverlayComponent
40
- }), {
41
- frameSize,
42
- setFrameSize,
43
- snapPoints,
44
- snapPointsMode,
45
- hasFit,
46
- position,
47
- setPosition,
48
- scrollBridge,
49
- screenSize,
50
- setMaxContentSize,
51
- maxSnapPoint
52
- } = providerProps, { open, controller, isHidden } = state, sheetRef = React.useRef(null), ref = useComposedRefs(forwardedRef, sheetRef), animationConfig = (() => {
53
- const [animationProp, animationPropConfig] = animation ? Array.isArray(animation) ? animation : [animation] : [];
54
- return animationConfigProp ?? (animationProp ? {
55
- ...getConfig().animations.animations[animationProp],
56
- ...animationPropConfig
57
- } : null);
58
- })(), [isShowingInnerSheet, setIsShowingInnerSheet] = React.useState(!1), shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet, parentSheetContext = React.useContext(SheetInsideSheetContext), onInnerSheet = React.useCallback((hasChild) => {
59
- setIsShowingInnerSheet(hasChild);
60
- }, []), positions = React.useMemo(
61
- () => snapPoints.map(
62
- (point) => getYPositions(snapPointsMode, point, screenSize, frameSize)
63
- ),
64
- [screenSize, frameSize, snapPoints, snapPointsMode]
65
- ), { animationDriver } = useConfiguration(), { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } = animationDriver, AnimatedView = animationDriver.View ?? Stack;
66
- useIsomorphicLayoutEffect(() => {
67
- if (parentSheetContext && open)
68
- return parentSheetContext(!0), () => {
69
- parentSheetContext(!1);
70
- };
71
- }, [parentSheetContext, open]);
72
- const nextParentContext = React.useMemo(
73
- () => ({
74
- zIndex
75
- }),
76
- [zIndex]
77
- ), animatedNumber = useAnimatedNumber(hiddenSize), at = React.useRef(hiddenSize);
78
- useAnimatedNumberReaction(
79
- {
80
- value: animatedNumber,
81
- hostRef: sheetRef
28
+ let hiddenSize = 10000.1, sheetHiddenStyleSheet = null;
29
+ const SheetImplementationCustom = React.forwardRef(
30
+ function(props, forwardedRef) {
31
+ const parentSheet = React.useContext(ParentSheetContext), {
32
+ animation,
33
+ animationConfig: animationConfigProp,
34
+ modal = !1,
35
+ zIndex = parentSheet.zIndex + 1,
36
+ moveOnKeyboardChange = !1,
37
+ unmountChildrenWhenHidden = !1,
38
+ portalProps,
39
+ containerComponent: ContainerComponent = React.Fragment
40
+ } = props, keyboardIsVisible = useKeyboardVisible(), state = useSheetOpenState(props), [overlayComponent, setOverlayComponent] = React.useState(null), providerProps = useSheetProviderProps(props, state, {
41
+ onOverlayComponent: setOverlayComponent
42
+ }), {
43
+ frameSize,
44
+ setFrameSize,
45
+ snapPoints,
46
+ snapPointsMode,
47
+ hasFit,
48
+ position,
49
+ setPosition,
50
+ scrollBridge,
51
+ screenSize,
52
+ setMaxContentSize,
53
+ maxSnapPoint
54
+ } = providerProps, { open, controller, isHidden } = state, sheetRef = React.useRef(null), ref = useComposedRefs(forwardedRef, sheetRef), animationConfig = (() => {
55
+ const [animationProp, animationPropConfig] = animation ? Array.isArray(animation) ? animation : [animation] : [];
56
+ return animationConfigProp ?? (animationProp ? {
57
+ ...getConfig().animations.animations[animationProp],
58
+ ...animationPropConfig
59
+ } : null);
60
+ })(), [isShowingInnerSheet, setIsShowingInnerSheet] = React.useState(!1), shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet, parentSheetContext = React.useContext(SheetInsideSheetContext), onInnerSheet = React.useCallback((hasChild) => {
61
+ setIsShowingInnerSheet(hasChild);
62
+ }, []), positions = React.useMemo(
63
+ () => snapPoints.map(
64
+ (point) => getYPositions(snapPointsMode, point, screenSize, frameSize)
65
+ ),
66
+ [screenSize, frameSize, snapPoints, snapPointsMode]
67
+ ), { animationDriver } = useConfiguration(), { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } = animationDriver, AnimatedView = animationDriver.View ?? Stack;
68
+ useIsomorphicLayoutEffect(() => {
69
+ if (parentSheetContext && open)
70
+ return parentSheetContext(!0), () => {
71
+ parentSheetContext(!1);
72
+ };
73
+ }, [parentSheetContext, open]);
74
+ const nextParentContext = React.useMemo(
75
+ () => ({
76
+ zIndex
77
+ }),
78
+ [zIndex]
79
+ ), animatedNumber = useAnimatedNumber(hiddenSize), at = React.useRef(hiddenSize);
80
+ useAnimatedNumberReaction(
81
+ {
82
+ value: animatedNumber,
83
+ hostRef: sheetRef
84
+ },
85
+ React.useCallback(
86
+ (value) => {
87
+ at.current = value, scrollBridge.paneY = value;
82
88
  },
83
- React.useCallback(
84
- (value) => {
85
- at.current = value, scrollBridge.paneY = value;
86
- },
87
- [animationDriver]
88
- )
89
- );
90
- function stopSpring() {
91
- animatedNumber.stop(), scrollBridge.onFinishAnimate && (scrollBridge.onFinishAnimate(), scrollBridge.onFinishAnimate = void 0);
92
- }
93
- const hasntMeasured = at.current === hiddenSize, animateTo = useEvent((position2) => {
94
- if (frameSize === 0) return;
95
- let toValue = isHidden || position2 === -1 ? screenSize : positions[position2];
96
- if (at.current !== toValue) {
97
- if (at.current = toValue, stopSpring(), hasntMeasured || isHidden) {
98
- animatedNumber.setValue(
99
- screenSize,
100
- {
101
- type: "timing",
102
- duration: 0
103
- },
104
- () => {
105
- isHidden || (toValue = positions[position2], at.current = toValue, animatedNumber.setValue(toValue, {
106
- type: "spring",
107
- ...animationConfig
108
- }));
109
- }
110
- );
111
- return;
112
- }
113
- animatedNumber.setValue(toValue, {
114
- type: "spring",
115
- ...animationConfig
116
- });
89
+ [animationDriver]
90
+ )
91
+ );
92
+ function stopSpring() {
93
+ animatedNumber.stop(), scrollBridge.onFinishAnimate && (scrollBridge.onFinishAnimate(), scrollBridge.onFinishAnimate = void 0);
94
+ }
95
+ const hasntMeasured = at.current === hiddenSize, animateTo = useEvent((position2) => {
96
+ if (frameSize === 0) return;
97
+ let toValue = isHidden || position2 === -1 ? screenSize : positions[position2];
98
+ if (at.current !== toValue) {
99
+ if (at.current = toValue, stopSpring(), hasntMeasured || isHidden) {
100
+ animatedNumber.setValue(
101
+ screenSize,
102
+ {
103
+ type: "timing",
104
+ duration: 0
105
+ },
106
+ () => {
107
+ isHidden || (toValue = positions[position2], at.current = toValue, animatedNumber.setValue(toValue, {
108
+ type: "spring",
109
+ ...animationConfig
110
+ }));
111
+ }
112
+ );
113
+ return;
117
114
  }
118
- });
119
- useIsomorphicLayoutEffect(() => {
120
- screenSize && hasntMeasured && animatedNumber.setValue(screenSize, {
121
- type: "timing",
122
- duration: 0
115
+ animatedNumber.setValue(toValue, {
116
+ type: "spring",
117
+ ...animationConfig
123
118
  });
124
- }, [hasntMeasured, screenSize]), useIsomorphicLayoutEffect(() => {
125
- !frameSize || !screenSize || isHidden || hasntMeasured && !open || animateTo(position);
126
- }, [isHidden, frameSize, screenSize, open, position]);
127
- const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = useThemeName(), [isDragging, setIsDragging] = React.useState(!1), panResponder = React.useMemo(() => {
128
- if (disableDrag || !frameSize || isShowingInnerSheet) return;
129
- const minY = positions[0];
130
- scrollBridge.paneMinY = minY;
131
- let startY = at.current;
132
- function setPanning(val) {
133
- setIsDragging(val), SHEET_HIDDEN_STYLESHEET && (val ? SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : SHEET_HIDDEN_STYLESHEET.innerText = "");
119
+ }
120
+ });
121
+ useIsomorphicLayoutEffect(() => {
122
+ screenSize && hasntMeasured && animatedNumber.setValue(screenSize, {
123
+ type: "timing",
124
+ duration: 0
125
+ });
126
+ }, [hasntMeasured, screenSize]), useIsomorphicLayoutEffect(() => {
127
+ !frameSize || !screenSize || isHidden || hasntMeasured && !open || animateTo(position);
128
+ }, [isHidden, frameSize, screenSize, open, position]);
129
+ const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = useThemeName(), [isDragging, setIsDragging] = React.useState(!1), panResponder = React.useMemo(() => {
130
+ if (disableDrag || !frameSize || isShowingInnerSheet) return;
131
+ const minY = positions[0];
132
+ scrollBridge.paneMinY = minY;
133
+ let startY = at.current;
134
+ function setPanning(val) {
135
+ setIsDragging(val), isClient && (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 = "");
136
+ }
137
+ const release = ({ vy, dragAt }) => {
138
+ isExternalDrag = !1, previouslyScrolling = !1, setPanning(!1);
139
+ const end = dragAt + startY + frameSize * vy * 0.2;
140
+ let closestPoint = 0, dist = Number.POSITIVE_INFINITY;
141
+ for (let i = 0; i < positions.length; i++) {
142
+ const position2 = positions[i], curDist = end > position2 ? end - position2 : position2 - end;
143
+ curDist < dist && (dist = curDist, closestPoint = i);
134
144
  }
135
- const release = ({ vy, dragAt }) => {
136
- isExternalDrag = !1, previouslyScrolling = !1, setPanning(!1);
137
- const end = dragAt + startY + frameSize * vy * 0.2;
138
- let closestPoint = 0, dist = Number.POSITIVE_INFINITY;
139
- for (let i = 0; i < positions.length; i++) {
140
- const position2 = positions[i], curDist = end > position2 ? end - position2 : position2 - end;
141
- curDist < dist && (dist = curDist, closestPoint = i);
142
- }
143
- setPosition(closestPoint), animateTo(closestPoint);
144
- }, finish = (_e, state2) => {
145
- release({
146
- vy: state2.vy,
147
- dragAt: state2.dy
148
- });
149
- };
150
- let previouslyScrolling = !1;
151
- const onMoveShouldSet = (e, { dy }) => {
152
- if (e.target === providerProps.handleRef.current)
153
- return !0;
154
- const isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
155
- return isScrolled ? (previouslyScrolling = !0, !1) : isNearTop && !isScrolled && isDraggingUp && !isWeb ? !1 : Math.abs(dy) > 5;
156
- }, grant = () => {
157
- setPanning(!0), stopSpring(), startY = at.current;
158
- };
159
- let isExternalDrag = !1;
160
- return scrollBridge.drag = (dy) => {
161
- isExternalDrag || (isExternalDrag = !0, grant());
162
- const to = dy + startY;
163
- animatedNumber.setValue(resisted(to, minY), { type: "direct" });
164
- }, scrollBridge.release = release, PanResponder.create({
165
- onMoveShouldSetPanResponder: onMoveShouldSet,
166
- onPanResponderGrant: grant,
167
- onPanResponderMove: (_e, { dy }) => {
168
- const toFull = dy + startY, to = resisted(toFull, minY);
169
- animatedNumber.setValue(to, { type: "direct" });
170
- },
171
- onPanResponderEnd: finish,
172
- onPanResponderTerminate: finish,
173
- onPanResponderRelease: finish
145
+ setPosition(closestPoint), animateTo(closestPoint);
146
+ }, finish = (_e, state2) => {
147
+ release({
148
+ vy: state2.vy,
149
+ dragAt: state2.dy
174
150
  });
175
- }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]), handleAnimationViewLayout = React.useCallback(
176
- (e) => {
177
- const next = Math.min(
178
- e.nativeEvent?.layout.height,
179
- Dimensions.get("screen").height
180
- );
181
- next && setFrameSize(next);
151
+ };
152
+ let previouslyScrolling = !1;
153
+ const onMoveShouldSet = (e, { dy }) => {
154
+ if (e.target === providerProps.handleRef.current)
155
+ return !0;
156
+ const isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
157
+ return isScrolled ? (previouslyScrolling = !0, !1) : isNearTop && !isScrolled && isDraggingUp && !isWeb ? !1 : Math.abs(dy) > 5;
158
+ }, grant = () => {
159
+ setPanning(!0), stopSpring(), startY = at.current;
160
+ };
161
+ let isExternalDrag = !1;
162
+ return scrollBridge.drag = (dy) => {
163
+ isExternalDrag || (isExternalDrag = !0, grant());
164
+ const to = dy + startY;
165
+ animatedNumber.setValue(resisted(to, minY), { type: "direct" });
166
+ }, scrollBridge.release = release, PanResponder.create({
167
+ onMoveShouldSetPanResponder: onMoveShouldSet,
168
+ onPanResponderGrant: grant,
169
+ onPanResponderMove: (_e, { dy }) => {
170
+ const toFull = dy + startY, to = resisted(toFull, minY);
171
+ animatedNumber.setValue(to, { type: "direct" });
182
172
  },
183
- [keyboardIsVisible]
184
- ), handleMaxContentViewLayout = React.useCallback(
173
+ onPanResponderEnd: finish,
174
+ onPanResponderTerminate: finish,
175
+ onPanResponderRelease: finish
176
+ });
177
+ }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]), handleAnimationViewLayout = React.useCallback(
178
+ (e) => {
179
+ const next = Math.min(
180
+ e.nativeEvent?.layout.height,
181
+ Dimensions.get("screen").height
182
+ );
183
+ next && setFrameSize(next);
184
+ },
185
+ [keyboardIsVisible]
186
+ ), handleMaxContentViewLayout = React.useCallback(
187
+ (e) => {
188
+ const next = Math.min(
189
+ e.nativeEvent?.layout.height,
190
+ Dimensions.get("screen").height
191
+ );
192
+ next && setMaxContentSize(next);
193
+ },
194
+ [keyboardIsVisible]
195
+ ), animatedStyle = useAnimatedNumberStyle(animatedNumber, (val) => {
196
+ "worklet";
197
+ return {
198
+ transform: [{ translateY: frameSize === 0 ? hiddenSize : val }]
199
+ };
200
+ }), sizeBeforeKeyboard = React.useRef(null);
201
+ React.useEffect(() => {
202
+ if (isWeb || !moveOnKeyboardChange) return;
203
+ const keyboardShowListener = Keyboard.addListener(
204
+ currentPlatform === "ios" ? "keyboardWillShow" : "keyboardDidShow",
185
205
  (e) => {
186
- const next = Math.min(
187
- e.nativeEvent?.layout.height,
188
- Dimensions.get("screen").height
189
- );
190
- next && setMaxContentSize(next);
191
- },
192
- [keyboardIsVisible]
193
- ), animatedStyle = useAnimatedNumberStyle(animatedNumber, (val) => {
194
- "worklet";
195
- return {
196
- transform: [{ translateY: frameSize === 0 ? hiddenSize : val }]
197
- };
198
- }), sizeBeforeKeyboard = React.useRef(null);
199
- React.useEffect(() => {
200
- if (isWeb || !moveOnKeyboardChange) return;
201
- const keyboardShowListener = Keyboard.addListener(
202
- currentPlatform === "ios" ? "keyboardWillShow" : "keyboardDidShow",
203
- (e) => {
204
- sizeBeforeKeyboard.current === null && (sizeBeforeKeyboard.current = isHidden || position === -1 ? screenSize : positions[position], animatedNumber.setValue(
205
- Math.max(sizeBeforeKeyboard.current - e.endCoordinates.height, 0),
206
- {
207
- type: "timing",
208
- duration: 250
209
- }
210
- ));
211
- }
212
- ), keyboardDidHideListener = Keyboard.addListener("keyboardDidHide", () => {
213
- sizeBeforeKeyboard.current !== null && (animatedNumber.setValue(sizeBeforeKeyboard.current, {
214
- type: "timing",
215
- duration: 250
216
- }), sizeBeforeKeyboard.current = null);
217
- });
206
+ sizeBeforeKeyboard.current === null && (sizeBeforeKeyboard.current = isHidden || position === -1 ? screenSize : positions[position], animatedNumber.setValue(
207
+ Math.max(sizeBeforeKeyboard.current - e.endCoordinates.height, 0),
208
+ {
209
+ type: "timing",
210
+ duration: 250
211
+ }
212
+ ));
213
+ }
214
+ ), keyboardDidHideListener = Keyboard.addListener("keyboardDidHide", () => {
215
+ sizeBeforeKeyboard.current !== null && (animatedNumber.setValue(sizeBeforeKeyboard.current, {
216
+ type: "timing",
217
+ duration: 250
218
+ }), sizeBeforeKeyboard.current = null);
219
+ });
220
+ return () => {
221
+ keyboardDidHideListener.remove(), keyboardShowListener.remove();
222
+ };
223
+ }, [moveOnKeyboardChange, positions, position, isHidden]);
224
+ const [opacity, setOpacity] = React.useState(open ? 1 : 0);
225
+ open && opacity === 0 && setOpacity(1), React.useEffect(() => {
226
+ if (!open) {
227
+ const tm = setTimeout(() => {
228
+ setOpacity(0);
229
+ }, 400);
218
230
  return () => {
219
- keyboardDidHideListener.remove(), keyboardShowListener.remove();
231
+ clearTimeout(tm);
220
232
  };
221
- }, [moveOnKeyboardChange, positions, position, isHidden]);
222
- const [opacity, setOpacity] = React.useState(open ? 1 : 0);
223
- open && opacity === 0 && setOpacity(1), React.useEffect(() => {
224
- if (!open) {
225
- const tm = setTimeout(() => {
226
- setOpacity(0);
227
- }, 400);
228
- return () => {
229
- clearTimeout(tm);
230
- };
233
+ }
234
+ }, [open]);
235
+ const forcedContentHeight = hasFit ? void 0 : snapPointsMode === "percent" ? `${maxSnapPoint}${isWeb ? "dvh" : "%"}` : maxSnapPoint, contents = /* @__PURE__ */ jsx(ParentSheetContext.Provider, { value: nextParentContext, children: /* @__PURE__ */ jsxs(SheetProvider, { ...providerProps, children: [
236
+ /* @__PURE__ */ jsx(AnimatePresence, { custom: { open }, children: shouldHideParentSheet || !open ? null : overlayComponent }),
237
+ snapPointsMode !== "percent" && /* @__PURE__ */ jsx(
238
+ View,
239
+ {
240
+ style: {
241
+ opacity: 0,
242
+ position: "absolute",
243
+ top: 0,
244
+ left: 0,
245
+ right: 0,
246
+ bottom: 0,
247
+ pointerEvents: "none"
248
+ },
249
+ onLayout: handleMaxContentViewLayout
231
250
  }
232
- }, [open]);
233
- const forcedContentHeight = hasFit ? void 0 : snapPointsMode === "percent" ? `${maxSnapPoint}${isWeb ? "dvh" : "%"}` : maxSnapPoint, contents = /* @__PURE__ */ jsx(ParentSheetContext.Provider, { value: nextParentContext, children: /* @__PURE__ */ jsxs(SheetProvider, { ...providerProps, children: [
234
- /* @__PURE__ */ jsx(AnimatePresence, { custom: { open }, children: shouldHideParentSheet || !open ? null : overlayComponent }),
235
- snapPointsMode !== "percent" && /* @__PURE__ */ jsx(
236
- View,
237
- {
238
- style: {
239
- opacity: 0,
251
+ ),
252
+ /* @__PURE__ */ jsx(
253
+ AnimatedView,
254
+ {
255
+ ref,
256
+ ...panResponder?.panHandlers,
257
+ onLayout: handleAnimationViewLayout,
258
+ ...!isDragging && {
259
+ // @ts-ignore for CSS driver this is necessary to attach the transition
260
+ animation
261
+ },
262
+ disableClassName: !0,
263
+ style: [
264
+ {
240
265
  position: "absolute",
241
- top: 0,
242
- left: 0,
243
- right: 0,
244
- bottom: 0,
245
- pointerEvents: "none"
246
- },
247
- onLayout: handleMaxContentViewLayout
248
- }
249
- ),
250
- /* @__PURE__ */ jsx(
251
- AnimatedView,
252
- {
253
- ref,
254
- ...panResponder?.panHandlers,
255
- onLayout: handleAnimationViewLayout,
256
- ...!isDragging && {
257
- // @ts-ignore for CSS driver this is necessary to attach the transition
258
- animation
266
+ zIndex,
267
+ width: "100%",
268
+ height: forcedContentHeight,
269
+ minHeight: forcedContentHeight,
270
+ opacity,
271
+ ...(shouldHideParentSheet || !open) && {
272
+ pointerEvents: "none"
273
+ }
259
274
  },
260
- disableClassName: !0,
261
- style: [
262
- {
263
- position: "absolute",
264
- zIndex,
265
- width: "100%",
266
- height: forcedContentHeight,
267
- minHeight: forcedContentHeight,
268
- opacity,
269
- ...(shouldHideParentSheet || !open) && {
270
- pointerEvents: "none"
271
- }
272
- },
273
- animatedStyle
274
- ],
275
- children: props.children
276
- }
277
- )
278
- ] }) }), adaptContext = React.useContext(AdaptParentContext), shouldMountChildren = !!(opacity || !unmountChildrenWhenHidden);
279
- if (modal) {
280
- const modalContents = /* @__PURE__ */ jsx(Portal, { zIndex, ...portalProps, children: shouldMountChildren && /* @__PURE__ */ jsx(ContainerComponent, { children: /* @__PURE__ */ jsx(Theme, { forceClassName: !0, name: themeName, children: /* @__PURE__ */ jsx(AdaptParentContext.Provider, { value: adaptContext, children: contents }) }) }) });
281
- return isWeb ? modalContents : /* @__PURE__ */ jsx(SheetInsideSheetContext.Provider, { value: onInnerSheet, children: modalContents });
282
- }
283
- return contents;
275
+ animatedStyle
276
+ ],
277
+ children: props.children
278
+ }
279
+ )
280
+ ] }) }), adaptContext = React.useContext(AdaptParentContext), shouldMountChildren = !!(opacity || !unmountChildrenWhenHidden);
281
+ if (modal) {
282
+ const modalContents = /* @__PURE__ */ jsx(Portal, { zIndex, ...portalProps, children: shouldMountChildren && /* @__PURE__ */ jsx(ContainerComponent, { children: /* @__PURE__ */ jsx(Theme, { forceClassName: !0, name: themeName, children: /* @__PURE__ */ jsx(AdaptParentContext.Provider, { value: adaptContext, children: contents }) }) }) });
283
+ return isWeb ? modalContents : /* @__PURE__ */ jsx(SheetInsideSheetContext.Provider, { value: onInnerSheet, children: modalContents });
284
284
  }
285
- )
285
+ return contents;
286
+ }
286
287
  );
287
288
  function getYPositions(mode, point, screenSize, frameSize) {
288
289
  if (!screenSize || !frameSize) return 0;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/SheetImplementationCustom.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["position", "state", "pct"]
6
6
  }