@tamagui/sheet 1.27.1 → 1.27.2

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 (110) 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/contexts.js +35 -0
  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/helpers.js +38 -0
  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/SheetImplementationCustom.js +336 -0
  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 +13 -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/src/useSheetChildren.tsx +0 -49
  110. package/src/useSheetSnapPoints.tsx +0 -60
@@ -31,10 +31,11 @@ __export(useSheetProviderProps_exports, {
31
31
  useSheetProviderProps: () => useSheetProviderProps
32
32
  });
33
33
  module.exports = __toCommonJS(useSheetProviderProps_exports);
34
+ var import_core = require("@tamagui/core");
34
35
  var import_use_constant = require("@tamagui/use-constant");
35
36
  var import_use_controllable_state = require("@tamagui/use-controllable-state");
36
37
  var import_react = __toESM(require("react"));
37
- function useSheetProviderProps(props, state) {
38
+ function useSheetProviderProps(props, state, options = {}) {
38
39
  const contentRef = import_react.default.useRef(null);
39
40
  const [frameSize, setFrameSize] = (0, import_react.useState)(0);
40
41
  const snapPointsProp = props.snapPoints || [80];
@@ -51,6 +52,7 @@ function useSheetProviderProps(props, state) {
51
52
  transition: true
52
53
  });
53
54
  const position = state.open === false ? -1 : position_;
55
+ const { open } = state;
54
56
  const setPosition = (0, import_react.useCallback)(
55
57
  (next) => {
56
58
  if (props.dismissOnSnapToBottom && next === snapPoints.length - 1) {
@@ -61,6 +63,26 @@ function useSheetProviderProps(props, state) {
61
63
  },
62
64
  [props.dismissOnSnapToBottom, snapPoints.length, setPositionImmediate, state.setOpen]
63
65
  );
66
+ if (process.env.NODE_ENV === "development") {
67
+ if (snapPoints.some((p) => p < 0 || p > 100)) {
68
+ console.warn(
69
+ "\u26A0\uFE0F Invalid snapPoint given, snapPoints must be between 0 and 100, equal to percent height of frame"
70
+ );
71
+ }
72
+ }
73
+ if (open && props.dismissOnSnapToBottom && position === snapPoints.length - 1) {
74
+ setPositionImmediate(0);
75
+ }
76
+ const shouldSetPositionOpen = open && position < 0;
77
+ (0, import_react.useEffect)(() => {
78
+ if (shouldSetPositionOpen) {
79
+ setPosition(0);
80
+ }
81
+ }, [setPosition, shouldSetPositionOpen]);
82
+ const driver = (0, import_core.useAnimationDriver)();
83
+ if (!driver) {
84
+ throw new Error("Must set animations in tamagui.config.ts");
85
+ }
64
86
  const scrollBridge = (0, import_use_constant.useConstant)(() => ({
65
87
  enabled: false,
66
88
  y: 0,
@@ -73,7 +95,10 @@ function useSheetProviderProps(props, state) {
73
95
  },
74
96
  scrollLock: false
75
97
  }));
76
- return {
98
+ const removeScrollEnabled = props.forceRemoveScrollEnabled ?? (open && props.modal);
99
+ const providerProps = {
100
+ removeScrollEnabled,
101
+ scrollBridge,
77
102
  modal: !!props.modal,
78
103
  open: state.open,
79
104
  setOpen: state.setOpen,
@@ -83,13 +108,15 @@ function useSheetProviderProps(props, state) {
83
108
  setFrameSize,
84
109
  dismissOnOverlayPress: props.dismissOnOverlayPress ?? true,
85
110
  dismissOnSnapToBottom: props.dismissOnSnapToBottom ?? false,
111
+ onOverlayComponent: options.onOverlayComponent,
86
112
  scope: props.__scopeSheet,
87
113
  position,
88
114
  snapPoints,
89
115
  setPosition,
90
116
  setPositionImmediate,
91
- scrollBridge
117
+ onlyShowFrame: false
92
118
  };
119
+ return providerProps;
93
120
  }
94
121
  // Annotate the CommonJS export names for ESM import in node:
95
122
  0 && (module.exports = {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useSheetProviderProps.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAA4B;AAC5B,oCAAqC;AACrC,mBAAsD;AAK/C,SAAS,sBAAsB,OAAmB,OAAuB;AAC9E,QAAM,aAAa,aAAAA,QAAM,OAAuB,IAAI;AACpD,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAiB,CAAC;AACpD,QAAM,iBAAiB,MAAM,cAAc,CAAC,EAAE;AAE9C,QAAM,iBAAa;AAAA,IACjB,MAAO,MAAM,wBAAwB,CAAC,GAAG,gBAAgB,CAAC,IAAI;AAAA;AAAA,IAE9D,CAAC,KAAK,UAAU,cAAc,GAAG,MAAM,qBAAqB;AAAA,EAC9D;AAGA,QAAM,CAAC,WAAW,oBAAoB,QAAI,oDAAqB;AAAA,IAC7D,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM,oBAAoB,MAAM,OAAO,IAAI;AAAA,IACxD,UAAU,MAAM;AAAA,IAChB,UAAU;AAAA,IACV,YAAY;AAAA,EACd,CAAC;AAED,QAAM,WAAW,MAAM,SAAS,QAAQ,KAAK;AAE7C,QAAM,kBAAc;AAAA,IAClB,CAAC,SAAiB;AAEhB,UAAI,MAAM,yBAAyB,SAAS,WAAW,SAAS,GAAG;AACjE,cAAM,QAAQ,KAAK;AAAA,MACrB,OAAO;AACL,6BAAqB,IAAI;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,CAAC,MAAM,uBAAuB,WAAW,QAAQ,sBAAsB,MAAM,OAAO;AAAA,EACtF;AAEA,QAAM,mBAAe,iCAA0B,OAAO;AAAA,IACpD,SAAS;AAAA,IACT,GAAG;AAAA,IACH,OAAO;AAAA,IACP,UAAU;AAAA,IACV,cAAc;AAAA,IACd,MAAM,MAAM;AAAA,IAAC;AAAA,IACb,SAAS,MAAM;AAAA,IAAC;AAAA,IAChB,YAAY;AAAA,EACd,EAAE;AAEF,SAAO;AAAA,IACL,OAAO,CAAC,CAAC,MAAM;AAAA,IACf,MAAM,MAAM;AAAA,IACZ,SAAS,MAAM;AAAA,IACf,QAAQ,CAAC,CAAC,MAAM;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA,uBAAuB,MAAM,yBAAyB;AAAA,IACtD,uBAAuB,MAAM,yBAAyB;AAAA,IACtD,OAAO,MAAM;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmD;AACnD,0BAA4B;AAC5B,oCAAqC;AACrC,mBAAiE;AAO1D,SAAS,sBACd,OACA,OACA,UAEI,CAAC,GACL;AACA,QAAM,aAAa,aAAAA,QAAM,OAAuB,IAAI;AACpD,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAiB,CAAC;AACpD,QAAM,iBAAiB,MAAM,cAAc,CAAC,EAAE;AAE9C,QAAM,iBAAa;AAAA,IACjB,MAAO,MAAM,wBAAwB,CAAC,GAAG,gBAAgB,CAAC,IAAI;AAAA;AAAA,IAE9D,CAAC,KAAK,UAAU,cAAc,GAAG,MAAM,qBAAqB;AAAA,EAC9D;AAGA,QAAM,CAAC,WAAW,oBAAoB,QAAI,oDAAqB;AAAA,IAC7D,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM,oBAAoB,MAAM,OAAO,IAAI;AAAA,IACxD,UAAU,MAAM;AAAA,IAChB,UAAU;AAAA,IACV,YAAY;AAAA,EACd,CAAC;AAED,QAAM,WAAW,MAAM,SAAS,QAAQ,KAAK;AAE7C,QAAM,EAAE,KAAK,IAAI;AAEjB,QAAM,kBAAc;AAAA,IAClB,CAAC,SAAiB;AAEhB,UAAI,MAAM,yBAAyB,SAAS,WAAW,SAAS,GAAG;AACjE,cAAM,QAAQ,KAAK;AAAA,MACrB,OAAO;AACL,6BAAqB,IAAI;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,CAAC,MAAM,uBAAuB,WAAW,QAAQ,sBAAsB,MAAM,OAAO;AAAA,EACtF;AAEA,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,WAAW,KAAK,CAAC,MAAM,IAAI,KAAK,IAAI,GAAG,GAAG;AAC5C,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,QAAQ,MAAM,yBAAyB,aAAa,WAAW,SAAS,GAAG;AAC7E,yBAAqB,CAAC;AAAA,EACxB;AAGA,QAAM,wBAAwB,QAAQ,WAAW;AACjD,8BAAU,MAAM;AACd,QAAI,uBAAuB;AACzB,kBAAY,CAAC;AAAA,IACf;AAAA,EACF,GAAG,CAAC,aAAa,qBAAqB,CAAC;AAEvC,QAAM,aAAS,gCAAmB;AAClC,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,MAAM,0CAA0C;AAAA,EAC5D;AAEA,QAAM,mBAAe,iCAA0B,OAAO;AAAA,IACpD,SAAS;AAAA,IACT,GAAG;AAAA,IACH,OAAO;AAAA,IACP,UAAU;AAAA,IACV,cAAc;AAAA,IACd,MAAM,MAAM;AAAA,IAAC;AAAA,IACb,SAAS,MAAM;AAAA,IAAC;AAAA,IAChB,YAAY;AAAA,EACd,EAAE;AAEF,QAAM,sBAAsB,MAAM,6BAA6B,QAAQ,MAAM;AAE7E,QAAM,gBAAgB;AAAA,IACpB;AAAA,IACA;AAAA,IACA,OAAO,CAAC,CAAC,MAAM;AAAA,IACf,MAAM,MAAM;AAAA,IACZ,SAAS,MAAM;AAAA,IACf,QAAQ,CAAC,CAAC,MAAM;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA,uBAAuB,MAAM,yBAAyB;AAAA,IACtD,uBAAuB,MAAM,yBAAyB;AAAA,IACtD,oBAAoB,QAAQ;AAAA,IAC5B,OAAO,MAAM;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,EACjB;AAEA,SAAO;AACT;",
5
5
  "names": ["React"]
6
6
  }
package/dist/esm/Sheet.js CHANGED
@@ -72,8 +72,7 @@ const Frame = styled(YStack, {
72
72
  borderTopRightRadius: "$true",
73
73
  width: "100%",
74
74
  maxHeight: "100%",
75
- overflow: "hidden",
76
- pointerEvents: "auto"
75
+ overflow: "hidden"
77
76
  }
78
77
  }
79
78
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Sheet.tsx"],
4
- "mappings": "AAAA,SAAS,cAAc;AACvB,SAAS,gBAAgB,QAAQ,cAAc;AAE/C,SAAS,mBAAmB,YAAY,0BAA0B;AAClE,SAAS,mBAAmB;AAE5B,SAAS,wBAAwB;AACjC,cAAc;AAMP,MAAM,SAAS,OAAO,QAAQ;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,UAAU,OAAO,gBAAgB;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,QAAQ,OAAO,QAAQ;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,QAAQ,YAAY;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,MAAM,oBAAoB;AAG1B,MAAM,mBAAmB;",
4
+ "mappings": "AAAA,SAAS,cAAc;AACvB,SAAS,gBAAgB,QAAQ,cAAc;AAE/C,SAAS,mBAAmB,YAAY,0BAA0B;AAClE,SAAS,mBAAmB;AAE5B,SAAS,wBAAwB;AACjC,cAAc;AAMP,MAAM,SAAS,OAAO,QAAQ;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,UAAU,OAAO,gBAAgB;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,QAAQ,OAAO,QAAQ;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,QAAQ,YAAY;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": "AACA,SAAS,0BAA0B;AAGnC,SAAS,kBAAkB;AAgBpB,MAAM,CAAC,oBAAoB,gBAAgB,IAAI,mBAAmB,UAAU;AAE5E,MAAM,CAAC,eAAe,eAAe,IAAI;AAAA,EAC9C;AAAA,EACA,CAAC;AACH;",
4
+ "mappings": "AAAA,SAAS,0BAA0B;AAEnC,SAAS,kBAAkB;AAGpB,MAAM,CAAC,oBAAoB,gBAAgB,IAAI,mBAAmB,UAAU;AAE5E,MAAM,CAAC,eAAe,eAAe,IAAI;AAAA,EAC9C;AAAA,EACA,CAAC;AACH;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,336 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { AdaptParentContext } from "@tamagui/adapt";
3
+ import { useComposedRefs } from "@tamagui/compose-refs";
4
+ import {
5
+ Theme,
6
+ isTouchable,
7
+ isWeb,
8
+ themeable,
9
+ useAnimationDriver,
10
+ useEvent,
11
+ useIsomorphicLayoutEffect,
12
+ useThemeName
13
+ } from "@tamagui/core";
14
+ import { Portal } from "@tamagui/portal";
15
+ import { useKeyboardVisible } from "@tamagui/use-keyboard-visible";
16
+ import {
17
+ forwardRef,
18
+ useCallback,
19
+ useContext,
20
+ useEffect,
21
+ useMemo,
22
+ useRef,
23
+ useState
24
+ } from "react";
25
+ import {
26
+ Keyboard,
27
+ PanResponder
28
+ } from "react-native";
29
+ import { HIDDEN_SIZE, SHEET_HIDDEN_STYLESHEET } from "./constants";
30
+ import { ParentSheetContext, SheetInsideSheetContext } from "./contexts";
31
+ import { resisted } from "./helpers";
32
+ import { SheetProvider } from "./SheetContext";
33
+ import { useSheetOpenState } from "./useSheetOpenState";
34
+ import { useSheetProviderProps } from "./useSheetProviderProps";
35
+ const SheetImplementationCustom = themeable(
36
+ forwardRef(function SheetImplementationCustom2(props, forwardedRef) {
37
+ const parentSheet = useContext(ParentSheetContext);
38
+ const {
39
+ animationConfig,
40
+ modal = false,
41
+ zIndex = parentSheet.zIndex + 1,
42
+ moveOnKeyboardChange = false,
43
+ portalProps
44
+ } = props;
45
+ const keyboardIsVisible = useKeyboardVisible();
46
+ const state = useSheetOpenState(props);
47
+ const [overlayComponent, setOverlayComponent] = useState(null);
48
+ const providerProps = useSheetProviderProps(props, state, {
49
+ onOverlayComponent: setOverlayComponent
50
+ });
51
+ const { frameSize, setFrameSize, snapPoints, position, setPosition, scrollBridge } = providerProps;
52
+ const { open, controller, isHidden } = state;
53
+ const sheetRef = useRef(null);
54
+ const ref = useComposedRefs(forwardedRef, sheetRef);
55
+ const [isShowingInnerSheet, setIsShowingInnerSheet] = useState(false);
56
+ const shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet;
57
+ const parentSheetContext = useContext(SheetInsideSheetContext);
58
+ const onInnerSheet = useCallback((hasChild) => {
59
+ setIsShowingInnerSheet(hasChild);
60
+ }, []);
61
+ const maxSnapPoint = snapPoints.reduce((prev, cur) => Math.max(prev, cur));
62
+ const screenSize = frameSize / (maxSnapPoint / 100);
63
+ const positions = useMemo(
64
+ () => snapPoints.map((point) => getPercentSize(point, screenSize)),
65
+ [frameSize, snapPoints]
66
+ );
67
+ const driver = useAnimationDriver();
68
+ const { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } = driver;
69
+ const AnimatedView = driver["NumberView"] ?? driver.View;
70
+ useIsomorphicLayoutEffect(() => {
71
+ if (!(parentSheetContext && open))
72
+ return;
73
+ parentSheetContext(true);
74
+ return () => {
75
+ parentSheetContext(false);
76
+ };
77
+ }, [parentSheetContext, open]);
78
+ const nextParentContext = useMemo(
79
+ () => ({
80
+ zIndex
81
+ }),
82
+ [zIndex]
83
+ );
84
+ const animatedNumber = useAnimatedNumber(HIDDEN_SIZE);
85
+ const at = useRef(0);
86
+ useAnimatedNumberReaction(
87
+ {
88
+ value: animatedNumber,
89
+ hostRef: sheetRef
90
+ },
91
+ (value) => {
92
+ if (!driver.isReactNative)
93
+ return;
94
+ at.current = value;
95
+ scrollBridge.paneY = value;
96
+ }
97
+ );
98
+ function stopSpring() {
99
+ animatedNumber.stop();
100
+ if (scrollBridge.onFinishAnimate) {
101
+ scrollBridge.onFinishAnimate();
102
+ scrollBridge.onFinishAnimate = void 0;
103
+ }
104
+ }
105
+ const animateTo = useEvent((position2) => {
106
+ const current = animatedNumber.getValue();
107
+ if (isHidden && open)
108
+ return;
109
+ if (!current)
110
+ return;
111
+ if (frameSize === 0)
112
+ return;
113
+ const hiddenValue = frameSize === 0 ? HIDDEN_SIZE : screenSize;
114
+ const toValue = isHidden || position2 === -1 ? hiddenValue : positions[position2];
115
+ if (at.current === toValue)
116
+ return;
117
+ stopSpring();
118
+ if (isHidden) {
119
+ animatedNumber.setValue(toValue, {
120
+ type: "timing",
121
+ duration: 0
122
+ });
123
+ at.current = toValue;
124
+ return;
125
+ }
126
+ const overshootClamping = at.current === HIDDEN_SIZE;
127
+ animatedNumber.setValue(toValue, {
128
+ ...animationConfig,
129
+ type: "spring",
130
+ overshootClamping
131
+ });
132
+ });
133
+ useIsomorphicLayoutEffect(() => {
134
+ animateTo(position);
135
+ }, [isHidden, frameSize, position, animateTo]);
136
+ const disableDrag = props.disableDrag ?? (controller == null ? void 0 : controller.disableDrag);
137
+ const themeName = useThemeName();
138
+ const panResponder = useMemo(
139
+ () => {
140
+ if (disableDrag)
141
+ return;
142
+ if (!frameSize)
143
+ return;
144
+ if (isShowingInnerSheet)
145
+ return;
146
+ const minY = positions[0];
147
+ scrollBridge.paneMinY = minY;
148
+ let startY = at.current;
149
+ function makeUnselectable(val) {
150
+ if (!SHEET_HIDDEN_STYLESHEET)
151
+ return;
152
+ if (!val) {
153
+ SHEET_HIDDEN_STYLESHEET.innerText = "";
154
+ } else {
155
+ SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }";
156
+ }
157
+ }
158
+ const release = ({ vy, dragAt }) => {
159
+ isExternalDrag = false;
160
+ previouslyScrolling = false;
161
+ makeUnselectable(false);
162
+ const at2 = dragAt + startY;
163
+ const end = at2 + frameSize * vy * 0.2;
164
+ let closestPoint = 0;
165
+ let dist = Infinity;
166
+ for (let i = 0; i < positions.length; i++) {
167
+ const position2 = positions[i];
168
+ const curDist = end > position2 ? end - position2 : position2 - end;
169
+ if (curDist < dist) {
170
+ dist = curDist;
171
+ closestPoint = i;
172
+ }
173
+ }
174
+ setPosition(closestPoint);
175
+ animateTo(closestPoint);
176
+ };
177
+ const finish = (_e, state2) => {
178
+ release({
179
+ vy: state2.vy,
180
+ dragAt: state2.dy
181
+ });
182
+ };
183
+ let previouslyScrolling = false;
184
+ const onMoveShouldSet = (_e, { dy }) => {
185
+ const isScrolled = scrollBridge.y !== 0;
186
+ const isDraggingUp = dy < 0;
187
+ const isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
188
+ if (isScrolled) {
189
+ previouslyScrolling = true;
190
+ return false;
191
+ }
192
+ if (isNearTop) {
193
+ if (!isScrolled && isDraggingUp) {
194
+ return false;
195
+ }
196
+ }
197
+ return Math.abs(dy) > 5;
198
+ };
199
+ const grant = () => {
200
+ makeUnselectable(true);
201
+ stopSpring();
202
+ startY = at.current;
203
+ };
204
+ let isExternalDrag = false;
205
+ scrollBridge.drag = (dy) => {
206
+ if (!isExternalDrag) {
207
+ isExternalDrag = true;
208
+ grant();
209
+ }
210
+ const to = dy + startY;
211
+ animatedNumber.setValue(resisted(to, minY), { type: "direct" });
212
+ };
213
+ scrollBridge.release = release;
214
+ return PanResponder.create({
215
+ onMoveShouldSetPanResponder: onMoveShouldSet,
216
+ onPanResponderGrant: grant,
217
+ onPanResponderMove: (_e, { dy }) => {
218
+ const toFull = dy + startY;
219
+ const to = resisted(toFull, minY);
220
+ animatedNumber.setValue(to, { type: "direct" });
221
+ },
222
+ onPanResponderEnd: finish,
223
+ onPanResponderTerminate: finish,
224
+ onPanResponderRelease: finish
225
+ });
226
+ },
227
+ // eslint-disable-next-line react-hooks/exhaustive-deps
228
+ [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]
229
+ );
230
+ const handleAnimationViewLayout = useCallback(
231
+ (e) => {
232
+ var _a;
233
+ let next = (_a = e.nativeEvent) == null ? void 0 : _a.layout.height;
234
+ if (isWeb && isTouchable && !open) {
235
+ next += 100;
236
+ }
237
+ if (!next)
238
+ return;
239
+ setFrameSize(next);
240
+ },
241
+ [keyboardIsVisible]
242
+ );
243
+ const animatedStyle = useAnimatedNumberStyle(animatedNumber, (val) => {
244
+ "worklet";
245
+ const translateY = frameSize === 0 ? HIDDEN_SIZE : val;
246
+ return {
247
+ transform: [{ translateY }]
248
+ };
249
+ });
250
+ const sizeBeforeKeyboard = useRef(null);
251
+ useEffect(() => {
252
+ if (isWeb || !moveOnKeyboardChange)
253
+ return;
254
+ const keyboardDidShowListener = Keyboard.addListener("keyboardDidShow", (e) => {
255
+ if (sizeBeforeKeyboard.current !== null)
256
+ return;
257
+ sizeBeforeKeyboard.current = animatedNumber.getValue();
258
+ animatedNumber.setValue(
259
+ Math.max(animatedNumber.getValue() - e.endCoordinates.height, 0)
260
+ );
261
+ });
262
+ const keyboardDidHideListener = Keyboard.addListener("keyboardDidHide", () => {
263
+ if (sizeBeforeKeyboard.current === null)
264
+ return;
265
+ animatedNumber.setValue(sizeBeforeKeyboard.current);
266
+ sizeBeforeKeyboard.current = null;
267
+ });
268
+ return () => {
269
+ keyboardDidHideListener.remove();
270
+ keyboardDidShowListener.remove();
271
+ };
272
+ }, [moveOnKeyboardChange]);
273
+ const [opacity, setOpacity] = useState(open ? 1 : 0);
274
+ if (open && opacity === 0) {
275
+ setOpacity(1);
276
+ }
277
+ useEffect(() => {
278
+ if (!open) {
279
+ const tm = setTimeout(() => {
280
+ setOpacity(0);
281
+ }, 400);
282
+ return () => {
283
+ clearTimeout(tm);
284
+ };
285
+ }
286
+ }, [open]);
287
+ const contents = /* @__PURE__ */ jsx(ParentSheetContext.Provider, { value: nextParentContext, children: /* @__PURE__ */ jsxs(SheetProvider, { ...providerProps, children: [
288
+ shouldHideParentSheet ? null : overlayComponent,
289
+ /* @__PURE__ */ jsx(
290
+ AnimatedView,
291
+ {
292
+ ref,
293
+ ...panResponder == null ? void 0 : panResponder.panHandlers,
294
+ onLayout: handleAnimationViewLayout,
295
+ pointerEvents: open && !shouldHideParentSheet ? "auto" : "none",
296
+ animation: props.animation,
297
+ style: [
298
+ {
299
+ position: "absolute",
300
+ zIndex,
301
+ width: "100%",
302
+ height: `${maxSnapPoint}%`,
303
+ opacity
304
+ },
305
+ animatedStyle
306
+ ],
307
+ children: props.children
308
+ }
309
+ )
310
+ ] }) });
311
+ const adaptContext = useContext(AdaptParentContext);
312
+ if (modal) {
313
+ const modalContents = /* @__PURE__ */ jsx(Portal, { zIndex, ...portalProps, children: /* @__PURE__ */ jsx(Theme, { forceClassName: true, name: themeName, children: /* @__PURE__ */ jsx(AdaptParentContext.Provider, { value: adaptContext, children: contents }) }) });
314
+ if (isWeb) {
315
+ return modalContents;
316
+ }
317
+ return /* @__PURE__ */ jsx(SheetInsideSheetContext.Provider, { value: onInnerSheet, children: modalContents });
318
+ }
319
+ return contents;
320
+ })
321
+ );
322
+ function getPercentSize(point, screenSize) {
323
+ if (!screenSize)
324
+ return 0;
325
+ if (point === void 0) {
326
+ console.warn("No snapPoint");
327
+ return 0;
328
+ }
329
+ const pct = point / 100;
330
+ const next = Math.round(screenSize - pct * screenSize);
331
+ return next;
332
+ }
333
+ export {
334
+ SheetImplementationCustom
335
+ };
336
+ //# 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
+ }
@@ -1,9 +1,17 @@
1
+ import { isClient } from "@tamagui/core";
1
2
  const constants = {};
2
3
  const SHEET_NAME = "Sheet";
3
4
  const SHEET_HANDLE_NAME = "SheetHandle";
4
5
  const SHEET_OVERLAY_NAME = "SheetOverlay";
6
+ const HIDDEN_SIZE = 1e4;
7
+ const SHEET_HIDDEN_STYLESHEET = isClient ? document.createElement("style") : null;
8
+ if (SHEET_HIDDEN_STYLESHEET) {
9
+ document.head.appendChild(SHEET_HIDDEN_STYLESHEET);
10
+ }
5
11
  export {
12
+ HIDDEN_SIZE,
6
13
  SHEET_HANDLE_NAME,
14
+ SHEET_HIDDEN_STYLESHEET,
7
15
  SHEET_NAME,
8
16
  SHEET_OVERLAY_NAME,
9
17
  constants
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/constants.tsx"],
4
- "mappings": "AAAO,MAAM,YAAY,CAAC;AAEnB,MAAM,aAAa;AACnB,MAAM,oBAAoB;AAC1B,MAAM,qBAAqB;",
4
+ "mappings": "AAAA,SAAS,gBAAgB;AAElB,MAAM,YAAY,CAAC;AAEnB,MAAM,aAAa;AACnB,MAAM,oBAAoB;AAC1B,MAAM,qBAAqB;AAG3B,MAAM,cAAc;AAEpB,MAAM,0BAA0B,WAAW,SAAS,cAAc,OAAO,IAAI;AACpF,IAAI,yBAAyB;AAC3B,WAAS,KAAK,YAAY,uBAAuB;AACnD;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,10 @@
1
+ import { createContext } from "react";
2
+ const ParentSheetContext = createContext({
3
+ zIndex: 1e5
4
+ });
5
+ const SheetInsideSheetContext = createContext(null);
6
+ export {
7
+ ParentSheetContext,
8
+ SheetInsideSheetContext
9
+ };
10
+ //# sourceMappingURL=contexts.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/contexts.ts"],
4
+ "mappings": "AAAA,SAAS,qBAAqB;AAEvB,MAAM,qBAAqB,cAAc;AAAA,EAC9C,QAAQ;AACV,CAAC;AAEM,MAAM,0BAA0B,cAErC,IAAI;",
5
+ "names": []
6
+ }