@tamagui/sheet 1.115.5 → 1.116.1

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 (55) hide show
  1. package/dist/cjs/SheetImplementationCustom.cjs +14 -16
  2. package/dist/cjs/SheetImplementationCustom.cjs.map +1 -1
  3. package/dist/cjs/SheetImplementationCustom.native.js +17 -16
  4. package/dist/cjs/SheetImplementationCustom.native.js.map +2 -2
  5. package/dist/cjs/SheetScrollView.cjs +3 -3
  6. package/dist/cjs/SheetScrollView.cjs.map +1 -1
  7. package/dist/cjs/SheetScrollView.native.js +3 -7
  8. package/dist/cjs/SheetScrollView.native.js.map +2 -2
  9. package/dist/cjs/nativeSheet.cjs +21 -11
  10. package/dist/cjs/nativeSheet.cjs.map +1 -1
  11. package/dist/cjs/nativeSheet.native.js +26 -13
  12. package/dist/cjs/nativeSheet.native.js.map +2 -2
  13. package/dist/esm/SheetImplementationCustom.js +12 -12
  14. package/dist/esm/SheetImplementationCustom.js.map +1 -1
  15. package/dist/esm/SheetImplementationCustom.mjs +14 -16
  16. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  17. package/dist/esm/SheetImplementationCustom.native.js +17 -17
  18. package/dist/esm/SheetImplementationCustom.native.js.map +2 -2
  19. package/dist/esm/SheetScrollView.js +3 -3
  20. package/dist/esm/SheetScrollView.js.map +1 -1
  21. package/dist/esm/SheetScrollView.mjs +3 -3
  22. package/dist/esm/SheetScrollView.mjs.map +1 -1
  23. package/dist/esm/SheetScrollView.native.js +3 -7
  24. package/dist/esm/SheetScrollView.native.js.map +2 -2
  25. package/dist/esm/nativeSheet.js +10 -5
  26. package/dist/esm/nativeSheet.js.map +1 -1
  27. package/dist/esm/nativeSheet.mjs +21 -11
  28. package/dist/esm/nativeSheet.mjs.map +1 -1
  29. package/dist/esm/nativeSheet.native.js +26 -13
  30. package/dist/esm/nativeSheet.native.js.map +2 -2
  31. package/dist/jsx/SheetImplementationCustom.js +12 -12
  32. package/dist/jsx/SheetImplementationCustom.js.map +1 -1
  33. package/dist/jsx/SheetImplementationCustom.mjs +14 -16
  34. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  35. package/dist/jsx/SheetImplementationCustom.native.js +17 -17
  36. package/dist/jsx/SheetImplementationCustom.native.js.map +2 -2
  37. package/dist/jsx/SheetScrollView.js +3 -3
  38. package/dist/jsx/SheetScrollView.js.map +1 -1
  39. package/dist/jsx/SheetScrollView.mjs +3 -3
  40. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  41. package/dist/jsx/SheetScrollView.native.js +3 -7
  42. package/dist/jsx/SheetScrollView.native.js.map +2 -2
  43. package/dist/jsx/nativeSheet.js +10 -5
  44. package/dist/jsx/nativeSheet.js.map +1 -1
  45. package/dist/jsx/nativeSheet.mjs +21 -11
  46. package/dist/jsx/nativeSheet.mjs.map +1 -1
  47. package/dist/jsx/nativeSheet.native.js +26 -13
  48. package/dist/jsx/nativeSheet.native.js.map +2 -2
  49. package/package.json +16 -16
  50. package/src/SheetImplementationCustom.tsx +25 -17
  51. package/src/SheetScrollView.tsx +3 -3
  52. package/src/nativeSheet.tsx +23 -7
  53. package/types/SheetImplementationCustom.d.ts.map +1 -1
  54. package/types/nativeSheet.d.ts +4 -1
  55. package/types/nativeSheet.d.ts.map +1 -1
@@ -40,6 +40,8 @@ const SHEET_SCROLL_VIEW_NAME = "SheetScrollView",
40
40
  ref: composeRefs(scrollRef, ref),
41
41
  flex: 1,
42
42
  scrollEventThrottle: 8,
43
+ onResponderRelease: release,
44
+ className: "_ovs-contain",
43
45
  onScroll: e => {
44
46
  const {
45
47
  y
@@ -48,10 +50,8 @@ const SHEET_SCROLL_VIEW_NAME = "SheetScrollView",
48
50
  },
49
51
  onStartShouldSetResponder: () => (scrollBridge.scrollStartY = -1, state.current.isDragging = !0, !0),
50
52
  onMoveShouldSetResponder: () => !1,
51
- onResponderRelease: release,
52
- className: "_ovs-contain",
53
53
  ...props,
54
- children: React.useMemo(() => children, [children])
54
+ children
55
55
  });
56
56
  });
57
57
  export { SheetScrollView };
@@ -1 +1 @@
1
- {"version":3,"names":["React","composeRefs","ScrollView","useSheetContext","jsx","SHEET_SCROLL_VIEW_NAME","SheetScrollView","forwardRef","__scopeSheet","children","onScroll","props","ref","context","scrollBridge","scrollRef","useRef","state","lastPageY","dragAt","dys","isScrolling","isDragging","release","current","scrollStartY","vy","length","recentDys","slice","reduce","a","b","flex","scrollEventThrottle","e","y","nativeEvent","contentOffset","onStartShouldSetResponder","onMoveShouldSetResponder","onResponderRelease","className","useMemo"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAClB,SAASC,WAAA,QAAmB;AAG5B,SAASC,UAAA,QAAkB;AAI3B,SAASC,eAAA,QAAuB;AAmE1B,SAAAC,GAAA;AA1DN,MAAMC,sBAAA,GAAyB;EAElBC,eAAA,GAAkBN,KAAA,CAAMO,UAAA,CAInC,CACE;IAAEC,YAAA;IAAcC,QAAA;IAAUC,QAAA;IAAU,GAAGC;EAAM,GAC7CC,GAAA,KACG;IACH,MAAMC,OAAA,GAAUV,eAAA,CAAgBE,sBAAA,EAAwBG,YAAY;MAC9D;QAAEM;MAAa,IAAID,OAAA;MAEnBE,SAAA,GAAYf,KAAA,CAAMgB,MAAA,CAA4B,IAAI;MAclDC,KAAA,GAAQjB,KAAA,CAAMgB,MAAA,CAAO;QACzBE,SAAA,EAAW;QACXC,MAAA,EAAQ;QACRC,GAAA,EAAK,EAAC;QAAA;QACNC,WAAA,EAAa;QACbC,UAAA,EAAY;MACd,CAAC;MAEKC,OAAA,GAAUA,CAAA,KAAM;QACpB,IAAI,CAACN,KAAA,CAAMO,OAAA,CAAQF,UAAA,EACjB;QAEFL,KAAA,CAAMO,OAAA,CAAQF,UAAA,GAAa,IAC3BR,YAAA,CAAaW,YAAA,GAAe,IAC5BR,KAAA,CAAMO,OAAA,CAAQH,WAAA,GAAc;QAE5B,IAAIK,EAAA,GAAK;QACT,IAAIT,KAAA,CAAMO,OAAA,CAAQJ,GAAA,CAAIO,MAAA,EAAQ;UAC5B,MAAMC,SAAA,GAAYX,KAAA,CAAMO,OAAA,CAAQJ,GAAA,CAAIS,KAAA,CAAM,GAAG;UAG7CH,EAAA,IAFaE,SAAA,CAAUD,MAAA,GAASC,SAAA,CAAUE,MAAA,CAAO,CAACC,CAAA,EAAGC,CAAA,KAAMD,CAAA,GAAIC,CAAA,EAAG,CAAC,IAAI,KAClDJ,SAAA,CAAUD,MAAA,GAClB;QACf;QACAV,KAAA,CAAMO,OAAA,CAAQJ,GAAA,GAAM,EAAC,EACrBN,YAAA,CAAaS,OAAA,CAAQ;UACnBJ,MAAA,EAAQF,KAAA,CAAMO,OAAA,CAAQL,MAAA;UACtBO;QACF,CAAC;MACH;IAEA,OACE,eAAAtB,GAAA,CAACF,UAAA;MACCU,GAAA,EAAKX,WAAA,CAAYc,SAAA,EAAkBH,GAAG;MACtCqB,IAAA,EAAM;MACNC,mBAAA,EAAqB;MAErBxB,QAAA,EAAWyB,CAAA,IAAM;QACf,MAAM;UAAEC;QAAE,IAAID,CAAA,CAAEE,WAAA,CAAYC,aAAA;QAC5BxB,YAAA,CAAasB,CAAA,GAAIA,CAAA,EACbA,CAAA,GAAI,MACNtB,YAAA,CAAaW,YAAA,GAAe,KAI9Bf,QAAA,GAAWyB,CAAC;MASd;MACAI,yBAAA,EAA2BA,CAAA,MACzBzB,YAAA,CAAaW,YAAA,GAAe,IAC5BR,KAAA,CAAMO,OAAA,CAAQF,UAAA,GAAa,IACpB;MAGTkB,wBAAA,EAA0BA,CAAA,KAAM;MAmChCC,kBAAA,EAAoBlB,OAAA;MACpBmB,SAAA,EAAU;MACT,GAAG/B,KAAA;MAEHF,QAAA,EAAAT,KAAA,CAAM2C,OAAA,CAAQ,MAAMlC,QAAA,EAAU,CAACA,QAAQ,CAAC;IAAA,CAC3C;EAEJ,CACF","ignoreList":[]}
1
+ {"version":3,"names":["React","composeRefs","ScrollView","useSheetContext","jsx","SHEET_SCROLL_VIEW_NAME","SheetScrollView","forwardRef","__scopeSheet","children","onScroll","props","ref","context","scrollBridge","scrollRef","useRef","state","lastPageY","dragAt","dys","isScrolling","isDragging","release","current","scrollStartY","vy","length","recentDys","slice","reduce","a","b","flex","scrollEventThrottle","onResponderRelease","className","e","y","nativeEvent","contentOffset","onStartShouldSetResponder","onMoveShouldSetResponder"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAClB,SAASC,WAAA,QAAmB;AAG5B,SAASC,UAAA,QAAkB;AAI3B,SAASC,eAAA,QAAuB;AAmE1B,SAAAC,GAAA;AA1DN,MAAMC,sBAAA,GAAyB;EAElBC,eAAA,GAAkBN,KAAA,CAAMO,UAAA,CAInC,CACE;IAAEC,YAAA;IAAcC,QAAA;IAAUC,QAAA;IAAU,GAAGC;EAAM,GAC7CC,GAAA,KACG;IACH,MAAMC,OAAA,GAAUV,eAAA,CAAgBE,sBAAA,EAAwBG,YAAY;MAC9D;QAAEM;MAAa,IAAID,OAAA;MAEnBE,SAAA,GAAYf,KAAA,CAAMgB,MAAA,CAA4B,IAAI;MAclDC,KAAA,GAAQjB,KAAA,CAAMgB,MAAA,CAAO;QACzBE,SAAA,EAAW;QACXC,MAAA,EAAQ;QACRC,GAAA,EAAK,EAAC;QAAA;QACNC,WAAA,EAAa;QACbC,UAAA,EAAY;MACd,CAAC;MAEKC,OAAA,GAAUA,CAAA,KAAM;QACpB,IAAI,CAACN,KAAA,CAAMO,OAAA,CAAQF,UAAA,EACjB;QAEFL,KAAA,CAAMO,OAAA,CAAQF,UAAA,GAAa,IAC3BR,YAAA,CAAaW,YAAA,GAAe,IAC5BR,KAAA,CAAMO,OAAA,CAAQH,WAAA,GAAc;QAE5B,IAAIK,EAAA,GAAK;QACT,IAAIT,KAAA,CAAMO,OAAA,CAAQJ,GAAA,CAAIO,MAAA,EAAQ;UAC5B,MAAMC,SAAA,GAAYX,KAAA,CAAMO,OAAA,CAAQJ,GAAA,CAAIS,KAAA,CAAM,GAAG;UAG7CH,EAAA,IAFaE,SAAA,CAAUD,MAAA,GAASC,SAAA,CAAUE,MAAA,CAAO,CAACC,CAAA,EAAGC,CAAA,KAAMD,CAAA,GAAIC,CAAA,EAAG,CAAC,IAAI,KAClDJ,SAAA,CAAUD,MAAA,GAClB;QACf;QACAV,KAAA,CAAMO,OAAA,CAAQJ,GAAA,GAAM,EAAC,EACrBN,YAAA,CAAaS,OAAA,CAAQ;UACnBJ,MAAA,EAAQF,KAAA,CAAMO,OAAA,CAAQL,MAAA;UACtBO;QACF,CAAC;MACH;IAEA,OACE,eAAAtB,GAAA,CAACF,UAAA;MACCU,GAAA,EAAKX,WAAA,CAAYc,SAAA,EAAkBH,GAAG;MACtCqB,IAAA,EAAM;MACNC,mBAAA,EAAqB;MACrBC,kBAAA,EAAoBZ,OAAA;MACpBa,SAAA,EAAU;MAEV1B,QAAA,EAAW2B,CAAA,IAAM;QACf,MAAM;UAAEC;QAAE,IAAID,CAAA,CAAEE,WAAA,CAAYC,aAAA;QAC5B1B,YAAA,CAAawB,CAAA,GAAIA,CAAA,EACbA,CAAA,GAAI,MACNxB,YAAA,CAAaW,YAAA,GAAe,KAI9Bf,QAAA,GAAW2B,CAAC;MASd;MACAI,yBAAA,EAA2BA,CAAA,MACzB3B,YAAA,CAAaW,YAAA,GAAe,IAC5BR,KAAA,CAAMO,OAAA,CAAQF,UAAA,GAAa,IACpB;MAGToB,wBAAA,EAA0BA,CAAA,KAAM;MAmC/B,GAAG/B,KAAA;MAEHF;IAAA,CACH;EAEJ,CACF","ignoreList":[]}
@@ -31,6 +31,8 @@ var SHEET_SCROLL_VIEW_NAME = "SheetScrollView", SheetScrollView = /* @__PURE__ *
31
31
  ref: composeRefs(scrollRef, ref),
32
32
  flex: 1,
33
33
  scrollEventThrottle: 8,
34
+ onResponderRelease: release,
35
+ className: "_ovs-contain",
34
36
  // scrollEnabled={scrollEnabled}
35
37
  onScroll: function(e) {
36
38
  var { y } = e.nativeEvent.contentOffset;
@@ -78,14 +80,8 @@ var SHEET_SCROLL_VIEW_NAME = "SheetScrollView", SheetScrollView = /* @__PURE__ *
78
80
  // state.current.dys = state.current.dys.slice(-10)
79
81
  // }
80
82
  // }}
81
- onResponderRelease: release,
82
- className: "_ovs-contain",
83
83
  ...props,
84
- children: React.useMemo(function() {
85
- return children;
86
- }, [
87
- children
88
- ])
84
+ children
89
85
  });
90
86
  });
91
87
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/code/ui/sheet/src/SheetScrollView.tsx"],
4
- "mappings": ";AAAA,OAAOA,WAAW;AAClB,SAASC,mBAAmB;AAG5B,SAASC,kBAAkB;AAI3B,SAASC,uBAAuB;AAShC,IAAMC,yBAAyB,mBAElBC,kBAAkBL,sBAAMM,WAInC,SAAA,OAEEC,KAAAA;MADA,EAAEC,cAAcC,UAAUC,UAAU,GAAGC,MAAAA,IAA0C,OAG3EC,UAAUT,gBAAgBC,wBAAwBI,YAAAA,GAClD,EAAEK,aAAY,IAAKD,SAEnBE,YAAYd,MAAMe,OAA4B,IAAA,GAc9CC,QAAQhB,MAAMe,OAAO;IACzBE,WAAW;IACXC,QAAQ;IACRC,KAAK,CAAA;;IACLC,aAAa;IACbC,YAAY;EACd,CAAA,GAEMC,UAAU,WAAA;AACd,QAAKN,MAAMO,QAAQF,YAGnBL;YAAMO,QAAQF,aAAa,IAC3BR,aAAaW,eAAe,IAC5BR,MAAMO,QAAQH,cAAc;AAE5B,UAAIK,KAAK;AACT,UAAIT,MAAMO,QAAQJ,IAAIO,QAAQ;AAC5B,YAAMC,YAAYX,MAAMO,QAAQJ,IAAIS,MAAM,GAAC,GACrCC,OAAOF,UAAUD,SAASC,UAAUG,OAAO,SAACC,GAAGC,GAAAA;iBAAMD,IAAIC;WAAG,CAAA,IAAK,GACjEC,QAAQJ,OAAOF,UAAUD;AAC/BD,aAAKQ,QAAQ;MACf;AACAjB,YAAMO,QAAQJ,MAAM,CAAA,GACpBN,aAAaS,QAAQ;QACnBJ,QAAQF,MAAMO,QAAQL;QACtBO;MACF,CAAA;;EACF;AAEA,SACE,qBAACvB,YAAAA;IACCK,KAAKN,YAAYa,WAAkBP,GAAAA;IACnC2B,MAAM;IACNC,qBAAqB;;IAErBzB,UAAU,SAAC0B,GAAAA;AACT,UAAM,EAAEC,EAAC,IAAKD,EAAEE,YAAYC;AAC5B1B,mBAAawB,IAAIA,GACbA,IAAI,MACNxB,aAAaW,eAAe,KAI9Bd,YAAAA,QAAAA,SAAW0B,CAAAA;IASb;;;;;;;IACAI,2BAA2B,WAAA;AACzB3B,0BAAaW,eAAe,IAC5BR,MAAMO,QAAQF,aAAa,IACpB;IACT;;IAEAoB,0BAA0B,WAAA;aAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmChCC,oBAAoBpB;IACpBqB,WAAU;IACT,GAAGhC;cAEHX,MAAM4C,QAAQ,WAAA;aAAMnC;OAAU;MAACA;KAAS;;AAG/C,CAAA;",
5
- "names": ["React", "composeRefs", "ScrollView", "useSheetContext", "SHEET_SCROLL_VIEW_NAME", "SheetScrollView", "forwardRef", "ref", "__scopeSheet", "children", "onScroll", "props", "context", "scrollBridge", "scrollRef", "useRef", "state", "lastPageY", "dragAt", "dys", "isScrolling", "isDragging", "release", "current", "scrollStartY", "vy", "length", "recentDys", "slice", "dist", "reduce", "a", "b", "avgDy", "flex", "scrollEventThrottle", "e", "y", "nativeEvent", "contentOffset", "onStartShouldSetResponder", "onMoveShouldSetResponder", "onResponderRelease", "className", "useMemo"]
4
+ "mappings": ";AAAA,OAAOA,WAAW;AAClB,SAASC,mBAAmB;AAG5B,SAASC,kBAAkB;AAI3B,SAASC,uBAAuB;AAShC,IAAMC,yBAAyB,mBAElBC,kBAAkBL,sBAAMM,WAInC,SAAA,OAEEC,KAAAA;MADA,EAAEC,cAAcC,UAAUC,UAAU,GAAGC,MAAAA,IAA0C,OAG3EC,UAAUT,gBAAgBC,wBAAwBI,YAAAA,GAClD,EAAEK,aAAY,IAAKD,SAEnBE,YAAYd,MAAMe,OAA4B,IAAA,GAc9CC,QAAQhB,MAAMe,OAAO;IACzBE,WAAW;IACXC,QAAQ;IACRC,KAAK,CAAA;;IACLC,aAAa;IACbC,YAAY;EACd,CAAA,GAEMC,UAAU,WAAA;AACd,QAAKN,MAAMO,QAAQF,YAGnBL;YAAMO,QAAQF,aAAa,IAC3BR,aAAaW,eAAe,IAC5BR,MAAMO,QAAQH,cAAc;AAE5B,UAAIK,KAAK;AACT,UAAIT,MAAMO,QAAQJ,IAAIO,QAAQ;AAC5B,YAAMC,YAAYX,MAAMO,QAAQJ,IAAIS,MAAM,GAAC,GACrCC,OAAOF,UAAUD,SAASC,UAAUG,OAAO,SAACC,GAAGC,GAAAA;iBAAMD,IAAIC;WAAG,CAAA,IAAK,GACjEC,QAAQJ,OAAOF,UAAUD;AAC/BD,aAAKQ,QAAQ;MACf;AACAjB,YAAMO,QAAQJ,MAAM,CAAA,GACpBN,aAAaS,QAAQ;QACnBJ,QAAQF,MAAMO,QAAQL;QACtBO;MACF,CAAA;;EACF;AAEA,SACE,qBAACvB,YAAAA;IACCK,KAAKN,YAAYa,WAAkBP,GAAAA;IACnC2B,MAAM;IACNC,qBAAqB;IACrBC,oBAAoBd;IACpBe,WAAU;;IAEV3B,UAAU,SAAC4B,GAAAA;AACT,UAAM,EAAEC,EAAC,IAAKD,EAAEE,YAAYC;AAC5B5B,mBAAa0B,IAAIA,GACbA,IAAI,MACN1B,aAAaW,eAAe,KAI9Bd,YAAAA,QAAAA,SAAW4B,CAAAA;IASb;;;;;;;IACAI,2BAA2B,WAAA;AACzB7B,0BAAaW,eAAe,IAC5BR,MAAMO,QAAQF,aAAa,IACpB;IACT;;IAEAsB,0BAA0B,WAAA;aAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmC/B,GAAGhC;;;AAKV,CAAA;",
5
+ "names": ["React", "composeRefs", "ScrollView", "useSheetContext", "SHEET_SCROLL_VIEW_NAME", "SheetScrollView", "forwardRef", "ref", "__scopeSheet", "children", "onScroll", "props", "context", "scrollBridge", "scrollRef", "useRef", "state", "lastPageY", "dragAt", "dys", "isScrolling", "isDragging", "release", "current", "scrollStartY", "vy", "length", "recentDys", "slice", "dist", "reduce", "a", "b", "avgDy", "flex", "scrollEventThrottle", "onResponderRelease", "className", "e", "y", "nativeEvent", "contentOffset", "onStartShouldSetResponder", "onMoveShouldSetResponder"]
6
6
  }
@@ -11,13 +11,18 @@ const nativeSheets = {
11
11
  function getNativeSheet(platform) {
12
12
  return nativeSheets[platform];
13
13
  }
14
- function setupNativeSheet(platform, Implementation) {
14
+ function setupNativeSheet(platform, RNIOSModal) {
15
+ const { ModalSheetView, ModalSheetViewMainContent } = RNIOSModal;
15
16
  platform === "ios" && (nativeSheets[platform] = (props) => {
16
17
  const state = useSheetOpenState(props), providerProps = useSheetProviderProps(props, state), { open, setOpen } = state, ref = useRef();
17
- return useEffect(() => {
18
- ref.current?.setVisibility(open);
19
- }, [open]), /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(SheetProvider, { ...providerProps, onlyShowFrame: !0, children: [
20
- /* @__PURE__ */ jsx(Implementation, { ref, onModalDismiss: () => setOpen(!1), children: /* @__PURE__ */ jsx(View, { style: { flex: 1 }, children: props.children }) }),
18
+ useEffect(() => {
19
+ open ? ref.current?.presentModal() : ref.current?.dismissModal();
20
+ }, [open]);
21
+ function setOpenInternal(next) {
22
+ props.onOpenChange?.(open), setOpen(next);
23
+ }
24
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(SheetProvider, { ...providerProps, onlyShowFrame: !0, children: [
25
+ /* @__PURE__ */ jsx(ModalSheetView, { ref, onModalDidDismiss: () => setOpenInternal(!1), children: /* @__PURE__ */ jsx(ModalSheetViewMainContent, { children: /* @__PURE__ */ jsx(View, { style: { flex: 1 }, children: props.children }) }) }),
21
26
  /* @__PURE__ */ jsx(
22
27
  YStack,
23
28
  {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/nativeSheet.tsx"],
4
- "mappings": "AAAA,SAAS,cAAc;AAEvB,SAAS,WAAW,cAAc;AAClC,SAAS,YAAY;AAErB,SAAS,qBAAqB;AAE9B,SAAS,yBAAyB;AAClC,SAAS,6BAA6B;AAsC9B,mBAGM,KAFJ,YADF;AAhCR,MAAM,eAAmF;AAAA,EACvF,KAAK;AACP;AAEO,SAAS,eAAe,UAAgC;AAC7D,SAAO,aAAa,QAAQ;AAC9B;AAEO,SAAS,iBAAiB,UAAgC,gBAAqB;AACpF,EAAI,aAAa,UACf,aAAa,QAAQ,IAAI,CAAC,UAAsB;AAC9C,UAAM,QAAQ,kBAAkB,KAAK,GAC/B,gBAAgB,sBAAsB,OAAO,KAAK,GAIlD,EAAE,MAAM,QAAQ,IAAI,OACpB,MAAM,OAET;AAEH,qBAAU,MAAM;AACd,UAAI,SAAS,cAAc,IAAI;AAAA,IACjC,GAAG,CAAC,IAAI,CAAC,GASP,gCACE,+BAAC,iBAAe,GAAG,eAAe,eAAa,IAC7C;AAAA,0BAAC,kBAAe,KAAU,gBAAgB,MAAM,QAAQ,EAAK,GAC3D,8BAAC,QAAK,OAAO,EAAE,MAAM,EAAE,GAAI,gBAAM,UAAS,GAC5C;AAAA,MAIA;AAAA,QAAC;AAAA;AAAA,UACC,UAAS;AAAA,UACT,SAAS;AAAA,UACT,eAAc;AAAA,UACd,OAAO;AAAA,UACP,QAAQ;AAAA,UAEP,gBAAM;AAAA;AAAA,MACT;AAAA,OACF,GACF;AAAA,EAEJ;AAEJ;",
4
+ "mappings": "AAAA,SAAS,cAAc;AAEvB,SAAS,WAAW,cAAc;AAClC,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAE9B,SAAS,yBAAyB;AAClC,SAAS,6BAA6B;AAqD9B,mBAIQ,KAHN,YADF;AA/CR,MAAM,eAAmF;AAAA,EACvF,KAAK;AACP;AAEO,SAAS,eAAe,UAAgC;AAC7D,SAAO,aAAa,QAAQ;AAC9B;AAEO,SAAS,iBACd,UACA,YACA;AACA,QAAM,EAAE,gBAAgB,0BAA0B,IAAI;AAEtD,EAAI,aAAa,UACf,aAAa,QAAQ,IAAI,CAAC,UAAsB;AAC9C,UAAM,QAAQ,kBAAkB,KAAK,GAC/B,gBAAgB,sBAAsB,OAAO,KAAK,GAIlD,EAAE,MAAM,QAAQ,IAAI,OACpB,MAAM,OAGT;AAEH,cAAU,MAAM;AACd,MAAI,OACF,IAAI,SAAS,aAAa,IAE1B,IAAI,SAAS,aAAa;AAAA,IAE9B,GAAG,CAAC,IAAI,CAAC;AAET,aAAS,gBAAgB,MAAe;AACtC,YAAM,eAAe,IAAI,GACzB,QAAQ,IAAI;AAAA,IACd;AAQA,WACE,gCACE,+BAAC,iBAAe,GAAG,eAAe,eAAa,IAC7C;AAAA,0BAAC,kBAAe,KAAU,mBAAmB,MAAM,gBAAgB,EAAK,GACtE,8BAAC,6BACC,8BAAC,QAAK,OAAO,EAAE,MAAM,EAAE,GAAI,gBAAM,UAAS,GAC5C,GACF;AAAA,MAIA;AAAA,QAAC;AAAA;AAAA,UACC,UAAS;AAAA,UACT,SAAS;AAAA,UACT,eAAc;AAAA,UACd,OAAO;AAAA,UACP,QAAQ;AAAA,UAEP,gBAAM;AAAA;AAAA,MACT;AAAA,OACF,GACF;AAAA,EAEJ;AAEJ;",
5
5
  "names": []
6
6
  }
@@ -11,7 +11,11 @@ const nativeSheets = {
11
11
  function getNativeSheet(platform) {
12
12
  return nativeSheets[platform];
13
13
  }
14
- function setupNativeSheet(platform, Implementation) {
14
+ function setupNativeSheet(platform, RNIOSModal) {
15
+ const {
16
+ ModalSheetView,
17
+ ModalSheetViewMainContent
18
+ } = RNIOSModal;
15
19
  platform === "ios" && (nativeSheets[platform] = props => {
16
20
  const state = useSheetOpenState(props),
17
21
  providerProps = useSheetProviderProps(props, state),
@@ -20,20 +24,26 @@ function setupNativeSheet(platform, Implementation) {
20
24
  setOpen
21
25
  } = state,
22
26
  ref = useRef();
23
- return useEffect(() => {
24
- ref.current?.setVisibility(open);
25
- }, [open]), /* @__PURE__ */jsx(Fragment, {
27
+ useEffect(() => {
28
+ open ? ref.current?.presentModal() : ref.current?.dismissModal();
29
+ }, [open]);
30
+ function setOpenInternal(next) {
31
+ props.onOpenChange?.(open), setOpen(next);
32
+ }
33
+ return /* @__PURE__ */jsx(Fragment, {
26
34
  children: /* @__PURE__ */jsxs(SheetProvider, {
27
35
  ...providerProps,
28
36
  onlyShowFrame: !0,
29
- children: [/* @__PURE__ */jsx(Implementation, {
37
+ children: [/* @__PURE__ */jsx(ModalSheetView, {
30
38
  ref,
31
- onModalDismiss: () => setOpen(!1),
32
- children: /* @__PURE__ */jsx(View, {
33
- style: {
34
- flex: 1
35
- },
36
- children: props.children
39
+ onModalDidDismiss: () => setOpenInternal(!1),
40
+ children: /* @__PURE__ */jsx(ModalSheetViewMainContent, {
41
+ children: /* @__PURE__ */jsx(View, {
42
+ style: {
43
+ flex: 1
44
+ },
45
+ children: props.children
46
+ })
37
47
  })
38
48
  }), /* @__PURE__ */jsx(YStack, {
39
49
  position: "absolute",
@@ -1 +1 @@
1
- {"version":3,"names":["YStack","useEffect","useRef","View","SheetProvider","useSheetOpenState","useSheetProviderProps","Fragment","jsx","jsxs","nativeSheets","ios","getNativeSheet","platform","setupNativeSheet","Implementation","props","state","providerProps","open","setOpen","ref","current","setVisibility","children","onlyShowFrame","onModalDismiss","style","flex","position","opacity","pointerEvents","width","height"],"sources":["../../src/nativeSheet.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAA,QAAc;AAEvB,SAASC,SAAA,EAAWC,MAAA,QAAc;AAClC,SAASC,IAAA,QAAY;AAErB,SAASC,aAAA,QAAqB;AAE9B,SAASC,iBAAA,QAAyB;AAClC,SAASC,qBAAA,QAA6B;AAsC9B,SAAAC,QAAA,EAGMC,GAAA,EAFJC,IAAA,QADF;AAhCR,MAAMC,YAAA,GAAmF;EACvFC,GAAA,EAAK;AACP;AAEO,SAASC,eAAeC,QAAA,EAAgC;EAC7D,OAAOH,YAAA,CAAaG,QAAQ;AAC9B;AAEO,SAASC,iBAAiBD,QAAA,EAAgCE,cAAA,EAAqB;EAChFF,QAAA,KAAa,UACfH,YAAA,CAAaG,QAAQ,IAAKG,KAAA,IAAsB;IAC9C,MAAMC,KAAA,GAAQZ,iBAAA,CAAkBW,KAAK;MAC/BE,aAAA,GAAgBZ,qBAAA,CAAsBU,KAAA,EAAOC,KAAK;MAIlD;QAAEE,IAAA;QAAMC;MAAQ,IAAIH,KAAA;MACpBI,GAAA,GAAMnB,MAAA,CAET;IAEH,OAAAD,SAAA,CAAU,MAAM;MACdoB,GAAA,CAAIC,OAAA,EAASC,aAAA,CAAcJ,IAAI;IACjC,GAAG,CAACA,IAAI,CAAC,GASP,eAAAX,GAAA,CAAAD,QAAA;MACEiB,QAAA,iBAAAf,IAAA,CAACL,aAAA;QAAe,GAAGc,aAAA;QAAeO,aAAA,EAAa;QAC7CD,QAAA,kBAAAhB,GAAA,CAACO,cAAA;UAAeM,GAAA;UAAUK,cAAA,EAAgBA,CAAA,KAAMN,OAAA,CAAQ,EAAK;UAC3DI,QAAA,iBAAAhB,GAAA,CAACL,IAAA;YAAKwB,KAAA,EAAO;cAAEC,IAAA,EAAM;YAAE;YAAIJ,QAAA,EAAAR,KAAA,CAAMQ;UAAA,CAAS;QAAA,CAC5C,GAIA,eAAAhB,GAAA,CAACR,MAAA;UACC6B,QAAA,EAAS;UACTC,OAAA,EAAS;UACTC,aAAA,EAAc;UACdC,KAAA,EAAO;UACPC,MAAA,EAAQ;UAEPT,QAAA,EAAAR,KAAA,CAAMQ;QAAA,CACT;MAAA,CACF;IAAA,CACF;EAEJ;AAEJ","ignoreList":[]}
1
+ {"version":3,"names":["YStack","useEffect","useRef","View","SheetProvider","useSheetOpenState","useSheetProviderProps","Fragment","jsx","jsxs","nativeSheets","ios","getNativeSheet","platform","setupNativeSheet","RNIOSModal","ModalSheetView","ModalSheetViewMainContent","props","state","providerProps","open","setOpen","ref","current","presentModal","dismissModal","setOpenInternal","next","onOpenChange","children","onlyShowFrame","onModalDidDismiss","style","flex","position","opacity","pointerEvents","width","height"],"sources":["../../src/nativeSheet.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAA,QAAc;AAEvB,SAASC,SAAA,EAAWC,MAAA,QAAc;AAClC,SAASC,IAAA,QAAY;AACrB,SAASC,aAAA,QAAqB;AAE9B,SAASC,iBAAA,QAAyB;AAClC,SAASC,qBAAA,QAA6B;AAqD9B,SAAAC,QAAA,EAIQC,GAAA,EAHNC,IAAA,QADF;AA/CR,MAAMC,YAAA,GAAmF;EACvFC,GAAA,EAAK;AACP;AAEO,SAASC,eAAeC,QAAA,EAAgC;EAC7D,OAAOH,YAAA,CAAaG,QAAQ;AAC9B;AAEO,SAASC,iBACdD,QAAA,EACAE,UAAA,EACA;EACA,MAAM;IAAEC,cAAA;IAAgBC;EAA0B,IAAIF,UAAA;EAElDF,QAAA,KAAa,UACfH,YAAA,CAAaG,QAAQ,IAAKK,KAAA,IAAsB;IAC9C,MAAMC,KAAA,GAAQd,iBAAA,CAAkBa,KAAK;MAC/BE,aAAA,GAAgBd,qBAAA,CAAsBY,KAAA,EAAOC,KAAK;MAIlD;QAAEE,IAAA;QAAMC;MAAQ,IAAIH,KAAA;MACpBI,GAAA,GAAMrB,MAAA,CAGT;IAEHD,SAAA,CAAU,MAAM;MACVoB,IAAA,GACFE,GAAA,CAAIC,OAAA,EAASC,YAAA,CAAa,IAE1BF,GAAA,CAAIC,OAAA,EAASE,YAAA,CAAa;IAE9B,GAAG,CAACL,IAAI,CAAC;IAET,SAASM,gBAAgBC,IAAA,EAAe;MACtCV,KAAA,CAAMW,YAAA,GAAeR,IAAI,GACzBC,OAAA,CAAQM,IAAI;IACd;IAQA,OACE,eAAApB,GAAA,CAAAD,QAAA;MACEuB,QAAA,iBAAArB,IAAA,CAACL,aAAA;QAAe,GAAGgB,aAAA;QAAeW,aAAA,EAAa;QAC7CD,QAAA,kBAAAtB,GAAA,CAACQ,cAAA;UAAeO,GAAA;UAAUS,iBAAA,EAAmBA,CAAA,KAAML,eAAA,CAAgB,EAAK;UACtEG,QAAA,iBAAAtB,GAAA,CAACS,yBAAA;YACCa,QAAA,iBAAAtB,GAAA,CAACL,IAAA;cAAK8B,KAAA,EAAO;gBAAEC,IAAA,EAAM;cAAE;cAAIJ,QAAA,EAAAZ,KAAA,CAAMY;YAAA,CAAS;UAAA,CAC5C;QAAA,CACF,GAIA,eAAAtB,GAAA,CAACR,MAAA;UACCmC,QAAA,EAAS;UACTC,OAAA,EAAS;UACTC,aAAA,EAAc;UACdC,KAAA,EAAO;UACPC,MAAA,EAAQ;UAEPT,QAAA,EAAAZ,KAAA,CAAMY;QAAA,CACT;MAAA,CACF;IAAA,CACF;EAEJ;AAEJ","ignoreList":[]}
@@ -11,29 +11,42 @@ var nativeSheets = {
11
11
  function getNativeSheet(platform) {
12
12
  return nativeSheets[platform];
13
13
  }
14
- function setupNativeSheet(platform, Implementation) {
14
+ function setupNativeSheet(platform, RNIOSModal) {
15
+ var { ModalSheetView, ModalSheetViewMainContent } = RNIOSModal;
15
16
  platform === "ios" && (nativeSheets[platform] = function(props) {
16
17
  var state = useSheetOpenState(props), providerProps = useSheetProviderProps(props, state), { open, setOpen } = state, ref = useRef();
17
- return useEffect(function() {
18
- var _ref_current;
19
- (_ref_current = ref.current) === null || _ref_current === void 0 || _ref_current.setVisibility(open);
18
+ useEffect(function() {
19
+ if (open) {
20
+ var _ref_current;
21
+ (_ref_current = ref.current) === null || _ref_current === void 0 || _ref_current.presentModal();
22
+ } else {
23
+ var _ref_current1;
24
+ (_ref_current1 = ref.current) === null || _ref_current1 === void 0 || _ref_current1.dismissModal();
25
+ }
20
26
  }, [
21
27
  open
22
- ]), /* @__PURE__ */ _jsx(_Fragment, {
28
+ ]);
29
+ function setOpenInternal(next) {
30
+ var _props_onOpenChange;
31
+ (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 || _props_onOpenChange.call(props, open), setOpen(next);
32
+ }
33
+ return /* @__PURE__ */ _jsx(_Fragment, {
23
34
  children: /* @__PURE__ */ _jsxs(SheetProvider, {
24
35
  ...providerProps,
25
36
  onlyShowFrame: !0,
26
37
  children: [
27
- /* @__PURE__ */ _jsx(Implementation, {
38
+ /* @__PURE__ */ _jsx(ModalSheetView, {
28
39
  ref,
29
- onModalDismiss: function() {
30
- return setOpen(!1);
40
+ onModalDidDismiss: function() {
41
+ return setOpenInternal(!1);
31
42
  },
32
- children: /* @__PURE__ */ _jsx(View, {
33
- style: {
34
- flex: 1
35
- },
36
- children: props.children
43
+ children: /* @__PURE__ */ _jsx(ModalSheetViewMainContent, {
44
+ children: /* @__PURE__ */ _jsx(View, {
45
+ style: {
46
+ flex: 1
47
+ },
48
+ children: props.children
49
+ })
37
50
  })
38
51
  }),
39
52
  /* for some reason select triggers wont show on native if this isn't inside the actual tree not inside implementation... */
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/code/ui/sheet/src/nativeSheet.tsx"],
4
- "mappings": ";AAAA,SAASA,cAAc;AAEvB,SAASC,WAAWC,cAAc;AAClC,SAASC,YAAY;AAErB,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,iBAAiBD,UAAgCE,gBAAmB;AAClF,EAAIF,aAAa,UACfH,aAAaG,QAAAA,IAAY,SAACG,OAAAA;AACxB,QAAMC,QAAQT,kBAAkBQ,KAAAA,GAC1BE,gBAAgBT,sBAAsBO,OAAOC,KAAAA,GAI7C,EAAEE,MAAMC,QAAO,IAAKH,OACpBI,MAAMhB,OAAAA;AAIZD,qBAAU,WAAA;UACRiB;OAAAA,eAAAA,IAAIC,aAAO,QAAXD,iBAAAA,UAAAA,aAAaE,cAAcJ,IAAAA;IAC7B,GAAG;MAACA;KAAK,GASP,qBAAA,WAAA;gBACE,sBAACZ,eAAAA;QAAe,GAAGW;QAAeM,eAAa;;UAC7C,qBAACT,gBAAAA;YAAeM;YAAUI,gBAAgB,WAAA;qBAAML,QAAQ,EAAA;;sBACtD,qBAACd,MAAAA;cAAKoB,OAAO;gBAAEC,MAAM;cAAE;wBAAIX,MAAMY;;;;;UAKnC,qBAACzB,QAAAA;YACC0B,UAAS;YACTC,SAAS;YACTC,eAAc;YACdC,OAAO;YACPC,QAAQ;sBAEPjB,MAAMY;;;;;EAKjB;AAEJ;",
5
- "names": ["YStack", "useEffect", "useRef", "View", "SheetProvider", "useSheetOpenState", "useSheetProviderProps", "nativeSheets", "ios", "getNativeSheet", "platform", "setupNativeSheet", "Implementation", "props", "state", "providerProps", "open", "setOpen", "ref", "current", "setVisibility", "onlyShowFrame", "onModalDismiss", "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,OAAAA;AAKZD,cAAU,WAAA;AACR,UAAIiB,MAAM;YACRE;SAAAA,eAAAA,IAAIC,aAAO,QAAXD,iBAAAA,UAAAA,aAAaE,aAAY;MAC3B,OAAO;YACLF;SAAAA,gBAAAA,IAAIC,aAAO,QAAXD,kBAAAA,UAAAA,cAAaG,aAAY;MAC3B;IACF,GAAG;MAACL;KAAK;AAET,aAASM,gBAAgBC,MAAa;UACpCV;OAAAA,sBAAAA,MAAMW,kBAAY,QAAlBX,wBAAAA,UAAAA,oBAAAA,KAAAA,OAAqBG,IAAAA,GACrBC,QAAQM,IAAAA;IACV;AAQA,WACE,qBAAA,WAAA;gBACE,sBAACrB,eAAAA;QAAe,GAAGa;QAAeU,eAAa;;UAC7C,qBAACd,gBAAAA;YAAeO;YAAUQ,mBAAmB,WAAA;qBAAMJ,gBAAgB,EAAA;;sBACjE,qBAACV,2BAAAA;wBACC,qBAACX,MAAAA;gBAAK0B,OAAO;kBAAEC,MAAM;gBAAE;0BAAIf,MAAMgB;;;;;;UAMrC,qBAAC/B,QAAAA;YACCgC,UAAS;YACTC,SAAS;YACTC,eAAc;YACdC,OAAO;YACPC,QAAQ;sBAEPrB,MAAMgB;;;;;EAKjB;AAEJ;",
5
+ "names": ["YStack", "useEffect", "useRef", "View", "SheetProvider", "useSheetOpenState", "useSheetProviderProps", "nativeSheets", "ios", "getNativeSheet", "platform", "setupNativeSheet", "RNIOSModal", "ModalSheetView", "ModalSheetViewMainContent", "props", "state", "providerProps", "open", "setOpen", "ref", "current", "presentModal", "dismissModal", "setOpenInternal", "next", "onOpenChange", "onlyShowFrame", "onModalDidDismiss", "style", "flex", "children", "position", "opacity", "pointerEvents", "width", "height"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/sheet",
3
- "version": "1.115.5",
3
+ "version": "1.116.1",
4
4
  "sideEffects": [
5
5
  "*.css"
6
6
  ],
@@ -35,26 +35,26 @@
35
35
  }
36
36
  },
37
37
  "dependencies": {
38
- "@tamagui/animate-presence": "1.115.5",
39
- "@tamagui/animations-react-native": "1.115.5",
40
- "@tamagui/compose-refs": "1.115.5",
41
- "@tamagui/constants": "1.115.5",
42
- "@tamagui/core": "1.115.5",
43
- "@tamagui/create-context": "1.115.5",
44
- "@tamagui/helpers": "1.115.5",
45
- "@tamagui/portal": "1.115.5",
46
- "@tamagui/remove-scroll": "1.115.5",
47
- "@tamagui/scroll-view": "1.115.5",
48
- "@tamagui/stacks": "1.115.5",
49
- "@tamagui/use-constant": "1.115.5",
50
- "@tamagui/use-controllable-state": "1.115.5",
51
- "@tamagui/use-keyboard-visible": "1.115.5"
38
+ "@tamagui/animate-presence": "1.116.1",
39
+ "@tamagui/animations-react-native": "1.116.1",
40
+ "@tamagui/compose-refs": "1.116.1",
41
+ "@tamagui/constants": "1.116.1",
42
+ "@tamagui/core": "1.116.1",
43
+ "@tamagui/create-context": "1.116.1",
44
+ "@tamagui/helpers": "1.116.1",
45
+ "@tamagui/portal": "1.116.1",
46
+ "@tamagui/remove-scroll": "1.116.1",
47
+ "@tamagui/scroll-view": "1.116.1",
48
+ "@tamagui/stacks": "1.116.1",
49
+ "@tamagui/use-constant": "1.116.1",
50
+ "@tamagui/use-controllable-state": "1.116.1",
51
+ "@tamagui/use-keyboard-visible": "1.116.1"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "react": "*"
55
55
  },
56
56
  "devDependencies": {
57
- "@tamagui/build": "1.115.5",
57
+ "@tamagui/build": "1.116.1",
58
58
  "react": "^18.2.0 || ^19.0.0"
59
59
  },
60
60
  "publishConfig": {
@@ -1,4 +1,3 @@
1
- import { AdaptParentContext } from '@tamagui/adapt'
2
1
  import { AnimatePresence } from '@tamagui/animate-presence'
3
2
  import { useComposedRefs } from '@tamagui/compose-refs'
4
3
  import {
@@ -16,7 +15,7 @@ import {
16
15
  useThemeName,
17
16
  } from '@tamagui/core'
18
17
  import { Portal } from '@tamagui/portal'
19
- import React from 'react'
18
+ import React, { useId } from 'react'
20
19
  import type {
21
20
  Animated,
22
21
  GestureResponderEvent,
@@ -75,7 +74,7 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
75
74
  const { open, controller, isHidden } = state
76
75
 
77
76
  const sheetRef = React.useRef<View>(null)
78
- const ref = useComposedRefs(forwardedRef, sheetRef)
77
+ const ref = useComposedRefs(forwardedRef, sheetRef, providerProps.contentRef as any)
79
78
 
80
79
  // TODO this can be extracted into a helper getAnimationConfig(animationProp as array | string)
81
80
  const animationConfig = (() => {
@@ -99,8 +98,14 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
99
98
  * This is a hacky workaround for native:
100
99
  */
101
100
  const [isShowingInnerSheet, setIsShowingInnerSheet] = React.useState(false)
102
- const shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet
103
- const parentSheetContext = React.useContext(SheetInsideSheetContext)
101
+ const shouldHideParentSheet =
102
+ !isWeb &&
103
+ modal &&
104
+ isShowingInnerSheet &&
105
+ // if not using weird portal limitation we dont need to hide parent sheet
106
+ process.env.TAMAGUI_USE_NATIVE_PORTAL !== 'false'
107
+
108
+ const sheetInsideSheet = React.useContext(SheetInsideSheetContext)
104
109
  const onInnerSheet = React.useCallback((hasChild: boolean) => {
105
110
  setIsShowingInnerSheet(hasChild)
106
111
  }, [])
@@ -119,12 +124,12 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
119
124
  const AnimatedView = (animationDriver.View ?? Stack) as typeof Animated.View
120
125
 
121
126
  useIsomorphicLayoutEffect(() => {
122
- if (!(parentSheetContext && open)) return
123
- parentSheetContext(true)
127
+ if (!(sheetInsideSheet && open)) return
128
+ sheetInsideSheet(true)
124
129
  return () => {
125
- parentSheetContext(false)
130
+ sheetInsideSheet(false)
126
131
  }
127
- }, [parentSheetContext, open])
132
+ }, [sheetInsideSheet, open])
128
133
 
129
134
  const nextParentContext = React.useMemo(
130
135
  () => ({
@@ -431,6 +436,12 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
431
436
  ? `${maxSnapPoint}${isWeb ? 'dvh' : '%'}`
432
437
  : maxSnapPoint
433
438
 
439
+ const id = useId()
440
+ // const { AdaptProvider, when, children } = useAdaptParent({
441
+ // scope: `${id}Sheet`,
442
+ // portal: true,
443
+ // })
444
+
434
445
  const contents = (
435
446
  <ParentSheetContext.Provider value={nextParentContext}>
436
447
  <SheetProvider {...providerProps}>
@@ -470,7 +481,7 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
470
481
  width: '100%',
471
482
  height: forcedContentHeight,
472
483
  minHeight: forcedContentHeight,
473
- opacity,
484
+ opacity: !shouldHideParentSheet ? opacity : 0,
474
485
  ...((shouldHideParentSheet || !open) && {
475
486
  pointerEvents: 'none',
476
487
  }),
@@ -478,26 +489,23 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
478
489
  animatedStyle,
479
490
  ]}
480
491
  >
492
+ {/* <AdaptProvider>{props.children}</AdaptProvider> */}
481
493
  {props.children}
482
494
  </AnimatedView>
483
495
  </SheetProvider>
484
496
  </ParentSheetContext.Provider>
485
497
  )
486
498
 
487
- const adaptContext = React.useContext(AdaptParentContext)
488
-
489
499
  // start mounted so we get an accurate measurement the first time
490
- const shouldMountChildren = Boolean(opacity || !unmountChildrenWhenHidden)
500
+ const shouldMountChildren = unmountChildrenWhenHidden ? !opacity : true
491
501
 
492
502
  if (modal) {
493
503
  const modalContents = (
494
- <Portal zIndex={zIndex} {...portalProps}>
504
+ <Portal stackZIndex={zIndex} {...portalProps}>
495
505
  {shouldMountChildren && (
496
506
  <ContainerComponent>
497
507
  <Theme forceClassName name={themeName}>
498
- <AdaptParentContext.Provider value={adaptContext}>
499
- {contents}
500
- </AdaptParentContext.Provider>
508
+ {contents}
501
509
  </Theme>
502
510
  </ContainerComponent>
503
511
  )}
@@ -77,6 +77,8 @@ export const SheetScrollView = React.forwardRef<
77
77
  ref={composeRefs(scrollRef as any, ref)}
78
78
  flex={1}
79
79
  scrollEventThrottle={8}
80
+ onResponderRelease={release}
81
+ className="_ovs-contain"
80
82
  // scrollEnabled={scrollEnabled}
81
83
  onScroll={(e) => {
82
84
  const { y } = e.nativeEvent.contentOffset
@@ -137,11 +139,9 @@ export const SheetScrollView = React.forwardRef<
137
139
  // state.current.dys = state.current.dys.slice(-10)
138
140
  // }
139
141
  // }}
140
- onResponderRelease={release}
141
- className="_ovs-contain"
142
142
  {...props}
143
143
  >
144
- {React.useMemo(() => children, [children])}
144
+ {children}
145
145
  </ScrollView>
146
146
  )
147
147
  }
@@ -2,7 +2,6 @@ import { YStack } from '@tamagui/stacks'
2
2
  import type { FunctionComponent } from 'react'
3
3
  import { useEffect, useRef } from 'react'
4
4
  import { View } from 'react-native'
5
-
6
5
  import { SheetProvider } from './SheetContext'
7
6
  import type { SheetProps } from './types'
8
7
  import { useSheetOpenState } from './useSheetOpenState'
@@ -20,7 +19,12 @@ export function getNativeSheet(platform: SheetNativePlatforms) {
20
19
  return nativeSheets[platform]
21
20
  }
22
21
 
23
- export function setupNativeSheet(platform: SheetNativePlatforms, Implementation: any) {
22
+ export function setupNativeSheet(
23
+ platform: SheetNativePlatforms,
24
+ RNIOSModal: { ModalSheetView: any; ModalSheetViewMainContent: any }
25
+ ) {
26
+ const { ModalSheetView, ModalSheetViewMainContent } = RNIOSModal
27
+
24
28
  if (platform === 'ios') {
25
29
  nativeSheets[platform] = (props: SheetProps) => {
26
30
  const state = useSheetOpenState(props)
@@ -30,13 +34,23 @@ export function setupNativeSheet(platform: SheetNativePlatforms, Implementation:
30
34
 
31
35
  const { open, setOpen } = state
32
36
  const ref = useRef<{
33
- setVisibility: Function
37
+ presentModal: Function
38
+ dismissModal: Function
34
39
  }>()
35
40
 
36
41
  useEffect(() => {
37
- ref.current?.setVisibility(open)
42
+ if (open) {
43
+ ref.current?.presentModal()
44
+ } else {
45
+ ref.current?.dismissModal()
46
+ }
38
47
  }, [open])
39
48
 
49
+ function setOpenInternal(next: boolean) {
50
+ props.onOpenChange?.(open)
51
+ setOpen(next)
52
+ }
53
+
40
54
  // modalContentPreferredContentSize={{
41
55
  // mode: 'percent',
42
56
  // percentWidth: '100%',
@@ -46,9 +60,11 @@ export function setupNativeSheet(platform: SheetNativePlatforms, Implementation:
46
60
  return (
47
61
  <>
48
62
  <SheetProvider {...providerProps} onlyShowFrame>
49
- <Implementation ref={ref} onModalDismiss={() => setOpen(false)}>
50
- <View style={{ flex: 1 }}>{props.children}</View>
51
- </Implementation>
63
+ <ModalSheetView ref={ref} onModalDidDismiss={() => setOpenInternal(false)}>
64
+ <ModalSheetViewMainContent>
65
+ <View style={{ flex: 1 }}>{props.children}</View>
66
+ </ModalSheetViewMainContent>
67
+ </ModalSheetView>
52
68
 
53
69
  {/* for some reason select triggers wont show on native if this isn't inside the actual tree not inside implementation... */}
54
70
  {/* so just hiding it here for now... not great... */}
@@ -1 +1 @@
1
- {"version":3,"file":"SheetImplementationCustom.d.ts","sourceRoot":"","sources":["../src/SheetImplementationCustom.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,EAAsC,IAAI,EAAE,MAAM,cAAc,CAAA;AAIvE,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,SAAS,CAAA;AAWzD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;yBAS3B,MAAO,aAAa;;;8BAud9B,CAAA"}
1
+ {"version":3,"file":"SheetImplementationCustom.d.ts","sourceRoot":"","sources":["../src/SheetImplementationCustom.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAgB,MAAM,OAAO,CAAA;AAOpC,OAAO,EAAsC,IAAI,EAAE,MAAM,cAAc,CAAA;AAIvE,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,SAAS,CAAA;AAWzD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;yBAUtB,MAAO,aAAa;;;8BA+dnC,CAAA"}
@@ -2,6 +2,9 @@ import type { FunctionComponent } from 'react';
2
2
  import type { SheetProps } from './types';
3
3
  type SheetNativePlatforms = 'ios';
4
4
  export declare function getNativeSheet(platform: SheetNativePlatforms): FunctionComponent<SheetProps> | null;
5
- export declare function setupNativeSheet(platform: SheetNativePlatforms, Implementation: any): void;
5
+ export declare function setupNativeSheet(platform: SheetNativePlatforms, RNIOSModal: {
6
+ ModalSheetView: any;
7
+ ModalSheetViewMainContent: any;
8
+ }): void;
6
9
  export {};
7
10
  //# sourceMappingURL=nativeSheet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nativeSheet.d.ts","sourceRoot":"","sources":["../src/nativeSheet.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAK9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAMzC,KAAK,oBAAoB,GAAG,KAAK,CAAA;AAMjC,wBAAgB,cAAc,CAAC,QAAQ,EAAE,oBAAoB,wCAE5D;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,cAAc,EAAE,GAAG,QA8CnF"}
1
+ {"version":3,"file":"nativeSheet.d.ts","sourceRoot":"","sources":["../src/nativeSheet.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAI9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAMzC,KAAK,oBAAoB,GAAG,KAAK,CAAA;AAMjC,wBAAgB,cAAc,CAAC,QAAQ,EAAE,oBAAoB,wCAE5D;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,oBAAoB,EAC9B,UAAU,EAAE;IAAE,cAAc,EAAE,GAAG,CAAC;IAAC,yBAAyB,EAAE,GAAG,CAAA;CAAE,QA6DpE"}