@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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/nativeSheet.tsx"],
4
- "mappings": ";AAAA,SAASA,cAAc;AAEvB,SAASC,WAAWC,cAAc;AAClC,SAASC,YAAY;AACrB,SAASC,qBAAqB;AAE9B,SAASC,yBAAyB;AAClC,SAASC,6BAA6B;AAMtC,IAAMC,eAAmF;EACvFC,KAAK;AACP;AAEO,SAASC,eAAeC,UAA8B;AAC3D,SAAOH,aAAaG,QAAAA;AACtB;AAEO,SAASC,iBACdD,UACAE,YAAmE;AAEnE,MAAM,EAAEC,gBAAgBC,0BAAyB,IAAKF;AAEtD,EAAIF,aAAa,UACfH,aAAaG,QAAAA,IAAY,SAACK,OAAAA;AACxB,QAAMC,QAAQX,kBAAkBU,KAAAA,GAC1BE,gBAAgBX,sBAAsBS,OAAOC,KAAAA,GAI7C,EAAEE,MAAMC,QAAO,IAAKH,OACpBI,MAAMlB,OAGTmB,MAAAA;AAEHpB,cAAU,WAAA;AACR,UAAIiB,MAAM;YACRE;SAAAA,eAAAA,IAAIE,aAAO,QAAXF,iBAAAA,UAAAA,aAAaG,aAAY;MAC3B,OAAO;YACLH;SAAAA,gBAAAA,IAAIE,aAAO,QAAXF,kBAAAA,UAAAA,cAAaI,aAAY;MAC3B;IACF,GAAG;MAACN;KAAK;AAET,aAASO,gBAAgBC,MAAa;UACpCX;OAAAA,sBAAAA,MAAMY,kBAAY,QAAlBZ,wBAAAA,UAAAA,oBAAAA,KAAAA,OAAqBG,IAAAA,GACrBC,QAAQO,IAAAA;IACV;AAQA,WACE,qBAAA,WAAA;gBACE,sBAACtB,eAAAA;QACCwB,eAAa;QACbC,kBAAkBC;QACjB,GAAGb;QACJc,eAAa;;UAEb,qBAAClB,gBAAAA;YAAeO;YAAUY,mBAAmB,WAAA;qBAAMP,gBAAgB,EAAA;;sBACjE,qBAACX,2BAAAA;wBACC,qBAACX,MAAAA;gBAAK8B,OAAO;kBAAEC,MAAM;gBAAE;0BAAInB,MAAMoB;;;;;;UAMrC,qBAACnC,QAAAA;YACCoC,UAAS;YACTC,SAAS;YACTC,eAAc;YACdC,OAAO;YACPC,QAAQ;sBAEPzB,MAAMoB;;;;;EAKjB;AAEJ;AAEA,IAAML,UAAU,WAAA;AAEhB;",
5
- "names": ["YStack", "useEffect", "useRef", "View", "SheetProvider", "useSheetOpenState", "useSheetProviderProps", "nativeSheets", "ios", "getNativeSheet", "platform", "setupNativeSheet", "RNIOSModal", "ModalSheetView", "ModalSheetViewMainContent", "props", "state", "providerProps", "open", "setOpen", "ref", "undefined", "current", "presentModal", "dismissModal", "setOpenInternal", "next", "onOpenChange", "scrollEnabled", "setHasScrollView", "emptyFn", "onlyShowFrame", "onModalDidDismiss", "style", "flex", "children", "position", "opacity", "pointerEvents", "width", "height"]
4
+ "mappings": ";AAAA,SAASA,cAAc;AAEvB,SAASC,WAAWC,cAAc;AAClC,SAASC,YAAY;AACrB,SAASC,qBAAqB;AAE9B,SAASC,yBAAyB;AAClC,SAASC,6BAA6B;AAMtC,IAAMC,eAAmF;EACvFC,KAAK;AACP;AAEO,SAASC,eAAeC,UAA8B;AAC3D,SAAOH,aAAaG,QAAAA;AACtB;AAEO,SAASC,iBACdD,UACAE,YAAmE;AAEnE,MAAM,EAAEC,gBAAgBC,0BAAyB,IAAKF;AAEtD,EAAIF,aAAa,UACfH,aAAaG,QAAAA,IAAY,SAACK,OAAAA;AACxB,QAAMC,QAAQX,kBAAkBU,KAAAA,GAC1BE,gBAAgBX,sBAAsBS,OAAOC,KAAAA,GAI7C,EAAEE,MAAMC,QAAO,IAAKH,OACpBI,MAAMlB,OAGTmB,MAAAA;AAEHpB,cAAU,WAAA;AACR,UAAIiB,MAAM;YACRE;SAAAA,eAAAA,IAAIE,aAAO,QAAXF,iBAAAA,UAAAA,aAAaG,aAAY;MAC3B,OAAO;YACLH;SAAAA,gBAAAA,IAAIE,aAAO,QAAXF,kBAAAA,UAAAA,cAAaI,aAAY;MAC3B;IACF,GAAG;MAACN;KAAK;AAET,aAASO,gBAAgBC,MAAa;UACpCX;OAAAA,sBAAAA,MAAMY,kBAAY,QAAlBZ,wBAAAA,UAAAA,oBAAAA,KAAAA,OAAqBG,IAAAA,GACrBC,QAAQO,IAAAA;IACV;AAQA,WACE,qBAAA,WAAA;gBACE,sBAACtB,eAAAA;QACCwB,kBAAkBC;QACjB,GAAGZ;QACJa,eAAa;;UAEb,qBAACjB,gBAAAA;YAAeO;YAAUW,mBAAmB,WAAA;qBAAMN,gBAAgB,EAAA;;sBACjE,qBAACX,2BAAAA;wBACC,qBAACX,MAAAA;gBAAK6B,OAAO;kBAAEC,MAAM;gBAAE;0BAAIlB,MAAMmB;;;;;;UAMrC,qBAAClC,QAAAA;YACCmC,UAAS;YACTC,SAAS;YACTC,eAAc;YACdC,OAAO;YACPC,QAAQ;sBAEPxB,MAAMmB;;;;;EAKjB;AAEJ;AAEA,IAAML,UAAU,WAAA;AAEhB;",
5
+ "names": ["YStack", "useEffect", "useRef", "View", "SheetProvider", "useSheetOpenState", "useSheetProviderProps", "nativeSheets", "ios", "getNativeSheet", "platform", "setupNativeSheet", "RNIOSModal", "ModalSheetView", "ModalSheetViewMainContent", "props", "state", "providerProps", "open", "setOpen", "ref", "undefined", "current", "presentModal", "dismissModal", "setOpenInternal", "next", "onOpenChange", "setHasScrollView", "emptyFn", "onlyShowFrame", "onModalDidDismiss", "style", "flex", "children", "position", "opacity", "pointerEvents", "width", "height"]
6
6
  }
@@ -3,11 +3,11 @@ import { useSheetController } from "./useSheetController";
3
3
  const useSheetOpenState = (props) => {
4
4
  const { isHidden, controller } = useSheetController(), onOpenChangeInternal = (val) => {
5
5
  controller?.onOpenChange?.(val), props.onOpenChange?.(val);
6
- }, propVal = controller?.open ?? props.open, [open, setOpen] = useControllableState({
6
+ }, propVal = props.preferAdaptParentOpenState ? controller?.open ?? props.open : props.open ?? controller?.open, [open, setOpen] = useControllableState({
7
7
  prop: propVal,
8
8
  defaultProp: props.defaultOpen ?? !1,
9
9
  onChange: onOpenChangeInternal,
10
- strategy: "prop-wins"
10
+ strategy: "most-recent-wins"
11
11
  });
12
12
  return {
13
13
  open,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useSheetOpenState.tsx"],
4
- "mappings": "AAAA,SAAS,4BAA4B;AAGrC,SAAS,0BAA0B;AAE5B,MAAM,oBAAoB,CAAC,UAAsB;AACtD,QAAM,EAAE,UAAU,WAAW,IAAI,mBAAmB,GAE9C,uBAAuB,CAAC,QAAiB;AAC7C,gBAAY,eAAe,GAAG,GAC9B,MAAM,eAAe,GAAG;AAAA,EAC1B,GAEM,UAAU,YAAY,QAAQ,MAAM,MACpC,CAAC,MAAM,OAAO,IAAI,qBAAqB;AAAA,IAC3C,MAAM;AAAA,IACN,aAAa,MAAM,eAAe;AAAA,IAClC,UAAU;AAAA,IACV,UAAU;AAAA,EACZ,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "mappings": "AAAA,SAAS,4BAA4B;AAGrC,SAAS,0BAA0B;AAE5B,MAAM,oBAAoB,CAAC,UAAsB;AACtD,QAAM,EAAE,UAAU,WAAW,IAAI,mBAAmB,GAE9C,uBAAuB,CAAC,QAAiB;AAC7C,gBAAY,eAAe,GAAG,GAC9B,MAAM,eAAe,GAAG;AAAA,EAC1B,GAEM,UAAU,MAAM,6BACjB,YAAY,QAAQ,MAAM,OAC1B,MAAM,QAAQ,YAAY,MAEzB,CAAC,MAAM,OAAO,IAAI,qBAAqB;AAAA,IAC3C,MAAM;AAAA,IACN,aAAa,MAAM,eAAe;AAAA,IAClC,UAAU;AAAA,IACV,UAAU;AAAA,EACZ,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
@@ -8,12 +8,12 @@ const useSheetOpenState = props => {
8
8
  onOpenChangeInternal = val => {
9
9
  controller?.onOpenChange?.(val), props.onOpenChange?.(val);
10
10
  },
11
- propVal = controller?.open ?? props.open,
11
+ propVal = props.preferAdaptParentOpenState ? controller?.open ?? props.open : props.open ?? controller?.open,
12
12
  [open, setOpen] = useControllableState({
13
13
  prop: propVal,
14
14
  defaultProp: props.defaultOpen ?? !1,
15
15
  onChange: onOpenChangeInternal,
16
- strategy: "prop-wins"
16
+ strategy: "most-recent-wins"
17
17
  });
18
18
  return {
19
19
  open,
@@ -1 +1 @@
1
- {"version":3,"names":["useControllableState","useSheetController","useSheetOpenState","props","isHidden","controller","onOpenChangeInternal","val","onOpenChange","propVal","open","setOpen","prop","defaultProp","defaultOpen","onChange","strategy"],"sources":["../../src/useSheetOpenState.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,oBAAA,QAA4B;AAGrC,SAASC,kBAAA,QAA0B;AAE5B,MAAMC,iBAAA,GAAqBC,KAAA,IAAsB;EACtD,MAAM;MAAEC,QAAA;MAAUC;IAAW,IAAIJ,kBAAA,CAAmB;IAE9CK,oBAAA,GAAwBC,GAAA,IAAiB;MAC7CF,UAAA,EAAYG,YAAA,GAAeD,GAAG,GAC9BJ,KAAA,CAAMK,YAAA,GAAeD,GAAG;IAC1B;IAEME,OAAA,GAAUJ,UAAA,EAAYK,IAAA,IAAQP,KAAA,CAAMO,IAAA;IACpC,CAACA,IAAA,EAAMC,OAAO,IAAIX,oBAAA,CAAqB;MAC3CY,IAAA,EAAMH,OAAA;MACNI,WAAA,EAAaV,KAAA,CAAMW,WAAA,IAAe;MAClCC,QAAA,EAAUT,oBAAA;MACVU,QAAA,EAAU;IACZ,CAAC;EAED,OAAO;IACLN,IAAA;IACAC,OAAA;IACAP,QAAA;IACAC;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["useControllableState","useSheetController","useSheetOpenState","props","isHidden","controller","onOpenChangeInternal","val","onOpenChange","propVal","preferAdaptParentOpenState","open","setOpen","prop","defaultProp","defaultOpen","onChange","strategy"],"sources":["../../src/useSheetOpenState.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,oBAAA,QAA4B;AAGrC,SAASC,kBAAA,QAA0B;AAE5B,MAAMC,iBAAA,GAAqBC,KAAA,IAAsB;EACtD,MAAM;MAAEC,QAAA;MAAUC;IAAW,IAAIJ,kBAAA,CAAmB;IAE9CK,oBAAA,GAAwBC,GAAA,IAAiB;MAC7CF,UAAA,EAAYG,YAAA,GAAeD,GAAG,GAC9BJ,KAAA,CAAMK,YAAA,GAAeD,GAAG;IAC1B;IAEME,OAAA,GAAUN,KAAA,CAAMO,0BAAA,GACjBL,UAAA,EAAYM,IAAA,IAAQR,KAAA,CAAMQ,IAAA,GAC1BR,KAAA,CAAMQ,IAAA,IAAQN,UAAA,EAAYM,IAAA;IAEzB,CAACA,IAAA,EAAMC,OAAO,IAAIZ,oBAAA,CAAqB;MAC3Ca,IAAA,EAAMJ,OAAA;MACNK,WAAA,EAAaX,KAAA,CAAMY,WAAA,IAAe;MAClCC,QAAA,EAAUV,oBAAA;MACVW,QAAA,EAAU;IACZ,CAAC;EAED,OAAO;IACLN,IAAA;IACAC,OAAA;IACAR,QAAA;IACAC;EACF;AACF","ignoreList":[]}
@@ -4,11 +4,11 @@ var useSheetOpenState = function(props) {
4
4
  var { isHidden, controller } = useSheetController(), onOpenChangeInternal = function(val) {
5
5
  var _controller_onOpenChange, _props_onOpenChange;
6
6
  controller == null || (_controller_onOpenChange = controller.onOpenChange) === null || _controller_onOpenChange === void 0 || _controller_onOpenChange.call(controller, val), (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 || _props_onOpenChange.call(props, val);
7
- }, _controller_open, propVal = (_controller_open = controller == null ? void 0 : controller.open) !== null && _controller_open !== void 0 ? _controller_open : props.open, _props_defaultOpen, [open, setOpen] = useControllableState({
7
+ }, _controller_open, _props_open, propVal = props.preferAdaptParentOpenState ? (_controller_open = controller == null ? void 0 : controller.open) !== null && _controller_open !== void 0 ? _controller_open : props.open : (_props_open = props.open) !== null && _props_open !== void 0 ? _props_open : controller == null ? void 0 : controller.open, _props_defaultOpen, [open, setOpen] = useControllableState({
8
8
  prop: propVal,
9
9
  defaultProp: (_props_defaultOpen = props.defaultOpen) !== null && _props_defaultOpen !== void 0 ? _props_defaultOpen : !1,
10
10
  onChange: onOpenChangeInternal,
11
- strategy: "prop-wins"
11
+ strategy: "most-recent-wins"
12
12
  });
13
13
  return {
14
14
  open,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useSheetOpenState.tsx"],
4
- "mappings": "AAAA,SAASA,4BAA4B;AAGrC,SAASC,0BAA0B;AAE5B,IAAMC,oBAAoB,SAACC,OAAAA;AAChC,MAAM,EAAEC,UAAUC,WAAU,IAAKJ,mBAAAA,GAE3BK,uBAAuB,SAACC,KAAAA;QAC5BF,0BACAF;AADAE,kBAAAA,SAAAA,2BAAAA,WAAYG,kBAAY,QAAxBH,6BAAAA,UAAAA,yBAAAA,KAAAA,YAA2BE,GAAAA,IAC3BJ,sBAAAA,MAAMK,kBAAY,QAAlBL,wBAAAA,UAAAA,oBAAAA,KAAAA,OAAqBI,GAAAA;EACvB,GAEgBF,kBAAVI,WAAUJ,mBAAAA,cAAAA,OAAAA,SAAAA,WAAYK,UAAI,QAAhBL,qBAAAA,SAAAA,mBAAoBF,MAAMO,MAG3BP,oBAFT,CAACO,MAAMC,OAAAA,IAAWX,qBAAqB;IAC3CY,MAAMH;IACNI,cAAaV,qBAAAA,MAAMW,iBAAW,QAAjBX,uBAAAA,SAAAA,qBAAqB;IAClCY,UAAUT;IACVU,UAAU;EACZ,CAAA;AAEA,SAAO;IACLN;IACAC;IACAP;IACAC;EACF;AACF;",
5
- "names": ["useControllableState", "useSheetController", "useSheetOpenState", "props", "isHidden", "controller", "onOpenChangeInternal", "val", "onOpenChange", "propVal", "open", "setOpen", "prop", "defaultProp", "defaultOpen", "onChange", "strategy"]
4
+ "mappings": "AAAA,SAASA,4BAA4B;AAGrC,SAASC,0BAA0B;AAE5B,IAAMC,oBAAoB,SAACC,OAAAA;AAChC,MAAM,EAAEC,UAAUC,WAAU,IAAKJ,mBAAAA,GAE3BK,uBAAuB,SAACC,KAAAA;QAC5BF,0BACAF;AADAE,kBAAAA,SAAAA,2BAAAA,WAAYG,kBAAY,QAAxBH,6BAAAA,UAAAA,yBAAAA,KAAAA,YAA2BE,GAAAA,IAC3BJ,sBAAAA,MAAMK,kBAAY,QAAlBL,wBAAAA,UAAAA,oBAAAA,KAAAA,OAAqBI,GAAAA;EACvB,GAGKF,kBACAF,aAFCM,UAAUN,MAAMO,8BACjBL,mBAAAA,cAAAA,OAAAA,SAAAA,WAAYM,UAAI,QAAhBN,qBAAAA,SAAAA,mBAAoBF,MAAMQ,QAC1BR,cAAAA,MAAMQ,UAAI,QAAVR,gBAAAA,SAAAA,cAAcE,cAAAA,OAAAA,SAAAA,WAAYM,MAIhBR,oBAFT,CAACQ,MAAMC,OAAAA,IAAWZ,qBAAqB;IAC3Ca,MAAMJ;IACNK,cAAaX,qBAAAA,MAAMY,iBAAW,QAAjBZ,uBAAAA,SAAAA,qBAAqB;IAClCa,UAAUV;IACVW,UAAU;EACZ,CAAA;AAEA,SAAO;IACLN;IACAC;IACAR;IACAC;EACF;AACF;",
5
+ "names": ["useControllableState", "useSheetController", "useSheetOpenState", "props", "isHidden", "controller", "onOpenChangeInternal", "val", "onOpenChange", "propVal", "preferAdaptParentOpenState", "open", "setOpen", "prop", "defaultProp", "defaultOpen", "onChange", "strategy"]
6
6
  }
@@ -10,7 +10,7 @@ function useSheetProviderProps(props, state, options = {}) {
10
10
  prop: props.position,
11
11
  defaultProp: props.defaultPosition || (state.open ? 0 : -1),
12
12
  onChange: props.onPositionChange,
13
- strategy: "prop-wins"
13
+ strategy: "most-recent-wins"
14
14
  }), position = state.open === !1 ? -1 : position_, { open } = state, setPosition = React.useCallback(
15
15
  (next) => {
16
16
  props.dismissOnSnapToBottom && next === snapPoints.length - 1 ? state.setOpen(!1) : setPositionImmediate(next);
@@ -48,18 +48,28 @@ function useSheetProviderProps(props, state, options = {}) {
48
48
  throw new Error(
49
49
  process.env.NODE_ENV === "production" ? "\u274C 008" : "Must set animations in tamagui.config.ts"
50
50
  );
51
- const scrollBridge = useConstant(() => ({
52
- enabled: !1,
53
- y: 0,
54
- paneY: 0,
55
- paneMinY: 0,
56
- scrollStartY: -1,
57
- drag: () => {
58
- },
59
- release: () => {
60
- },
61
- scrollLock: !1
62
- })), removeScrollEnabled = props.forceRemoveScrollEnabled ?? (open && props.modal), maxSnapPoint = snapPoints[0];
51
+ const scrollBridge = useConstant(() => {
52
+ const parentDragListeners = /* @__PURE__ */ new Set(), bridge = {
53
+ enabled: !1,
54
+ y: 0,
55
+ paneY: 0,
56
+ paneMinY: 0,
57
+ scrollStartY: -1,
58
+ drag: () => {
59
+ },
60
+ release: () => {
61
+ },
62
+ scrollLock: !1,
63
+ isParentDragging: !1,
64
+ onParentDragging: (cb) => (parentDragListeners.add(cb), () => {
65
+ parentDragListeners.delete(cb);
66
+ }),
67
+ setParentDragging: (val) => {
68
+ val !== bridge.isParentDragging && (bridge.isParentDragging = val, parentDragListeners.forEach((cb) => cb(val)));
69
+ }
70
+ };
71
+ return bridge;
72
+ }), removeScrollEnabled = props.forceRemoveScrollEnabled ?? (open && props.modal), maxSnapPoint = snapPoints[0];
63
73
  return {
64
74
  screenSize: snapPointsMode === "percent" ? frameSize / ((typeof maxSnapPoint == "number" ? maxSnapPoint : 100) / 100) : maxContentSize,
65
75
  maxSnapPoint,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useSheetProviderProps.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -15,7 +15,7 @@ function useSheetProviderProps(props, state, options = {}) {
15
15
  prop: props.position,
16
16
  defaultProp: props.defaultPosition || (state.open ? 0 : -1),
17
17
  onChange: props.onPositionChange,
18
- strategy: "prop-wins"
18
+ strategy: "most-recent-wins"
19
19
  }),
20
20
  position = state.open === !1 ? -1 : position_,
21
21
  {
@@ -43,16 +43,27 @@ function useSheetProviderProps(props, state, options = {}) {
43
43
  animationDriver
44
44
  } = useConfiguration();
45
45
  if (!animationDriver) throw new Error(process.env.NODE_ENV === "production" ? "\u274C 008" : "Must set animations in tamagui.config.ts");
46
- const scrollBridge = useConstant(() => ({
47
- enabled: !1,
48
- y: 0,
49
- paneY: 0,
50
- paneMinY: 0,
51
- scrollStartY: -1,
52
- drag: () => {},
53
- release: () => {},
54
- scrollLock: !1
55
- })),
46
+ const scrollBridge = useConstant(() => {
47
+ const parentDragListeners = /* @__PURE__ */new Set(),
48
+ bridge = {
49
+ enabled: !1,
50
+ y: 0,
51
+ paneY: 0,
52
+ paneMinY: 0,
53
+ scrollStartY: -1,
54
+ drag: () => {},
55
+ release: () => {},
56
+ scrollLock: !1,
57
+ isParentDragging: !1,
58
+ onParentDragging: cb => (parentDragListeners.add(cb), () => {
59
+ parentDragListeners.delete(cb);
60
+ }),
61
+ setParentDragging: val => {
62
+ val !== bridge.isParentDragging && (bridge.isParentDragging = val, parentDragListeners.forEach(cb => cb(val)));
63
+ }
64
+ };
65
+ return bridge;
66
+ }),
56
67
  removeScrollEnabled = props.forceRemoveScrollEnabled ?? (open && props.modal),
57
68
  maxSnapPoint = snapPoints[0];
58
69
  return {
@@ -1 +1 @@
1
- {"version":3,"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","hidden","isHidden","dismissOnOverlayPress","onOverlayComponent","scope","__scopeSheet","onlyShowFrame"],"sources":["../../src/useSheetProviderProps.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"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","hidden","isHidden","dismissOnOverlayPress","onOverlayComponent","scope","__scopeSheet","onlyShowFrame"],"sources":["../../src/useSheetProviderProps.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -21,7 +21,7 @@ function useSheetProviderProps(props, state) {
21
21
  prop: props.position,
22
22
  defaultProp: props.defaultPosition || (state.open ? 0 : -1),
23
23
  onChange: props.onPositionChange,
24
- strategy: "prop-wins"
24
+ strategy: "most-recent-wins"
25
25
  }), position = state.open === !1 ? -1 : position_, { open } = state, setPosition = React.useCallback(function(next) {
26
26
  props.dismissOnSnapToBottom && next === snapPoints.length - 1 ? state.setOpen(!1) : setPositionImmediate(next);
27
27
  }, [
@@ -57,7 +57,7 @@ function useSheetProviderProps(props, state) {
57
57
  if (!animationDriver)
58
58
  throw new Error(process.env.NODE_ENV === "production" ? "\u274C 008" : "Must set animations in tamagui.config.ts");
59
59
  var scrollBridge = useConstant(function() {
60
- return {
60
+ var parentDragListeners = /* @__PURE__ */ new Set(), bridge = {
61
61
  enabled: !1,
62
62
  y: 0,
63
63
  paneY: 0,
@@ -67,8 +67,20 @@ function useSheetProviderProps(props, state) {
67
67
  },
68
68
  release: function() {
69
69
  },
70
- scrollLock: !1
70
+ scrollLock: !1,
71
+ isParentDragging: !1,
72
+ onParentDragging: function(cb) {
73
+ return parentDragListeners.add(cb), function() {
74
+ parentDragListeners.delete(cb);
75
+ };
76
+ },
77
+ setParentDragging: function(val) {
78
+ val !== bridge.isParentDragging && (bridge.isParentDragging = val, parentDragListeners.forEach(function(cb) {
79
+ return cb(val);
80
+ }));
81
+ }
71
82
  };
83
+ return bridge;
72
84
  }), _props_forceRemoveScrollEnabled, removeScrollEnabled = (_props_forceRemoveScrollEnabled = props.forceRemoveScrollEnabled) !== null && _props_forceRemoveScrollEnabled !== void 0 ? _props_forceRemoveScrollEnabled : open && props.modal, maxSnapPoint = snapPoints[0], screenSize = snapPointsMode === "percent" ? frameSize / ((typeof maxSnapPoint == "number" ? maxSnapPoint : 100) / 100) : maxContentSize, _props_dismissOnOverlayPress, _props_dismissOnSnapToBottom, providerProps = {
73
85
  screenSize,
74
86
  maxSnapPoint,
@@ -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.1",
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.1",
41
- "@tamagui/animate-presence": "1.130.1",
42
- "@tamagui/animations-react-native": "1.130.1",
43
- "@tamagui/compose-refs": "1.130.1",
44
- "@tamagui/constants": "1.130.1",
45
- "@tamagui/core": "1.130.1",
46
- "@tamagui/create-context": "1.130.1",
47
- "@tamagui/helpers": "1.130.1",
48
- "@tamagui/portal": "1.130.1",
49
- "@tamagui/remove-scroll": "1.130.1",
50
- "@tamagui/scroll-view": "1.130.1",
51
- "@tamagui/stacks": "1.130.1",
52
- "@tamagui/use-constant": "1.130.1",
53
- "@tamagui/use-controllable-state": "1.130.1",
54
- "@tamagui/use-did-finish-ssr": "1.130.1",
55
- "@tamagui/use-keyboard-visible": "1.130.1",
56
- "@tamagui/z-index-stack": "1.130.1"
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.1",
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) => {
@@ -320,7 +314,7 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
320
314
  ): boolean => {
321
315
  function getShouldSet() {
322
316
  // if dragging handle always allow:
323
- if (e.target === providerProps.handleRef.current || !scrollEnabled.current) {
317
+ if (e.target === providerProps.handleRef.current) {
324
318
  return true
325
319
  }
326
320
 
@@ -345,15 +339,21 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
345
339
  return false
346
340
  }
347
341
  }
342
+
348
343
  // we could do some detection of other touchables and cancel here..
349
- return Math.abs(dy) > 10
344
+ return Math.abs(dy) > 5
350
345
  }
351
346
 
352
- return getShouldSet()
347
+ const granted = getShouldSet()
348
+
349
+ if (granted) {
350
+ scrollBridge.setParentDragging(true)
351
+ }
352
+
353
+ return granted
353
354
  }
354
355
 
355
356
  const grant = () => {
356
- setScrollEnabled(false)
357
357
  setPanning(true)
358
358
  stopSpring()
359
359
  startY = at.current
@@ -378,6 +378,15 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
378
378
  onPanResponderMove: (_e, { dy }) => {
379
379
  const toFull = dy + startY
380
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
+
381
390
  animatedNumber.setValue(to, { type: 'direct' })
382
391
  },
383
392
  onPanResponderEnd: finish,
@@ -483,11 +492,7 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
483
492
 
484
493
  let contents = (
485
494
  <ParentSheetContext.Provider value={nextParentContext}>
486
- <SheetProvider
487
- {...providerProps}
488
- scrollEnabled={scrollEnabled.current}
489
- setHasScrollView={setHasScrollView}
490
- >
495
+ <SheetProvider {...providerProps} setHasScrollView={setHasScrollView}>
491
496
  <AnimatePresence custom={{ open }}>
492
497
  {shouldHideParentSheet || !open ? null : overlayComponent}
493
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
@@ -105,6 +143,7 @@ export const SheetScrollView = React.forwardRef<
105
143
  onScroll={(e) => {
106
144
  const { y } = e.nativeEvent.contentOffset
107
145
  scrollBridge.y = y
146
+
108
147
  if (isWeb) {
109
148
  scrollBridge.scrollLock = y > 0
110
149
  }
@@ -125,7 +164,7 @@ export const SheetScrollView = React.forwardRef<
125
164
  }}
126
165
  onStartShouldSetResponder={() => {
127
166
  scrollBridge.scrollStartY = -1
128
- state.current.isDragging = true
167
+ state.current.isDraggingScrollArea = true
129
168
  return scrollable
130
169
  }}
131
170
  // setting to false while onResponderMove is disabled
@@ -140,14 +179,11 @@ export const SheetScrollView = React.forwardRef<
140
179
  if (isWeb) {
141
180
  const { pageY } = e.nativeEvent
142
181
 
143
- if (state.current.isScrolling) {
144
- // e.stopPropagation()
145
- return
146
- }
147
-
148
- if (scrollBridge.scrollStartY === -1) {
149
- scrollBridge.scrollStartY = pageY
150
- state.current.lastPageY = pageY
182
+ if (!state.current.isScrolling) {
183
+ if (scrollBridge.scrollStartY === -1) {
184
+ scrollBridge.scrollStartY = pageY
185
+ state.current.lastPageY = pageY
186
+ }
151
187
  }
152
188
 
153
189
  const dragAt = pageY - scrollBridge.scrollStartY
@@ -158,13 +194,17 @@ export const SheetScrollView = React.forwardRef<
158
194
 
159
195
  const shouldScrollLock = (dy === 0 || isDraggingUp) && isPaneAtTop
160
196
 
161
- if (shouldScrollLock) {
197
+ if (shouldScrollLock && !state.current.isScrolling) {
162
198
  state.current.isScrolling = true
163
199
  scrollBridge.scrollLock = true
164
200
  setScrollEnabled(true)
165
201
  return
166
202
  }
167
203
 
204
+ if (scrollBridge.y >= 0) {
205
+ return
206
+ }
207
+
168
208
  setScrollEnabled(false)
169
209
  scrollBridge.drag(dragAt)
170
210
  state.current.dragAt = dragAt
@@ -148,7 +148,13 @@ export function createSheet<
148
148
  forwardedRef
149
149
  ) => {
150
150
  const context = useSheetContext(SHEET_NAME, __scopeSheet)
151
- const { hasFit, removeScrollEnabled, frameSize, contentRef, open } = context
151
+ const {
152
+ hasFit,
153
+ removeScrollEnabled = true,
154
+ frameSize,
155
+ contentRef,
156
+ open,
157
+ } = context
152
158
  const composedContentRef = useComposedRefs(forwardedRef, contentRef)
153
159
  const offscreenSize = useSheetOffscreenSize(context)
154
160
 
@@ -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>