@tamagui/sheet 1.75.7 → 1.75.9
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.
- package/dist/cjs/SheetImplementationCustom.js +18 -8
- package/dist/cjs/SheetImplementationCustom.js.map +1 -1
- package/dist/cjs/SheetImplementationCustom.native.js +18 -8
- package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
- package/dist/esm/SheetImplementationCustom.js +19 -8
- package/dist/esm/SheetImplementationCustom.js.map +1 -1
- package/dist/esm/SheetImplementationCustom.native.js +19 -8
- package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
- package/dist/jsx/SheetImplementationCustom.js +19 -8
- package/dist/jsx/SheetImplementationCustom.js.map +1 -1
- package/dist/jsx/SheetImplementationCustom.native.js +19 -8
- package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
- package/package.json +14 -14
- package/src/SheetImplementationCustom.tsx +23 -6
- package/types/SheetImplementationCustom.d.ts.map +1 -1
|
@@ -76,7 +76,7 @@ const SheetImplementationCustom = (0, import_core.themeable)(
|
|
|
76
76
|
},
|
|
77
77
|
(0, import_react.useCallback)(
|
|
78
78
|
(value) => {
|
|
79
|
-
|
|
79
|
+
at.current = value, scrollBridge.paneY = value;
|
|
80
80
|
},
|
|
81
81
|
[animationDriver]
|
|
82
82
|
)
|
|
@@ -111,18 +111,18 @@ const SheetImplementationCustom = (0, import_core.themeable)(
|
|
|
111
111
|
}, [hasntMeasured, screenSize]), (0, import_core.useIsomorphicLayoutEffect)(() => {
|
|
112
112
|
!frameSize || !screenSize || isHidden || hasntMeasured && !open || animateTo(position);
|
|
113
113
|
}, [isHidden, frameSize, screenSize, open, position]);
|
|
114
|
-
const disableDrag = props.disableDrag ?? (controller == null ? void 0 : controller.disableDrag), themeName = (0, import_core.useThemeName)(), panResponder = (0, import_react.useMemo)(
|
|
114
|
+
const disableDrag = props.disableDrag ?? (controller == null ? void 0 : controller.disableDrag), themeName = (0, import_core.useThemeName)(), [isDragging, setIsDragging] = (0, import_react.useState)(!1), panResponder = (0, import_react.useMemo)(
|
|
115
115
|
() => {
|
|
116
116
|
if (disableDrag || !frameSize || isShowingInnerSheet)
|
|
117
117
|
return;
|
|
118
118
|
const minY = positions[0];
|
|
119
119
|
scrollBridge.paneMinY = minY;
|
|
120
120
|
let startY = at.current;
|
|
121
|
-
function
|
|
122
|
-
import_constants.SHEET_HIDDEN_STYLESHEET && (val ? import_constants.SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : import_constants.SHEET_HIDDEN_STYLESHEET.innerText = "");
|
|
121
|
+
function setPanning(val) {
|
|
122
|
+
setIsDragging(val), import_constants.SHEET_HIDDEN_STYLESHEET && (val ? import_constants.SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : import_constants.SHEET_HIDDEN_STYLESHEET.innerText = "");
|
|
123
123
|
}
|
|
124
124
|
const release = ({ vy, dragAt }) => {
|
|
125
|
-
isExternalDrag = !1, previouslyScrolling = !1,
|
|
125
|
+
isExternalDrag = !1, previouslyScrolling = !1, setPanning(!1);
|
|
126
126
|
const end = dragAt + startY + frameSize * vy * 0.2;
|
|
127
127
|
let closestPoint = 0, dist = 1 / 0;
|
|
128
128
|
for (let i = 0; i < positions.length; i++) {
|
|
@@ -141,7 +141,7 @@ const SheetImplementationCustom = (0, import_core.themeable)(
|
|
|
141
141
|
const isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
|
|
142
142
|
return isScrolled ? (previouslyScrolling = !0, !1) : isNearTop && !isScrolled && isDraggingUp ? !1 : Math.abs(dy) > 5;
|
|
143
143
|
}, grant = () => {
|
|
144
|
-
|
|
144
|
+
setPanning(!0), stopSpring(), startY = at.current;
|
|
145
145
|
};
|
|
146
146
|
let isExternalDrag = !1;
|
|
147
147
|
return scrollBridge.drag = (dy) => {
|
|
@@ -165,14 +165,20 @@ const SheetImplementationCustom = (0, import_core.themeable)(
|
|
|
165
165
|
), handleAnimationViewLayout = (0, import_react.useCallback)(
|
|
166
166
|
(e) => {
|
|
167
167
|
var _a;
|
|
168
|
-
const next = (
|
|
168
|
+
const next = Math.min(
|
|
169
|
+
(_a = e.nativeEvent) == null ? void 0 : _a.layout.height,
|
|
170
|
+
import_react_native.Dimensions.get("window").height
|
|
171
|
+
);
|
|
169
172
|
next && setFrameSize(next);
|
|
170
173
|
},
|
|
171
174
|
[keyboardIsVisible]
|
|
172
175
|
), handleMaxContentViewLayout = (0, import_react.useCallback)(
|
|
173
176
|
(e) => {
|
|
174
177
|
var _a;
|
|
175
|
-
const next = (
|
|
178
|
+
const next = Math.min(
|
|
179
|
+
(_a = e.nativeEvent) == null ? void 0 : _a.layout.height,
|
|
180
|
+
import_react_native.Dimensions.get("window").height
|
|
181
|
+
);
|
|
176
182
|
next && setMaxContentSize(next);
|
|
177
183
|
},
|
|
178
184
|
[keyboardIsVisible]
|
|
@@ -232,6 +238,10 @@ const SheetImplementationCustom = (0, import_core.themeable)(
|
|
|
232
238
|
...panResponder == null ? void 0 : panResponder.panHandlers,
|
|
233
239
|
onLayout: handleAnimationViewLayout,
|
|
234
240
|
pointerEvents: open && !shouldHideParentSheet ? "auto" : "none",
|
|
241
|
+
...!isDragging && {
|
|
242
|
+
// @ts-ignore for CSS driver this is necessary to attach the transition
|
|
243
|
+
animation
|
|
244
|
+
},
|
|
235
245
|
style: [
|
|
236
246
|
{
|
|
237
247
|
position: "absolute",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/SheetImplementationCustom.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC,2BACnC,0BAAgC,sCAChC,sBAAgC,kCAChC,cASO,0BACP,gBAAuB,4BACvB,8BAAmC,0CACnC,eAQO,kBACP,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["position", "state", "pct"]
|
|
6
6
|
}
|
|
@@ -77,7 +77,7 @@ const SheetImplementationCustom = (0, import_core.themeable)(
|
|
|
77
77
|
},
|
|
78
78
|
(0, import_react.useCallback)(
|
|
79
79
|
(value) => {
|
|
80
|
-
|
|
80
|
+
at.current = value, scrollBridge.paneY = value;
|
|
81
81
|
},
|
|
82
82
|
[animationDriver]
|
|
83
83
|
)
|
|
@@ -112,18 +112,18 @@ const SheetImplementationCustom = (0, import_core.themeable)(
|
|
|
112
112
|
}, [hasntMeasured, screenSize]), (0, import_core.useIsomorphicLayoutEffect)(() => {
|
|
113
113
|
!frameSize || !screenSize || isHidden || hasntMeasured && !open || animateTo(position);
|
|
114
114
|
}, [isHidden, frameSize, screenSize, open, position]);
|
|
115
|
-
const disableDrag = props.disableDrag ?? (controller == null ? void 0 : controller.disableDrag), themeName = (0, import_core.useThemeName)(), panResponder = (0, import_react.useMemo)(
|
|
115
|
+
const disableDrag = props.disableDrag ?? (controller == null ? void 0 : controller.disableDrag), themeName = (0, import_core.useThemeName)(), [isDragging, setIsDragging] = (0, import_react.useState)(!1), panResponder = (0, import_react.useMemo)(
|
|
116
116
|
() => {
|
|
117
117
|
if (disableDrag || !frameSize || isShowingInnerSheet)
|
|
118
118
|
return;
|
|
119
119
|
const minY = positions[0];
|
|
120
120
|
scrollBridge.paneMinY = minY;
|
|
121
121
|
let startY = at.current;
|
|
122
|
-
function
|
|
123
|
-
import_constants.SHEET_HIDDEN_STYLESHEET && (val ? import_constants.SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : import_constants.SHEET_HIDDEN_STYLESHEET.innerText = "");
|
|
122
|
+
function setPanning(val) {
|
|
123
|
+
setIsDragging(val), import_constants.SHEET_HIDDEN_STYLESHEET && (val ? import_constants.SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : import_constants.SHEET_HIDDEN_STYLESHEET.innerText = "");
|
|
124
124
|
}
|
|
125
125
|
const release = ({ vy, dragAt }) => {
|
|
126
|
-
isExternalDrag = !1, previouslyScrolling = !1,
|
|
126
|
+
isExternalDrag = !1, previouslyScrolling = !1, setPanning(!1);
|
|
127
127
|
const end = dragAt + startY + frameSize * vy * 0.2;
|
|
128
128
|
let closestPoint = 0, dist = 1 / 0;
|
|
129
129
|
for (let i = 0; i < positions.length; i++) {
|
|
@@ -142,7 +142,7 @@ const SheetImplementationCustom = (0, import_core.themeable)(
|
|
|
142
142
|
const isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
|
|
143
143
|
return isScrolled ? (previouslyScrolling = !0, !1) : isNearTop && !isScrolled && isDraggingUp ? !1 : Math.abs(dy) > 5;
|
|
144
144
|
}, grant = () => {
|
|
145
|
-
|
|
145
|
+
setPanning(!0), stopSpring(), startY = at.current;
|
|
146
146
|
};
|
|
147
147
|
let isExternalDrag = !1;
|
|
148
148
|
return scrollBridge.drag = (dy) => {
|
|
@@ -166,14 +166,20 @@ const SheetImplementationCustom = (0, import_core.themeable)(
|
|
|
166
166
|
), handleAnimationViewLayout = (0, import_react.useCallback)(
|
|
167
167
|
(e) => {
|
|
168
168
|
var _a;
|
|
169
|
-
const next = (
|
|
169
|
+
const next = Math.min(
|
|
170
|
+
(_a = e.nativeEvent) == null ? void 0 : _a.layout.height,
|
|
171
|
+
import_react_native.Dimensions.get("window").height
|
|
172
|
+
);
|
|
170
173
|
next && setFrameSize(next);
|
|
171
174
|
},
|
|
172
175
|
[keyboardIsVisible]
|
|
173
176
|
), handleMaxContentViewLayout = (0, import_react.useCallback)(
|
|
174
177
|
(e) => {
|
|
175
178
|
var _a;
|
|
176
|
-
const next = (
|
|
179
|
+
const next = Math.min(
|
|
180
|
+
(_a = e.nativeEvent) == null ? void 0 : _a.layout.height,
|
|
181
|
+
import_react_native.Dimensions.get("window").height
|
|
182
|
+
);
|
|
177
183
|
next && setMaxContentSize(next);
|
|
178
184
|
},
|
|
179
185
|
[keyboardIsVisible]
|
|
@@ -233,6 +239,10 @@ const SheetImplementationCustom = (0, import_core.themeable)(
|
|
|
233
239
|
...panResponder == null ? void 0 : panResponder.panHandlers,
|
|
234
240
|
onLayout: handleAnimationViewLayout,
|
|
235
241
|
pointerEvents: open && !shouldHideParentSheet ? "auto" : "none",
|
|
242
|
+
...!isDragging && {
|
|
243
|
+
// @ts-ignore for CSS driver this is necessary to attach the transition
|
|
244
|
+
animation
|
|
245
|
+
},
|
|
236
246
|
style: [
|
|
237
247
|
{
|
|
238
248
|
position: "absolute",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/SheetImplementationCustom.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC,2BACnC,0BAAgC,sCAChC,sBAAgC,kCAChC,cASO,0BACP,gBAAuB,4BACvB,8BAAmC,0CACnC,eAQO,kBACP,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["position", "state", "pct"]
|
|
6
6
|
}
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
useState
|
|
24
24
|
} from "react";
|
|
25
25
|
import {
|
|
26
|
+
Dimensions,
|
|
26
27
|
Keyboard,
|
|
27
28
|
PanResponder,
|
|
28
29
|
View
|
|
@@ -92,7 +93,7 @@ const SheetImplementationCustom = themeable(
|
|
|
92
93
|
},
|
|
93
94
|
useCallback(
|
|
94
95
|
(value) => {
|
|
95
|
-
|
|
96
|
+
at.current = value, scrollBridge.paneY = value;
|
|
96
97
|
},
|
|
97
98
|
[animationDriver]
|
|
98
99
|
)
|
|
@@ -127,18 +128,18 @@ const SheetImplementationCustom = themeable(
|
|
|
127
128
|
}, [hasntMeasured, screenSize]), useIsomorphicLayoutEffect(() => {
|
|
128
129
|
!frameSize || !screenSize || isHidden || hasntMeasured && !open || animateTo(position);
|
|
129
130
|
}, [isHidden, frameSize, screenSize, open, position]);
|
|
130
|
-
const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = useThemeName(), panResponder = useMemo(
|
|
131
|
+
const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = useThemeName(), [isDragging, setIsDragging] = useState(!1), panResponder = useMemo(
|
|
131
132
|
() => {
|
|
132
133
|
if (disableDrag || !frameSize || isShowingInnerSheet)
|
|
133
134
|
return;
|
|
134
135
|
const minY = positions[0];
|
|
135
136
|
scrollBridge.paneMinY = minY;
|
|
136
137
|
let startY = at.current;
|
|
137
|
-
function
|
|
138
|
-
SHEET_HIDDEN_STYLESHEET && (val ? SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : SHEET_HIDDEN_STYLESHEET.innerText = "");
|
|
138
|
+
function setPanning(val) {
|
|
139
|
+
setIsDragging(val), SHEET_HIDDEN_STYLESHEET && (val ? SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : SHEET_HIDDEN_STYLESHEET.innerText = "");
|
|
139
140
|
}
|
|
140
141
|
const release = ({ vy, dragAt }) => {
|
|
141
|
-
isExternalDrag = !1, previouslyScrolling = !1,
|
|
142
|
+
isExternalDrag = !1, previouslyScrolling = !1, setPanning(!1);
|
|
142
143
|
const end = dragAt + startY + frameSize * vy * 0.2;
|
|
143
144
|
let closestPoint = 0, dist = 1 / 0;
|
|
144
145
|
for (let i = 0; i < positions.length; i++) {
|
|
@@ -157,7 +158,7 @@ const SheetImplementationCustom = themeable(
|
|
|
157
158
|
const isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
|
|
158
159
|
return isScrolled ? (previouslyScrolling = !0, !1) : isNearTop && !isScrolled && isDraggingUp ? !1 : Math.abs(dy) > 5;
|
|
159
160
|
}, grant = () => {
|
|
160
|
-
|
|
161
|
+
setPanning(!0), stopSpring(), startY = at.current;
|
|
161
162
|
};
|
|
162
163
|
let isExternalDrag = !1;
|
|
163
164
|
return scrollBridge.drag = (dy) => {
|
|
@@ -180,13 +181,19 @@ const SheetImplementationCustom = themeable(
|
|
|
180
181
|
[disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]
|
|
181
182
|
), handleAnimationViewLayout = useCallback(
|
|
182
183
|
(e) => {
|
|
183
|
-
const next =
|
|
184
|
+
const next = Math.min(
|
|
185
|
+
e.nativeEvent?.layout.height,
|
|
186
|
+
Dimensions.get("window").height
|
|
187
|
+
);
|
|
184
188
|
next && setFrameSize(next);
|
|
185
189
|
},
|
|
186
190
|
[keyboardIsVisible]
|
|
187
191
|
), handleMaxContentViewLayout = useCallback(
|
|
188
192
|
(e) => {
|
|
189
|
-
const next =
|
|
193
|
+
const next = Math.min(
|
|
194
|
+
e.nativeEvent?.layout.height,
|
|
195
|
+
Dimensions.get("window").height
|
|
196
|
+
);
|
|
190
197
|
next && setMaxContentSize(next);
|
|
191
198
|
},
|
|
192
199
|
[keyboardIsVisible]
|
|
@@ -246,6 +253,10 @@ const SheetImplementationCustom = themeable(
|
|
|
246
253
|
...panResponder?.panHandlers,
|
|
247
254
|
onLayout: handleAnimationViewLayout,
|
|
248
255
|
pointerEvents: open && !shouldHideParentSheet ? "auto" : "none",
|
|
256
|
+
...!isDragging && {
|
|
257
|
+
// @ts-ignore for CSS driver this is necessary to attach the transition
|
|
258
|
+
animation
|
|
259
|
+
},
|
|
249
260
|
style: [
|
|
250
261
|
{
|
|
251
262
|
position: "absolute",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/SheetImplementationCustom.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,0BAA0B;AACnC,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AACvB,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["position", "state", "pct"]
|
|
6
6
|
}
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
useState
|
|
24
24
|
} from "react";
|
|
25
25
|
import {
|
|
26
|
+
Dimensions,
|
|
26
27
|
Keyboard,
|
|
27
28
|
PanResponder,
|
|
28
29
|
View
|
|
@@ -92,7 +93,7 @@ const SheetImplementationCustom = themeable(
|
|
|
92
93
|
},
|
|
93
94
|
useCallback(
|
|
94
95
|
(value) => {
|
|
95
|
-
|
|
96
|
+
at.current = value, scrollBridge.paneY = value;
|
|
96
97
|
},
|
|
97
98
|
[animationDriver]
|
|
98
99
|
)
|
|
@@ -127,18 +128,18 @@ const SheetImplementationCustom = themeable(
|
|
|
127
128
|
}, [hasntMeasured, screenSize]), useIsomorphicLayoutEffect(() => {
|
|
128
129
|
!frameSize || !screenSize || isHidden || hasntMeasured && !open || animateTo(position);
|
|
129
130
|
}, [isHidden, frameSize, screenSize, open, position]);
|
|
130
|
-
const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = useThemeName(), panResponder = useMemo(
|
|
131
|
+
const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = useThemeName(), [isDragging, setIsDragging] = useState(!1), panResponder = useMemo(
|
|
131
132
|
() => {
|
|
132
133
|
if (disableDrag || !frameSize || isShowingInnerSheet)
|
|
133
134
|
return;
|
|
134
135
|
const minY = positions[0];
|
|
135
136
|
scrollBridge.paneMinY = minY;
|
|
136
137
|
let startY = at.current;
|
|
137
|
-
function
|
|
138
|
-
SHEET_HIDDEN_STYLESHEET && (val ? SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : SHEET_HIDDEN_STYLESHEET.innerText = "");
|
|
138
|
+
function setPanning(val) {
|
|
139
|
+
setIsDragging(val), SHEET_HIDDEN_STYLESHEET && (val ? SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : SHEET_HIDDEN_STYLESHEET.innerText = "");
|
|
139
140
|
}
|
|
140
141
|
const release = ({ vy, dragAt }) => {
|
|
141
|
-
isExternalDrag = !1, previouslyScrolling = !1,
|
|
142
|
+
isExternalDrag = !1, previouslyScrolling = !1, setPanning(!1);
|
|
142
143
|
const end = dragAt + startY + frameSize * vy * 0.2;
|
|
143
144
|
let closestPoint = 0, dist = 1 / 0;
|
|
144
145
|
for (let i = 0; i < positions.length; i++) {
|
|
@@ -157,7 +158,7 @@ const SheetImplementationCustom = themeable(
|
|
|
157
158
|
const isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
|
|
158
159
|
return isScrolled ? (previouslyScrolling = !0, !1) : isNearTop && !isScrolled && isDraggingUp ? !1 : Math.abs(dy) > 5;
|
|
159
160
|
}, grant = () => {
|
|
160
|
-
|
|
161
|
+
setPanning(!0), stopSpring(), startY = at.current;
|
|
161
162
|
};
|
|
162
163
|
let isExternalDrag = !1;
|
|
163
164
|
return scrollBridge.drag = (dy) => {
|
|
@@ -180,13 +181,19 @@ const SheetImplementationCustom = themeable(
|
|
|
180
181
|
[disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]
|
|
181
182
|
), handleAnimationViewLayout = useCallback(
|
|
182
183
|
(e) => {
|
|
183
|
-
const next =
|
|
184
|
+
const next = Math.min(
|
|
185
|
+
e.nativeEvent?.layout.height,
|
|
186
|
+
Dimensions.get("window").height
|
|
187
|
+
);
|
|
184
188
|
next && setFrameSize(next);
|
|
185
189
|
},
|
|
186
190
|
[keyboardIsVisible]
|
|
187
191
|
), handleMaxContentViewLayout = useCallback(
|
|
188
192
|
(e) => {
|
|
189
|
-
const next =
|
|
193
|
+
const next = Math.min(
|
|
194
|
+
e.nativeEvent?.layout.height,
|
|
195
|
+
Dimensions.get("window").height
|
|
196
|
+
);
|
|
190
197
|
next && setMaxContentSize(next);
|
|
191
198
|
},
|
|
192
199
|
[keyboardIsVisible]
|
|
@@ -246,6 +253,10 @@ const SheetImplementationCustom = themeable(
|
|
|
246
253
|
...panResponder?.panHandlers,
|
|
247
254
|
onLayout: handleAnimationViewLayout,
|
|
248
255
|
pointerEvents: open && !shouldHideParentSheet ? "auto" : "none",
|
|
256
|
+
...!isDragging && {
|
|
257
|
+
// @ts-ignore for CSS driver this is necessary to attach the transition
|
|
258
|
+
animation
|
|
259
|
+
},
|
|
249
260
|
style: [
|
|
250
261
|
{
|
|
251
262
|
position: "absolute",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/SheetImplementationCustom.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,0BAA0B;AACnC,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AACvB,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["position", "state", "pct"]
|
|
6
6
|
}
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
useState
|
|
24
24
|
} from "react";
|
|
25
25
|
import {
|
|
26
|
+
Dimensions,
|
|
26
27
|
Keyboard,
|
|
27
28
|
PanResponder,
|
|
28
29
|
View
|
|
@@ -91,7 +92,7 @@ const SheetImplementationCustom = themeable(
|
|
|
91
92
|
},
|
|
92
93
|
useCallback(
|
|
93
94
|
(value) => {
|
|
94
|
-
|
|
95
|
+
at.current = value, scrollBridge.paneY = value;
|
|
95
96
|
},
|
|
96
97
|
[animationDriver]
|
|
97
98
|
)
|
|
@@ -126,18 +127,18 @@ const SheetImplementationCustom = themeable(
|
|
|
126
127
|
}, [hasntMeasured, screenSize]), useIsomorphicLayoutEffect(() => {
|
|
127
128
|
!frameSize || !screenSize || isHidden || hasntMeasured && !open || animateTo(position);
|
|
128
129
|
}, [isHidden, frameSize, screenSize, open, position]);
|
|
129
|
-
const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = useThemeName(), panResponder = useMemo(
|
|
130
|
+
const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = useThemeName(), [isDragging, setIsDragging] = useState(!1), panResponder = useMemo(
|
|
130
131
|
() => {
|
|
131
132
|
if (disableDrag || !frameSize || isShowingInnerSheet)
|
|
132
133
|
return;
|
|
133
134
|
const minY = positions[0];
|
|
134
135
|
scrollBridge.paneMinY = minY;
|
|
135
136
|
let startY = at.current;
|
|
136
|
-
function
|
|
137
|
-
SHEET_HIDDEN_STYLESHEET && (val ? SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : SHEET_HIDDEN_STYLESHEET.innerText = "");
|
|
137
|
+
function setPanning(val) {
|
|
138
|
+
setIsDragging(val), SHEET_HIDDEN_STYLESHEET && (val ? SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : SHEET_HIDDEN_STYLESHEET.innerText = "");
|
|
138
139
|
}
|
|
139
140
|
const release = ({ vy, dragAt }) => {
|
|
140
|
-
isExternalDrag = !1, previouslyScrolling = !1,
|
|
141
|
+
isExternalDrag = !1, previouslyScrolling = !1, setPanning(!1);
|
|
141
142
|
const end = dragAt + startY + frameSize * vy * 0.2;
|
|
142
143
|
let closestPoint = 0, dist = 1 / 0;
|
|
143
144
|
for (let i = 0; i < positions.length; i++) {
|
|
@@ -156,7 +157,7 @@ const SheetImplementationCustom = themeable(
|
|
|
156
157
|
const isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
|
|
157
158
|
return isScrolled ? (previouslyScrolling = !0, !1) : isNearTop && !isScrolled && isDraggingUp ? !1 : Math.abs(dy) > 5;
|
|
158
159
|
}, grant = () => {
|
|
159
|
-
|
|
160
|
+
setPanning(!0), stopSpring(), startY = at.current;
|
|
160
161
|
};
|
|
161
162
|
let isExternalDrag = !1;
|
|
162
163
|
return scrollBridge.drag = (dy) => {
|
|
@@ -179,13 +180,19 @@ const SheetImplementationCustom = themeable(
|
|
|
179
180
|
[disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]
|
|
180
181
|
), handleAnimationViewLayout = useCallback(
|
|
181
182
|
(e) => {
|
|
182
|
-
const next =
|
|
183
|
+
const next = Math.min(
|
|
184
|
+
e.nativeEvent?.layout.height,
|
|
185
|
+
Dimensions.get("window").height
|
|
186
|
+
);
|
|
183
187
|
next && setFrameSize(next);
|
|
184
188
|
},
|
|
185
189
|
[keyboardIsVisible]
|
|
186
190
|
), handleMaxContentViewLayout = useCallback(
|
|
187
191
|
(e) => {
|
|
188
|
-
const next =
|
|
192
|
+
const next = Math.min(
|
|
193
|
+
e.nativeEvent?.layout.height,
|
|
194
|
+
Dimensions.get("window").height
|
|
195
|
+
);
|
|
189
196
|
next && setMaxContentSize(next);
|
|
190
197
|
},
|
|
191
198
|
[keyboardIsVisible]
|
|
@@ -240,6 +247,10 @@ const SheetImplementationCustom = themeable(
|
|
|
240
247
|
{...panResponder?.panHandlers}
|
|
241
248
|
onLayout={handleAnimationViewLayout}
|
|
242
249
|
pointerEvents={open && !shouldHideParentSheet ? "auto" : "none"}
|
|
250
|
+
{...!isDragging && {
|
|
251
|
+
// @ts-ignore for CSS driver this is necessary to attach the transition
|
|
252
|
+
animation
|
|
253
|
+
}}
|
|
243
254
|
style={[
|
|
244
255
|
{
|
|
245
256
|
position: "absolute",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/SheetImplementationCustom.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,0BAA0B;AACnC,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AACvB,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["position", "state", "pct"]
|
|
6
6
|
}
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
useState
|
|
24
24
|
} from "react";
|
|
25
25
|
import {
|
|
26
|
+
Dimensions,
|
|
26
27
|
Keyboard,
|
|
27
28
|
PanResponder,
|
|
28
29
|
View
|
|
@@ -91,7 +92,7 @@ const SheetImplementationCustom = themeable(
|
|
|
91
92
|
},
|
|
92
93
|
useCallback(
|
|
93
94
|
(value) => {
|
|
94
|
-
|
|
95
|
+
at.current = value, scrollBridge.paneY = value;
|
|
95
96
|
},
|
|
96
97
|
[animationDriver]
|
|
97
98
|
)
|
|
@@ -126,18 +127,18 @@ const SheetImplementationCustom = themeable(
|
|
|
126
127
|
}, [hasntMeasured, screenSize]), useIsomorphicLayoutEffect(() => {
|
|
127
128
|
!frameSize || !screenSize || isHidden || hasntMeasured && !open || animateTo(position);
|
|
128
129
|
}, [isHidden, frameSize, screenSize, open, position]);
|
|
129
|
-
const disableDrag = props.disableDrag ?? (controller == null ? void 0 : controller.disableDrag), themeName = useThemeName(), panResponder = useMemo(
|
|
130
|
+
const disableDrag = props.disableDrag ?? (controller == null ? void 0 : controller.disableDrag), themeName = useThemeName(), [isDragging, setIsDragging] = useState(!1), panResponder = useMemo(
|
|
130
131
|
() => {
|
|
131
132
|
if (disableDrag || !frameSize || isShowingInnerSheet)
|
|
132
133
|
return;
|
|
133
134
|
const minY = positions[0];
|
|
134
135
|
scrollBridge.paneMinY = minY;
|
|
135
136
|
let startY = at.current;
|
|
136
|
-
function
|
|
137
|
-
SHEET_HIDDEN_STYLESHEET && (val ? SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : SHEET_HIDDEN_STYLESHEET.innerText = "");
|
|
137
|
+
function setPanning(val) {
|
|
138
|
+
setIsDragging(val), SHEET_HIDDEN_STYLESHEET && (val ? SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : SHEET_HIDDEN_STYLESHEET.innerText = "");
|
|
138
139
|
}
|
|
139
140
|
const release = ({ vy, dragAt }) => {
|
|
140
|
-
isExternalDrag = !1, previouslyScrolling = !1,
|
|
141
|
+
isExternalDrag = !1, previouslyScrolling = !1, setPanning(!1);
|
|
141
142
|
const end = dragAt + startY + frameSize * vy * 0.2;
|
|
142
143
|
let closestPoint = 0, dist = 1 / 0;
|
|
143
144
|
for (let i = 0; i < positions.length; i++) {
|
|
@@ -156,7 +157,7 @@ const SheetImplementationCustom = themeable(
|
|
|
156
157
|
const isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
|
|
157
158
|
return isScrolled ? (previouslyScrolling = !0, !1) : isNearTop && !isScrolled && isDraggingUp ? !1 : Math.abs(dy) > 5;
|
|
158
159
|
}, grant = () => {
|
|
159
|
-
|
|
160
|
+
setPanning(!0), stopSpring(), startY = at.current;
|
|
160
161
|
};
|
|
161
162
|
let isExternalDrag = !1;
|
|
162
163
|
return scrollBridge.drag = (dy) => {
|
|
@@ -180,14 +181,20 @@ const SheetImplementationCustom = themeable(
|
|
|
180
181
|
), handleAnimationViewLayout = useCallback(
|
|
181
182
|
(e) => {
|
|
182
183
|
var _a;
|
|
183
|
-
const next = (
|
|
184
|
+
const next = Math.min(
|
|
185
|
+
(_a = e.nativeEvent) == null ? void 0 : _a.layout.height,
|
|
186
|
+
Dimensions.get("window").height
|
|
187
|
+
);
|
|
184
188
|
next && setFrameSize(next);
|
|
185
189
|
},
|
|
186
190
|
[keyboardIsVisible]
|
|
187
191
|
), handleMaxContentViewLayout = useCallback(
|
|
188
192
|
(e) => {
|
|
189
193
|
var _a;
|
|
190
|
-
const next = (
|
|
194
|
+
const next = Math.min(
|
|
195
|
+
(_a = e.nativeEvent) == null ? void 0 : _a.layout.height,
|
|
196
|
+
Dimensions.get("window").height
|
|
197
|
+
);
|
|
191
198
|
next && setMaxContentSize(next);
|
|
192
199
|
},
|
|
193
200
|
[keyboardIsVisible]
|
|
@@ -242,6 +249,10 @@ const SheetImplementationCustom = themeable(
|
|
|
242
249
|
{...panResponder == null ? void 0 : panResponder.panHandlers}
|
|
243
250
|
onLayout={handleAnimationViewLayout}
|
|
244
251
|
pointerEvents={open && !shouldHideParentSheet ? "auto" : "none"}
|
|
252
|
+
{...!isDragging && {
|
|
253
|
+
// @ts-ignore for CSS driver this is necessary to attach the transition
|
|
254
|
+
animation
|
|
255
|
+
}}
|
|
245
256
|
style={[
|
|
246
257
|
{
|
|
247
258
|
position: "absolute",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/SheetImplementationCustom.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,0BAA0B;AACnC,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AACvB,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["position", "state", "pct"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/sheet",
|
|
3
|
-
"version": "1.75.
|
|
3
|
+
"version": "1.75.9",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"*.css"
|
|
6
6
|
],
|
|
@@ -31,25 +31,25 @@
|
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@tamagui/animate-presence": "1.75.
|
|
35
|
-
"@tamagui/animations-react-native": "1.75.
|
|
36
|
-
"@tamagui/compose-refs": "1.75.
|
|
37
|
-
"@tamagui/core": "1.75.
|
|
38
|
-
"@tamagui/create-context": "1.75.
|
|
39
|
-
"@tamagui/portal": "1.75.
|
|
40
|
-
"@tamagui/remove-scroll": "1.75.
|
|
41
|
-
"@tamagui/scroll-view": "1.75.
|
|
42
|
-
"@tamagui/stacks": "1.75.
|
|
43
|
-
"@tamagui/use-constant": "1.75.
|
|
44
|
-
"@tamagui/use-controllable-state": "1.75.
|
|
45
|
-
"@tamagui/use-keyboard-visible": "1.75.
|
|
34
|
+
"@tamagui/animate-presence": "1.75.9",
|
|
35
|
+
"@tamagui/animations-react-native": "1.75.9",
|
|
36
|
+
"@tamagui/compose-refs": "1.75.9",
|
|
37
|
+
"@tamagui/core": "1.75.9",
|
|
38
|
+
"@tamagui/create-context": "1.75.9",
|
|
39
|
+
"@tamagui/portal": "1.75.9",
|
|
40
|
+
"@tamagui/remove-scroll": "1.75.9",
|
|
41
|
+
"@tamagui/scroll-view": "1.75.9",
|
|
42
|
+
"@tamagui/stacks": "1.75.9",
|
|
43
|
+
"@tamagui/use-constant": "1.75.9",
|
|
44
|
+
"@tamagui/use-controllable-state": "1.75.9",
|
|
45
|
+
"@tamagui/use-keyboard-visible": "1.75.9"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"react": "*",
|
|
49
49
|
"react-native": "*"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@tamagui/build": "1.75.
|
|
52
|
+
"@tamagui/build": "1.75.9",
|
|
53
53
|
"react": "^18.2.0",
|
|
54
54
|
"react-native": "^0.72.1"
|
|
55
55
|
},
|
|
@@ -24,6 +24,7 @@ import {
|
|
|
24
24
|
} from 'react'
|
|
25
25
|
import {
|
|
26
26
|
Animated,
|
|
27
|
+
Dimensions,
|
|
27
28
|
GestureResponderEvent,
|
|
28
29
|
Keyboard,
|
|
29
30
|
LayoutChangeEvent,
|
|
@@ -146,7 +147,6 @@ export const SheetImplementationCustom = themeable(
|
|
|
146
147
|
},
|
|
147
148
|
useCallback(
|
|
148
149
|
(value) => {
|
|
149
|
-
if (!animationDriver.isReactNative) return
|
|
150
150
|
at.current = value
|
|
151
151
|
scrollBridge.paneY = value
|
|
152
152
|
},
|
|
@@ -213,6 +213,7 @@ export const SheetImplementationCustom = themeable(
|
|
|
213
213
|
|
|
214
214
|
const disableDrag = props.disableDrag ?? controller?.disableDrag
|
|
215
215
|
const themeName = useThemeName()
|
|
216
|
+
const [isDragging, setIsDragging] = useState(false)
|
|
216
217
|
|
|
217
218
|
const panResponder = useMemo(
|
|
218
219
|
() => {
|
|
@@ -224,7 +225,10 @@ export const SheetImplementationCustom = themeable(
|
|
|
224
225
|
scrollBridge.paneMinY = minY
|
|
225
226
|
let startY = at.current
|
|
226
227
|
|
|
227
|
-
function
|
|
228
|
+
function setPanning(val: boolean) {
|
|
229
|
+
setIsDragging(val)
|
|
230
|
+
|
|
231
|
+
// make unselectable:
|
|
228
232
|
if (!SHEET_HIDDEN_STYLESHEET) return
|
|
229
233
|
if (!val) {
|
|
230
234
|
SHEET_HIDDEN_STYLESHEET.innerText = ''
|
|
@@ -237,7 +241,7 @@ export const SheetImplementationCustom = themeable(
|
|
|
237
241
|
const release = ({ vy, dragAt }: { dragAt: number; vy: number }) => {
|
|
238
242
|
isExternalDrag = false
|
|
239
243
|
previouslyScrolling = false
|
|
240
|
-
|
|
244
|
+
setPanning(false)
|
|
241
245
|
const at = dragAt + startY
|
|
242
246
|
// seems liky vy goes up to about 4 at the very most (+ is down, - is up)
|
|
243
247
|
// lets base our multiplier on the total layout height
|
|
@@ -289,7 +293,7 @@ export const SheetImplementationCustom = themeable(
|
|
|
289
293
|
}
|
|
290
294
|
|
|
291
295
|
const grant = () => {
|
|
292
|
-
|
|
296
|
+
setPanning(true)
|
|
293
297
|
stopSpring()
|
|
294
298
|
startY = at.current
|
|
295
299
|
}
|
|
@@ -326,7 +330,11 @@ export const SheetImplementationCustom = themeable(
|
|
|
326
330
|
|
|
327
331
|
const handleAnimationViewLayout = useCallback(
|
|
328
332
|
(e: LayoutChangeEvent) => {
|
|
329
|
-
|
|
333
|
+
// avoid bugs where it grows forever for whatever reason
|
|
334
|
+
const next = Math.min(
|
|
335
|
+
e.nativeEvent?.layout.height,
|
|
336
|
+
Dimensions.get('window').height
|
|
337
|
+
)
|
|
330
338
|
if (!next) return
|
|
331
339
|
setFrameSize(next)
|
|
332
340
|
},
|
|
@@ -335,7 +343,11 @@ export const SheetImplementationCustom = themeable(
|
|
|
335
343
|
|
|
336
344
|
const handleMaxContentViewLayout = useCallback(
|
|
337
345
|
(e: LayoutChangeEvent) => {
|
|
338
|
-
|
|
346
|
+
// avoid bugs where it grows forever for whatever reason
|
|
347
|
+
const next = Math.min(
|
|
348
|
+
e.nativeEvent?.layout.height,
|
|
349
|
+
Dimensions.get('window').height
|
|
350
|
+
)
|
|
339
351
|
if (!next) return
|
|
340
352
|
setMaxContentSize(next)
|
|
341
353
|
},
|
|
@@ -418,11 +430,16 @@ export const SheetImplementationCustom = themeable(
|
|
|
418
430
|
onLayout={handleMaxContentViewLayout}
|
|
419
431
|
/>
|
|
420
432
|
)}
|
|
433
|
+
|
|
421
434
|
<AnimatedView
|
|
422
435
|
ref={ref}
|
|
423
436
|
{...panResponder?.panHandlers}
|
|
424
437
|
onLayout={handleAnimationViewLayout}
|
|
425
438
|
pointerEvents={open && !shouldHideParentSheet ? 'auto' : 'none'}
|
|
439
|
+
{...(!isDragging && {
|
|
440
|
+
// @ts-ignore for CSS driver this is necessary to attach the transition
|
|
441
|
+
animation,
|
|
442
|
+
})}
|
|
426
443
|
style={[
|
|
427
444
|
{
|
|
428
445
|
position: 'absolute',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetImplementationCustom.d.ts","sourceRoot":"","sources":["../src/SheetImplementationCustom.tsx"],"names":[],"mappings":";AAwBA,OAAO,
|
|
1
|
+
{"version":3,"file":"SheetImplementationCustom.d.ts","sourceRoot":"","sources":["../src/SheetImplementationCustom.tsx"],"names":[],"mappings":";AAwBA,OAAO,EAQL,IAAI,EACL,MAAM,cAAc,CAAA;AAMrB,OAAO,EAAc,cAAc,EAAE,MAAM,SAAS,CAAA;AAMpD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;6MA+brC,CAAA"}
|