@tamagui/sheet 3.0.2 → 3.0.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.
- package/dist/cjs/useSheetScrollViewGestures.native.cjs +4 -0
- package/dist/cjs/useSheetScrollViewGestures.native.js +4 -0
- package/dist/cjs/useSheetScrollViewGestures.native.js.map +1 -1
- package/dist/esm/useSheetScrollViewGestures.native.js +4 -0
- package/dist/esm/useSheetScrollViewGestures.native.js.map +1 -1
- package/dist/jsx/useSheetScrollViewGestures.native.cjs +4 -0
- package/dist/jsx/useSheetScrollViewGestures.native.js +4 -0
- package/dist/jsx/useSheetScrollViewGestures.native.js.map +1 -1
- package/package.json +23 -23
- package/src/useSheetScrollViewGestures.native.ts +7 -0
- package/types/useSheetScrollViewGestures.native.d.ts +1 -0
- package/types/useSheetScrollViewGestures.native.d.ts.map +1 -1
|
@@ -73,6 +73,9 @@ function useSheetScrollViewGestures(param) {
|
|
|
73
73
|
s.handoffDragOffset = 0;
|
|
74
74
|
return false;
|
|
75
75
|
};
|
|
76
|
+
var onTouchStart = function(e) {
|
|
77
|
+
state.current.lastPageY = e.nativeEvent.pageY;
|
|
78
|
+
};
|
|
76
79
|
var onMoveShouldSetResponder = function(e) {
|
|
77
80
|
if (!scrollEnabled) return false;
|
|
78
81
|
var s = state.current;
|
|
@@ -143,6 +146,7 @@ function useSheetScrollViewGestures(param) {
|
|
|
143
146
|
return {
|
|
144
147
|
onResponderRelease: release,
|
|
145
148
|
onStartShouldSetResponder,
|
|
149
|
+
onTouchStart,
|
|
146
150
|
onMoveShouldSetResponder,
|
|
147
151
|
onResponderMove
|
|
148
152
|
};
|
|
@@ -73,6 +73,9 @@ function useSheetScrollViewGestures(param) {
|
|
|
73
73
|
s.handoffDragOffset = 0;
|
|
74
74
|
return false;
|
|
75
75
|
};
|
|
76
|
+
var onTouchStart = function(e) {
|
|
77
|
+
state.current.lastPageY = e.nativeEvent.pageY;
|
|
78
|
+
};
|
|
76
79
|
var onMoveShouldSetResponder = function(e) {
|
|
77
80
|
if (!scrollEnabled) return false;
|
|
78
81
|
var s = state.current;
|
|
@@ -143,6 +146,7 @@ function useSheetScrollViewGestures(param) {
|
|
|
143
146
|
return {
|
|
144
147
|
onResponderRelease: release,
|
|
145
148
|
onStartShouldSetResponder,
|
|
149
|
+
onTouchStart,
|
|
146
150
|
onMoveShouldSetResponder,
|
|
147
151
|
onResponderMove
|
|
148
152
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSheetScrollViewGestures.native.js","names":[],"sources":["cjs/useSheetScrollViewGestures.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useSheetScrollViewGestures_native_exports = {};\n__export(useSheetScrollViewGestures_native_exports, {\n useSheetScrollViewGestures: () => useSheetScrollViewGestures\n});\nmodule.exports = __toCommonJS(useSheetScrollViewGestures_native_exports);\nvar import_react = require(\"react\");\nfunction useSheetScrollViewGestures(param) {\n var { scrollBridge, hasScrollableContent, scrollEnabled, setScrollEnabled } = param;\n var state = (0, import_react.useRef)({\n lastPageY: 0,\n dragAt: 0,\n dys: [],\n isScrolling: false,\n isDraggingScrollArea: false,\n scrollEngaged: false,\n prevScrollY: 0,\n handoffOccurred: false,\n handoffDragOffset: 0\n });\n var release = function() {\n var s = state.current;\n if (!s.isDraggingScrollArea) return;\n s.isDraggingScrollArea = false;\n scrollBridge.scrollStartY = -1;\n scrollBridge.scrollLock = false;\n s.isScrolling = false;\n s.scrollEngaged = false;\n s.prevScrollY = 0;\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n setScrollEnabled(true);\n var vy = 0;\n if (s.dys.length) {\n var recentDys = s.dys.slice(-10);\n var dist = recentDys.reduce(function(a, b) {\n return a + b;\n }, 0);\n vy = dist / recentDys.length * 0.04;\n }\n s.dys = [];\n scrollBridge.release({\n dragAt: s.dragAt,\n vy\n });\n };\n var onStartShouldSetResponder = function() {\n var s = state.current;\n scrollBridge.scrollStartY = -1;\n s.isDraggingScrollArea = true;\n s.scrollEngaged = scrollBridge.y > 0;\n s.prevScrollY = scrollBridge.y;\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n return false;\n };\n var onMoveShouldSetResponder = function(e) {\n if (!scrollEnabled) return false;\n var s = state.current;\n var { pageY } = e.nativeEvent;\n if (s.lastPageY === 0) {\n s.lastPageY = pageY;\n return false;\n }\n return Math.abs(pageY - s.lastPageY) > 10;\n };\n var onResponderMove = function(e) {\n var s = state.current;\n var { pageY } = e.nativeEvent;\n if (!s.isScrolling && scrollBridge.scrollStartY === -1) {\n scrollBridge.scrollStartY = pageY;\n s.lastPageY = pageY;\n }\n var dragAt = pageY - scrollBridge.scrollStartY;\n var dy = pageY - s.lastPageY;\n s.lastPageY = pageY;\n var isDraggingDown = dy > 0;\n var isPaneAtTop = scrollBridge.paneY <= scrollBridge.paneMinY + 5;\n var currentScrollY = scrollBridge.y;\n if (currentScrollY > 0) s.scrollEngaged = true;\n var wasScrolledNowAtZero = s.scrollEngaged && s.prevScrollY > 0 && currentScrollY <= 0;\n if (wasScrolledNowAtZero && !s.handoffOccurred) {\n s.handoffOccurred = true;\n s.handoffDragOffset = 0;\n }\n s.prevScrollY = currentScrollY;\n var panHandles = false;\n if (!isPaneAtTop) {\n panHandles = isDraggingDown ? currentScrollY <= 0 || !hasScrollableContent : true;\n } else if (isDraggingDown) {\n if (currentScrollY > 0 && hasScrollableContent && !s.handoffOccurred) {\n panHandles = false;\n } else {\n panHandles = s.handoffOccurred || wasScrolledNowAtZero || currentScrollY <= 0;\n }\n } else {\n panHandles = !hasScrollableContent;\n if (!panHandles) {\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n s.scrollEngaged = currentScrollY > 0;\n s.prevScrollY = currentScrollY;\n s.isScrolling = true;\n scrollBridge.scrollLock = true;\n setScrollEnabled(true);\n return;\n }\n }\n if (panHandles) {\n setScrollEnabled(false);\n var effectiveDragAt = dragAt;\n if (s.handoffOccurred) {\n s.handoffDragOffset += dy;\n effectiveDragAt = s.handoffDragOffset;\n }\n scrollBridge.drag(effectiveDragAt);\n s.dragAt = effectiveDragAt;\n s.dys.push(dy);\n if (s.dys.length > 100) s.dys = s.dys.slice(-10);\n } else {\n setScrollEnabled(true);\n }\n };\n return {\n onResponderRelease: release,\n onStartShouldSetResponder,\n onMoveShouldSetResponder,\n onResponderMove\n };\n}\n//# sourceMappingURL=useSheetScrollViewGestures.native.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,4CAA4C,CAAC;AACjD,SAAS,2CAA2C,EAClD,kCAAkC,2BACpC,CAAC;AACD,OAAO,UAAU,aAAa,yCAAyC;AACvE,IAAI,eAAe,QAAQ,OAAO;AAClC,SAAS,2BAA2B,OAAO;CACzC,IAAI,EAAE,cAAc,sBAAsB,eAAe,qBAAqB;CAC9E,IAAI,SAAS,GAAG,aAAa,OAAM,CAAE;EACnC,WAAW;EACX,QAAQ;EACR,KAAK,CAAC;EACN,aAAa;EACb,sBAAsB;EACtB,eAAe;EACf,aAAa;EACb,iBAAiB;EACjB,mBAAmB;CACrB,CAAC;CACD,IAAI,UAAU,WAAW;EACvB,IAAI,IAAI,MAAM;EACd,IAAI,CAAC,EAAE,sBAAsB;EAC7B,EAAE,uBAAuB;EACzB,aAAa,eAAe,CAAC;EAC7B,aAAa,aAAa;EAC1B,EAAE,cAAc;EAChB,EAAE,gBAAgB;EAClB,EAAE,cAAc;EAChB,EAAE,kBAAkB;EACpB,EAAE,oBAAoB;EACtB,iBAAiB,IAAI;EACrB,IAAI,KAAK;EACT,IAAI,EAAE,IAAI,QAAQ;GAChB,IAAI,YAAY,EAAE,IAAI,MAAM,CAAC,EAAE;GAC/B,IAAI,OAAO,UAAU,OAAO,SAAS,GAAG,GAAG;IACzC,OAAO,IAAI;GACb,GAAG,CAAC;GACJ,KAAK,OAAO,UAAU,SAAS;EACjC;EACA,EAAE,MAAM,CAAC;EACT,aAAa,QAAQ;GACnB,QAAQ,EAAE;GACV;EACF,CAAC;CACH;CACA,IAAI,4BAA4B,WAAW;EACzC,IAAI,IAAI,MAAM;EACd,aAAa,eAAe,CAAC;EAC7B,EAAE,uBAAuB;EACzB,EAAE,gBAAgB,aAAa,IAAI;EACnC,EAAE,cAAc,aAAa;EAC7B,EAAE,kBAAkB;EACpB,EAAE,oBAAoB;EACtB,OAAO;CACT;CACA,IAAI,2BAA2B,SAAS,GAAG;EACzC,IAAI,CAAC,eAAe,OAAO;EAC3B,IAAI,IAAI,MAAM;EACd,IAAI,EAAE,UAAU,EAAE;EAClB,IAAI,EAAE,cAAc,GAAG;GACrB,EAAE,YAAY;GACd,OAAO;EACT;EACA,OAAO,KAAK,IAAI,QAAQ,EAAE,SAAS,IAAI;CACzC;CACA,IAAI,kBAAkB,SAAS,GAAG;EAChC,IAAI,IAAI,MAAM;EACd,IAAI,EAAE,UAAU,EAAE;EAClB,IAAI,CAAC,EAAE,eAAe,aAAa,iBAAiB,CAAC,GAAG;GACtD,aAAa,eAAe;GAC5B,EAAE,YAAY;EAChB;EACA,IAAI,SAAS,QAAQ,aAAa;EAClC,IAAI,KAAK,QAAQ,EAAE;EACnB,EAAE,YAAY;EACd,IAAI,iBAAiB,KAAK;EAC1B,IAAI,cAAc,aAAa,SAAS,aAAa,WAAW;EAChE,IAAI,iBAAiB,aAAa;EAClC,IAAI,iBAAiB,GAAG,EAAE,gBAAgB;EAC1C,IAAI,uBAAuB,EAAE,iBAAiB,EAAE,cAAc,KAAK,kBAAkB;EACrF,IAAI,wBAAwB,CAAC,EAAE,iBAAiB;GAC9C,EAAE,kBAAkB;GACpB,EAAE,oBAAoB;EACxB;EACA,EAAE,cAAc;EAChB,IAAI,aAAa;EACjB,IAAI,CAAC,aAAa;GAChB,aAAa,iBAAiB,kBAAkB,KAAK,CAAC,uBAAuB;EAC/E,OAAO,IAAI,gBAAgB;GACzB,IAAI,iBAAiB,KAAK,wBAAwB,CAAC,EAAE,iBAAiB;IACpE,aAAa;GACf,OAAO;IACL,aAAa,EAAE,mBAAmB,wBAAwB,kBAAkB;GAC9E;EACF,OAAO;GACL,aAAa,CAAC;GACd,IAAI,CAAC,YAAY;IACf,EAAE,kBAAkB;IACpB,EAAE,oBAAoB;IACtB,EAAE,gBAAgB,iBAAiB;IACnC,EAAE,cAAc;IAChB,EAAE,cAAc;IAChB,aAAa,aAAa;IAC1B,iBAAiB,IAAI;IACrB;GACF;EACF;EACA,IAAI,YAAY;GACd,iBAAiB,KAAK;GACtB,IAAI,kBAAkB;GACtB,IAAI,EAAE,iBAAiB;IACrB,EAAE,qBAAqB;IACvB,kBAAkB,EAAE;GACtB;GACA,aAAa,KAAK,eAAe;GACjC,EAAE,SAAS;GACX,EAAE,IAAI,KAAK,EAAE;GACb,IAAI,EAAE,IAAI,SAAS,KAAK,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,EAAE;EACjD,OAAO;GACL,iBAAiB,IAAI;EACvB;CACF;CACA,OAAO;EACL,oBAAoB;EACpB;EACA;EACA;CACF;AACF"}
|
|
1
|
+
{"version":3,"file":"useSheetScrollViewGestures.native.js","names":[],"sources":["cjs/useSheetScrollViewGestures.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useSheetScrollViewGestures_native_exports = {};\n__export(useSheetScrollViewGestures_native_exports, {\n useSheetScrollViewGestures: () => useSheetScrollViewGestures\n});\nmodule.exports = __toCommonJS(useSheetScrollViewGestures_native_exports);\nvar import_react = require(\"react\");\nfunction useSheetScrollViewGestures(param) {\n var { scrollBridge, hasScrollableContent, scrollEnabled, setScrollEnabled } = param;\n var state = (0, import_react.useRef)({\n lastPageY: 0,\n dragAt: 0,\n dys: [],\n isScrolling: false,\n isDraggingScrollArea: false,\n scrollEngaged: false,\n prevScrollY: 0,\n handoffOccurred: false,\n handoffDragOffset: 0\n });\n var release = function() {\n var s = state.current;\n if (!s.isDraggingScrollArea) return;\n s.isDraggingScrollArea = false;\n scrollBridge.scrollStartY = -1;\n scrollBridge.scrollLock = false;\n s.isScrolling = false;\n s.scrollEngaged = false;\n s.prevScrollY = 0;\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n setScrollEnabled(true);\n var vy = 0;\n if (s.dys.length) {\n var recentDys = s.dys.slice(-10);\n var dist = recentDys.reduce(function(a, b) {\n return a + b;\n }, 0);\n vy = dist / recentDys.length * 0.04;\n }\n s.dys = [];\n scrollBridge.release({\n dragAt: s.dragAt,\n vy\n });\n };\n var onStartShouldSetResponder = function() {\n var s = state.current;\n scrollBridge.scrollStartY = -1;\n s.isDraggingScrollArea = true;\n s.scrollEngaged = scrollBridge.y > 0;\n s.prevScrollY = scrollBridge.y;\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n return false;\n };\n var onTouchStart = function(e) {\n state.current.lastPageY = e.nativeEvent.pageY;\n };\n var onMoveShouldSetResponder = function(e) {\n if (!scrollEnabled) return false;\n var s = state.current;\n var { pageY } = e.nativeEvent;\n if (s.lastPageY === 0) {\n s.lastPageY = pageY;\n return false;\n }\n return Math.abs(pageY - s.lastPageY) > 10;\n };\n var onResponderMove = function(e) {\n var s = state.current;\n var { pageY } = e.nativeEvent;\n if (!s.isScrolling && scrollBridge.scrollStartY === -1) {\n scrollBridge.scrollStartY = pageY;\n s.lastPageY = pageY;\n }\n var dragAt = pageY - scrollBridge.scrollStartY;\n var dy = pageY - s.lastPageY;\n s.lastPageY = pageY;\n var isDraggingDown = dy > 0;\n var isPaneAtTop = scrollBridge.paneY <= scrollBridge.paneMinY + 5;\n var currentScrollY = scrollBridge.y;\n if (currentScrollY > 0) s.scrollEngaged = true;\n var wasScrolledNowAtZero = s.scrollEngaged && s.prevScrollY > 0 && currentScrollY <= 0;\n if (wasScrolledNowAtZero && !s.handoffOccurred) {\n s.handoffOccurred = true;\n s.handoffDragOffset = 0;\n }\n s.prevScrollY = currentScrollY;\n var panHandles = false;\n if (!isPaneAtTop) {\n panHandles = isDraggingDown ? currentScrollY <= 0 || !hasScrollableContent : true;\n } else if (isDraggingDown) {\n if (currentScrollY > 0 && hasScrollableContent && !s.handoffOccurred) {\n panHandles = false;\n } else {\n panHandles = s.handoffOccurred || wasScrolledNowAtZero || currentScrollY <= 0;\n }\n } else {\n panHandles = !hasScrollableContent;\n if (!panHandles) {\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n s.scrollEngaged = currentScrollY > 0;\n s.prevScrollY = currentScrollY;\n s.isScrolling = true;\n scrollBridge.scrollLock = true;\n setScrollEnabled(true);\n return;\n }\n }\n if (panHandles) {\n setScrollEnabled(false);\n var effectiveDragAt = dragAt;\n if (s.handoffOccurred) {\n s.handoffDragOffset += dy;\n effectiveDragAt = s.handoffDragOffset;\n }\n scrollBridge.drag(effectiveDragAt);\n s.dragAt = effectiveDragAt;\n s.dys.push(dy);\n if (s.dys.length > 100) s.dys = s.dys.slice(-10);\n } else {\n setScrollEnabled(true);\n }\n };\n return {\n onResponderRelease: release,\n onStartShouldSetResponder,\n onTouchStart,\n onMoveShouldSetResponder,\n onResponderMove\n };\n}\n//# sourceMappingURL=useSheetScrollViewGestures.native.js.map\n"],"mappings":"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"}
|
|
@@ -49,6 +49,9 @@ function useSheetScrollViewGestures(param) {
|
|
|
49
49
|
s.handoffDragOffset = 0;
|
|
50
50
|
return false;
|
|
51
51
|
};
|
|
52
|
+
var onTouchStart = function(e) {
|
|
53
|
+
state.current.lastPageY = e.nativeEvent.pageY;
|
|
54
|
+
};
|
|
52
55
|
var onMoveShouldSetResponder = function(e) {
|
|
53
56
|
if (!scrollEnabled) return false;
|
|
54
57
|
var s = state.current;
|
|
@@ -119,6 +122,7 @@ function useSheetScrollViewGestures(param) {
|
|
|
119
122
|
return {
|
|
120
123
|
onResponderRelease: release,
|
|
121
124
|
onStartShouldSetResponder,
|
|
125
|
+
onTouchStart,
|
|
122
126
|
onMoveShouldSetResponder,
|
|
123
127
|
onResponderMove
|
|
124
128
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSheetScrollViewGestures.native.js","names":[],"sources":["esm/useSheetScrollViewGestures.native.js"],"sourcesContent":["import { useRef } from \"react\";\nfunction useSheetScrollViewGestures(param) {\n var { scrollBridge, hasScrollableContent, scrollEnabled, setScrollEnabled } = param;\n var state = useRef({\n lastPageY: 0,\n dragAt: 0,\n dys: [],\n isScrolling: false,\n isDraggingScrollArea: false,\n scrollEngaged: false,\n prevScrollY: 0,\n handoffOccurred: false,\n handoffDragOffset: 0\n });\n var release = function() {\n var s = state.current;\n if (!s.isDraggingScrollArea) return;\n s.isDraggingScrollArea = false;\n scrollBridge.scrollStartY = -1;\n scrollBridge.scrollLock = false;\n s.isScrolling = false;\n s.scrollEngaged = false;\n s.prevScrollY = 0;\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n setScrollEnabled(true);\n var vy = 0;\n if (s.dys.length) {\n var recentDys = s.dys.slice(-10);\n var dist = recentDys.reduce(function(a, b) {\n return a + b;\n }, 0);\n vy = dist / recentDys.length * 0.04;\n }\n s.dys = [];\n scrollBridge.release({\n dragAt: s.dragAt,\n vy\n });\n };\n var onStartShouldSetResponder = function() {\n var s = state.current;\n scrollBridge.scrollStartY = -1;\n s.isDraggingScrollArea = true;\n s.scrollEngaged = scrollBridge.y > 0;\n s.prevScrollY = scrollBridge.y;\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n return false;\n };\n var onMoveShouldSetResponder = function(e) {\n if (!scrollEnabled) return false;\n var s = state.current;\n var { pageY } = e.nativeEvent;\n if (s.lastPageY === 0) {\n s.lastPageY = pageY;\n return false;\n }\n return Math.abs(pageY - s.lastPageY) > 10;\n };\n var onResponderMove = function(e) {\n var s = state.current;\n var { pageY } = e.nativeEvent;\n if (!s.isScrolling && scrollBridge.scrollStartY === -1) {\n scrollBridge.scrollStartY = pageY;\n s.lastPageY = pageY;\n }\n var dragAt = pageY - scrollBridge.scrollStartY;\n var dy = pageY - s.lastPageY;\n s.lastPageY = pageY;\n var isDraggingDown = dy > 0;\n var isPaneAtTop = scrollBridge.paneY <= scrollBridge.paneMinY + 5;\n var currentScrollY = scrollBridge.y;\n if (currentScrollY > 0) s.scrollEngaged = true;\n var wasScrolledNowAtZero = s.scrollEngaged && s.prevScrollY > 0 && currentScrollY <= 0;\n if (wasScrolledNowAtZero && !s.handoffOccurred) {\n s.handoffOccurred = true;\n s.handoffDragOffset = 0;\n }\n s.prevScrollY = currentScrollY;\n var panHandles = false;\n if (!isPaneAtTop) {\n panHandles = isDraggingDown ? currentScrollY <= 0 || !hasScrollableContent : true;\n } else if (isDraggingDown) {\n if (currentScrollY > 0 && hasScrollableContent && !s.handoffOccurred) {\n panHandles = false;\n } else {\n panHandles = s.handoffOccurred || wasScrolledNowAtZero || currentScrollY <= 0;\n }\n } else {\n panHandles = !hasScrollableContent;\n if (!panHandles) {\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n s.scrollEngaged = currentScrollY > 0;\n s.prevScrollY = currentScrollY;\n s.isScrolling = true;\n scrollBridge.scrollLock = true;\n setScrollEnabled(true);\n return;\n }\n }\n if (panHandles) {\n setScrollEnabled(false);\n var effectiveDragAt = dragAt;\n if (s.handoffOccurred) {\n s.handoffDragOffset += dy;\n effectiveDragAt = s.handoffDragOffset;\n }\n scrollBridge.drag(effectiveDragAt);\n s.dragAt = effectiveDragAt;\n s.dys.push(dy);\n if (s.dys.length > 100) s.dys = s.dys.slice(-10);\n } else {\n setScrollEnabled(true);\n }\n };\n return {\n onResponderRelease: release,\n onStartShouldSetResponder,\n onMoveShouldSetResponder,\n onResponderMove\n };\n}\nexport {\n useSheetScrollViewGestures\n};\n//# sourceMappingURL=useSheetScrollViewGestures.native.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSheetScrollViewGestures.native.js","names":[],"sources":["esm/useSheetScrollViewGestures.native.js"],"sourcesContent":["import { useRef } from \"react\";\nfunction useSheetScrollViewGestures(param) {\n var { scrollBridge, hasScrollableContent, scrollEnabled, setScrollEnabled } = param;\n var state = useRef({\n lastPageY: 0,\n dragAt: 0,\n dys: [],\n isScrolling: false,\n isDraggingScrollArea: false,\n scrollEngaged: false,\n prevScrollY: 0,\n handoffOccurred: false,\n handoffDragOffset: 0\n });\n var release = function() {\n var s = state.current;\n if (!s.isDraggingScrollArea) return;\n s.isDraggingScrollArea = false;\n scrollBridge.scrollStartY = -1;\n scrollBridge.scrollLock = false;\n s.isScrolling = false;\n s.scrollEngaged = false;\n s.prevScrollY = 0;\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n setScrollEnabled(true);\n var vy = 0;\n if (s.dys.length) {\n var recentDys = s.dys.slice(-10);\n var dist = recentDys.reduce(function(a, b) {\n return a + b;\n }, 0);\n vy = dist / recentDys.length * 0.04;\n }\n s.dys = [];\n scrollBridge.release({\n dragAt: s.dragAt,\n vy\n });\n };\n var onStartShouldSetResponder = function() {\n var s = state.current;\n scrollBridge.scrollStartY = -1;\n s.isDraggingScrollArea = true;\n s.scrollEngaged = scrollBridge.y > 0;\n s.prevScrollY = scrollBridge.y;\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n return false;\n };\n var onTouchStart = function(e) {\n state.current.lastPageY = e.nativeEvent.pageY;\n };\n var onMoveShouldSetResponder = function(e) {\n if (!scrollEnabled) return false;\n var s = state.current;\n var { pageY } = e.nativeEvent;\n if (s.lastPageY === 0) {\n s.lastPageY = pageY;\n return false;\n }\n return Math.abs(pageY - s.lastPageY) > 10;\n };\n var onResponderMove = function(e) {\n var s = state.current;\n var { pageY } = e.nativeEvent;\n if (!s.isScrolling && scrollBridge.scrollStartY === -1) {\n scrollBridge.scrollStartY = pageY;\n s.lastPageY = pageY;\n }\n var dragAt = pageY - scrollBridge.scrollStartY;\n var dy = pageY - s.lastPageY;\n s.lastPageY = pageY;\n var isDraggingDown = dy > 0;\n var isPaneAtTop = scrollBridge.paneY <= scrollBridge.paneMinY + 5;\n var currentScrollY = scrollBridge.y;\n if (currentScrollY > 0) s.scrollEngaged = true;\n var wasScrolledNowAtZero = s.scrollEngaged && s.prevScrollY > 0 && currentScrollY <= 0;\n if (wasScrolledNowAtZero && !s.handoffOccurred) {\n s.handoffOccurred = true;\n s.handoffDragOffset = 0;\n }\n s.prevScrollY = currentScrollY;\n var panHandles = false;\n if (!isPaneAtTop) {\n panHandles = isDraggingDown ? currentScrollY <= 0 || !hasScrollableContent : true;\n } else if (isDraggingDown) {\n if (currentScrollY > 0 && hasScrollableContent && !s.handoffOccurred) {\n panHandles = false;\n } else {\n panHandles = s.handoffOccurred || wasScrolledNowAtZero || currentScrollY <= 0;\n }\n } else {\n panHandles = !hasScrollableContent;\n if (!panHandles) {\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n s.scrollEngaged = currentScrollY > 0;\n s.prevScrollY = currentScrollY;\n s.isScrolling = true;\n scrollBridge.scrollLock = true;\n setScrollEnabled(true);\n return;\n }\n }\n if (panHandles) {\n setScrollEnabled(false);\n var effectiveDragAt = dragAt;\n if (s.handoffOccurred) {\n s.handoffDragOffset += dy;\n effectiveDragAt = s.handoffDragOffset;\n }\n scrollBridge.drag(effectiveDragAt);\n s.dragAt = effectiveDragAt;\n s.dys.push(dy);\n if (s.dys.length > 100) s.dys = s.dys.slice(-10);\n } else {\n setScrollEnabled(true);\n }\n };\n return {\n onResponderRelease: release,\n onStartShouldSetResponder,\n onTouchStart,\n onMoveShouldSetResponder,\n onResponderMove\n };\n}\nexport {\n useSheetScrollViewGestures\n};\n//# sourceMappingURL=useSheetScrollViewGestures.native.js.map\n"],"mappings":"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"}
|
|
@@ -73,6 +73,9 @@ function useSheetScrollViewGestures(param) {
|
|
|
73
73
|
s.handoffDragOffset = 0;
|
|
74
74
|
return false;
|
|
75
75
|
};
|
|
76
|
+
var onTouchStart = function(e) {
|
|
77
|
+
state.current.lastPageY = e.nativeEvent.pageY;
|
|
78
|
+
};
|
|
76
79
|
var onMoveShouldSetResponder = function(e) {
|
|
77
80
|
if (!scrollEnabled) return false;
|
|
78
81
|
var s = state.current;
|
|
@@ -143,6 +146,7 @@ function useSheetScrollViewGestures(param) {
|
|
|
143
146
|
return {
|
|
144
147
|
onResponderRelease: release,
|
|
145
148
|
onStartShouldSetResponder,
|
|
149
|
+
onTouchStart,
|
|
146
150
|
onMoveShouldSetResponder,
|
|
147
151
|
onResponderMove
|
|
148
152
|
};
|
|
@@ -73,6 +73,9 @@ function useSheetScrollViewGestures(param) {
|
|
|
73
73
|
s.handoffDragOffset = 0;
|
|
74
74
|
return false;
|
|
75
75
|
};
|
|
76
|
+
var onTouchStart = function(e) {
|
|
77
|
+
state.current.lastPageY = e.nativeEvent.pageY;
|
|
78
|
+
};
|
|
76
79
|
var onMoveShouldSetResponder = function(e) {
|
|
77
80
|
if (!scrollEnabled) return false;
|
|
78
81
|
var s = state.current;
|
|
@@ -143,6 +146,7 @@ function useSheetScrollViewGestures(param) {
|
|
|
143
146
|
return {
|
|
144
147
|
onResponderRelease: release,
|
|
145
148
|
onStartShouldSetResponder,
|
|
149
|
+
onTouchStart,
|
|
146
150
|
onMoveShouldSetResponder,
|
|
147
151
|
onResponderMove
|
|
148
152
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSheetScrollViewGestures.native.js","names":[],"sources":["jsx/useSheetScrollViewGestures.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useSheetScrollViewGestures_native_exports = {};\n__export(useSheetScrollViewGestures_native_exports, {\n useSheetScrollViewGestures: () => useSheetScrollViewGestures\n});\nmodule.exports = __toCommonJS(useSheetScrollViewGestures_native_exports);\nvar import_react = require(\"react\");\nfunction useSheetScrollViewGestures(param) {\n var { scrollBridge, hasScrollableContent, scrollEnabled, setScrollEnabled } = param;\n var state = (0, import_react.useRef)({\n lastPageY: 0,\n dragAt: 0,\n dys: [],\n isScrolling: false,\n isDraggingScrollArea: false,\n scrollEngaged: false,\n prevScrollY: 0,\n handoffOccurred: false,\n handoffDragOffset: 0\n });\n var release = function() {\n var s = state.current;\n if (!s.isDraggingScrollArea) return;\n s.isDraggingScrollArea = false;\n scrollBridge.scrollStartY = -1;\n scrollBridge.scrollLock = false;\n s.isScrolling = false;\n s.scrollEngaged = false;\n s.prevScrollY = 0;\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n setScrollEnabled(true);\n var vy = 0;\n if (s.dys.length) {\n var recentDys = s.dys.slice(-10);\n var dist = recentDys.reduce(function(a, b) {\n return a + b;\n }, 0);\n vy = dist / recentDys.length * 0.04;\n }\n s.dys = [];\n scrollBridge.release({\n dragAt: s.dragAt,\n vy\n });\n };\n var onStartShouldSetResponder = function() {\n var s = state.current;\n scrollBridge.scrollStartY = -1;\n s.isDraggingScrollArea = true;\n s.scrollEngaged = scrollBridge.y > 0;\n s.prevScrollY = scrollBridge.y;\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n return false;\n };\n var onMoveShouldSetResponder = function(e) {\n if (!scrollEnabled) return false;\n var s = state.current;\n var { pageY } = e.nativeEvent;\n if (s.lastPageY === 0) {\n s.lastPageY = pageY;\n return false;\n }\n return Math.abs(pageY - s.lastPageY) > 10;\n };\n var onResponderMove = function(e) {\n var s = state.current;\n var { pageY } = e.nativeEvent;\n if (!s.isScrolling && scrollBridge.scrollStartY === -1) {\n scrollBridge.scrollStartY = pageY;\n s.lastPageY = pageY;\n }\n var dragAt = pageY - scrollBridge.scrollStartY;\n var dy = pageY - s.lastPageY;\n s.lastPageY = pageY;\n var isDraggingDown = dy > 0;\n var isPaneAtTop = scrollBridge.paneY <= scrollBridge.paneMinY + 5;\n var currentScrollY = scrollBridge.y;\n if (currentScrollY > 0) s.scrollEngaged = true;\n var wasScrolledNowAtZero = s.scrollEngaged && s.prevScrollY > 0 && currentScrollY <= 0;\n if (wasScrolledNowAtZero && !s.handoffOccurred) {\n s.handoffOccurred = true;\n s.handoffDragOffset = 0;\n }\n s.prevScrollY = currentScrollY;\n var panHandles = false;\n if (!isPaneAtTop) {\n panHandles = isDraggingDown ? currentScrollY <= 0 || !hasScrollableContent : true;\n } else if (isDraggingDown) {\n if (currentScrollY > 0 && hasScrollableContent && !s.handoffOccurred) {\n panHandles = false;\n } else {\n panHandles = s.handoffOccurred || wasScrolledNowAtZero || currentScrollY <= 0;\n }\n } else {\n panHandles = !hasScrollableContent;\n if (!panHandles) {\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n s.scrollEngaged = currentScrollY > 0;\n s.prevScrollY = currentScrollY;\n s.isScrolling = true;\n scrollBridge.scrollLock = true;\n setScrollEnabled(true);\n return;\n }\n }\n if (panHandles) {\n setScrollEnabled(false);\n var effectiveDragAt = dragAt;\n if (s.handoffOccurred) {\n s.handoffDragOffset += dy;\n effectiveDragAt = s.handoffDragOffset;\n }\n scrollBridge.drag(effectiveDragAt);\n s.dragAt = effectiveDragAt;\n s.dys.push(dy);\n if (s.dys.length > 100) s.dys = s.dys.slice(-10);\n } else {\n setScrollEnabled(true);\n }\n };\n return {\n onResponderRelease: release,\n onStartShouldSetResponder,\n onMoveShouldSetResponder,\n onResponderMove\n };\n}\n//# sourceMappingURL=useSheetScrollViewGestures.native.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSheetScrollViewGestures.native.js","names":[],"sources":["jsx/useSheetScrollViewGestures.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useSheetScrollViewGestures_native_exports = {};\n__export(useSheetScrollViewGestures_native_exports, {\n useSheetScrollViewGestures: () => useSheetScrollViewGestures\n});\nmodule.exports = __toCommonJS(useSheetScrollViewGestures_native_exports);\nvar import_react = require(\"react\");\nfunction useSheetScrollViewGestures(param) {\n var { scrollBridge, hasScrollableContent, scrollEnabled, setScrollEnabled } = param;\n var state = (0, import_react.useRef)({\n lastPageY: 0,\n dragAt: 0,\n dys: [],\n isScrolling: false,\n isDraggingScrollArea: false,\n scrollEngaged: false,\n prevScrollY: 0,\n handoffOccurred: false,\n handoffDragOffset: 0\n });\n var release = function() {\n var s = state.current;\n if (!s.isDraggingScrollArea) return;\n s.isDraggingScrollArea = false;\n scrollBridge.scrollStartY = -1;\n scrollBridge.scrollLock = false;\n s.isScrolling = false;\n s.scrollEngaged = false;\n s.prevScrollY = 0;\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n setScrollEnabled(true);\n var vy = 0;\n if (s.dys.length) {\n var recentDys = s.dys.slice(-10);\n var dist = recentDys.reduce(function(a, b) {\n return a + b;\n }, 0);\n vy = dist / recentDys.length * 0.04;\n }\n s.dys = [];\n scrollBridge.release({\n dragAt: s.dragAt,\n vy\n });\n };\n var onStartShouldSetResponder = function() {\n var s = state.current;\n scrollBridge.scrollStartY = -1;\n s.isDraggingScrollArea = true;\n s.scrollEngaged = scrollBridge.y > 0;\n s.prevScrollY = scrollBridge.y;\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n return false;\n };\n var onTouchStart = function(e) {\n state.current.lastPageY = e.nativeEvent.pageY;\n };\n var onMoveShouldSetResponder = function(e) {\n if (!scrollEnabled) return false;\n var s = state.current;\n var { pageY } = e.nativeEvent;\n if (s.lastPageY === 0) {\n s.lastPageY = pageY;\n return false;\n }\n return Math.abs(pageY - s.lastPageY) > 10;\n };\n var onResponderMove = function(e) {\n var s = state.current;\n var { pageY } = e.nativeEvent;\n if (!s.isScrolling && scrollBridge.scrollStartY === -1) {\n scrollBridge.scrollStartY = pageY;\n s.lastPageY = pageY;\n }\n var dragAt = pageY - scrollBridge.scrollStartY;\n var dy = pageY - s.lastPageY;\n s.lastPageY = pageY;\n var isDraggingDown = dy > 0;\n var isPaneAtTop = scrollBridge.paneY <= scrollBridge.paneMinY + 5;\n var currentScrollY = scrollBridge.y;\n if (currentScrollY > 0) s.scrollEngaged = true;\n var wasScrolledNowAtZero = s.scrollEngaged && s.prevScrollY > 0 && currentScrollY <= 0;\n if (wasScrolledNowAtZero && !s.handoffOccurred) {\n s.handoffOccurred = true;\n s.handoffDragOffset = 0;\n }\n s.prevScrollY = currentScrollY;\n var panHandles = false;\n if (!isPaneAtTop) {\n panHandles = isDraggingDown ? currentScrollY <= 0 || !hasScrollableContent : true;\n } else if (isDraggingDown) {\n if (currentScrollY > 0 && hasScrollableContent && !s.handoffOccurred) {\n panHandles = false;\n } else {\n panHandles = s.handoffOccurred || wasScrolledNowAtZero || currentScrollY <= 0;\n }\n } else {\n panHandles = !hasScrollableContent;\n if (!panHandles) {\n s.handoffOccurred = false;\n s.handoffDragOffset = 0;\n s.scrollEngaged = currentScrollY > 0;\n s.prevScrollY = currentScrollY;\n s.isScrolling = true;\n scrollBridge.scrollLock = true;\n setScrollEnabled(true);\n return;\n }\n }\n if (panHandles) {\n setScrollEnabled(false);\n var effectiveDragAt = dragAt;\n if (s.handoffOccurred) {\n s.handoffDragOffset += dy;\n effectiveDragAt = s.handoffDragOffset;\n }\n scrollBridge.drag(effectiveDragAt);\n s.dragAt = effectiveDragAt;\n s.dys.push(dy);\n if (s.dys.length > 100) s.dys = s.dys.slice(-10);\n } else {\n setScrollEnabled(true);\n }\n };\n return {\n onResponderRelease: release,\n onStartShouldSetResponder,\n onTouchStart,\n onMoveShouldSetResponder,\n onResponderMove\n };\n}\n//# sourceMappingURL=useSheetScrollViewGestures.native.js.map\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/sheet",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -43,29 +43,29 @@
|
|
|
43
43
|
"clean": "tamagui-build clean"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@tamagui/adapt": "3.0.
|
|
47
|
-
"@tamagui/animate-presence": "3.0.
|
|
48
|
-
"@tamagui/animation-helpers": "3.0.
|
|
49
|
-
"@tamagui/animations-react-native": "3.0.
|
|
50
|
-
"@tamagui/compose-refs": "3.0.
|
|
51
|
-
"@tamagui/constants": "3.0.
|
|
52
|
-
"@tamagui/core": "3.0.
|
|
53
|
-
"@tamagui/helpers": "3.0.
|
|
54
|
-
"@tamagui/native": "3.0.
|
|
55
|
-
"@tamagui/portal": "3.0.
|
|
56
|
-
"@tamagui/react-native-pan-responder": "3.0.
|
|
57
|
-
"@tamagui/react-native-types": "3.0.
|
|
58
|
-
"@tamagui/react-native-use-responder-events": "3.0.
|
|
59
|
-
"@tamagui/remove-scroll": "3.0.
|
|
60
|
-
"@tamagui/scroll-view": "3.0.
|
|
61
|
-
"@tamagui/stacks": "3.0.
|
|
62
|
-
"@tamagui/use-constant": "3.0.
|
|
63
|
-
"@tamagui/use-controllable-state": "3.0.
|
|
64
|
-
"@tamagui/use-did-finish-ssr": "3.0.
|
|
65
|
-
"@tamagui/z-index-stack": "3.0.
|
|
46
|
+
"@tamagui/adapt": "3.0.3",
|
|
47
|
+
"@tamagui/animate-presence": "3.0.3",
|
|
48
|
+
"@tamagui/animation-helpers": "3.0.3",
|
|
49
|
+
"@tamagui/animations-react-native": "3.0.3",
|
|
50
|
+
"@tamagui/compose-refs": "3.0.3",
|
|
51
|
+
"@tamagui/constants": "3.0.3",
|
|
52
|
+
"@tamagui/core": "3.0.3",
|
|
53
|
+
"@tamagui/helpers": "3.0.3",
|
|
54
|
+
"@tamagui/native": "3.0.3",
|
|
55
|
+
"@tamagui/portal": "3.0.3",
|
|
56
|
+
"@tamagui/react-native-pan-responder": "3.0.3",
|
|
57
|
+
"@tamagui/react-native-types": "3.0.3",
|
|
58
|
+
"@tamagui/react-native-use-responder-events": "3.0.3",
|
|
59
|
+
"@tamagui/remove-scroll": "3.0.3",
|
|
60
|
+
"@tamagui/scroll-view": "3.0.3",
|
|
61
|
+
"@tamagui/stacks": "3.0.3",
|
|
62
|
+
"@tamagui/use-constant": "3.0.3",
|
|
63
|
+
"@tamagui/use-controllable-state": "3.0.3",
|
|
64
|
+
"@tamagui/use-did-finish-ssr": "3.0.3",
|
|
65
|
+
"@tamagui/z-index-stack": "3.0.3"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@tamagui/build": "3.0.
|
|
68
|
+
"@tamagui/build": "3.0.3",
|
|
69
69
|
"react": "19.2.3",
|
|
70
70
|
"react-native": "0.87.1",
|
|
71
71
|
"react-native-gesture-handler": "3.3.0",
|
|
@@ -88,5 +88,5 @@
|
|
|
88
88
|
"url": "git+https://github.com/tamagui/tamagui.git",
|
|
89
89
|
"directory": "code/ui/sheet"
|
|
90
90
|
},
|
|
91
|
-
"releaseSourceCommit": "
|
|
91
|
+
"releaseSourceCommit": "fbdb8553a66ed741b2aee6df317828cbbd2f96b1"
|
|
92
92
|
}
|
|
@@ -83,6 +83,12 @@ export function useSheetScrollViewGestures({
|
|
|
83
83
|
return false
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
// RN ScrollView overrides onStartShouldSetResponder but forwards onTouchStart,
|
|
87
|
+
// so this is where each touch gets a fresh baseline for the move threshold
|
|
88
|
+
const onTouchStart = (e: GestureResponderEvent) => {
|
|
89
|
+
state.current.lastPageY = e.nativeEvent.pageY
|
|
90
|
+
}
|
|
91
|
+
|
|
86
92
|
const onMoveShouldSetResponder = (e: GestureResponderEvent) => {
|
|
87
93
|
if (!scrollEnabled) return false
|
|
88
94
|
const s = state.current
|
|
@@ -164,6 +170,7 @@ export function useSheetScrollViewGestures({
|
|
|
164
170
|
return {
|
|
165
171
|
onResponderRelease: release,
|
|
166
172
|
onStartShouldSetResponder,
|
|
173
|
+
onTouchStart,
|
|
167
174
|
onMoveShouldSetResponder,
|
|
168
175
|
onResponderMove,
|
|
169
176
|
}
|
|
@@ -14,6 +14,7 @@ interface UseSheetScrollViewGesturesProps {
|
|
|
14
14
|
export declare function useSheetScrollViewGestures({ scrollBridge, hasScrollableContent, scrollEnabled, setScrollEnabled, }: UseSheetScrollViewGesturesProps): {
|
|
15
15
|
onResponderRelease: () => void;
|
|
16
16
|
onStartShouldSetResponder: () => boolean;
|
|
17
|
+
onTouchStart: (e: GestureResponderEvent) => void;
|
|
17
18
|
onMoveShouldSetResponder: (e: GestureResponderEvent) => boolean;
|
|
18
19
|
onResponderMove: (e: GestureResponderEvent) => void;
|
|
19
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSheetScrollViewGestures.native.d.ts","sourceRoot":"","sources":["../src/useSheetScrollViewGestures.native.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,IAAI,YAAY,EACnC,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAc3C,UAAU,+BAA+B;IACvC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;IAC/C,YAAY,EAAE,YAAY,CAAA;IAC1B,oBAAoB,EAAE,OAAO,CAAA;IAC7B,aAAa,EAAE,OAAO,CAAA;IACtB,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,gBAAgB,GACjB,EAAE,+BAA+B;;;
|
|
1
|
+
{"version":3,"file":"useSheetScrollViewGestures.native.d.ts","sourceRoot":"","sources":["../src/useSheetScrollViewGestures.native.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,IAAI,YAAY,EACnC,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAc3C,UAAU,+BAA+B;IACvC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;IAC/C,YAAY,EAAE,YAAY,CAAA;IAC1B,oBAAoB,EAAE,OAAO,CAAA;IAC7B,aAAa,EAAE,OAAO,CAAA;IACtB,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,gBAAgB,GACjB,EAAE,+BAA+B;;;sBAmDP,qBAAqB;kCAIT,qBAAqB;yBAW9B,qBAAqB;EA0ElD"}
|