@tamagui/sheet 1.130.1 → 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 (126) hide show
  1. package/dist/cjs/SheetImplementationCustom.cjs +8 -12
  2. package/dist/cjs/SheetImplementationCustom.js +50 -59
  3. package/dist/cjs/SheetImplementationCustom.js.map +1 -1
  4. package/dist/cjs/SheetImplementationCustom.native.js +10 -12
  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/createSheet.cjs +1 -1
  12. package/dist/cjs/createSheet.js +7 -1
  13. package/dist/cjs/createSheet.js.map +1 -1
  14. package/dist/cjs/createSheet.native.js +1 -1
  15. package/dist/cjs/createSheet.native.js.map +1 -1
  16. package/dist/cjs/nativeSheet.cjs +0 -1
  17. package/dist/cjs/nativeSheet.js +0 -1
  18. package/dist/cjs/nativeSheet.js.map +1 -1
  19. package/dist/cjs/nativeSheet.native.js +0 -1
  20. package/dist/cjs/nativeSheet.native.js.map +2 -2
  21. package/dist/cjs/types.native.js.map +1 -1
  22. package/dist/cjs/useSheetOpenState.cjs +2 -2
  23. package/dist/cjs/useSheetOpenState.js +2 -2
  24. package/dist/cjs/useSheetOpenState.js.map +1 -1
  25. package/dist/cjs/useSheetOpenState.native.js +2 -2
  26. package/dist/cjs/useSheetOpenState.native.js.map +2 -2
  27. package/dist/cjs/useSheetProviderProps.cjs +22 -11
  28. package/dist/cjs/useSheetProviderProps.js +23 -13
  29. package/dist/cjs/useSheetProviderProps.js.map +1 -1
  30. package/dist/cjs/useSheetProviderProps.native.js +15 -3
  31. package/dist/cjs/useSheetProviderProps.native.js.map +2 -2
  32. package/dist/esm/SheetImplementationCustom.js +51 -60
  33. package/dist/esm/SheetImplementationCustom.js.map +1 -1
  34. package/dist/esm/SheetImplementationCustom.mjs +9 -13
  35. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  36. package/dist/esm/SheetImplementationCustom.native.js +11 -14
  37. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  38. package/dist/esm/SheetScrollView.js +32 -11
  39. package/dist/esm/SheetScrollView.js.map +1 -1
  40. package/dist/esm/SheetScrollView.mjs +26 -10
  41. package/dist/esm/SheetScrollView.mjs.map +1 -1
  42. package/dist/esm/SheetScrollView.native.js +29 -10
  43. package/dist/esm/SheetScrollView.native.js.map +1 -1
  44. package/dist/esm/createSheet.js +7 -1
  45. package/dist/esm/createSheet.js.map +1 -1
  46. package/dist/esm/createSheet.mjs +1 -1
  47. package/dist/esm/createSheet.mjs.map +1 -1
  48. package/dist/esm/createSheet.native.js +1 -1
  49. package/dist/esm/createSheet.native.js.map +1 -1
  50. package/dist/esm/nativeSheet.js +0 -1
  51. package/dist/esm/nativeSheet.js.map +1 -1
  52. package/dist/esm/nativeSheet.mjs +0 -1
  53. package/dist/esm/nativeSheet.mjs.map +1 -1
  54. package/dist/esm/nativeSheet.native.js +0 -1
  55. package/dist/esm/nativeSheet.native.js.map +1 -1
  56. package/dist/esm/useSheetOpenState.js +2 -2
  57. package/dist/esm/useSheetOpenState.js.map +1 -1
  58. package/dist/esm/useSheetOpenState.mjs +2 -2
  59. package/dist/esm/useSheetOpenState.mjs.map +1 -1
  60. package/dist/esm/useSheetOpenState.native.js +3 -2
  61. package/dist/esm/useSheetOpenState.native.js.map +1 -1
  62. package/dist/esm/useSheetProviderProps.js +23 -13
  63. package/dist/esm/useSheetProviderProps.js.map +1 -1
  64. package/dist/esm/useSheetProviderProps.mjs +22 -11
  65. package/dist/esm/useSheetProviderProps.mjs.map +1 -1
  66. package/dist/esm/useSheetProviderProps.native.js +24 -11
  67. package/dist/esm/useSheetProviderProps.native.js.map +1 -1
  68. package/dist/jsx/SheetImplementationCustom.js +51 -60
  69. package/dist/jsx/SheetImplementationCustom.js.map +1 -1
  70. package/dist/jsx/SheetImplementationCustom.mjs +9 -13
  71. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  72. package/dist/jsx/SheetImplementationCustom.native.js +11 -13
  73. package/dist/jsx/SheetImplementationCustom.native.js.map +2 -2
  74. package/dist/jsx/SheetScrollView.js +32 -11
  75. package/dist/jsx/SheetScrollView.js.map +1 -1
  76. package/dist/jsx/SheetScrollView.mjs +26 -10
  77. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  78. package/dist/jsx/SheetScrollView.native.js +34 -11
  79. package/dist/jsx/SheetScrollView.native.js.map +2 -2
  80. package/dist/jsx/createSheet.js +7 -1
  81. package/dist/jsx/createSheet.js.map +1 -1
  82. package/dist/jsx/createSheet.mjs +1 -1
  83. package/dist/jsx/createSheet.mjs.map +1 -1
  84. package/dist/jsx/createSheet.native.js +1 -1
  85. package/dist/jsx/createSheet.native.js.map +1 -1
  86. package/dist/jsx/nativeSheet.js +0 -1
  87. package/dist/jsx/nativeSheet.js.map +1 -1
  88. package/dist/jsx/nativeSheet.mjs +0 -1
  89. package/dist/jsx/nativeSheet.mjs.map +1 -1
  90. package/dist/jsx/nativeSheet.native.js +0 -1
  91. package/dist/jsx/nativeSheet.native.js.map +2 -2
  92. package/dist/jsx/useSheetOpenState.js +2 -2
  93. package/dist/jsx/useSheetOpenState.js.map +1 -1
  94. package/dist/jsx/useSheetOpenState.mjs +2 -2
  95. package/dist/jsx/useSheetOpenState.mjs.map +1 -1
  96. package/dist/jsx/useSheetOpenState.native.js +2 -2
  97. package/dist/jsx/useSheetOpenState.native.js.map +2 -2
  98. package/dist/jsx/useSheetProviderProps.js +23 -13
  99. package/dist/jsx/useSheetProviderProps.js.map +1 -1
  100. package/dist/jsx/useSheetProviderProps.mjs +22 -11
  101. package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
  102. package/dist/jsx/useSheetProviderProps.native.js +15 -3
  103. package/dist/jsx/useSheetProviderProps.native.js.map +2 -2
  104. package/package.json +19 -19
  105. package/src/SheetImplementationCustom.tsx +21 -16
  106. package/src/SheetScrollView.tsx +56 -16
  107. package/src/createSheet.tsx +7 -1
  108. package/src/nativeSheet.tsx +1 -6
  109. package/src/types.tsx +25 -0
  110. package/src/useSheetOpenState.tsx +5 -2
  111. package/src/useSheetProviderProps.tsx +30 -12
  112. package/types/Sheet.d.ts +1 -0
  113. package/types/Sheet.d.ts.map +1 -1
  114. package/types/SheetContext.d.ts +0 -1
  115. package/types/SheetContext.d.ts.map +1 -1
  116. package/types/SheetImplementationCustom.d.ts +1 -0
  117. package/types/SheetImplementationCustom.d.ts.map +1 -1
  118. package/types/SheetScrollView.d.ts.map +1 -1
  119. package/types/createSheet.d.ts +1 -0
  120. package/types/createSheet.d.ts.map +1 -1
  121. package/types/nativeSheet.d.ts.map +1 -1
  122. package/types/types.d.ts +20 -0
  123. package/types/types.d.ts.map +1 -1
  124. package/types/useSheetOpenState.d.ts.map +1 -1
  125. package/types/useSheetProviderProps.d.ts +0 -1
  126. package/types/useSheetProviderProps.d.ts.map +1 -1
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;;;;;;;;;;;;;;;;;;;;;;;;;;8BA4hBrC,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;;;;;;;;;;;;;;;;wCAqK3B,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;;;;;;;;;;;;;;;;;;;EAiL5D"}
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"}