@tamagui/sheet 1.130.2 → 1.130.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/SheetImplementationCustom.cjs +7 -11
- package/dist/cjs/SheetImplementationCustom.js +49 -58
- package/dist/cjs/SheetImplementationCustom.js.map +1 -1
- package/dist/cjs/SheetImplementationCustom.native.js +9 -11
- package/dist/cjs/SheetImplementationCustom.native.js.map +2 -2
- package/dist/cjs/SheetScrollView.cjs +26 -10
- package/dist/cjs/SheetScrollView.js +32 -11
- package/dist/cjs/SheetScrollView.js.map +1 -1
- package/dist/cjs/SheetScrollView.native.js +34 -11
- package/dist/cjs/SheetScrollView.native.js.map +2 -2
- package/dist/cjs/nativeSheet.cjs +0 -1
- package/dist/cjs/nativeSheet.js +0 -1
- package/dist/cjs/nativeSheet.js.map +1 -1
- package/dist/cjs/nativeSheet.native.js +0 -1
- package/dist/cjs/nativeSheet.native.js.map +2 -2
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/useSheetOpenState.cjs +2 -2
- package/dist/cjs/useSheetOpenState.js +2 -2
- package/dist/cjs/useSheetOpenState.js.map +1 -1
- package/dist/cjs/useSheetOpenState.native.js +2 -2
- package/dist/cjs/useSheetOpenState.native.js.map +2 -2
- package/dist/cjs/useSheetProviderProps.cjs +22 -11
- package/dist/cjs/useSheetProviderProps.js +23 -13
- package/dist/cjs/useSheetProviderProps.js.map +1 -1
- package/dist/cjs/useSheetProviderProps.native.js +15 -3
- package/dist/cjs/useSheetProviderProps.native.js.map +2 -2
- package/dist/esm/SheetImplementationCustom.js +50 -59
- package/dist/esm/SheetImplementationCustom.js.map +1 -1
- package/dist/esm/SheetImplementationCustom.mjs +8 -12
- package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
- package/dist/esm/SheetImplementationCustom.native.js +10 -13
- package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
- package/dist/esm/SheetScrollView.js +32 -11
- package/dist/esm/SheetScrollView.js.map +1 -1
- package/dist/esm/SheetScrollView.mjs +26 -10
- package/dist/esm/SheetScrollView.mjs.map +1 -1
- package/dist/esm/SheetScrollView.native.js +29 -10
- package/dist/esm/SheetScrollView.native.js.map +1 -1
- package/dist/esm/nativeSheet.js +0 -1
- package/dist/esm/nativeSheet.js.map +1 -1
- package/dist/esm/nativeSheet.mjs +0 -1
- package/dist/esm/nativeSheet.mjs.map +1 -1
- package/dist/esm/nativeSheet.native.js +0 -1
- package/dist/esm/nativeSheet.native.js.map +1 -1
- package/dist/esm/useSheetOpenState.js +2 -2
- package/dist/esm/useSheetOpenState.js.map +1 -1
- package/dist/esm/useSheetOpenState.mjs +2 -2
- package/dist/esm/useSheetOpenState.mjs.map +1 -1
- package/dist/esm/useSheetOpenState.native.js +3 -2
- package/dist/esm/useSheetOpenState.native.js.map +1 -1
- package/dist/esm/useSheetProviderProps.js +23 -13
- package/dist/esm/useSheetProviderProps.js.map +1 -1
- package/dist/esm/useSheetProviderProps.mjs +22 -11
- package/dist/esm/useSheetProviderProps.mjs.map +1 -1
- package/dist/esm/useSheetProviderProps.native.js +24 -11
- package/dist/esm/useSheetProviderProps.native.js.map +1 -1
- package/dist/jsx/SheetImplementationCustom.js +50 -59
- package/dist/jsx/SheetImplementationCustom.js.map +1 -1
- package/dist/jsx/SheetImplementationCustom.mjs +8 -12
- package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
- package/dist/jsx/SheetImplementationCustom.native.js +10 -12
- package/dist/jsx/SheetImplementationCustom.native.js.map +2 -2
- package/dist/jsx/SheetScrollView.js +32 -11
- package/dist/jsx/SheetScrollView.js.map +1 -1
- package/dist/jsx/SheetScrollView.mjs +26 -10
- package/dist/jsx/SheetScrollView.mjs.map +1 -1
- package/dist/jsx/SheetScrollView.native.js +34 -11
- package/dist/jsx/SheetScrollView.native.js.map +2 -2
- package/dist/jsx/nativeSheet.js +0 -1
- package/dist/jsx/nativeSheet.js.map +1 -1
- package/dist/jsx/nativeSheet.mjs +0 -1
- package/dist/jsx/nativeSheet.mjs.map +1 -1
- package/dist/jsx/nativeSheet.native.js +0 -1
- package/dist/jsx/nativeSheet.native.js.map +2 -2
- package/dist/jsx/useSheetOpenState.js +2 -2
- package/dist/jsx/useSheetOpenState.js.map +1 -1
- package/dist/jsx/useSheetOpenState.mjs +2 -2
- package/dist/jsx/useSheetOpenState.mjs.map +1 -1
- package/dist/jsx/useSheetOpenState.native.js +2 -2
- package/dist/jsx/useSheetOpenState.native.js.map +2 -2
- package/dist/jsx/useSheetProviderProps.js +23 -13
- package/dist/jsx/useSheetProviderProps.js.map +1 -1
- package/dist/jsx/useSheetProviderProps.mjs +22 -11
- package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
- package/dist/jsx/useSheetProviderProps.native.js +15 -3
- package/dist/jsx/useSheetProviderProps.native.js.map +2 -2
- package/package.json +19 -19
- package/src/SheetImplementationCustom.tsx +19 -19
- package/src/SheetScrollView.tsx +55 -16
- package/src/nativeSheet.tsx +1 -6
- package/src/types.tsx +25 -0
- package/src/useSheetOpenState.tsx +5 -2
- package/src/useSheetProviderProps.tsx +30 -12
- package/types/Sheet.d.ts +1 -0
- package/types/Sheet.d.ts.map +1 -1
- package/types/SheetContext.d.ts +0 -1
- package/types/SheetContext.d.ts.map +1 -1
- package/types/SheetImplementationCustom.d.ts +1 -0
- package/types/SheetImplementationCustom.d.ts.map +1 -1
- package/types/SheetScrollView.d.ts.map +1 -1
- package/types/createSheet.d.ts +1 -0
- package/types/createSheet.d.ts.map +1 -1
- package/types/nativeSheet.d.ts.map +1 -1
- package/types/types.d.ts +20 -0
- package/types/types.d.ts.map +1 -1
- package/types/useSheetOpenState.d.ts.map +1 -1
- package/types/useSheetProviderProps.d.ts +0 -1
- package/types/useSheetProviderProps.d.ts.map +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useSheetProviderProps.tsx"],
|
|
4
|
-
"mappings": "AAAA,OAAOA,WAAW;AAElB,SAASC,wBAAwB;AACjC,SAASC,mBAAmB;AAC5B,SAASC,4BAA4B;
|
|
5
|
-
"names": ["React", "useConfiguration", "useConstant", "useControllableState", "useSheetProviderProps", "props", "state", "options", "handleRef", "useRef", "contentRef", "frameSize", "setFrameSize", "useState", "maxContentSize", "setMaxContentSize", "snapPointsMode", "snapPointsProp", "snapPoints", "hasFit", "useMemo", "dismissOnSnapToBottom", "JSON", "stringify", "position_", "setPositionImmediate", "prop", "position", "defaultProp", "defaultPosition", "open", "onChange", "onPositionChange", "strategy", "setPosition", "useCallback", "next", "length", "setOpen", "process", "env", "NODE_ENV", "some", "p", "endsWith", "n", "Number", "slice", "console", "warn", "indexOf", "shouldSetPositionOpen", "useEffect", "animationDriver", "Error", "scrollBridge", "enabled", "y", "paneY", "paneMinY", "scrollStartY", "drag", "release", "scrollLock", "removeScrollEnabled", "forceRemoveScrollEnabled", "modal", "maxSnapPoint", "screenSize", "providerProps", "hidden", "isHidden", "dismissOnOverlayPress", "onOverlayComponent", "scope", "__scopeSheet", "onlyShowFrame"]
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["React", "useConfiguration", "useConstant", "useControllableState", "useSheetProviderProps", "props", "state", "options", "handleRef", "useRef", "contentRef", "frameSize", "setFrameSize", "useState", "maxContentSize", "setMaxContentSize", "snapPointsMode", "snapPointsProp", "snapPoints", "hasFit", "useMemo", "dismissOnSnapToBottom", "JSON", "stringify", "position_", "setPositionImmediate", "prop", "position", "defaultProp", "defaultPosition", "open", "onChange", "onPositionChange", "strategy", "setPosition", "useCallback", "next", "length", "setOpen", "process", "env", "NODE_ENV", "some", "p", "endsWith", "n", "Number", "slice", "console", "warn", "indexOf", "shouldSetPositionOpen", "useEffect", "animationDriver", "Error", "scrollBridge", "parentDragListeners", "Set", "bridge", "enabled", "y", "paneY", "paneMinY", "scrollStartY", "drag", "release", "scrollLock", "isParentDragging", "onParentDragging", "cb", "add", "delete", "setParentDragging", "val", "forEach", "removeScrollEnabled", "forceRemoveScrollEnabled", "modal", "maxSnapPoint", "screenSize", "providerProps", "hidden", "isHidden", "dismissOnOverlayPress", "onOverlayComponent", "scope", "__scopeSheet", "onlyShowFrame"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/sheet",
|
|
3
|
-
"version": "1.130.
|
|
3
|
+
"version": "1.130.3",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"*.css"
|
|
6
6
|
],
|
|
@@ -37,29 +37,29 @@
|
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@tamagui/adapt": "1.130.
|
|
41
|
-
"@tamagui/animate-presence": "1.130.
|
|
42
|
-
"@tamagui/animations-react-native": "1.130.
|
|
43
|
-
"@tamagui/compose-refs": "1.130.
|
|
44
|
-
"@tamagui/constants": "1.130.
|
|
45
|
-
"@tamagui/core": "1.130.
|
|
46
|
-
"@tamagui/create-context": "1.130.
|
|
47
|
-
"@tamagui/helpers": "1.130.
|
|
48
|
-
"@tamagui/portal": "1.130.
|
|
49
|
-
"@tamagui/remove-scroll": "1.130.
|
|
50
|
-
"@tamagui/scroll-view": "1.130.
|
|
51
|
-
"@tamagui/stacks": "1.130.
|
|
52
|
-
"@tamagui/use-constant": "1.130.
|
|
53
|
-
"@tamagui/use-controllable-state": "1.130.
|
|
54
|
-
"@tamagui/use-did-finish-ssr": "1.130.
|
|
55
|
-
"@tamagui/use-keyboard-visible": "1.130.
|
|
56
|
-
"@tamagui/z-index-stack": "1.130.
|
|
40
|
+
"@tamagui/adapt": "1.130.3",
|
|
41
|
+
"@tamagui/animate-presence": "1.130.3",
|
|
42
|
+
"@tamagui/animations-react-native": "1.130.3",
|
|
43
|
+
"@tamagui/compose-refs": "1.130.3",
|
|
44
|
+
"@tamagui/constants": "1.130.3",
|
|
45
|
+
"@tamagui/core": "1.130.3",
|
|
46
|
+
"@tamagui/create-context": "1.130.3",
|
|
47
|
+
"@tamagui/helpers": "1.130.3",
|
|
48
|
+
"@tamagui/portal": "1.130.3",
|
|
49
|
+
"@tamagui/remove-scroll": "1.130.3",
|
|
50
|
+
"@tamagui/scroll-view": "1.130.3",
|
|
51
|
+
"@tamagui/stacks": "1.130.3",
|
|
52
|
+
"@tamagui/use-constant": "1.130.3",
|
|
53
|
+
"@tamagui/use-controllable-state": "1.130.3",
|
|
54
|
+
"@tamagui/use-did-finish-ssr": "1.130.3",
|
|
55
|
+
"@tamagui/use-keyboard-visible": "1.130.3",
|
|
56
|
+
"@tamagui/z-index-stack": "1.130.3"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
59
|
"react": "*"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@tamagui/build": "1.130.
|
|
62
|
+
"@tamagui/build": "1.130.3",
|
|
63
63
|
"react": "*"
|
|
64
64
|
},
|
|
65
65
|
"publishConfig": {
|
|
@@ -239,11 +239,6 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
|
|
|
239
239
|
const disableDrag = props.disableDrag ?? controller?.disableDrag
|
|
240
240
|
const themeName = useThemeName()
|
|
241
241
|
const [isDragging, setIsDragging] = React.useState(false)
|
|
242
|
-
const scrollEnabled = useRef(true)
|
|
243
|
-
|
|
244
|
-
const setScrollEnabled = React.useCallback((val: boolean) => {
|
|
245
|
-
scrollEnabled.current = val
|
|
246
|
-
}, [])
|
|
247
242
|
|
|
248
243
|
const panResponder = React.useMemo(() => {
|
|
249
244
|
if (disableDrag) return
|
|
@@ -256,6 +251,7 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
|
|
|
256
251
|
|
|
257
252
|
function setPanning(val: boolean) {
|
|
258
253
|
setIsDragging(val)
|
|
254
|
+
scrollBridge.setParentDragging(false)
|
|
259
255
|
|
|
260
256
|
// make unselectable:
|
|
261
257
|
if (isClient) {
|
|
@@ -301,8 +297,6 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
|
|
|
301
297
|
// have to call both because state may not change but need to snap back
|
|
302
298
|
setPosition(closestPoint)
|
|
303
299
|
animateTo(closestPoint)
|
|
304
|
-
|
|
305
|
-
setScrollEnabled(closestPoint === 0)
|
|
306
300
|
}
|
|
307
301
|
|
|
308
302
|
const finish = (_e: GestureResponderEvent, state: PanResponderGestureState) => {
|
|
@@ -346,19 +340,20 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
|
|
|
346
340
|
}
|
|
347
341
|
}
|
|
348
342
|
|
|
349
|
-
// if (scrollEnabled.current) {
|
|
350
|
-
// return false
|
|
351
|
-
// }
|
|
352
|
-
|
|
353
343
|
// we could do some detection of other touchables and cancel here..
|
|
354
|
-
return Math.abs(dy) >
|
|
344
|
+
return Math.abs(dy) > 5
|
|
355
345
|
}
|
|
356
346
|
|
|
357
|
-
|
|
347
|
+
const granted = getShouldSet()
|
|
348
|
+
|
|
349
|
+
if (granted) {
|
|
350
|
+
scrollBridge.setParentDragging(true)
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
return granted
|
|
358
354
|
}
|
|
359
355
|
|
|
360
356
|
const grant = () => {
|
|
361
|
-
setScrollEnabled(false)
|
|
362
357
|
setPanning(true)
|
|
363
358
|
stopSpring()
|
|
364
359
|
startY = at.current
|
|
@@ -383,6 +378,15 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
|
|
|
383
378
|
onPanResponderMove: (_e, { dy }) => {
|
|
384
379
|
const toFull = dy + startY
|
|
385
380
|
const to = resisted(toFull, minY)
|
|
381
|
+
|
|
382
|
+
// handles the case where you hand off back and forth more than once
|
|
383
|
+
const isAtTop = to <= minY
|
|
384
|
+
if (isAtTop) {
|
|
385
|
+
scrollBridge.setParentDragging(false)
|
|
386
|
+
} else {
|
|
387
|
+
scrollBridge.setParentDragging(true)
|
|
388
|
+
}
|
|
389
|
+
|
|
386
390
|
animatedNumber.setValue(to, { type: 'direct' })
|
|
387
391
|
},
|
|
388
392
|
onPanResponderEnd: finish,
|
|
@@ -488,11 +492,7 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
|
|
|
488
492
|
|
|
489
493
|
let contents = (
|
|
490
494
|
<ParentSheetContext.Provider value={nextParentContext}>
|
|
491
|
-
<SheetProvider
|
|
492
|
-
{...providerProps}
|
|
493
|
-
scrollEnabled={scrollEnabled.current}
|
|
494
|
-
setHasScrollView={setHasScrollView}
|
|
495
|
-
>
|
|
495
|
+
<SheetProvider {...providerProps} setHasScrollView={setHasScrollView}>
|
|
496
496
|
<AnimatePresence custom={{ open }}>
|
|
497
497
|
{shouldHideParentSheet || !open ? null : overlayComponent}
|
|
498
498
|
</AnimatePresence>
|
package/src/SheetScrollView.tsx
CHANGED
|
@@ -31,7 +31,7 @@ export const SheetScrollView = React.forwardRef<
|
|
|
31
31
|
ref
|
|
32
32
|
) => {
|
|
33
33
|
const context = useSheetContext(SHEET_SCROLL_VIEW_NAME, __scopeSheet)
|
|
34
|
-
const { scrollBridge,
|
|
34
|
+
const { scrollBridge, setHasScrollView } = context
|
|
35
35
|
const [scrollEnabled, setScrollEnabled_] = useControllableState({
|
|
36
36
|
prop: scrollEnabledProp,
|
|
37
37
|
defaultProp: true,
|
|
@@ -55,7 +55,7 @@ export const SheetScrollView = React.forwardRef<
|
|
|
55
55
|
dragAt: 0,
|
|
56
56
|
dys: [] as number[], // store a few recent dys to get velocity on release
|
|
57
57
|
isScrolling: false,
|
|
58
|
-
|
|
58
|
+
isDraggingScrollArea: false,
|
|
59
59
|
})
|
|
60
60
|
|
|
61
61
|
useEffect(() => {
|
|
@@ -66,10 +66,10 @@ export const SheetScrollView = React.forwardRef<
|
|
|
66
66
|
}, [])
|
|
67
67
|
|
|
68
68
|
const release = () => {
|
|
69
|
-
if (!state.current.
|
|
69
|
+
if (!state.current.isDraggingScrollArea) {
|
|
70
70
|
return
|
|
71
71
|
}
|
|
72
|
-
state.current.
|
|
72
|
+
state.current.isDraggingScrollArea = false
|
|
73
73
|
scrollBridge.scrollStartY = -1
|
|
74
74
|
scrollBridge.scrollLock = false
|
|
75
75
|
state.current.isScrolling = false
|
|
@@ -88,8 +88,46 @@ export const SheetScrollView = React.forwardRef<
|
|
|
88
88
|
})
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
const scrollable = scrollEnabled
|
|
92
|
+
|
|
93
|
+
useEffect(() => {
|
|
94
|
+
if (typeof window === 'undefined') return
|
|
95
|
+
if (!scrollRef.current) return
|
|
96
|
+
|
|
97
|
+
const controller = new AbortController()
|
|
98
|
+
|
|
99
|
+
const node = scrollRef.current.getScrollableNode() as HTMLElement
|
|
100
|
+
|
|
101
|
+
// this is unfortuantely the only way to prevent a scroll once a scroll already started
|
|
102
|
+
// we just keep setting it back to the last value - it should only ever be 0 as this only
|
|
103
|
+
// ever runs when you scroll down, then back to top and start dragging, then back to scroll
|
|
104
|
+
node.addEventListener(
|
|
105
|
+
'touchmove',
|
|
106
|
+
(e) => {
|
|
107
|
+
if (scrollBridge.isParentDragging) {
|
|
108
|
+
node.scrollTo({
|
|
109
|
+
top: scrollBridge.y,
|
|
110
|
+
behavior: 'instant',
|
|
111
|
+
})
|
|
112
|
+
// can't preventdefault its not cancellable
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
signal: controller.signal,
|
|
117
|
+
passive: false,
|
|
118
|
+
}
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
const disposeBridgeListen = scrollBridge.onParentDragging((val) => {
|
|
122
|
+
if (val) {
|
|
123
|
+
}
|
|
124
|
+
})
|
|
125
|
+
|
|
126
|
+
return () => {
|
|
127
|
+
disposeBridgeListen()
|
|
128
|
+
controller.abort()
|
|
129
|
+
}
|
|
130
|
+
}, [])
|
|
93
131
|
|
|
94
132
|
return (
|
|
95
133
|
<ScrollView
|
|
@@ -126,7 +164,7 @@ export const SheetScrollView = React.forwardRef<
|
|
|
126
164
|
}}
|
|
127
165
|
onStartShouldSetResponder={() => {
|
|
128
166
|
scrollBridge.scrollStartY = -1
|
|
129
|
-
state.current.
|
|
167
|
+
state.current.isDraggingScrollArea = true
|
|
130
168
|
return scrollable
|
|
131
169
|
}}
|
|
132
170
|
// setting to false while onResponderMove is disabled
|
|
@@ -141,14 +179,11 @@ export const SheetScrollView = React.forwardRef<
|
|
|
141
179
|
if (isWeb) {
|
|
142
180
|
const { pageY } = e.nativeEvent
|
|
143
181
|
|
|
144
|
-
if (state.current.isScrolling) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
if (scrollBridge.scrollStartY === -1) {
|
|
150
|
-
scrollBridge.scrollStartY = pageY
|
|
151
|
-
state.current.lastPageY = pageY
|
|
182
|
+
if (!state.current.isScrolling) {
|
|
183
|
+
if (scrollBridge.scrollStartY === -1) {
|
|
184
|
+
scrollBridge.scrollStartY = pageY
|
|
185
|
+
state.current.lastPageY = pageY
|
|
186
|
+
}
|
|
152
187
|
}
|
|
153
188
|
|
|
154
189
|
const dragAt = pageY - scrollBridge.scrollStartY
|
|
@@ -159,13 +194,17 @@ export const SheetScrollView = React.forwardRef<
|
|
|
159
194
|
|
|
160
195
|
const shouldScrollLock = (dy === 0 || isDraggingUp) && isPaneAtTop
|
|
161
196
|
|
|
162
|
-
if (shouldScrollLock) {
|
|
197
|
+
if (shouldScrollLock && !state.current.isScrolling) {
|
|
163
198
|
state.current.isScrolling = true
|
|
164
199
|
scrollBridge.scrollLock = true
|
|
165
200
|
setScrollEnabled(true)
|
|
166
201
|
return
|
|
167
202
|
}
|
|
168
203
|
|
|
204
|
+
if (scrollBridge.y >= 0) {
|
|
205
|
+
return
|
|
206
|
+
}
|
|
207
|
+
|
|
169
208
|
setScrollEnabled(false)
|
|
170
209
|
scrollBridge.drag(dragAt)
|
|
171
210
|
state.current.dragAt = dragAt
|
package/src/nativeSheet.tsx
CHANGED
|
@@ -59,12 +59,7 @@ export function setupNativeSheet(
|
|
|
59
59
|
|
|
60
60
|
return (
|
|
61
61
|
<>
|
|
62
|
-
<SheetProvider
|
|
63
|
-
scrollEnabled
|
|
64
|
-
setHasScrollView={emptyFn}
|
|
65
|
-
{...providerProps}
|
|
66
|
-
onlyShowFrame
|
|
67
|
-
>
|
|
62
|
+
<SheetProvider setHasScrollView={emptyFn} {...providerProps} onlyShowFrame>
|
|
68
63
|
<ModalSheetView ref={ref} onModalDidDismiss={() => setOpenInternal(false)}>
|
|
69
64
|
<ModalSheetViewMainContent>
|
|
70
65
|
<View style={{ flex: 1 }}>{props.children}</View>
|
package/src/types.tsx
CHANGED
|
@@ -10,9 +10,23 @@ export type SheetProps = ScopedProps<
|
|
|
10
10
|
open?: boolean
|
|
11
11
|
defaultOpen?: boolean
|
|
12
12
|
onOpenChange?: OpenChangeHandler
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Control the index of the position in the `snapPoints` array
|
|
16
|
+
*/
|
|
13
17
|
position?: number
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Initial position from the `snapPoints` array
|
|
21
|
+
*/
|
|
14
22
|
defaultPosition?: number
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Array of pixels or percents the Sheet will attempt to move to when dragged.
|
|
26
|
+
* The first is the topmost and default when first opened via open prop.
|
|
27
|
+
*/
|
|
15
28
|
snapPoints?: (string | number)[]
|
|
29
|
+
|
|
16
30
|
snapPointsMode?: SnapPointsMode
|
|
17
31
|
onPositionChange?: PositionChangeHandler
|
|
18
32
|
children?: ReactNode
|
|
@@ -21,6 +35,14 @@ export type SheetProps = ScopedProps<
|
|
|
21
35
|
forceRemoveScrollEnabled?: boolean
|
|
22
36
|
animationConfig?: AnimatedNumberStrategy
|
|
23
37
|
|
|
38
|
+
/**
|
|
39
|
+
* By default Sheet will prefer the open prop over a parent component that is
|
|
40
|
+
* controlling it via Adapt. In general if you want to Adapt to a sheet, you'd
|
|
41
|
+
* leave the open prop undefined. If you'd like to have the parent override the
|
|
42
|
+
* prop you've set manually on Sheet, set this to true.
|
|
43
|
+
*/
|
|
44
|
+
preferAdaptParentOpenState?: boolean
|
|
45
|
+
|
|
24
46
|
/**
|
|
25
47
|
* (experimental) Remove the children while hidden (to save some performance, but can cause issues with animations)
|
|
26
48
|
*/
|
|
@@ -70,5 +92,8 @@ export type ScrollBridge = {
|
|
|
70
92
|
drag: (dy: number) => void
|
|
71
93
|
release: (state: { dragAt: number; vy: number }) => void
|
|
72
94
|
scrollLock: boolean
|
|
95
|
+
isParentDragging: boolean
|
|
96
|
+
onParentDragging: (props: (val: boolean) => void) => () => void
|
|
97
|
+
setParentDragging: (val: boolean) => void
|
|
73
98
|
onFinishAnimate?: () => void
|
|
74
99
|
}
|
|
@@ -11,12 +11,15 @@ export const useSheetOpenState = (props: SheetProps) => {
|
|
|
11
11
|
props.onOpenChange?.(val)
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
const propVal =
|
|
14
|
+
const propVal = props.preferAdaptParentOpenState
|
|
15
|
+
? (controller?.open ?? props.open)
|
|
16
|
+
: (props.open ?? controller?.open)
|
|
17
|
+
|
|
15
18
|
const [open, setOpen] = useControllableState({
|
|
16
19
|
prop: propVal,
|
|
17
20
|
defaultProp: props.defaultOpen ?? false,
|
|
18
21
|
onChange: onOpenChangeInternal,
|
|
19
|
-
strategy: '
|
|
22
|
+
strategy: 'most-recent-wins',
|
|
20
23
|
})
|
|
21
24
|
|
|
22
25
|
return {
|
|
@@ -8,7 +8,6 @@ import type { ScrollBridge, SheetProps } from './types'
|
|
|
8
8
|
import type { SheetOpenState } from './useSheetOpenState'
|
|
9
9
|
|
|
10
10
|
export type SheetContextValue = ReturnType<typeof useSheetProviderProps> & {
|
|
11
|
-
scrollEnabled: boolean
|
|
12
11
|
setHasScrollView: (val: boolean) => void
|
|
13
12
|
}
|
|
14
13
|
|
|
@@ -44,7 +43,7 @@ export function useSheetProviderProps(
|
|
|
44
43
|
prop: props.position,
|
|
45
44
|
defaultProp: props.defaultPosition || (state.open ? 0 : -1),
|
|
46
45
|
onChange: props.onPositionChange,
|
|
47
|
-
strategy: '
|
|
46
|
+
strategy: 'most-recent-wins',
|
|
48
47
|
})
|
|
49
48
|
|
|
50
49
|
const position = state.open === false ? -1 : position_
|
|
@@ -138,16 +137,35 @@ export function useSheetProviderProps(
|
|
|
138
137
|
)
|
|
139
138
|
}
|
|
140
139
|
|
|
141
|
-
const scrollBridge = useConstant<ScrollBridge>(() =>
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
140
|
+
const scrollBridge = useConstant<ScrollBridge>(() => {
|
|
141
|
+
const parentDragListeners = new Set<Function>()
|
|
142
|
+
|
|
143
|
+
const bridge: ScrollBridge = {
|
|
144
|
+
enabled: false,
|
|
145
|
+
y: 0,
|
|
146
|
+
paneY: 0,
|
|
147
|
+
paneMinY: 0,
|
|
148
|
+
scrollStartY: -1,
|
|
149
|
+
drag: () => {},
|
|
150
|
+
release: () => {},
|
|
151
|
+
scrollLock: false,
|
|
152
|
+
isParentDragging: false,
|
|
153
|
+
onParentDragging: (cb) => {
|
|
154
|
+
parentDragListeners.add(cb)
|
|
155
|
+
return () => {
|
|
156
|
+
parentDragListeners.delete(cb)
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
setParentDragging: (val) => {
|
|
160
|
+
if (val !== bridge.isParentDragging) {
|
|
161
|
+
bridge.isParentDragging = val
|
|
162
|
+
parentDragListeners.forEach((cb) => cb(val))
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
return bridge
|
|
168
|
+
})
|
|
151
169
|
|
|
152
170
|
const removeScrollEnabled = props.forceRemoveScrollEnabled ?? (open && props.modal)
|
|
153
171
|
|
package/types/Sheet.d.ts
CHANGED
|
@@ -60,6 +60,7 @@ export declare const Sheet: import("react").ForwardRefExoticComponent<{
|
|
|
60
60
|
dismissOnSnapToBottom?: boolean;
|
|
61
61
|
forceRemoveScrollEnabled?: boolean;
|
|
62
62
|
animationConfig?: import("@tamagui/core").AnimatedNumberStrategy;
|
|
63
|
+
preferAdaptParentOpenState?: boolean;
|
|
63
64
|
unmountChildrenWhenHidden?: boolean;
|
|
64
65
|
native?: "ios"[] | boolean;
|
|
65
66
|
animation?: import("@tamagui/core").AnimationProp;
|
package/types/Sheet.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sheet.d.ts","sourceRoot":"","sources":["../src/Sheet.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,cAAc,SAAS,CAAA;AAMvB,eAAO,MAAM,MAAM;;;;;;;;;;;8CAmCjB,CAAA;AAMF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;8CA2BlB,CAAA;AAMF,eAAO,MAAM,KAAK;;;;;;;;;;8CAoBhB,CAAA;AAEF,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"Sheet.d.ts","sourceRoot":"","sources":["../src/Sheet.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,cAAc,SAAS,CAAA;AAMvB,eAAO,MAAM,MAAM;;;;;;;;;;;8CAmCjB,CAAA;AAMF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;8CA2BlB,CAAA;AAMF,eAAO,MAAM,KAAK;;;;;;;;;;8CAoBhB,CAAA;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIhB,CAAA;AAEF,uCAAuC;AACvC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;8CAAU,CAAA;AAExC,uCAAuC;AACvC,eAAO,MAAM,gBAAgB;;;;;;;;;;;8CAAS,CAAA"}
|
package/types/SheetContext.d.ts
CHANGED
|
@@ -32,7 +32,6 @@ export declare const SheetProvider: (props: {
|
|
|
32
32
|
setPositionImmediate: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
33
33
|
onlyShowFrame: boolean;
|
|
34
34
|
} & {
|
|
35
|
-
scrollEnabled: boolean;
|
|
36
35
|
setHasScrollView: (val: boolean) => void;
|
|
37
36
|
} & {
|
|
38
37
|
scope: import("@tamagui/create-context").Scope<SheetContextValue>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetContext.d.ts","sourceRoot":"","sources":["../src/SheetContext.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,eAAO,MAAO,kBAAkB;;;2JAMygC,CAAC;QAAS,CAAC;YAAoB,CAAC;yBANviC,gBAAgB,+CAAkC,CAAA;AAEpF,eAAO,MAAO,aAAa
|
|
1
|
+
{"version":3,"file":"SheetContext.d.ts","sourceRoot":"","sources":["../src/SheetContext.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,eAAO,MAAO,kBAAkB;;;2JAMygC,CAAC;QAAS,CAAC;YAAoB,CAAC;yBANviC,gBAAgB,+CAAkC,CAAA;AAEpF,eAAO,MAAO,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CAAE,eAAe;;;mCAG3C,CAAA"}
|
|
@@ -15,6 +15,7 @@ export declare const SheetImplementationCustom: React.ForwardRefExoticComponent<
|
|
|
15
15
|
dismissOnSnapToBottom?: boolean;
|
|
16
16
|
forceRemoveScrollEnabled?: boolean;
|
|
17
17
|
animationConfig?: import("@tamagui/core").AnimatedNumberStrategy;
|
|
18
|
+
preferAdaptParentOpenState?: boolean;
|
|
18
19
|
unmountChildrenWhenHidden?: boolean;
|
|
19
20
|
native?: "ios"[] | boolean;
|
|
20
21
|
animation?: import("@tamagui/core").AnimationProp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetImplementationCustom.d.ts","sourceRoot":"","sources":["../src/SheetImplementationCustom.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAO/C,OAAO,EAAsC,IAAI,EAAE,MAAM,cAAc,CAAA;AAIvE,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,SAAS,CAAA;AAWzD,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"SheetImplementationCustom.d.ts","sourceRoot":"","sources":["../src/SheetImplementationCustom.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAO/C,OAAO,EAAsC,IAAI,EAAE,MAAM,cAAc,CAAA;AAIvE,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,SAAS,CAAA;AAWzD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAiiBrC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetScrollView.d.ts","sourceRoot":"","sources":["../src/SheetScrollView.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAoB,MAAM,OAAO,CAAA;AACxC,OAAO,KAAK,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AAY9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SheetScrollView.d.ts","sourceRoot":"","sources":["../src/SheetScrollView.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAoB,MAAM,OAAO,CAAA;AACxC,OAAO,KAAK,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AAY9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;wCA6M3B,CAAA"}
|
package/types/createSheet.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export declare function createSheet<H extends TamaguiComponent | SheetStyledComp
|
|
|
25
25
|
dismissOnSnapToBottom?: boolean;
|
|
26
26
|
forceRemoveScrollEnabled?: boolean;
|
|
27
27
|
animationConfig?: import("@tamagui/core").AnimatedNumberStrategy;
|
|
28
|
+
preferAdaptParentOpenState?: boolean;
|
|
28
29
|
unmountChildrenWhenHidden?: boolean;
|
|
29
30
|
native?: "ios"[] | boolean;
|
|
30
31
|
animation?: import("@tamagui/core").AnimationProp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSheet.d.ts","sourceRoot":"","sources":["../src/createSheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,iCAAiC,EAElC,MAAM,eAAe,CAAA;AAOtB,OAAO,KAAK,EACV,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EAEd,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAOxC,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAI3D,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,KAAK,SAAS,GAAG,UAAU,GAAG,gBAAgB,CAAA;AAE9C,KAAK,oBAAoB,GAAG,iCAAiC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;AAE1F,wBAAgB,WAAW,CACzB,CAAC,SAAS,gBAAgB,GAAG,oBAAoB,EACjD,CAAC,SAAS,gBAAgB,GAAG,oBAAoB,EACjD,CAAC,SAAS,gBAAgB,GAAG,oBAAoB,EACjD,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE
|
|
1
|
+
{"version":3,"file":"createSheet.d.ts","sourceRoot":"","sources":["../src/createSheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,iCAAiC,EAElC,MAAM,eAAe,CAAA;AAOtB,OAAO,KAAK,EACV,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EAEd,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAOxC,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAI3D,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,KAAK,SAAS,GAAG,UAAU,GAAG,gBAAgB,CAAA;AAE9C,KAAK,oBAAoB,GAAG,iCAAiC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;AAE1F,wBAAgB,WAAW,CACzB,CAAC,SAAS,gBAAgB,GAAG,oBAAoB,EACjD,CAAC,SAAS,gBAAgB,GAAG,oBAAoB,EACjD,CAAC,SAAS,gBAAgB,GAAG,oBAAoB,EACjD,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA6E7D;;;;eAIG;wCACyB,OAAO;YAEnC;;;;eAIG;+CACgC,OAAO;;YAZ1C;;;;eAIG;wCACyB,OAAO;YAEnC;;;;eAIG;+CACgC,OAAO;;+DArD3B,gBAAgB,CAAC,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;QAyCzD;;;;WAIG;oCACyB,OAAO;QAEnC;;;;WAIG;2CACgC,OAAO;;QAZ1C;;;;WAIG;oCACyB,OAAO;QAEnC;;;;WAIG;2CACgC,OAAO;;2DArD3B,gBAAgB,CAAC,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;;;;;;;;;;;;;;;;;;;EAuL5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeSheet.d.ts","sourceRoot":"","sources":["../src/nativeSheet.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAI9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAMzC,KAAK,oBAAoB,GAAG,KAAK,CAAA;AAMjC,wBAAgB,cAAc,CAAC,QAAQ,EAAE,oBAAoB,wCAE5D;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,oBAAoB,EAC9B,UAAU,EAAE;IAAE,cAAc,EAAE,GAAG,CAAC;IAAC,yBAAyB,EAAE,GAAG,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"nativeSheet.d.ts","sourceRoot":"","sources":["../src/nativeSheet.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAI9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAMzC,KAAK,oBAAoB,GAAG,KAAK,CAAA;AAMjC,wBAAgB,cAAc,CAAC,QAAQ,EAAE,oBAAoB,wCAE5D;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,oBAAoB,EAC9B,UAAU,EAAE;IAAE,cAAc,EAAE,GAAG,CAAC;IAAC,yBAAyB,EAAE,GAAG,CAAA;CAAE,QAiEpE"}
|
package/types/types.d.ts
CHANGED
|
@@ -8,8 +8,18 @@ export type SheetProps = ScopedProps<{
|
|
|
8
8
|
open?: boolean;
|
|
9
9
|
defaultOpen?: boolean;
|
|
10
10
|
onOpenChange?: OpenChangeHandler;
|
|
11
|
+
/**
|
|
12
|
+
* Control the index of the position in the `snapPoints` array
|
|
13
|
+
*/
|
|
11
14
|
position?: number;
|
|
15
|
+
/**
|
|
16
|
+
* Initial position from the `snapPoints` array
|
|
17
|
+
*/
|
|
12
18
|
defaultPosition?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Array of pixels or percents the Sheet will attempt to move to when dragged.
|
|
21
|
+
* The first is the topmost and default when first opened via open prop.
|
|
22
|
+
*/
|
|
13
23
|
snapPoints?: (string | number)[];
|
|
14
24
|
snapPointsMode?: SnapPointsMode;
|
|
15
25
|
onPositionChange?: PositionChangeHandler;
|
|
@@ -18,6 +28,13 @@ export type SheetProps = ScopedProps<{
|
|
|
18
28
|
dismissOnSnapToBottom?: boolean;
|
|
19
29
|
forceRemoveScrollEnabled?: boolean;
|
|
20
30
|
animationConfig?: AnimatedNumberStrategy;
|
|
31
|
+
/**
|
|
32
|
+
* By default Sheet will prefer the open prop over a parent component that is
|
|
33
|
+
* controlling it via Adapt. In general if you want to Adapt to a sheet, you'd
|
|
34
|
+
* leave the open prop undefined. If you'd like to have the parent override the
|
|
35
|
+
* prop you've set manually on Sheet, set this to true.
|
|
36
|
+
*/
|
|
37
|
+
preferAdaptParentOpenState?: boolean;
|
|
21
38
|
/**
|
|
22
39
|
* (experimental) Remove the children while hidden (to save some performance, but can cause issues with animations)
|
|
23
40
|
*/
|
|
@@ -58,6 +75,9 @@ export type ScrollBridge = {
|
|
|
58
75
|
vy: number;
|
|
59
76
|
}) => void;
|
|
60
77
|
scrollLock: boolean;
|
|
78
|
+
isParentDragging: boolean;
|
|
79
|
+
onParentDragging: (props: (val: boolean) => void) => () => void;
|
|
80
|
+
setParentDragging: (val: boolean) => void;
|
|
61
81
|
onFinishAnimate?: () => void;
|
|
62
82
|
};
|
|
63
83
|
export {};
|
package/types/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,UAAU,GAAG,WAAW,CAClC;IACE,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,UAAU,GAAG,WAAW,CAClC;IACE,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAEhC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAEhC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,gBAAgB,CAAC,EAAE,qBAAqB,CAAA;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,eAAe,CAAC,EAAE,sBAAsB,CAAA;IAExC;;;;;OAKG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAA;IAEpC;;OAEG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;IAEnC;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;CAC9C,EACD,OAAO,CACR,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;AAE9D,KAAK,iBAAiB,GAClB,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,GACzB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;AAEjD,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAA;AAEzE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CAAA;AAErE,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AAEzD,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,CAAC,EAAE,MAAM,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACxD,UAAU,EAAE,OAAO,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,gBAAgB,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,CAAA;IAC/D,iBAAiB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IACzC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;CAC7B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSheetOpenState.d.ts","sourceRoot":"","sources":["../src/useSheetOpenState.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,eAAO,MAAM,iBAAiB,GAAI,OAAO,UAAU;;;;;
|
|
1
|
+
{"version":3,"file":"useSheetOpenState.d.ts","sourceRoot":"","sources":["../src/useSheetOpenState.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,eAAO,MAAM,iBAAiB,GAAI,OAAO,UAAU;;;;;CAyBlD,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA"}
|
|
@@ -3,7 +3,6 @@ import type { TamaguiElement } from '@tamagui/core';
|
|
|
3
3
|
import type { ScrollBridge, SheetProps } from './types';
|
|
4
4
|
import type { SheetOpenState } from './useSheetOpenState';
|
|
5
5
|
export type SheetContextValue = ReturnType<typeof useSheetProviderProps> & {
|
|
6
|
-
scrollEnabled: boolean;
|
|
7
6
|
setHasScrollView: (val: boolean) => void;
|
|
8
7
|
};
|
|
9
8
|
export declare function useSheetProviderProps(props: SheetProps, state: SheetOpenState, options?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSheetProviderProps.d.ts","sourceRoot":"","sources":["../src/useSheetProviderProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAKnD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,GAAG;IACzE,
|
|
1
|
+
{"version":3,"file":"useSheetProviderProps.d.ts","sourceRoot":"","sources":["../src/useSheetProviderProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAKnD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,GAAG;IACzE,gBAAgB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;CACzC,CAAA;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE;IACP,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;CACpC;;;;;;;;;;;;;;;gCADwB,GAAG,KAAK,IAAI;;;;;;;wBAoCjC,MAAM;;;EAwJhB"}
|