@tamagui/sheet 1.27.1 → 1.27.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 (200) hide show
  1. package/dist/cjs/Sheet.js +1 -2
  2. package/dist/cjs/Sheet.js.map +1 -1
  3. package/dist/cjs/SheetContext.js.map +1 -1
  4. package/dist/cjs/SheetImplementationCustom.js +340 -0
  5. package/dist/cjs/SheetImplementationCustom.js.map +6 -0
  6. package/dist/cjs/constants.js +10 -0
  7. package/dist/cjs/constants.js.map +1 -1
  8. package/dist/cjs/{useSheetContoller.js → contexts.js} +12 -21
  9. package/dist/cjs/contexts.js.map +6 -0
  10. package/dist/cjs/createSheet.js +68 -349
  11. package/dist/cjs/createSheet.js.map +2 -2
  12. package/dist/cjs/{getNativeSheet.js → helpers.js} +15 -16
  13. package/dist/cjs/helpers.js.map +6 -0
  14. package/dist/cjs/nativeSheet.js +3 -5
  15. package/dist/cjs/nativeSheet.js.map +1 -1
  16. package/dist/cjs/useSheetController.js +2 -1
  17. package/dist/cjs/useSheetController.js.map +1 -1
  18. package/dist/cjs/useSheetProviderProps.js +30 -3
  19. package/dist/cjs/useSheetProviderProps.js.map +1 -1
  20. package/dist/esm/Sheet.js +1 -2
  21. package/dist/esm/Sheet.js.map +1 -1
  22. package/dist/esm/SheetContext.js.map +1 -1
  23. package/dist/esm/{Sheet.mjs → SheetImplementationCustom.js} +88 -279
  24. package/dist/esm/SheetImplementationCustom.js.map +6 -0
  25. package/dist/esm/constants.js +8 -0
  26. package/dist/esm/constants.js.map +1 -1
  27. package/dist/esm/contexts.js +10 -0
  28. package/dist/esm/contexts.js.map +6 -0
  29. package/dist/esm/createSheet.js +72 -371
  30. package/dist/esm/createSheet.js.map +2 -2
  31. package/dist/esm/helpers.js +14 -0
  32. package/dist/esm/helpers.js.map +6 -0
  33. package/dist/esm/nativeSheet.js +3 -5
  34. package/dist/esm/nativeSheet.js.map +1 -1
  35. package/dist/esm/useSheetController.js +2 -1
  36. package/dist/esm/useSheetController.js.map +1 -1
  37. package/dist/esm/useSheetProviderProps.js +31 -4
  38. package/dist/esm/useSheetProviderProps.js.map +1 -1
  39. package/dist/jsx/Sheet.js +1 -2
  40. package/dist/jsx/Sheet.js.map +1 -1
  41. package/dist/jsx/Sheet.mjs +1 -2
  42. package/dist/jsx/Sheet.mjs.map +1 -1
  43. package/dist/jsx/SheetContext.js.map +1 -1
  44. package/dist/jsx/SheetContext.mjs.map +1 -1
  45. package/dist/jsx/SheetImplementationCustom.js +330 -0
  46. package/dist/jsx/SheetImplementationCustom.js.map +6 -0
  47. package/dist/jsx/SheetImplementationCustom.mjs +330 -0
  48. package/dist/jsx/SheetImplementationCustom.mjs.map +6 -0
  49. package/dist/jsx/constants.js +8 -0
  50. package/dist/jsx/constants.js.map +1 -1
  51. package/dist/jsx/constants.mjs +8 -0
  52. package/dist/jsx/constants.mjs.map +1 -1
  53. package/dist/jsx/contexts.js +10 -0
  54. package/dist/jsx/contexts.js.map +6 -0
  55. package/dist/jsx/contexts.mjs +10 -0
  56. package/dist/jsx/contexts.mjs.map +6 -0
  57. package/dist/jsx/createSheet.js +63 -364
  58. package/dist/jsx/createSheet.js.map +2 -2
  59. package/dist/jsx/createSheet.mjs +63 -364
  60. package/dist/jsx/createSheet.mjs.map +2 -2
  61. package/dist/jsx/helpers.js +14 -0
  62. package/dist/jsx/helpers.js.map +6 -0
  63. package/dist/jsx/helpers.mjs +14 -0
  64. package/dist/jsx/helpers.mjs.map +6 -0
  65. package/dist/jsx/nativeSheet.js +3 -5
  66. package/dist/jsx/nativeSheet.js.map +1 -1
  67. package/dist/jsx/nativeSheet.mjs +3 -5
  68. package/dist/jsx/nativeSheet.mjs.map +1 -1
  69. package/dist/jsx/useSheetController.js +2 -1
  70. package/dist/jsx/useSheetController.js.map +1 -1
  71. package/dist/jsx/useSheetController.mjs +2 -1
  72. package/dist/jsx/useSheetController.mjs.map +1 -1
  73. package/dist/jsx/useSheetProviderProps.js +31 -4
  74. package/dist/jsx/useSheetProviderProps.js.map +1 -1
  75. package/dist/jsx/useSheetProviderProps.mjs +31 -4
  76. package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
  77. package/package.json +14 -13
  78. package/src/Sheet.tsx +0 -1
  79. package/src/SheetContext.tsx +1 -16
  80. package/src/SheetImplementationCustom.tsx +404 -0
  81. package/src/constants.tsx +10 -0
  82. package/src/contexts.ts +9 -0
  83. package/src/createSheet.tsx +88 -449
  84. package/src/helpers.tsx +10 -0
  85. package/src/nativeSheet.tsx +3 -5
  86. package/src/useSheetController.tsx +1 -0
  87. package/src/useSheetProviderProps.tsx +48 -7
  88. package/types/Sheet.d.ts +10 -6
  89. package/types/Sheet.d.ts.map +1 -1
  90. package/types/SheetContext.d.ts +100 -27
  91. package/types/SheetContext.d.ts.map +1 -1
  92. package/types/SheetImplementationCustom.d.ts +27 -0
  93. package/types/SheetImplementationCustom.d.ts.map +1 -0
  94. package/types/constants.d.ts +2 -0
  95. package/types/constants.d.ts.map +1 -1
  96. package/types/contexts.d.ts +6 -0
  97. package/types/contexts.d.ts.map +1 -0
  98. package/types/createSheet.d.ts +8 -4
  99. package/types/createSheet.d.ts.map +1 -1
  100. package/types/helpers.d.ts +2 -0
  101. package/types/helpers.d.ts.map +1 -0
  102. package/types/nativeSheet.d.ts.map +1 -1
  103. package/types/useSheet.d.ts +16 -6
  104. package/types/useSheet.d.ts.map +1 -1
  105. package/types/useSheetController.d.ts +1 -0
  106. package/types/useSheetController.d.ts.map +1 -1
  107. package/types/useSheetProviderProps.d.ts +8 -3
  108. package/types/useSheetProviderProps.d.ts.map +1 -1
  109. package/dist/cjs/StyledSheet.js +0 -132
  110. package/dist/cjs/StyledSheet.js.map +0 -6
  111. package/dist/cjs/getNativeSheet.js.map +0 -6
  112. package/dist/cjs/native-ios.js +0 -5
  113. package/dist/cjs/native-ios.js.map +0 -6
  114. package/dist/cjs/useSheetChildren.js +0 -82
  115. package/dist/cjs/useSheetChildren.js.map +0 -6
  116. package/dist/cjs/useSheetContoller.js.map +0 -6
  117. package/dist/cjs/useSheetSnapPoints.js +0 -77
  118. package/dist/cjs/useSheetSnapPoints.js.map +0 -6
  119. package/dist/esm/Sheet.mjs.map +0 -6
  120. package/dist/esm/SheetContext.mjs +0 -14
  121. package/dist/esm/SheetContext.mjs.map +0 -6
  122. package/dist/esm/SheetController.mjs +0 -25
  123. package/dist/esm/SheetController.mjs.map +0 -6
  124. package/dist/esm/SheetScrollView.mjs +0 -81
  125. package/dist/esm/SheetScrollView.mjs.map +0 -6
  126. package/dist/esm/StyledSheet.js +0 -100
  127. package/dist/esm/StyledSheet.js.map +0 -6
  128. package/dist/esm/constants.mjs +0 -9
  129. package/dist/esm/constants.mjs.map +0 -6
  130. package/dist/esm/getNativeSheet.js +0 -14
  131. package/dist/esm/getNativeSheet.js.map +0 -6
  132. package/dist/esm/getNativeSheet.mjs +0 -14
  133. package/dist/esm/getNativeSheet.mjs.map +0 -6
  134. package/dist/esm/index.mjs +0 -8
  135. package/dist/esm/index.mjs.map +0 -6
  136. package/dist/esm/native-ios.js +0 -4
  137. package/dist/esm/native-ios.js.map +0 -6
  138. package/dist/esm/native-ios.mjs +0 -4
  139. package/dist/esm/native-ios.mjs.map +0 -6
  140. package/dist/esm/nativeSheet.mjs +0 -47
  141. package/dist/esm/nativeSheet.mjs.map +0 -6
  142. package/dist/esm/types.mjs +0 -1
  143. package/dist/esm/types.mjs.map +0 -6
  144. package/dist/esm/useSheetChildren.js +0 -48
  145. package/dist/esm/useSheetChildren.js.map +0 -6
  146. package/dist/esm/useSheetChildren.mjs +0 -46
  147. package/dist/esm/useSheetChildren.mjs.map +0 -6
  148. package/dist/esm/useSheetContoller.js +0 -19
  149. package/dist/esm/useSheetContoller.js.map +0 -6
  150. package/dist/esm/useSheetContoller.mjs +0 -19
  151. package/dist/esm/useSheetContoller.mjs.map +0 -6
  152. package/dist/esm/useSheetController.mjs +0 -19
  153. package/dist/esm/useSheetController.mjs.map +0 -6
  154. package/dist/esm/useSheetOpenState.mjs +0 -27
  155. package/dist/esm/useSheetOpenState.mjs.map +0 -6
  156. package/dist/esm/useSheetProviderProps.mjs +0 -64
  157. package/dist/esm/useSheetProviderProps.mjs.map +0 -6
  158. package/dist/esm/useSheetSnapPoints.js +0 -53
  159. package/dist/esm/useSheetSnapPoints.js.map +0 -6
  160. package/dist/esm/useSheetSnapPoints.mjs +0 -53
  161. package/dist/esm/useSheetSnapPoints.mjs.map +0 -6
  162. package/dist/jsx/StyledSheet.js +0 -100
  163. package/dist/jsx/StyledSheet.js.map +0 -6
  164. package/dist/jsx/StyledSheet.mjs +0 -100
  165. package/dist/jsx/StyledSheet.mjs.map +0 -6
  166. package/dist/jsx/getNativeSheet.js +0 -14
  167. package/dist/jsx/getNativeSheet.js.map +0 -6
  168. package/dist/jsx/getNativeSheet.mjs +0 -14
  169. package/dist/jsx/getNativeSheet.mjs.map +0 -6
  170. package/dist/jsx/native-ios.js +0 -4
  171. package/dist/jsx/native-ios.js.map +0 -6
  172. package/dist/jsx/native-ios.mjs +0 -4
  173. package/dist/jsx/native-ios.mjs.map +0 -6
  174. package/dist/jsx/useSheetChildren.js +0 -47
  175. package/dist/jsx/useSheetChildren.js.map +0 -6
  176. package/dist/jsx/useSheetChildren.mjs +0 -47
  177. package/dist/jsx/useSheetChildren.mjs.map +0 -6
  178. package/dist/jsx/useSheetContoller.js +0 -19
  179. package/dist/jsx/useSheetContoller.js.map +0 -6
  180. package/dist/jsx/useSheetContoller.mjs +0 -19
  181. package/dist/jsx/useSheetContoller.mjs.map +0 -6
  182. package/dist/jsx/useSheetSnapPoints.js +0 -53
  183. package/dist/jsx/useSheetSnapPoints.js.map +0 -6
  184. package/dist/jsx/useSheetSnapPoints.mjs +0 -53
  185. package/dist/jsx/useSheetSnapPoints.mjs.map +0 -6
  186. package/src/useSheetChildren.tsx +0 -49
  187. package/src/useSheetSnapPoints.tsx +0 -60
  188. package/types/SHEET_HANDLE_NAME.d.ts +0 -4
  189. package/types/getNativeSheet.d.ts +0 -3
  190. package/types/getNativeSheet.d.ts.map +0 -1
  191. package/types/native-ios.d.ts +0 -2
  192. package/types/native-ios.d.ts.map +0 -1
  193. package/types/useAnimated.d.ts +0 -19
  194. package/types/useAnimation.d.ts +0 -1
  195. package/types/useSheetChildren.d.ts +0 -8
  196. package/types/useSheetChildren.d.ts.map +0 -1
  197. package/types/useSheetContoller.d.ts +0 -14
  198. package/types/useSheetContoller.d.ts.map +0 -1
  199. package/types/useSheetSnapPoints.d.ts +0 -7
  200. package/types/useSheetSnapPoints.d.ts.map +0 -1
package/dist/cjs/Sheet.js CHANGED
@@ -102,8 +102,7 @@ const Frame = (0, import_core.styled)(import_stacks.YStack, {
102
102
  borderTopRightRadius: "$true",
103
103
  width: "100%",
104
104
  maxHeight: "100%",
105
- overflow: "hidden",
106
- pointerEvents: "auto"
105
+ overflow: "hidden"
107
106
  }
108
107
  }
109
108
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Sheet.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAuB;AACvB,oBAA+C;AAE/C,uBAAkE;AAClE,yBAA4B;AAE5B,0BAAiC;AACjC,0BAAc,oBAPd;AAaO,MAAM,aAAS,oBAAO,sBAAQ;AAAA,EACnC,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AAAA,QACJ,eAAe;AAAA,MACjB;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,QACT,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,IAEA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,iBAAiB;AAAA,QACjB,QAAQ;AAAA,QACR,kBAAkB;AAAA,QAClB,cAAc;AAAA,QACd,SAAS;AAAA,QAET,YAAY;AAAA,UACV,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAMM,MAAM,cAAU,oBAAO,8BAAgB;AAAA,EAC5C,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,eAAe;AAAA,MACjB;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,QACT,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,IAEA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,cAAc;AAAA,QACd,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAMM,MAAM,YAAQ,oBAAO,sBAAQ;AAAA,EAClC,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,MAAM;AAAA,QACN,iBAAiB;AAAA,QACjB,qBAAqB;AAAA,QACrB,sBAAsB;AAAA,QACtB,OAAO;AAAA,QACP,WAAW;AAAA,QACX,UAAU;AAAA,QACV,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAEM,MAAM,YAAQ,gCAAY;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,MAAM,oBAAoB;AAG1B,MAAM,mBAAmB;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAuB;AACvB,oBAA+C;AAE/C,uBAAkE;AAClE,yBAA4B;AAE5B,0BAAiC;AACjC,0BAAc,oBAPd;AAaO,MAAM,aAAS,oBAAO,sBAAQ;AAAA,EACnC,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AAAA,QACJ,eAAe;AAAA,MACjB;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,QACT,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,IAEA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,iBAAiB;AAAA,QACjB,QAAQ;AAAA,QACR,kBAAkB;AAAA,QAClB,cAAc;AAAA,QACd,SAAS;AAAA,QAET,YAAY;AAAA,UACV,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAMM,MAAM,cAAU,oBAAO,8BAAgB;AAAA,EAC5C,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,eAAe;AAAA,MACjB;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,QACT,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,IAEA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,cAAc;AAAA,QACd,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAMM,MAAM,YAAQ,oBAAO,sBAAQ;AAAA,EAClC,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,MAAM;AAAA,QACN,iBAAiB;AAAA,QACjB,qBAAqB;AAAA,QACrB,sBAAsB;AAAA,QACtB,OAAO;AAAA,QACP,WAAW;AAAA,QACX,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC;AAEM,MAAM,YAAQ,gCAAY;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,MAAM,oBAAoB;AAG1B,MAAM,mBAAmB;",
5
5
  "names": []
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/SheetContext.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,4BAAmC;AAGnC,uBAA2B;AAgBpB,MAAM,CAAC,oBAAoB,gBAAgB,QAAI,0CAAmB,2BAAU;AAE5E,MAAM,CAAC,eAAe,eAAe,IAAI;AAAA,EAC9C;AAAA,EACA,CAAC;AACH;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAmC;AAEnC,uBAA2B;AAGpB,MAAM,CAAC,oBAAoB,gBAAgB,QAAI,0CAAmB,2BAAU;AAE5E,MAAM,CAAC,eAAe,eAAe,IAAI;AAAA,EAC9C;AAAA,EACA,CAAC;AACH;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,340 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var SheetImplementationCustom_exports = {};
20
+ __export(SheetImplementationCustom_exports, {
21
+ SheetImplementationCustom: () => SheetImplementationCustom
22
+ });
23
+ module.exports = __toCommonJS(SheetImplementationCustom_exports);
24
+ var import_jsx_runtime = require("react/jsx-runtime");
25
+ var import_adapt = require("@tamagui/adapt");
26
+ var import_compose_refs = require("@tamagui/compose-refs");
27
+ var import_core = require("@tamagui/core");
28
+ var import_portal = require("@tamagui/portal");
29
+ var import_use_keyboard_visible = require("@tamagui/use-keyboard-visible");
30
+ var import_react = require("react");
31
+ var import_react_native = require("react-native");
32
+ var import_constants = require("./constants");
33
+ var import_contexts = require("./contexts");
34
+ var import_helpers = require("./helpers");
35
+ var import_SheetContext = require("./SheetContext");
36
+ var import_useSheetOpenState = require("./useSheetOpenState");
37
+ var import_useSheetProviderProps = require("./useSheetProviderProps");
38
+ const SheetImplementationCustom = (0, import_core.themeable)(
39
+ (0, import_react.forwardRef)(function SheetImplementationCustom2(props, forwardedRef) {
40
+ const parentSheet = (0, import_react.useContext)(import_contexts.ParentSheetContext);
41
+ const {
42
+ animationConfig,
43
+ modal = false,
44
+ zIndex = parentSheet.zIndex + 1,
45
+ moveOnKeyboardChange = false,
46
+ portalProps
47
+ } = props;
48
+ const keyboardIsVisible = (0, import_use_keyboard_visible.useKeyboardVisible)();
49
+ const state = (0, import_useSheetOpenState.useSheetOpenState)(props);
50
+ const [overlayComponent, setOverlayComponent] = (0, import_react.useState)(null);
51
+ const providerProps = (0, import_useSheetProviderProps.useSheetProviderProps)(props, state, {
52
+ onOverlayComponent: setOverlayComponent
53
+ });
54
+ const { frameSize, setFrameSize, snapPoints, position, setPosition, scrollBridge } = providerProps;
55
+ const { open, controller, isHidden } = state;
56
+ const sheetRef = (0, import_react.useRef)(null);
57
+ const ref = (0, import_compose_refs.useComposedRefs)(forwardedRef, sheetRef);
58
+ const [isShowingInnerSheet, setIsShowingInnerSheet] = (0, import_react.useState)(false);
59
+ const shouldHideParentSheet = !import_core.isWeb && modal && isShowingInnerSheet;
60
+ const parentSheetContext = (0, import_react.useContext)(import_contexts.SheetInsideSheetContext);
61
+ const onInnerSheet = (0, import_react.useCallback)((hasChild) => {
62
+ setIsShowingInnerSheet(hasChild);
63
+ }, []);
64
+ const maxSnapPoint = snapPoints.reduce((prev, cur) => Math.max(prev, cur));
65
+ const screenSize = frameSize / (maxSnapPoint / 100);
66
+ const positions = (0, import_react.useMemo)(
67
+ () => snapPoints.map((point) => getPercentSize(point, screenSize)),
68
+ [frameSize, snapPoints]
69
+ );
70
+ const driver = (0, import_core.useAnimationDriver)();
71
+ const { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } = driver;
72
+ const AnimatedView = driver["NumberView"] ?? driver.View;
73
+ (0, import_core.useIsomorphicLayoutEffect)(() => {
74
+ if (!(parentSheetContext && open))
75
+ return;
76
+ parentSheetContext(true);
77
+ return () => {
78
+ parentSheetContext(false);
79
+ };
80
+ }, [parentSheetContext, open]);
81
+ const nextParentContext = (0, import_react.useMemo)(
82
+ () => ({
83
+ zIndex
84
+ }),
85
+ [zIndex]
86
+ );
87
+ const animatedNumber = useAnimatedNumber(import_constants.HIDDEN_SIZE);
88
+ const at = (0, import_react.useRef)(0);
89
+ useAnimatedNumberReaction(
90
+ {
91
+ value: animatedNumber,
92
+ hostRef: sheetRef
93
+ },
94
+ (value) => {
95
+ if (!driver.isReactNative)
96
+ return;
97
+ at.current = value;
98
+ scrollBridge.paneY = value;
99
+ }
100
+ );
101
+ function stopSpring() {
102
+ animatedNumber.stop();
103
+ if (scrollBridge.onFinishAnimate) {
104
+ scrollBridge.onFinishAnimate();
105
+ scrollBridge.onFinishAnimate = void 0;
106
+ }
107
+ }
108
+ const animateTo = (0, import_core.useEvent)((position2) => {
109
+ const current = animatedNumber.getValue();
110
+ if (isHidden && open)
111
+ return;
112
+ if (!current)
113
+ return;
114
+ if (frameSize === 0)
115
+ return;
116
+ const hiddenValue = frameSize === 0 ? import_constants.HIDDEN_SIZE : screenSize;
117
+ const toValue = isHidden || position2 === -1 ? hiddenValue : positions[position2];
118
+ if (at.current === toValue)
119
+ return;
120
+ stopSpring();
121
+ if (isHidden) {
122
+ animatedNumber.setValue(toValue, {
123
+ type: "timing",
124
+ duration: 0
125
+ });
126
+ at.current = toValue;
127
+ return;
128
+ }
129
+ const overshootClamping = at.current === import_constants.HIDDEN_SIZE;
130
+ animatedNumber.setValue(toValue, {
131
+ ...animationConfig,
132
+ type: "spring",
133
+ overshootClamping
134
+ });
135
+ });
136
+ (0, import_core.useIsomorphicLayoutEffect)(() => {
137
+ animateTo(position);
138
+ }, [isHidden, frameSize, position, animateTo]);
139
+ const disableDrag = props.disableDrag ?? (controller == null ? void 0 : controller.disableDrag);
140
+ const themeName = (0, import_core.useThemeName)();
141
+ const panResponder = (0, import_react.useMemo)(
142
+ () => {
143
+ if (disableDrag)
144
+ return;
145
+ if (!frameSize)
146
+ return;
147
+ if (isShowingInnerSheet)
148
+ return;
149
+ const minY = positions[0];
150
+ scrollBridge.paneMinY = minY;
151
+ let startY = at.current;
152
+ function makeUnselectable(val) {
153
+ if (!import_constants.SHEET_HIDDEN_STYLESHEET)
154
+ return;
155
+ if (!val) {
156
+ import_constants.SHEET_HIDDEN_STYLESHEET.innerText = "";
157
+ } else {
158
+ import_constants.SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }";
159
+ }
160
+ }
161
+ const release = ({ vy, dragAt }) => {
162
+ isExternalDrag = false;
163
+ previouslyScrolling = false;
164
+ makeUnselectable(false);
165
+ const at2 = dragAt + startY;
166
+ const end = at2 + frameSize * vy * 0.2;
167
+ let closestPoint = 0;
168
+ let dist = Infinity;
169
+ for (let i = 0; i < positions.length; i++) {
170
+ const position2 = positions[i];
171
+ const curDist = end > position2 ? end - position2 : position2 - end;
172
+ if (curDist < dist) {
173
+ dist = curDist;
174
+ closestPoint = i;
175
+ }
176
+ }
177
+ setPosition(closestPoint);
178
+ animateTo(closestPoint);
179
+ };
180
+ const finish = (_e, state2) => {
181
+ release({
182
+ vy: state2.vy,
183
+ dragAt: state2.dy
184
+ });
185
+ };
186
+ let previouslyScrolling = false;
187
+ const onMoveShouldSet = (_e, { dy }) => {
188
+ const isScrolled = scrollBridge.y !== 0;
189
+ const isDraggingUp = dy < 0;
190
+ const isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
191
+ if (isScrolled) {
192
+ previouslyScrolling = true;
193
+ return false;
194
+ }
195
+ if (isNearTop) {
196
+ if (!isScrolled && isDraggingUp) {
197
+ return false;
198
+ }
199
+ }
200
+ return Math.abs(dy) > 5;
201
+ };
202
+ const grant = () => {
203
+ makeUnselectable(true);
204
+ stopSpring();
205
+ startY = at.current;
206
+ };
207
+ let isExternalDrag = false;
208
+ scrollBridge.drag = (dy) => {
209
+ if (!isExternalDrag) {
210
+ isExternalDrag = true;
211
+ grant();
212
+ }
213
+ const to = dy + startY;
214
+ animatedNumber.setValue((0, import_helpers.resisted)(to, minY), { type: "direct" });
215
+ };
216
+ scrollBridge.release = release;
217
+ return import_react_native.PanResponder.create({
218
+ onMoveShouldSetPanResponder: onMoveShouldSet,
219
+ onPanResponderGrant: grant,
220
+ onPanResponderMove: (_e, { dy }) => {
221
+ const toFull = dy + startY;
222
+ const to = (0, import_helpers.resisted)(toFull, minY);
223
+ animatedNumber.setValue(to, { type: "direct" });
224
+ },
225
+ onPanResponderEnd: finish,
226
+ onPanResponderTerminate: finish,
227
+ onPanResponderRelease: finish
228
+ });
229
+ },
230
+ // eslint-disable-next-line react-hooks/exhaustive-deps
231
+ [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]
232
+ );
233
+ const handleAnimationViewLayout = (0, import_react.useCallback)(
234
+ (e) => {
235
+ var _a;
236
+ let next = (_a = e.nativeEvent) == null ? void 0 : _a.layout.height;
237
+ if (import_core.isWeb && import_core.isTouchable && !open) {
238
+ next += 100;
239
+ }
240
+ if (!next)
241
+ return;
242
+ setFrameSize(next);
243
+ },
244
+ [keyboardIsVisible]
245
+ );
246
+ const animatedStyle = useAnimatedNumberStyle(animatedNumber, (val) => {
247
+ "worklet";
248
+ const translateY = frameSize === 0 ? import_constants.HIDDEN_SIZE : val;
249
+ return {
250
+ transform: [{ translateY }]
251
+ };
252
+ });
253
+ const sizeBeforeKeyboard = (0, import_react.useRef)(null);
254
+ (0, import_react.useEffect)(() => {
255
+ if (import_core.isWeb || !moveOnKeyboardChange)
256
+ return;
257
+ const keyboardDidShowListener = import_react_native.Keyboard.addListener("keyboardDidShow", (e) => {
258
+ if (sizeBeforeKeyboard.current !== null)
259
+ return;
260
+ sizeBeforeKeyboard.current = animatedNumber.getValue();
261
+ animatedNumber.setValue(
262
+ Math.max(animatedNumber.getValue() - e.endCoordinates.height, 0)
263
+ );
264
+ });
265
+ const keyboardDidHideListener = import_react_native.Keyboard.addListener("keyboardDidHide", () => {
266
+ if (sizeBeforeKeyboard.current === null)
267
+ return;
268
+ animatedNumber.setValue(sizeBeforeKeyboard.current);
269
+ sizeBeforeKeyboard.current = null;
270
+ });
271
+ return () => {
272
+ keyboardDidHideListener.remove();
273
+ keyboardDidShowListener.remove();
274
+ };
275
+ }, [moveOnKeyboardChange]);
276
+ const [opacity, setOpacity] = (0, import_react.useState)(open ? 1 : 0);
277
+ if (open && opacity === 0) {
278
+ setOpacity(1);
279
+ }
280
+ (0, import_react.useEffect)(() => {
281
+ if (!open) {
282
+ const tm = setTimeout(() => {
283
+ setOpacity(0);
284
+ }, 400);
285
+ return () => {
286
+ clearTimeout(tm);
287
+ };
288
+ }
289
+ }, [open]);
290
+ const contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_contexts.ParentSheetContext.Provider, { value: nextParentContext, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_SheetContext.SheetProvider, { ...providerProps, children: [
291
+ shouldHideParentSheet ? null : overlayComponent,
292
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
293
+ AnimatedView,
294
+ {
295
+ ref,
296
+ ...panResponder == null ? void 0 : panResponder.panHandlers,
297
+ onLayout: handleAnimationViewLayout,
298
+ pointerEvents: open && !shouldHideParentSheet ? "auto" : "none",
299
+ animation: props.animation,
300
+ style: [
301
+ {
302
+ position: "absolute",
303
+ zIndex,
304
+ width: "100%",
305
+ height: `${maxSnapPoint}%`,
306
+ opacity
307
+ },
308
+ animatedStyle
309
+ ],
310
+ children: props.children
311
+ }
312
+ )
313
+ ] }) });
314
+ const adaptContext = (0, import_react.useContext)(import_adapt.AdaptParentContext);
315
+ if (modal) {
316
+ const modalContents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_portal.Portal, { zIndex, ...portalProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.Theme, { forceClassName: true, name: themeName, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_adapt.AdaptParentContext.Provider, { value: adaptContext, children: contents }) }) });
317
+ if (import_core.isWeb) {
318
+ return modalContents;
319
+ }
320
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_contexts.SheetInsideSheetContext.Provider, { value: onInnerSheet, children: modalContents });
321
+ }
322
+ return contents;
323
+ })
324
+ );
325
+ function getPercentSize(point, screenSize) {
326
+ if (!screenSize)
327
+ return 0;
328
+ if (point === void 0) {
329
+ console.warn("No snapPoint");
330
+ return 0;
331
+ }
332
+ const pct = point / 100;
333
+ const next = Math.round(screenSize - pct * screenSize);
334
+ return next;
335
+ }
336
+ // Annotate the CommonJS export names for ESM import in node:
337
+ 0 && (module.exports = {
338
+ SheetImplementationCustom
339
+ });
340
+ //# sourceMappingURL=SheetImplementationCustom.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/SheetImplementationCustom.tsx"],
4
+ "mappings": "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",
5
+ "names": ["SheetImplementationCustom", "position", "at", "state"]
6
+ }
@@ -18,19 +18,29 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var constants_exports = {};
20
20
  __export(constants_exports, {
21
+ HIDDEN_SIZE: () => HIDDEN_SIZE,
21
22
  SHEET_HANDLE_NAME: () => SHEET_HANDLE_NAME,
23
+ SHEET_HIDDEN_STYLESHEET: () => SHEET_HIDDEN_STYLESHEET,
22
24
  SHEET_NAME: () => SHEET_NAME,
23
25
  SHEET_OVERLAY_NAME: () => SHEET_OVERLAY_NAME,
24
26
  constants: () => constants
25
27
  });
26
28
  module.exports = __toCommonJS(constants_exports);
29
+ var import_core = require("@tamagui/core");
27
30
  const constants = {};
28
31
  const SHEET_NAME = "Sheet";
29
32
  const SHEET_HANDLE_NAME = "SheetHandle";
30
33
  const SHEET_OVERLAY_NAME = "SheetOverlay";
34
+ const HIDDEN_SIZE = 1e4;
35
+ const SHEET_HIDDEN_STYLESHEET = import_core.isClient ? document.createElement("style") : null;
36
+ if (SHEET_HIDDEN_STYLESHEET) {
37
+ document.head.appendChild(SHEET_HIDDEN_STYLESHEET);
38
+ }
31
39
  // Annotate the CommonJS export names for ESM import in node:
32
40
  0 && (module.exports = {
41
+ HIDDEN_SIZE,
33
42
  SHEET_HANDLE_NAME,
43
+ SHEET_HIDDEN_STYLESHEET,
34
44
  SHEET_NAME,
35
45
  SHEET_OVERLAY_NAME,
36
46
  constants
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/constants.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,YAAY,CAAC;AAEnB,MAAM,aAAa;AACnB,MAAM,oBAAoB;AAC1B,MAAM,qBAAqB;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAyB;AAElB,MAAM,YAAY,CAAC;AAEnB,MAAM,aAAa;AACnB,MAAM,oBAAoB;AAC1B,MAAM,qBAAqB;AAG3B,MAAM,cAAc;AAEpB,MAAM,0BAA0B,uBAAW,SAAS,cAAc,OAAO,IAAI;AACpF,IAAI,yBAAyB;AAC3B,WAAS,KAAK,YAAY,uBAAuB;AACnD;",
5
5
  "names": []
6
6
  }
@@ -16,29 +16,20 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var useSheetContoller_exports = {};
20
- __export(useSheetContoller_exports, {
21
- SheetControllerContext: () => SheetControllerContext,
22
- useSheetContoller: () => useSheetContoller
19
+ var contexts_exports = {};
20
+ __export(contexts_exports, {
21
+ ParentSheetContext: () => ParentSheetContext,
22
+ SheetInsideSheetContext: () => SheetInsideSheetContext
23
23
  });
24
- module.exports = __toCommonJS(useSheetContoller_exports);
24
+ module.exports = __toCommonJS(contexts_exports);
25
25
  var import_react = require("react");
26
- const useSheetContoller = () => {
27
- const controller = (0, import_react.useContext)(SheetControllerContext);
28
- const isHidden = controller == null ? void 0 : controller.hidden;
29
- const isShowingNonSheet = isHidden && (controller == null ? void 0 : controller.open);
30
- return {
31
- controller,
32
- isHidden,
33
- isShowingNonSheet
34
- };
35
- };
36
- const SheetControllerContext = (0, import_react.createContext)(
37
- null
38
- );
26
+ const ParentSheetContext = (0, import_react.createContext)({
27
+ zIndex: 1e5
28
+ });
29
+ const SheetInsideSheetContext = (0, import_react.createContext)(null);
39
30
  // Annotate the CommonJS export names for ESM import in node:
40
31
  0 && (module.exports = {
41
- SheetControllerContext,
42
- useSheetContoller
32
+ ParentSheetContext,
33
+ SheetInsideSheetContext
43
34
  });
44
- //# sourceMappingURL=useSheetContoller.js.map
35
+ //# sourceMappingURL=contexts.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/contexts.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA8B;AAEvB,MAAM,yBAAqB,4BAAc;AAAA,EAC9C,QAAQ;AACV,CAAC;AAEM,MAAM,8BAA0B,4BAErC,IAAI;",
5
+ "names": []
6
+ }