@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.
Files changed (108) hide show
  1. package/dist/cjs/SheetImplementationCustom.cjs +7 -11
  2. package/dist/cjs/SheetImplementationCustom.js +49 -58
  3. package/dist/cjs/SheetImplementationCustom.js.map +1 -1
  4. package/dist/cjs/SheetImplementationCustom.native.js +9 -11
  5. package/dist/cjs/SheetImplementationCustom.native.js.map +2 -2
  6. package/dist/cjs/SheetScrollView.cjs +26 -10
  7. package/dist/cjs/SheetScrollView.js +32 -11
  8. package/dist/cjs/SheetScrollView.js.map +1 -1
  9. package/dist/cjs/SheetScrollView.native.js +34 -11
  10. package/dist/cjs/SheetScrollView.native.js.map +2 -2
  11. package/dist/cjs/nativeSheet.cjs +0 -1
  12. package/dist/cjs/nativeSheet.js +0 -1
  13. package/dist/cjs/nativeSheet.js.map +1 -1
  14. package/dist/cjs/nativeSheet.native.js +0 -1
  15. package/dist/cjs/nativeSheet.native.js.map +2 -2
  16. package/dist/cjs/types.native.js.map +1 -1
  17. package/dist/cjs/useSheetOpenState.cjs +2 -2
  18. package/dist/cjs/useSheetOpenState.js +2 -2
  19. package/dist/cjs/useSheetOpenState.js.map +1 -1
  20. package/dist/cjs/useSheetOpenState.native.js +2 -2
  21. package/dist/cjs/useSheetOpenState.native.js.map +2 -2
  22. package/dist/cjs/useSheetProviderProps.cjs +22 -11
  23. package/dist/cjs/useSheetProviderProps.js +23 -13
  24. package/dist/cjs/useSheetProviderProps.js.map +1 -1
  25. package/dist/cjs/useSheetProviderProps.native.js +15 -3
  26. package/dist/cjs/useSheetProviderProps.native.js.map +2 -2
  27. package/dist/esm/SheetImplementationCustom.js +50 -59
  28. package/dist/esm/SheetImplementationCustom.js.map +1 -1
  29. package/dist/esm/SheetImplementationCustom.mjs +8 -12
  30. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  31. package/dist/esm/SheetImplementationCustom.native.js +10 -13
  32. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  33. package/dist/esm/SheetScrollView.js +32 -11
  34. package/dist/esm/SheetScrollView.js.map +1 -1
  35. package/dist/esm/SheetScrollView.mjs +26 -10
  36. package/dist/esm/SheetScrollView.mjs.map +1 -1
  37. package/dist/esm/SheetScrollView.native.js +29 -10
  38. package/dist/esm/SheetScrollView.native.js.map +1 -1
  39. package/dist/esm/nativeSheet.js +0 -1
  40. package/dist/esm/nativeSheet.js.map +1 -1
  41. package/dist/esm/nativeSheet.mjs +0 -1
  42. package/dist/esm/nativeSheet.mjs.map +1 -1
  43. package/dist/esm/nativeSheet.native.js +0 -1
  44. package/dist/esm/nativeSheet.native.js.map +1 -1
  45. package/dist/esm/useSheetOpenState.js +2 -2
  46. package/dist/esm/useSheetOpenState.js.map +1 -1
  47. package/dist/esm/useSheetOpenState.mjs +2 -2
  48. package/dist/esm/useSheetOpenState.mjs.map +1 -1
  49. package/dist/esm/useSheetOpenState.native.js +3 -2
  50. package/dist/esm/useSheetOpenState.native.js.map +1 -1
  51. package/dist/esm/useSheetProviderProps.js +23 -13
  52. package/dist/esm/useSheetProviderProps.js.map +1 -1
  53. package/dist/esm/useSheetProviderProps.mjs +22 -11
  54. package/dist/esm/useSheetProviderProps.mjs.map +1 -1
  55. package/dist/esm/useSheetProviderProps.native.js +24 -11
  56. package/dist/esm/useSheetProviderProps.native.js.map +1 -1
  57. package/dist/jsx/SheetImplementationCustom.js +50 -59
  58. package/dist/jsx/SheetImplementationCustom.js.map +1 -1
  59. package/dist/jsx/SheetImplementationCustom.mjs +8 -12
  60. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  61. package/dist/jsx/SheetImplementationCustom.native.js +10 -12
  62. package/dist/jsx/SheetImplementationCustom.native.js.map +2 -2
  63. package/dist/jsx/SheetScrollView.js +32 -11
  64. package/dist/jsx/SheetScrollView.js.map +1 -1
  65. package/dist/jsx/SheetScrollView.mjs +26 -10
  66. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  67. package/dist/jsx/SheetScrollView.native.js +34 -11
  68. package/dist/jsx/SheetScrollView.native.js.map +2 -2
  69. package/dist/jsx/nativeSheet.js +0 -1
  70. package/dist/jsx/nativeSheet.js.map +1 -1
  71. package/dist/jsx/nativeSheet.mjs +0 -1
  72. package/dist/jsx/nativeSheet.mjs.map +1 -1
  73. package/dist/jsx/nativeSheet.native.js +0 -1
  74. package/dist/jsx/nativeSheet.native.js.map +2 -2
  75. package/dist/jsx/useSheetOpenState.js +2 -2
  76. package/dist/jsx/useSheetOpenState.js.map +1 -1
  77. package/dist/jsx/useSheetOpenState.mjs +2 -2
  78. package/dist/jsx/useSheetOpenState.mjs.map +1 -1
  79. package/dist/jsx/useSheetOpenState.native.js +2 -2
  80. package/dist/jsx/useSheetOpenState.native.js.map +2 -2
  81. package/dist/jsx/useSheetProviderProps.js +23 -13
  82. package/dist/jsx/useSheetProviderProps.js.map +1 -1
  83. package/dist/jsx/useSheetProviderProps.mjs +22 -11
  84. package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
  85. package/dist/jsx/useSheetProviderProps.native.js +15 -3
  86. package/dist/jsx/useSheetProviderProps.native.js.map +2 -2
  87. package/package.json +19 -19
  88. package/src/SheetImplementationCustom.tsx +19 -19
  89. package/src/SheetScrollView.tsx +55 -16
  90. package/src/nativeSheet.tsx +1 -6
  91. package/src/types.tsx +25 -0
  92. package/src/useSheetOpenState.tsx +5 -2
  93. package/src/useSheetProviderProps.tsx +30 -12
  94. package/types/Sheet.d.ts +1 -0
  95. package/types/Sheet.d.ts.map +1 -1
  96. package/types/SheetContext.d.ts +0 -1
  97. package/types/SheetContext.d.ts.map +1 -1
  98. package/types/SheetImplementationCustom.d.ts +1 -0
  99. package/types/SheetImplementationCustom.d.ts.map +1 -1
  100. package/types/SheetScrollView.d.ts.map +1 -1
  101. package/types/createSheet.d.ts +1 -0
  102. package/types/createSheet.d.ts.map +1 -1
  103. package/types/nativeSheet.d.ts.map +1 -1
  104. package/types/types.d.ts +20 -0
  105. package/types/types.d.ts.map +1 -1
  106. package/types/useSheetOpenState.d.ts.map +1 -1
  107. package/types/useSheetProviderProps.d.ts +0 -1
  108. 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": "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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", "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.2",
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.2",
41
- "@tamagui/animate-presence": "1.130.2",
42
- "@tamagui/animations-react-native": "1.130.2",
43
- "@tamagui/compose-refs": "1.130.2",
44
- "@tamagui/constants": "1.130.2",
45
- "@tamagui/core": "1.130.2",
46
- "@tamagui/create-context": "1.130.2",
47
- "@tamagui/helpers": "1.130.2",
48
- "@tamagui/portal": "1.130.2",
49
- "@tamagui/remove-scroll": "1.130.2",
50
- "@tamagui/scroll-view": "1.130.2",
51
- "@tamagui/stacks": "1.130.2",
52
- "@tamagui/use-constant": "1.130.2",
53
- "@tamagui/use-controllable-state": "1.130.2",
54
- "@tamagui/use-did-finish-ssr": "1.130.2",
55
- "@tamagui/use-keyboard-visible": "1.130.2",
56
- "@tamagui/z-index-stack": "1.130.2"
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.2",
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) > 10
344
+ return Math.abs(dy) > 5
355
345
  }
356
346
 
357
- return getShouldSet()
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>
@@ -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, scrollEnabled: scrollEnabled_, setHasScrollView } = context
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
- isDragging: false,
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.isDragging) {
69
+ if (!state.current.isDraggingScrollArea) {
70
70
  return
71
71
  }
72
- state.current.isDragging = false
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
- // Override scrollEnabled if provided
92
- const scrollable = scrollEnabled ?? scrollEnabled_
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.isDragging = true
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
- // e.stopPropagation()
146
- return
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
@@ -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 = controller?.open ?? props.open
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: 'prop-wins',
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: 'prop-wins',
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
- enabled: false,
143
- y: 0,
144
- paneY: 0,
145
- paneMinY: 0,
146
- scrollStartY: -1,
147
- drag: () => {},
148
- release: () => {},
149
- scrollLock: false,
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;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIhB,CAAA;AAEF,uCAAuC;AACvC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;8CAAU,CAAA;AAExC,uCAAuC;AACvC,eAAO,MAAM,gBAAgB;;;;;;;;;;;8CAAS,CAAA"}
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"}
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CAAE,eAAe;;;mCAG3C,CAAA"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;8BAiiBrC,CAAA"}
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;;;;;;;;;;;;;;;;wCAsK3B,CAAA"}
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"}
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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
+ {"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,QAkEpE"}
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 {};
@@ -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;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAChC,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;;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,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;CAC7B,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.tsx"],"names":[],"mappings":"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"}
@@ -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;;;;;CAsBlD,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA"}
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,aAAa,EAAE,OAAO,CAAA;IACtB,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;;;EAqIhB"}
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"}